github-emoji
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

GitHub Emoji Library for Node.js typed with TypeScript

npm version codecov badge travis badge appveyor badge

Small npm package for GitHub Emoji typed with TypeScript.

Features:

  • Get properties of each emoji
    • Name (e.g. dog)
    • URL (e.g. https://github.githubassets.com/images/icons/emoji/unicode/1f436.png?v8)
    • String (e.g. 🐶)
    • File path to emoji file (e.g. /path/to/github-emoji/images/1f436.png)
    • File name (e.g. 1f436.png)
  • TypeScript ready
    • Emoji name is typed as a union of string literal types. Compiler can check emoji name is correct.
  • Zero runtime dependency

Installation:

npm install --save github-emoji

Usage:

const emoji = require('github-emoji');

console.log('All emoji information as Map',             emoji.all());           // Map{ '+1' => {...}, ... }
console.log('Get properties of emoji as object',        emoji.of('dog'));       // { string: '🐶', ... }
console.log('Get emoji string from name',               emoji.stringOf('dog')); // '🐶'
console.log('Get emoji names from emoji string',        emoji.namesOf('👍'));   // ['+1', 'thumbsup']
console.log('Get emoji one of names from emoji string', emoji.nameOf('👍'));    // '+1'
console.log('Get emoji URL from name',                  emoji.urlOf('dog'));    // 'https://...'
console.log('Check the string is emoji name',           emoji.isName('dog'));   // true
console.log('Check the string is emoji',                emoji.isEmoji('🐶'));   // true
console.log('Object of name => URL',                    emoji.URLS);            // { '+1': 'https://...', ... }

This library is ready for TypeScript.

import * as emoji from 'github-emoji';

emoji.of('dog');   // OK
emoji.of('doggo'); // COMPILE ERROR!

// If you want to use string value for emoji name, please assert the string value
// is emoji name using `as`.
import {EmojiName} from 'github-emoji';
const someName: string = ...;
emoji.of(someName as EmojiName); // OK

Please see github-emoji/index.d.ts for all APIs.

You may need to add --resolveJsonModule to tsc or "resolveJsonModule": true in compilerOptions section of tsconfig.json to compile this library. --outDir would be also necessary in compile configuration. --target must be es2015 or later.

For example:

tsc your_source.ts --resolveJsonModule --target es2015 --esModuleInterop --moduleResolution node --module commonjs

Readme

Keywords

Package Sidebar

Install

npm i github-emoji

Weekly Downloads

196

Version

1.2.0

License

MIT

Unpacked Size

6.07 MB

Total Files

1765

Last publish

Collaborators

  • rhysd