Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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
You can’t perform that action at this time.