Compare commits

...

1 Commits

Author SHA1 Message Date
Michcio 04fbe52edb `node diff.js|less -r` 2022-09-24 00:35:29 +02:00
5 changed files with 224 additions and 3 deletions

View File

@ -0,0 +1,5 @@
import {diffString} from 'json-diff';
import {out as a} from './legacy-gen.js';
import {out as b} from './tosti-gen.js';
console.log(diffString(a, b));

View File

@ -0,0 +1,11 @@
import {readFileSync} from 'node:fs';
const inarr = JSON.parse(readFileSync('../client/src/emojilist.json'));
const outarr = inarr.map(e => ({
emoji: e.char,
keywords: e.keywords.sort(),
name: e.name,
slug: e.name,
}));
const out = Object.fromEntries(outarr.map(e => [e.emoji, e]));
export {out};

View File

@ -0,0 +1,11 @@
{
"name": "fk-emojis",
"type": "module",
"packageManager": "yarn@3.2.3",
"devDependencies": {
"@unicode/unicode-15.0.0": "^1.3.1",
"cldr-annotations-derived-full": "^41.0.0",
"cldr-annotations-full": "^41.0.0",
"json-diff": "^0.9.0"
}
}

View File

@ -0,0 +1,41 @@
import basic from 'cldr-annotations-full/annotations/en/annotations.json' assert {type: 'json'};
import derived from 'cldr-annotations-derived-full/annotationsDerived/en/annotations.json' assert {type: 'json'};
import rgi from '@unicode/unicode-15.0.0/Sequence_Property/RGI_Emoji/index.js';
import flag from '@unicode/unicode-15.0.0/Sequence_Property/RGI_Emoji_Flag_Sequence/index.js';
import zwj from '@unicode/unicode-15.0.0/Sequence_Property/RGI_Emoji_ZWJ_Sequence/index.js';
const accents = /[\u0300-\u036f]/g;
const parens = /\([^\(\)]+\)/g;
const invalid = /[^a-z0-9]+/g;
let out = {};
const slug = e => e.normalize('NFD')
.replace(accents, '')
.replace(parens, '')
.toLowerCase().trim()
.replace(invalid, '_');
const register = coll => e => {
if (e in out) return;
const a = coll.annotations[e];
const n = a?.tts[0];
const k = a?.default;
if (!a || !n || !k) return;
const s = slug(n);
out[e] = {
emoji: e,
name: n,
slug: s,
keywords: k.sort(),
};
}
const basicset = [rgi, zwj].flat();
const derivedset = [flag].flat();
basicset.forEach(register(basic.annotations));
derivedset.forEach(register(derived.annotationsDerived));
let outarr = [];
for (const k in out) outarr.push(out[k]);
// outarr.forEach(e => console.log(`${e.emoji} :${e.slug}: = ${e.name} [${e.keywords}]`));
export {out};

159
yarn.lock
View File

@ -2664,6 +2664,13 @@ __metadata:
languageName: node
linkType: hard
"@unicode/unicode-15.0.0@npm:^1.3.1":
version: 1.3.1
resolution: "@unicode/unicode-15.0.0@npm:1.3.1"
checksum: 6760808fbabc1f5805dff798099db7448c81887c95191ef20d6c714b93ce8243004038ec2cce93f89fc1e957bca14dc6c3c4015675d6075eb236952e0be1541e
languageName: node
linkType: hard
"@vitejs/plugin-vue@npm:^3.1.0":
version: 3.1.0
resolution: "@vitejs/plugin-vue@npm:3.1.0"
@ -4608,6 +4615,20 @@ __metadata:
languageName: node
linkType: hard
"cldr-annotations-derived-full@npm:^41.0.0":
version: 41.0.0
resolution: "cldr-annotations-derived-full@npm:41.0.0"
checksum: 2bb9039b836c06c4cb1815c9a5ed1de68720508906ddc8c9345ce04be222afe49d57450fa83cc6c7cbf612960f10a2d89db707864b42998fc09a1674235b3869
languageName: node
linkType: hard
"cldr-annotations-full@npm:^41.0.0":
version: 41.0.0
resolution: "cldr-annotations-full@npm:41.0.0"
checksum: 65bea9da45e0b9242fc015ceec7990bdec9fcbc5ee4b8d12c01df911bacd63ec0cf9a7124b89aad7f08ddb978a9ab650148d03978e1471075ddccb3e0e4136fa
languageName: node
linkType: hard
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
@ -4615,6 +4636,19 @@ __metadata:
languageName: node
linkType: hard
"cli-color@npm:^2.0.0":
version: 2.0.3
resolution: "cli-color@npm:2.0.3"
dependencies:
d: ^1.0.1
es5-ext: ^0.10.61
es6-iterator: ^2.0.3
memoizee: ^0.4.15
timers-ext: ^0.1.7
checksum: b1c5f3d0ec29cbe22be7a01d90bd0cfa080ffed6f1c321ea20ae3f10c6041f0e411e28ee2b98025945bee3548931deed1ae849b53c21b523ba74efef855cd73d
languageName: node
linkType: hard
"cli-cursor@npm:^3.1.0":
version: 3.1.0
resolution: "cli-cursor@npm:3.1.0"
@ -5926,6 +5960,15 @@ __metadata:
languageName: node
linkType: hard
"difflib@npm:~0.2.1":
version: 0.2.4
resolution: "difflib@npm:0.2.4"
dependencies:
heap: ">= 0.2.0"
checksum: 4f4237b026263ce7471b77d9019b901c2f358a7da89401a80a84a8c3cdc1643a8e70b7495ccbe686cb4d95492eaf5dac119cd9ecbffe5f06bfc175fbe5c20a27
languageName: node
linkType: hard
"dijkstrajs@npm:^1.0.1":
version: 1.0.2
resolution: "dijkstrajs@npm:1.0.2"
@ -6093,6 +6136,15 @@ __metadata:
languageName: node
linkType: hard
"dreamopt@npm:~0.8.0":
version: 0.8.0
resolution: "dreamopt@npm:0.8.0"
dependencies:
wordwrap: ">=0.0.2"
checksum: 701134807c4a2cc6d111888e1faa7ea6b5ac73cb2cc0f49d852844f7ade3f8bfd03249845841ff2786ffeb6cff9ba8d8cf39c152c24341fd67ef93a0cf7c9287
languageName: node
linkType: hard
"duplexer2@npm:~0.1.4":
version: 0.1.4
resolution: "duplexer2@npm:0.1.4"
@ -6374,6 +6426,17 @@ __metadata:
languageName: node
linkType: hard
"es5-ext@npm:^0.10.53, es5-ext@npm:^0.10.61, es5-ext@npm:~0.10.14, es5-ext@npm:~0.10.2, es5-ext@npm:~0.10.46":
version: 0.10.62
resolution: "es5-ext@npm:0.10.62"
dependencies:
es6-iterator: ^2.0.3
es6-symbol: ^3.1.3
next-tick: ^1.1.0
checksum: 25f42f6068cfc6e393cf670bc5bba249132c5f5ec2dd0ed6e200e6274aca2fed8e9aec8a31c76031744c78ca283c57f0b41c7e737804c6328c7b8d3fbcba7983
languageName: node
linkType: hard
"es6-iterator@npm:^2.0.1, es6-iterator@npm:^2.0.3, es6-iterator@npm:~2.0.3":
version: 2.0.3
resolution: "es6-iterator@npm:2.0.3"
@ -6385,7 +6448,7 @@ __metadata:
languageName: node
linkType: hard
"es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3":
"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3, es6-symbol@npm:~3.1.3":
version: 3.1.3
resolution: "es6-symbol@npm:3.1.3"
dependencies:
@ -6395,7 +6458,7 @@ __metadata:
languageName: node
linkType: hard
"es6-weak-map@npm:^2.0.1":
"es6-weak-map@npm:^2.0.1, es6-weak-map@npm:^2.0.3":
version: 2.0.3
resolution: "es6-weak-map@npm:2.0.3"
dependencies:
@ -7219,6 +7282,16 @@ __metadata:
languageName: node
linkType: hard
"event-emitter@npm:^0.3.5":
version: 0.3.5
resolution: "event-emitter@npm:0.3.5"
dependencies:
d: 1
es5-ext: ~0.10.14
checksum: 27c1399557d9cd7e0aa0b366c37c38a4c17293e3a10258e8b692a847dd5ba9fb90429c3a5a1eeff96f31f6fa03ccbd31d8ad15e00540b22b22f01557be706030
languageName: node
linkType: hard
"event-stream@npm:=3.3.4":
version: 3.3.4
resolution: "event-stream@npm:3.3.4"
@ -7683,6 +7756,17 @@ __metadata:
languageName: node
linkType: hard
"fk-emojis@workspace:packages/fk-emojis":
version: 0.0.0-use.local
resolution: "fk-emojis@workspace:packages/fk-emojis"
dependencies:
"@unicode/unicode-15.0.0": ^1.3.1
cldr-annotations-derived-full: ^41.0.0
cldr-annotations-full: ^41.0.0
json-diff: ^0.9.0
languageName: unknown
linkType: soft
"flagged-respawn@npm:^1.0.0":
version: 1.0.1
resolution: "flagged-respawn@npm:1.0.1"
@ -8703,6 +8787,13 @@ __metadata:
languageName: node
linkType: hard
"heap@npm:>= 0.2.0":
version: 0.2.7
resolution: "heap@npm:0.2.7"
checksum: b0f3963a799e02173f994c452921a777f2b895b710119df999736bfed7477235c2860c423d9aea18a9f3b3d065cb1114d605c208cfcb8d0ac550f97ec5d28cb0
languageName: node
linkType: hard
"highlight.js@npm:^10.7.1":
version: 10.7.3
resolution: "highlight.js@npm:10.7.3"
@ -9628,7 +9719,7 @@ __metadata:
languageName: node
linkType: hard
"is-promise@npm:^2.0.0":
"is-promise@npm:^2.0.0, is-promise@npm:^2.2.2":
version: 2.2.2
resolution: "is-promise@npm:2.2.2"
checksum: 18bf7d1c59953e0ad82a1ed963fb3dc0d135c8f299a14f89a17af312fc918373136e56028e8831700e1933519630cc2fd4179a777030330fde20d34e96f40c78
@ -10644,6 +10735,19 @@ __metadata:
languageName: node
linkType: hard
"json-diff@npm:^0.9.0":
version: 0.9.0
resolution: "json-diff@npm:0.9.0"
dependencies:
cli-color: ^2.0.0
difflib: ~0.2.1
dreamopt: ~0.8.0
bin:
json-diff: bin/json-diff.js
checksum: c553da0e461ad940c50922c6939a8842930bf1a107dcfb4293cd79ab317cd405c0cc9d10013cc9c8bf47cab7dacdc1b72b17734b38ae23822088e980ca7aa0ae
languageName: node
linkType: hard
"json-parse-even-better-errors@npm:^2.3.0":
version: 2.3.1
resolution: "json-parse-even-better-errors@npm:2.3.1"
@ -11502,6 +11606,15 @@ __metadata:
languageName: node
linkType: hard
"lru-queue@npm:^0.1.0":
version: 0.1.0
resolution: "lru-queue@npm:0.1.0"
dependencies:
es5-ext: ~0.10.2
checksum: 7f2c53c5e7f2de20efb6ebb3086b7aea88d6cf9ae91ac5618ece974122960c4e8ed04988e81d92c3e63d60b12c556b14d56ef7a9c5a4627b23859b813e39b1a2
languageName: node
linkType: hard
"luxon@npm:^3.0.1":
version: 3.0.1
resolution: "luxon@npm:3.0.1"
@ -11653,6 +11766,22 @@ __metadata:
languageName: node
linkType: hard
"memoizee@npm:^0.4.15":
version: 0.4.15
resolution: "memoizee@npm:0.4.15"
dependencies:
d: ^1.0.1
es5-ext: ^0.10.53
es6-weak-map: ^2.0.3
event-emitter: ^0.3.5
is-promise: ^2.2.2
lru-queue: ^0.1.0
next-tick: ^1.1.0
timers-ext: ^0.1.7
checksum: 4065d94416dbadac56edf5947bf342beca0e9f051f33ad60d7c4baf3f6ca0f3c6fdb770c5caed5a89c0ceaf9121428582f396445d591785281383d60aa883418
languageName: node
linkType: hard
"meow@npm:^9.0.0":
version: 9.0.0
resolution: "meow@npm:9.0.0"
@ -12264,6 +12393,13 @@ __metadata:
languageName: node
linkType: hard
"next-tick@npm:1, next-tick@npm:^1.1.0":
version: 1.1.0
resolution: "next-tick@npm:1.1.0"
checksum: 83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b
languageName: node
linkType: hard
"next-tick@npm:~1.0.0":
version: 1.0.0
resolution: "next-tick@npm:1.0.0"
@ -16353,6 +16489,16 @@ __metadata:
languageName: node
linkType: hard
"timers-ext@npm:^0.1.7":
version: 0.1.7
resolution: "timers-ext@npm:0.1.7"
dependencies:
es5-ext: ~0.10.46
next-tick: 1
checksum: ef3f27a0702a88d885bcbb0317c3e3ecd094ce644da52e7f7d362394a125d9e3578292a8f8966071a980d8abbc3395725333b1856f3ae93835b46589f700d938
languageName: node
linkType: hard
"tinycolor2@npm:1.4.2":
version: 1.4.2
resolution: "tinycolor2@npm:1.4.2"
@ -17763,6 +17909,13 @@ __metadata:
languageName: node
linkType: hard
"wordwrap@npm:>=0.0.2":
version: 1.0.0
resolution: "wordwrap@npm:1.0.0"
checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04
languageName: node
linkType: hard
"workerpool@npm:6.2.1":
version: 6.2.1
resolution: "workerpool@npm:6.2.1"