Skip to content

A collection of utilities for emojis and raw data for Unicode Emojis

License

Notifications You must be signed in to change notification settings

cungminh2710/unicode-emoji-utils

Repository files navigation

unicode-emoji-utils

A collection of utilities for emojis and raw data for Unicode Emojis

  • Support CommonJS and ES Module

  • Full list of Unicode Emoji, Version 15.1 from Unicode.

🔌 Installation

Using npm

npm install unicode-emoji-utils

Or yarn

yarn add unicode-emoji-utils

Usage

import { type Emoji, getAllEmojis, hasEmoji, compareVersion, stripEmojies, filterEmojis, getAllComponents, extractEmojis, getEmojisByGroup } from 'unicode-emoji-utils';

Check valid EmojiVersion (type guard)

isValidEmojiVersion("1.0"); // true
isValidEmojiVersion("1.2"); // false
isValidEmojiVersion(1); // false

Check whether a text has emojis

hasEmoji('a'); // false
hasEmoji('a 🫶'); // true

Strip emojis from a given text

stripEmoji('a 🫶'); // 'a '

Extract Emojis

extractEmoji('👋🏼adfsadfs safdsaf dsafds 🫶'); // ['👋🏼', '🫶']

Get All Emojis

getAllEmojis(); // ['🫶', '👋🏼', '🙏🏿', '👨🏻‍🤝‍👨🏼', '👬', ...]

const emojis = [{emoji: '🫶', version: '14.0' }];
getAllEmojis(emojis); // ['🫶']

Filter Emoijs by the Unicode Version

filterEmojis('14.0'); // Filter Emojis from version 14.0 and below

filterEmojis('14.0', true); // Only returns emoji with version 14.0

const emojis = [{emoji: '🫶', version: '14.0' }];
filterEmojis('14.0', true, emojis); // [{emoji: '🫶', version: '14.0' }]
filterEmojis('14.0', false, emojis); // [{emoji: '🫶', version: '14.0' }]
filterEmojis('1.0', false, emojis); // []

Retrieve Unicode components

getAllComponents();
{
  "skin-tone": [
    {
      "emoji": "🏻",
      "description": "light skin tone",
      "version": "1.0"
    },
    {
      "emoji": "🏼",
      "description": "medium-light skin tone",
      "version": "1.0"
    },
    // ...
  ],
  "hair-style": [
    {
      "emoji": "🦰",
      "description": "red hair",
      "version": "11.0"
    },
    {
      "emoji": "🦱",
      "description": "curly hair",
      "version": "11.0"
    },
    // ...
  ]
}

Get Emojis by group, subgroup or category

getEmojisByGroup('group');
getEmojisByGroup('subgroup');
getEmojisByGroup('category');

About

A collection of utilities for emojis and raw data for Unicode Emojis

Topics

Resources

License

Stars

Watchers

Forks