@ssets/emoji
v1.0.0
Published
Friendly emoji lookups and parsing utilities for Node.js. π
Downloads
3
Readme
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 tones
Install
npm install node-emoji
2.0 Release π
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.
Usage
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'
API
emoji.emojify(input, options?)
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.'
emoji.find(emoji)
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: 'π¦' }
emoji.get(name)
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"));
// 'π¦'
emoji.has(emoji)
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
emoji.random()
Get a random emoji.
import * as emoji from "node-emoji";
console.log(emoji.random());
// { name: 'unicorn', emoji: 'π¦' }
emoji.replace(input, replacement)
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.'
emoji.search(keyword)
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: 'π―' } ]
emoji.strip(input, options?)
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.'
emoji.unemojify(input)
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.'
emoji.which(emoji, options?)
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'
Development
License
Special Thanks
...to Anand Chowdhary (@AnandChowdhary) and his company Pabio for sponsoring this project via GitHub Sponsors!