Skip to content

Commit 9bf9eb6

Browse files
authored
Merge pull request #111 from ai/compress-data
Compress data
2 parents 6fe496a + 7e9232a commit 9bf9eb6

File tree

4 files changed

+46
-16
lines changed

4 files changed

+46
-16
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
node_modules/
2-
data/
2+
data/data.js
33
dist/
44
bundle.js

data/index.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
var buildSearch = require('../src/utils/build-search')
2+
var data = require('./data')
3+
4+
function uncompress (list) {
5+
for (var short_name in list) {
6+
var datum = list[short_name]
7+
8+
if (!datum.short_names) datum.short_names = []
9+
datum.short_names.unshift(short_name)
10+
11+
datum.sheet_x = datum.sheet[0]
12+
datum.sheet_y = datum.sheet[1]
13+
delete datum.sheet
14+
15+
if (!datum.text) datum.text = ''
16+
if (datum.added_in !== null && !datum.added_in) datum.added_in = '6.0'
17+
18+
datum.search = buildSearch({
19+
short_names: datum.short_names,
20+
name: datum.name,
21+
keywords: datum.keywords,
22+
emoticons: datum.emoticons
23+
})
24+
25+
datum.search = datum.search.join(',')
26+
}
27+
}
28+
29+
uncompress(data.emojis)
30+
uncompress(data.skins)
31+
32+
module.exports = data

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"webpack": "1.12.14"
5656
},
5757
"scripts": {
58-
"clean": "rimraf data/ dist/",
58+
"clean": "rimraf data/data.js dist/",
5959
"clean:dist": "rm -rf dist/",
6060
"build:data": "node scripts/build-data",
6161
"build:example": "node scripts/build-example",
@@ -72,7 +72,7 @@
7272
"size-limit": [
7373
{
7474
"path": "dist/index.js",
75-
"limit": "99 KB"
75+
"limit": "88 KB"
7676
}
7777
]
7878
}

scripts/build-data.js

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ var fs = require('fs'),
22
emojiData = require('emoji-datasource'),
33
emojiLib = require('emojilib'),
44
inflection = require('inflection'),
5-
mkdirp = require('mkdirp'),
6-
buildSearch = require('../src/utils/build-search')
5+
mkdirp = require('mkdirp')
76

87
var unifiedToNative = unified => String.fromCodePoint(
98
...unified.split('-').map(s => parseInt(s, 16))
@@ -92,18 +91,9 @@ emojiData.forEach((datum) => {
9291
delete datum.texts
9392

9493
if (emojiLibMatch) {
95-
keywords = emojiLibMatch.keywords
94+
datum.keywords = emojiLibMatch.keywords
9695
}
9796

98-
datum.search = buildSearch({
99-
short_names: datum.short_names,
100-
name: datum.name,
101-
keywords,
102-
emoticons: datum.emoticons
103-
})
104-
105-
datum.search = datum.search.join(',')
106-
10797
if (datum.category == 'Skin Tones') {
10898
data.skins[datum.short_name] = datum
10999
} else {
@@ -117,6 +107,12 @@ emojiData.forEach((datum) => {
117107
data.short_names[short_name] = datum.short_name
118108
})
119109

110+
datum.short_names = datum.short_names.filter(i => i !== datum.short_name)
111+
datum.sheet = [datum.sheet_x, datum.sheet_y]
112+
113+
if (datum.text === '') delete datum.text
114+
if (datum.added_in === '6.0') delete datum.added_in
115+
120116
delete datum.docomo
121117
delete datum.au
122118
delete datum.softbank
@@ -125,6 +121,8 @@ emojiData.forEach((datum) => {
125121
delete datum.short_name
126122
delete datum.category
127123
delete datum.sort_order
124+
delete datum.sheet_x
125+
delete datum.sheet_y
128126

129127
for (let key in datum) {
130128
let value = datum[key]
@@ -142,7 +140,7 @@ mkdirp('data', (err) => {
142140
if (err) throw err
143141

144142
const stringified = JSON.stringify(data).replace(/\"([A-Za-z_]+)\":/g, '$1:')
145-
fs.writeFile('data/index.js', `module.exports = ${stringified}`, (err) => {
143+
fs.writeFile('data/data.js', `module.exports = ${stringified}`, (err) => {
146144
if (err) throw err
147145
})
148146
})

0 commit comments

Comments
 (0)