Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mroth/emoji-data-js
:sunglasses: Emoji encoding swiss army knife for NodeJS
https://github.com/mroth/emoji-data-js
Last synced: about 1 month ago
JSON representation
:sunglasses: Emoji encoding swiss army knife for NodeJS
- Host: GitHub
- URL: https://github.com/mroth/emoji-data-js
- Owner: mroth
- License: mit
- Created: 2014-08-26T18:50:09.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-18T04:52:43.000Z (over 8 years ago)
- Last Synced: 2024-11-02T16:35:46.545Z (about 1 month ago)
- Language: CoffeeScript
- Homepage:
- Size: 374 KB
- Stars: 64
- Watchers: 7
- Forks: 29
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fonts - emoji-data-js - Emoji encoding swiss army knife for NodeJS (Emojis)
README
# emoji-data-js
NodeJS library providing low level operations for dealing with Emoji
glyphs in the Unicode standard. :cool:EmojiData.js is like a swiss-army knife for dealing with Emoji encoding issues.
If all you need to do is translate `:poop:` into :poop:, then there are plenty
of other libs out there that will probably do what you want. But once you are
dealing with Emoji as a fundamental part of your application, and you start to
realize the nightmare of [doublebyte encoding][doublebyte] or
[variants][variant], then this library may be your new best friend.
:raised_hands:EmojiData.js is written by the same author as the Ruby [emoji_data.rb][rb] gem,
which is used in production by [Emojitracker.com][emojitracker] to parse well
over 100M+ emoji glyphs daily. This version was written to provide all the same
functionality while taking advantage of the crazy speed of the V8 runtime
environment. :dizzy:[![Build Status](https://travis-ci.org/mroth/emoji-data-js.svg?branch=master)](https://travis-ci.org/mroth/emoji-data-js)
[doublebyte]: http://www.quora.com/Why-does-using-emoji-reduce-my-SMS-character-limit-to-70
[variant]: http://www.unicode.org/L2/L2011/11438-emoji-var.pdf
[rb]: https://github.com/mroth/emoji_data.rb
[emojitracker]: http://www.emojitracker.com## Installation
npm install emoji-data
## Usage Examples
```js
> var EmojiData = require('emoji-data');> EmojiData.from_unified('2665');
{ name: 'BLACK HEART SUIT',
unified: '2665',
variations: [ '2665-FE0F' ],
docomo: 'E68D',
au: 'EAA5',
softbank: 'E20C',
google: 'FEB1A',
short_name: 'hearts',
short_names: [ 'hearts' ],
text: null,
apple_img: true,
hangouts_img: true,
twitter_img: true }> EmojiData.all().length
845> EmojiData.all_with_variants().length
107> EmojiData.find_by_short_name("moon").length
13> EmojiData.find_by_name("tree").map(
function(c) { return [c.unified, c.render(), c.name]; }
);
[ [ '1F332', '🌲', 'EVERGREEN TREE' ],
[ '1F333', '🌳', 'DECIDUOUS TREE' ],
[ '1F334', '🌴', 'PALM TREE' ],
[ '1F384', '🎄', 'CHRISTMAS TREE' ],
[ '1F38B', '🎋', 'TANABATA TREE' ] ]> EmojiData.scan("I ♥ when marketers talk about the ☁. #blessed").forEach(
function(ec) { console.log("Found some " + ec.short_name + "!"); }
);
Found some hearts!
Found some cloud!
```## API Documentation
http://coffeedoc.info/github/mroth/emoji-data-js/master/
## Contributing
Please be sure to run `npm test` and help keep test coverage at :100:.
There is a full benchmark suite available via `npm run-script bench`. Please
test before and after your changes to ensure you have not caused a performance
regression.## License
[The MIT License (MIT)](LICENSE)