$ cnpm install node-emoji
Friendly emoji lookups and parsing utilities for Node.js. ????
node-emoji provides a fun, straightforward interface on top of the following excellent libraries:
emojilib: provides a list of emojis and keyword search on top of itskin-tone: parses out base emojis from skin tonesnpm install node-emoji
This is the new 2.0 release of node-emoji, supporting ESM, new emoji and a new API.
If you want to use the old version, please check out the legacy branch.
import * as emoji from 'node-emoji'
emoji.emojify('I :heart: :coffee:!') // 'I ❤️ ☕️!'
emoji.find('heart') // { emoji: '❤', name: 'heart' }
emoji.find('❤️') // { emoji: '❤', name: 'heart' }
emoji.get('unicorn') // ????
emoji.get(':unicorn:') // ????
emoji.has(':pizza:') // true
emoji.has('????') // true
emoji.has('unknown') // false
emoji.random() // { name: 'house', emoji: '????' }
emoji.replace('I ❤️ coffee!', 'love', { preserveSpaces: true }) // 'I love coffee!'
emoji.search(':uni:') // [ { emoji: '????', name: 'unicorn' }, ... ]
emoji.strip('I ❤️ coffee!') // 'I coffee!'
emoji.unemojify('???? for ????') // ':pizza: for :dancer:'
emoji.which('????') // 'unicorn'
Parse all markdown-encoded emojis in a string.
Parameters:
input (string): The input string containing the markdown-encoding emojis.options (optional):
fallback (string; default: ""): The string to fallback to if an emoji was not found.format (() => (emoji: string, part: string, string: string) => string; default: value => value): Add a middleware layer to modify each matched emoji after parsing.import * as emoji from 'node-emoji'
console.log(emoji.emojify('The :unicorn: is a fictitious animal.'))
// 'The ???? is a fictitious animal.'
Get the name and character of an emoji.
Parameters:
emoji (string): The emoji to get the data of.import * as emoji from 'node-emoji'
console.log(emoji.find('????'))
// { name: 'unicorn', emoji: '????' }
Get an emoji from an emoji name.
Parameters:
name (string): The name of the emoji to get.import * as emoji from 'node-emoji'
console.log(emoji.get('unicorn'))
// '????'
Check if this library supports a specific emoji.
Parameters:
emoji (string): The emoji to check.import * as emoji from 'node-emoji'
console.log(emoji.has('????'))
// true
Get a random emoji.
import * as emoji from 'node-emoji'
console.log(emoji.random())
// { name: 'unicorn', emoji: '????' }
Replace the emojis in a string.
Parameters:
input (string): The input string.replacement (string | (emoji: string, index: number, string: string) => string): The character to replace the emoji with.
Can be either a string or a callback that returns a string.import * as emoji from 'node-emoji'
console.log(emoji.replace('The ???? is a fictitious animal.', 'unicorn'))
// 'The unicorn is a fictitious animal.'
Search for emojis containing the provided name in their name.
Parameters:
keyword (string): The keyword to search for.import * as emoji from 'node-emoji'
console.log(emoji.search('honey'))
// [ { name: 'honeybee', emoji: '????' }, { name: 'honey_pot', emoji: '????' } ]
Remove all of the emojis from a string.
Parameters:
input (string): The input string to strip the emojis from.
options (optional):
preserveSpaces (boolean): Whether to keep the extra space after a stripped emoji.import * as emoji from 'node-emoji'
console.log(emoji.strip('???? The unicorn is a fictitious animal.'))
// 'The unicorn is a fictitious animal.'
console.log(
emoji.strip('???? The unicorn is a fictitious animal.', {
preserveSpaces: true,
}),
)
// ' The unicorn is a fictitious animal.'
Convert all emojis in a string to their markdown-encoded counterparts.
Parameters:
input (string): The input string containing the emojis.import * as emoji from 'node-emoji'
console.log(emoji.unemojify('The ???? is a fictitious animal.'))
// 'The :unicorn: is a fictitious animal.'
Get an emoji name from an emoji.
Parameters:
emoji (string): The emoji to get the name of.options (optional):
markdown (boolean; default: false): Whether to return a ":emoji:" string instead of "emoji"import * as emoji from 'node-emoji'
console.log(emoji.which('????'))
// 'unicorn'
...to Anand Chowdhary (@AnandChowdhary) and his company Pabio for sponsoring this project via GitHub Sponsors!
Copyright 2013 - present © cnpmjs.org | Home |