emojilib icon indicating copy to clipboard operation
emojilib copied to clipboard

Emoji keyword library.

emojilib CI status npm JavaScript Standard Style

Make emoji searchable with this keyword library.

Install

npm install emojilib --save

Usage

> require("emojilib")
{
  '😀': [
    'grinning_face',
    'face',
    'smile',
    'happy',
    'joy',
    ':D',
    'grin'
  ],
  '😃': [
    'grinning_face_with_big_eyes',
    'face',
    'happy',
    'joy',
    'haha',
  ...
}

If you are looking for the unicode emoji dataset, including version, grouping, ordering, and skin tone support flag, check out unicode-emoji-json.

Migrating from 2.x

Previously:

> var emoji = require("emojilib")
> emoji.lib
{
  "grinning": {
    "keywords": ["face", "smile", "happy", "joy"],
    "char": "😀",
    "fitzpatrick_scale": false,
    "category": "people"
  },
  ...
}

Now, merge keywords with other metadata from unicode-emoji-json:

> var data = require('unicode-emoji-json')
> var keywordSet = require('emojilib')
> for (const emoji in data) {
data[emoji]['keywords'] = keywordSet[emoji]
}
> data['😀']
{
  name: 'grinning face',
  slug: 'grinning_face',
  group: 'Smileys & Emotion',
  emoji_version: '1.0',
  unicode_version: '1.0',
  skin_tone_support: false,
  keywords: [ 'grinning_face', 'face', 'smile', 'happy', 'joy', ':D', 'grin' ]
}

Previously:

> var emoji = require("emojilib")
> emoji.ordered
[ 'grinning', 'grimacing', 'grin', 'joy', 'smiley', 'smile', 'sweat_smile', ...]

Now this data can be found in unicode-emoji-json:

> var orderedEmoji = require('unicode-emoji-json/data-ordered-emoji')
['😀', '😃', '😄', '😁', '😆', '😅',...]

Previously:

> var emoji = require("emojilib")
> emoji.fitzpatrick_scale_modifiers
[ 'ðŸŧ', '🏞', 'ðŸ―', 'ðŸū', 'ðŸŋ' ]

Now this data can be found in unicode-emoji-json:

> require('unicode-emoji-json/data-emoji-components')
{
  light_skin_tone: 'ðŸŧ',
  medium_light_skin_tone: '🏞',
  medium_skin_tone: 'ðŸ―',
  medium_dark_skin_tone: 'ðŸū',
  dark_skin_tone: 'ðŸŋ',
  red_hair: 'ðŸĶ°',
  curly_hair: 'ðŸĶą',
  white_hair: 'ðŸĶģ',
  bald: 'ðŸĶē'
}

Previously:

> require("emojilib").lib['v'].fitzpatrick_scale
true

> require("emojilib").lib['turtle'].fitzpatrick_scale
false

Now this data can be found in unicode-emoji-json:

> require('unicode-emoji-json')['✌ïļ'].skin_tone_support
true
> require('unicode-emoji-json')['ðŸĒ'].skin_tone_support
false

Development

See CONTRIBUTING.md.