0.0.1 • Published 7 years ago
emoji-sift v0.0.1
Emoji
一个emoji库
可对系统识别,判断是否支持显示,不需要长期正则维护
Install
yarn add emoji-sift
// or
npm installl emoji-sift
Usage
import Emoji from 'emoji-sift'
const emoji = new Emoji();
console.log(emoji.libs);
=> // 支持渲染emoji
{
"grinning": {
"keywords": ["face", "smile", "happy", "joy", ":D", "grin"],
"char": "😀",
"fitzpatrick_scale": false,
"category": "people"
},
....
}
emoji.fitzpatrick_scale_modifiers
=> // 可选肤色
[ '🏻', '🏼', '🏽', '🏾', '🏿' ]
> emoji.lib.v.fitzpatrick_scale
true
> emoji.lib.turtle.fitzpatrick_scale
false
=> emoji.libs.v.char + emoji.fitzpatrick_scale_modifiers[4]
'✌🏿'
根据关键字获取
const emoji = new Emoji();
emoji.search('face');
=> // 'face'相关emoji
根据类别区分获取
const emoji = new Emoji();
emoji.classify;
=> // 全部类别emoji
指定类别
const emoji = new Emoji();
emoji.category(['people', 'food_and_drink']);
=> // people 与 food_and_drink 类别emoji
自定义过滤条件
const validator = item => item.category === 'people';
const emoji = new Emoji(validator);
console.log(emoji.libs)
=> //过滤后内容
一般来说使用自定义过滤条件可加快生成emoji库的速度
因验证方法原因, 导致首次构建验证全部emoji所用时间
mbp + google: 300 - 1000ms iphone6s + safari: 10000ms左右
移动端极度影响体验,特添加分页加载
const emoji = new Emoji({page: true});
const params = {
pageSize: 10,
pageNum: 1,
}
const res = emoji.pagination(params);
=>
{
data: {
"grinning": {
"keywords": ["face", "smile", "happy", "joy", ":D", "grin"],
"char": "😀",
"fitzpatrick_scale": false,
"category": "people"
},
....
},
beginSub: 11,
pageNum: 1,
pageSize: 10,
}
Preview
yarn global add parcel
yarn star
0.0.1
7 years ago