@chainlink/external-adapter-framework 2.7.0 → 2.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/adapter/basic.js +1 -1
- package/adapter/basic.js.map +1 -1
- package/adapter/types.d.ts +1 -0
- package/generator-adapter/node_modules/.yarn-integrity +14 -13
- package/generator-adapter/node_modules/@types/node/README.md +2 -2
- package/generator-adapter/node_modules/@types/node/buffer.d.ts +1 -2
- package/generator-adapter/node_modules/@types/node/child_process.d.ts +26 -122
- package/generator-adapter/node_modules/@types/node/crypto.d.ts +17 -1
- package/generator-adapter/node_modules/@types/node/fs/promises.d.ts +41 -37
- package/generator-adapter/node_modules/@types/node/fs.d.ts +55 -44
- package/generator-adapter/node_modules/@types/node/globals.d.ts +150 -344
- package/generator-adapter/node_modules/@types/node/http.d.ts +6 -6
- package/generator-adapter/node_modules/@types/node/http2.d.ts +12 -1
- package/generator-adapter/node_modules/@types/node/https.d.ts +5 -0
- package/generator-adapter/node_modules/@types/node/index.d.ts +7 -3
- package/generator-adapter/node_modules/@types/node/{inspector.d.ts → inspector.generated.d.ts} +219 -10
- package/generator-adapter/node_modules/@types/node/module.d.ts +24 -0
- package/generator-adapter/node_modules/@types/node/package.json +3 -83
- package/generator-adapter/node_modules/@types/node/process.d.ts +3 -2
- package/generator-adapter/node_modules/@types/node/readline/promises.d.ts +0 -1
- package/generator-adapter/node_modules/@types/node/sqlite.d.ts +35 -0
- package/generator-adapter/node_modules/@types/node/stream/web.d.ts +4 -0
- package/generator-adapter/node_modules/@types/node/stream.d.ts +0 -11
- package/generator-adapter/node_modules/@types/node/test.d.ts +8 -0
- package/generator-adapter/node_modules/@types/node/ts5.6/index.d.ts +7 -3
- package/generator-adapter/node_modules/@types/node/url.d.ts +12 -3
- package/generator-adapter/node_modules/@types/node/util.d.ts +5 -2
- package/generator-adapter/node_modules/@types/node/v8.d.ts +27 -30
- package/generator-adapter/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/generator-adapter/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/generator-adapter/node_modules/@types/node/{dom-events.d.ts → web-globals/events.d.ts} +47 -52
- package/generator-adapter/node_modules/@types/node/web-globals/fetch.d.ts +46 -0
- package/generator-adapter/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
- package/generator-adapter/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/generator-adapter/node_modules/@types/node/worker_threads.d.ts +39 -3
- package/generator-adapter/node_modules/@types/node/zlib.d.ts +8 -2
- package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.d.ts +3 -0
- package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js +12 -2
- package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.d.ts +3 -0
- package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js +12 -2
- package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.d.ts +3 -0
- package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js +12 -2
- package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/package.json +4 -4
- package/generator-adapter/node_modules/@yeoman/adapter/types/adapter.d.ts +12 -1
- package/generator-adapter/node_modules/@yeoman/types/package.json +3 -3
- package/generator-adapter/node_modules/@yeoman/types/types/environment/environment.d.ts +4 -1
- package/generator-adapter/node_modules/@yeoman/types/types/environment/methods-options.d.ts +7 -3
- package/generator-adapter/node_modules/@yeoman/types/types/generator/generator.d.ts +8 -5
- package/generator-adapter/node_modules/@yeoman/types/types/generator/utils.d.ts +1 -0
- package/generator-adapter/node_modules/ansi-regex/index.d.ts +9 -13
- package/generator-adapter/node_modules/ansi-regex/index.js +6 -6
- package/generator-adapter/node_modules/ansi-regex/license +1 -1
- package/generator-adapter/node_modules/ansi-regex/package.json +12 -6
- package/generator-adapter/node_modules/ansi-regex/readme.md +4 -22
- package/generator-adapter/node_modules/cli-spinners/index.d.ts +122 -111
- package/generator-adapter/node_modules/cli-spinners/index.js +7 -11
- package/generator-adapter/node_modules/cli-spinners/package.json +15 -9
- package/generator-adapter/node_modules/cli-spinners/readme.md +23 -3
- package/generator-adapter/node_modules/cli-spinners/spinners.json +44 -1
- package/generator-adapter/node_modules/emoji-regex/README.md +14 -48
- package/generator-adapter/node_modules/emoji-regex/index.d.ts +21 -1
- package/generator-adapter/node_modules/emoji-regex/index.js +5 -3
- package/generator-adapter/node_modules/emoji-regex/package.json +12 -7
- package/generator-adapter/node_modules/get-east-asian-width/index.js +2 -3
- package/generator-adapter/node_modules/get-east-asian-width/lookup.js +11 -11
- package/generator-adapter/node_modules/get-east-asian-width/package.json +1 -1
- package/generator-adapter/node_modules/ora/index.d.ts +3 -3
- package/generator-adapter/node_modules/ora/index.js +67 -48
- package/generator-adapter/node_modules/ora/node_modules/chalk/package.json +83 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/readme.md +297 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/index.d.ts +325 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/index.js +225 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/utilities.js +33 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser-symbols.js +4 -0
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser.js +1 -8
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/index.js +1 -20
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/package.json +10 -7
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/symbols.js +14 -0
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/package.json +3 -1
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/readme.md +5 -9
- package/generator-adapter/node_modules/ora/package.json +13 -13
- package/generator-adapter/node_modules/ora/readme.md +49 -3
- package/generator-adapter/node_modules/string-width/index.js +52 -45
- package/generator-adapter/node_modules/string-width/package.json +8 -7
- package/generator-adapter/node_modules/{string-width → strip-ansi}/node_modules/ansi-regex/index.d.ts +13 -9
- package/generator-adapter/node_modules/strip-ansi/node_modules/ansi-regex/index.js +10 -0
- package/generator-adapter/node_modules/{ora/node_modules/log-symbols/node_modules/is-unicode-supported → strip-ansi/node_modules/ansi-regex}/license +1 -1
- package/generator-adapter/node_modules/{string-width → strip-ansi}/node_modules/ansi-regex/package.json +6 -12
- package/generator-adapter/node_modules/{ora → strip-ansi}/node_modules/ansi-regex/readme.md +22 -4
- package/generator-adapter/package.json +3 -3
- package/package.json +15 -14
- package/rate-limiting/index.d.ts +1 -1
- package/rate-limiting/index.js +5 -1
- package/rate-limiting/index.js.map +1 -1
- package/transports/http.d.ts +1 -2
- package/transports/websocket.js +53 -17
- package/transports/websocket.js.map +1 -1
- package/generator-adapter/node_modules/emoji-regex/index.mjs +0 -4
- package/generator-adapter/node_modules/ora/node_modules/ansi-regex/index.d.ts +0 -33
- package/generator-adapter/node_modules/ora/node_modules/ansi-regex/index.js +0 -10
- package/generator-adapter/node_modules/ora/node_modules/ansi-regex/package.json +0 -61
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/index.d.ts +0 -12
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/index.js +0 -17
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/package.json +0 -43
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/readme.md +0 -35
- package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/index.js +0 -10
- package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/license +0 -9
- package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -60
- package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/README.md +0 -73
- package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.d.ts +0 -23
- package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.js +0 -6
- package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/package.json +0 -50
- /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/es2015/index.js +0 -0
- /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/es2015/text.js +0 -0
- /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/text.js +0 -0
- /package/generator-adapter/node_modules/ora/node_modules/{ansi-regex → chalk}/license +0 -0
|
@@ -287,6 +287,23 @@
|
|
|
287
287
|
"⣶"
|
|
288
288
|
]
|
|
289
289
|
},
|
|
290
|
+
"dots14": {
|
|
291
|
+
"interval": 80,
|
|
292
|
+
"frames": [
|
|
293
|
+
"⠉⠉",
|
|
294
|
+
"⠈⠙",
|
|
295
|
+
"⠀⠹",
|
|
296
|
+
"⠀⢸",
|
|
297
|
+
"⠀⣰",
|
|
298
|
+
"⢀⣠",
|
|
299
|
+
"⣀⣀",
|
|
300
|
+
"⣄⡀",
|
|
301
|
+
"⣆⠀",
|
|
302
|
+
"⡇⠀",
|
|
303
|
+
"⠏⠀",
|
|
304
|
+
"⠋⠁"
|
|
305
|
+
]
|
|
306
|
+
},
|
|
290
307
|
"dots8Bit": {
|
|
291
308
|
"interval": 80,
|
|
292
309
|
"frames": [
|
|
@@ -548,6 +565,19 @@
|
|
|
548
565
|
"⣿"
|
|
549
566
|
]
|
|
550
567
|
},
|
|
568
|
+
"dotsCircle": {
|
|
569
|
+
"interval": 80,
|
|
570
|
+
"frames": [
|
|
571
|
+
"⢎ ",
|
|
572
|
+
"⠎⠁",
|
|
573
|
+
"⠊⠑",
|
|
574
|
+
"⠈⠱",
|
|
575
|
+
" ⡱",
|
|
576
|
+
"⢀⡰",
|
|
577
|
+
"⢄⡠",
|
|
578
|
+
"⢆⡀"
|
|
579
|
+
]
|
|
580
|
+
},
|
|
551
581
|
"sand": {
|
|
552
582
|
"interval": 80,
|
|
553
583
|
"frames": [
|
|
@@ -608,6 +638,19 @@
|
|
|
608
638
|
"-"
|
|
609
639
|
]
|
|
610
640
|
},
|
|
641
|
+
"rollingLine": {
|
|
642
|
+
"interval": 80,
|
|
643
|
+
"frames": [
|
|
644
|
+
"/ ",
|
|
645
|
+
" - ",
|
|
646
|
+
" \\ ",
|
|
647
|
+
" |",
|
|
648
|
+
" |",
|
|
649
|
+
" \\ ",
|
|
650
|
+
" - ",
|
|
651
|
+
"/ "
|
|
652
|
+
]
|
|
653
|
+
},
|
|
611
654
|
"pipe": {
|
|
612
655
|
"interval": 100,
|
|
613
656
|
"frames": [
|
|
@@ -1044,7 +1087,7 @@
|
|
|
1044
1087
|
"💙 ",
|
|
1045
1088
|
"💜 ",
|
|
1046
1089
|
"💚 ",
|
|
1047
|
-
"
|
|
1090
|
+
"💗 "
|
|
1048
1091
|
]
|
|
1049
1092
|
},
|
|
1050
1093
|
"clock": {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# emoji-regex [](https://travis-ci.org/mathiasbynens/emoji-regex)
|
|
2
2
|
|
|
3
|
-
_emoji-regex_ offers a regular expression to match all emoji symbols
|
|
3
|
+
_emoji-regex_ offers a regular expression to match all emoji symbols (including textual representations of emoji) as per the Unicode Standard.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This repository contains a script that generates this regular expression based on [the data from Unicode v12](https://github.com/mathiasbynens/unicode-12.0.0). Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -29,7 +29,8 @@ const text = `
|
|
|
29
29
|
`;
|
|
30
30
|
|
|
31
31
|
const regex = emojiRegex();
|
|
32
|
-
|
|
32
|
+
let match;
|
|
33
|
+
while (match = regex.exec(text)) {
|
|
33
34
|
const emoji = match[0];
|
|
34
35
|
console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
|
|
35
36
|
}
|
|
@@ -48,53 +49,18 @@ Matched sequence 👩🏿 — code points: 2
|
|
|
48
49
|
Matched sequence 👩🏿 — code points: 2
|
|
49
50
|
```
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
To match emoji in their textual representation as well (i.e. emoji that are not `Emoji_Presentation` symbols and that aren’t forced to render as emoji by a variation selector), `require` the other regex:
|
|
52
53
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
1. Bump the _emoji-test-regex-pattern_ dependency to the latest version.
|
|
58
|
-
|
|
59
|
-
1. Update the Unicode data dependency in `package.json` by running the following commands:
|
|
60
|
-
|
|
61
|
-
```sh
|
|
62
|
-
# Example: updating from Unicode v13 to Unicode v14.
|
|
63
|
-
npm uninstall @unicode/unicode-13.0.0
|
|
64
|
-
npm install @unicode/unicode-14.0.0 --save-dev
|
|
65
|
-
````
|
|
66
|
-
|
|
67
|
-
1. Generate the new output:
|
|
68
|
-
|
|
69
|
-
```sh
|
|
70
|
-
npm run build
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
1. Verify that tests still pass:
|
|
74
|
-
|
|
75
|
-
```sh
|
|
76
|
-
npm test
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### How to publish a new release
|
|
80
|
-
|
|
81
|
-
1. On the `main` branch, bump the emoji-regex version number in `package.json`:
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
npm version patch -m 'Release v%s'
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Instead of `patch`, use `minor` or `major` [as needed](https://semver.org/).
|
|
88
|
-
|
|
89
|
-
Note that this produces a Git commit + tag.
|
|
90
|
-
|
|
91
|
-
1. Push the release commit and tag:
|
|
54
|
+
```js
|
|
55
|
+
const emojiRegex = require('emoji-regex/text.js');
|
|
56
|
+
```
|
|
92
57
|
|
|
93
|
-
|
|
94
|
-
git push && git push --tags
|
|
95
|
-
```
|
|
58
|
+
Additionally, in environments which support ES2015 Unicode escapes, you may `require` ES2015-style versions of the regexes:
|
|
96
59
|
|
|
97
|
-
|
|
60
|
+
```js
|
|
61
|
+
const emojiRegex = require('emoji-regex/es2015/index.js');
|
|
62
|
+
const emojiRegexText = require('emoji-regex/es2015/text.js');
|
|
63
|
+
```
|
|
98
64
|
|
|
99
65
|
## Author
|
|
100
66
|
|
|
@@ -1,3 +1,23 @@
|
|
|
1
1
|
declare module 'emoji-regex' {
|
|
2
|
-
|
|
2
|
+
function emojiRegex(): RegExp;
|
|
3
|
+
|
|
4
|
+
export default emojiRegex;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare module 'emoji-regex/text' {
|
|
8
|
+
function emojiRegex(): RegExp;
|
|
9
|
+
|
|
10
|
+
export default emojiRegex;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare module 'emoji-regex/es2015' {
|
|
14
|
+
function emojiRegex(): RegExp;
|
|
15
|
+
|
|
16
|
+
export default emojiRegex;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare module 'emoji-regex/es2015/text' {
|
|
20
|
+
function emojiRegex(): RegExp;
|
|
21
|
+
|
|
22
|
+
export default emojiRegex;
|
|
3
23
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = function () {
|
|
4
|
+
// https://mths.be/emoji
|
|
5
|
+
return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
|
|
4
6
|
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "emoji-regex",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "A regular expression to match all Emoji-only symbols as per the Unicode Standard.",
|
|
5
5
|
"homepage": "https://mths.be/emoji-regex",
|
|
6
6
|
"main": "index.js",
|
|
7
|
-
"module": "index.mjs",
|
|
8
7
|
"types": "index.d.ts",
|
|
9
8
|
"keywords": [
|
|
10
9
|
"unicode",
|
|
@@ -30,16 +29,22 @@
|
|
|
30
29
|
"LICENSE-MIT.txt",
|
|
31
30
|
"index.js",
|
|
32
31
|
"index.d.ts",
|
|
33
|
-
"
|
|
32
|
+
"text.js",
|
|
33
|
+
"es2015/index.js",
|
|
34
|
+
"es2015/text.js"
|
|
34
35
|
],
|
|
35
36
|
"scripts": {
|
|
36
|
-
"build": "node script/
|
|
37
|
+
"build": "rm -rf -- es2015; babel src -d .; NODE_ENV=es2015 babel src -d ./es2015; node script/inject-sequences.js",
|
|
37
38
|
"test": "mocha",
|
|
38
39
|
"test:watch": "npm run test -- --watch"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@
|
|
42
|
-
"
|
|
43
|
-
"
|
|
42
|
+
"@babel/cli": "^7.2.3",
|
|
43
|
+
"@babel/core": "^7.3.4",
|
|
44
|
+
"@babel/plugin-proposal-unicode-property-regex": "^7.2.0",
|
|
45
|
+
"@babel/preset-env": "^7.3.4",
|
|
46
|
+
"mocha": "^6.0.2",
|
|
47
|
+
"regexgen": "^1.3.0",
|
|
48
|
+
"unicode-12.0.0": "^0.7.9"
|
|
44
49
|
}
|
|
45
50
|
}
|
|
@@ -26,6 +26,5 @@ export function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {
|
|
|
26
26
|
return 1;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
export const _isNarrowWidth = codePoint => !(isFullWidth(codePoint) || isWide(codePoint));
|
|
29
|
+
// Private exports for https://github.com/sindresorhus/is-fullwidth-code-point
|
|
30
|
+
export {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js';
|
|
@@ -294,11 +294,10 @@ function isWide(x) {
|
|
|
294
294
|
|| x >= 0xFE54 && x <= 0xFE66
|
|
295
295
|
|| x >= 0xFE68 && x <= 0xFE6B
|
|
296
296
|
|| x >= 0x16FE0 && x <= 0x16FE4
|
|
297
|
-
|| x
|
|
298
|
-
|| x
|
|
299
|
-
|| x >=
|
|
300
|
-
|| x >=
|
|
301
|
-
|| x >= 0x18CFF && x <= 0x18D08
|
|
297
|
+
|| x >= 0x16FF0 && x <= 0x16FF6
|
|
298
|
+
|| x >= 0x17000 && x <= 0x18CD5
|
|
299
|
+
|| x >= 0x18CFF && x <= 0x18D1E
|
|
300
|
+
|| x >= 0x18D80 && x <= 0x18DF2
|
|
302
301
|
|| x >= 0x1AFF0 && x <= 0x1AFF3
|
|
303
302
|
|| x >= 0x1AFF5 && x <= 0x1AFFB
|
|
304
303
|
|| x === 0x1AFFD
|
|
@@ -343,7 +342,7 @@ function isWide(x) {
|
|
|
343
342
|
|| x >= 0x1F680 && x <= 0x1F6C5
|
|
344
343
|
|| x === 0x1F6CC
|
|
345
344
|
|| x >= 0x1F6D0 && x <= 0x1F6D2
|
|
346
|
-
|| x >= 0x1F6D5 && x <=
|
|
345
|
+
|| x >= 0x1F6D5 && x <= 0x1F6D8
|
|
347
346
|
|| x >= 0x1F6DC && x <= 0x1F6DF
|
|
348
347
|
|| x === 0x1F6EB
|
|
349
348
|
|| x === 0x1F6EC
|
|
@@ -354,11 +353,12 @@ function isWide(x) {
|
|
|
354
353
|
|| x >= 0x1F93C && x <= 0x1F945
|
|
355
354
|
|| x >= 0x1F947 && x <= 0x1F9FF
|
|
356
355
|
|| x >= 0x1FA70 && x <= 0x1FA7C
|
|
357
|
-
|| x >= 0x1FA80 && x <=
|
|
358
|
-
|| x >=
|
|
359
|
-
|| x
|
|
360
|
-
|| x >=
|
|
361
|
-
|| x >=
|
|
356
|
+
|| x >= 0x1FA80 && x <= 0x1FA8A
|
|
357
|
+
|| x >= 0x1FA8E && x <= 0x1FAC6
|
|
358
|
+
|| x === 0x1FAC8
|
|
359
|
+
|| x >= 0x1FACD && x <= 0x1FADC
|
|
360
|
+
|| x >= 0x1FADF && x <= 0x1FAEA
|
|
361
|
+
|| x >= 0x1FAEF && x <= 0x1FAF8
|
|
362
362
|
|| x >= 0x20000 && x <= 0x2FFFD
|
|
363
363
|
|| x >= 0x30000 && x <= 0x3FFFD;
|
|
364
364
|
}
|
|
@@ -37,7 +37,7 @@ export type Options = {
|
|
|
37
37
|
readonly suffixText?: string | SuffixTextGenerator;
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
|
-
The name of one of the provided spinners. See
|
|
40
|
+
The name of one of the provided spinners. See `example.js` in this repo if you want to test out different spinners. On Windows (except for Windows Terminal), it will always use the line spinner as the Windows command-line doesn't have proper Unicode support.
|
|
41
41
|
|
|
42
42
|
@default 'dots'
|
|
43
43
|
|
|
@@ -58,7 +58,7 @@ export type Options = {
|
|
|
58
58
|
|
|
59
59
|
@default 'cyan'
|
|
60
60
|
*/
|
|
61
|
-
readonly color?: Color;
|
|
61
|
+
readonly color?: Color | boolean;
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
Set to `false` to stop Ora from hiding the cursor.
|
|
@@ -186,7 +186,7 @@ export interface Ora {
|
|
|
186
186
|
/**
|
|
187
187
|
Change the spinner color.
|
|
188
188
|
*/
|
|
189
|
-
color: Color;
|
|
189
|
+
color: Color | boolean;
|
|
190
190
|
|
|
191
191
|
/**
|
|
192
192
|
Change the spinner indent.
|
|
@@ -15,6 +15,7 @@ class Ora {
|
|
|
15
15
|
#lineCount = 0;
|
|
16
16
|
#frameIndex = -1;
|
|
17
17
|
#lastSpinnerFrameTime = 0;
|
|
18
|
+
#lastIndent = 0;
|
|
18
19
|
#options;
|
|
19
20
|
#spinner;
|
|
20
21
|
#stream;
|
|
@@ -114,8 +115,12 @@ class Ora {
|
|
|
114
115
|
this.#initialInterval = undefined;
|
|
115
116
|
|
|
116
117
|
if (typeof spinner === 'object') {
|
|
117
|
-
if (spinner.frames ===
|
|
118
|
-
throw new Error('The given spinner must have a `frames`
|
|
118
|
+
if (!Array.isArray(spinner.frames) || spinner.frames.length === 0 || spinner.frames.some(frame => typeof frame !== 'string')) {
|
|
119
|
+
throw new Error('The given spinner must have a non-empty `frames` array of strings');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (spinner.interval !== undefined && !(Number.isInteger(spinner.interval) && spinner.interval > 0)) {
|
|
123
|
+
throw new Error('`spinner.interval` must be a positive integer if provided');
|
|
119
124
|
}
|
|
120
125
|
|
|
121
126
|
this.#spinner = spinner;
|
|
@@ -162,40 +167,44 @@ class Ora {
|
|
|
162
167
|
return this.#id !== undefined;
|
|
163
168
|
}
|
|
164
169
|
|
|
165
|
-
#
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
if (typeof prefixText === 'function') {
|
|
171
|
-
return prefixText() + postfix;
|
|
170
|
+
#formatAffix(value, separator, placeBefore = false) {
|
|
171
|
+
const resolved = typeof value === 'function' ? value() : value;
|
|
172
|
+
if (typeof resolved === 'string' && resolved !== '') {
|
|
173
|
+
return placeBefore ? (separator + resolved) : (resolved + separator);
|
|
172
174
|
}
|
|
173
175
|
|
|
174
176
|
return '';
|
|
175
177
|
}
|
|
176
178
|
|
|
179
|
+
#getFullPrefixText(prefixText = this.#prefixText, postfix = ' ') {
|
|
180
|
+
return this.#formatAffix(prefixText, postfix, false);
|
|
181
|
+
}
|
|
182
|
+
|
|
177
183
|
#getFullSuffixText(suffixText = this.#suffixText, prefix = ' ') {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
184
|
+
return this.#formatAffix(suffixText, prefix, true);
|
|
185
|
+
}
|
|
181
186
|
|
|
182
|
-
|
|
183
|
-
|
|
187
|
+
#computeLineCountFrom(text, columns) {
|
|
188
|
+
let count = 0;
|
|
189
|
+
for (const line of stripAnsi(text).split('\n')) {
|
|
190
|
+
count += Math.max(1, Math.ceil(stringWidth(line) / columns));
|
|
184
191
|
}
|
|
185
192
|
|
|
186
|
-
return
|
|
193
|
+
return count;
|
|
187
194
|
}
|
|
188
195
|
|
|
189
196
|
#updateLineCount() {
|
|
190
197
|
const columns = this.#stream.columns ?? 80;
|
|
191
|
-
const fullPrefixText = this.#getFullPrefixText(this.#prefixText, '-');
|
|
192
|
-
const fullSuffixText = this.#getFullSuffixText(this.#suffixText, '-');
|
|
193
|
-
const fullText = ' '.repeat(this.#indent) + fullPrefixText + '--' + this.#text + '--' + fullSuffixText;
|
|
194
198
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
+
// Simple side-effect free approximation (do not call functions)
|
|
200
|
+
const prefixText = typeof this.#prefixText === 'function' ? '' : this.#prefixText;
|
|
201
|
+
const suffixText = typeof this.#suffixText === 'function' ? '' : this.#suffixText;
|
|
202
|
+
const fullPrefixText = (typeof prefixText === 'string' && prefixText !== '') ? prefixText + ' ' : '';
|
|
203
|
+
const fullSuffixText = (typeof suffixText === 'string' && suffixText !== '') ? ' ' + suffixText : '';
|
|
204
|
+
const spinnerChar = '-';
|
|
205
|
+
const fullText = ' '.repeat(this.#indent) + fullPrefixText + spinnerChar + (typeof this.#text === 'string' ? ' ' + this.#text : '') + fullSuffixText;
|
|
206
|
+
|
|
207
|
+
this.#lineCount = this.#computeLineCountFrom(fullText, columns);
|
|
199
208
|
}
|
|
200
209
|
|
|
201
210
|
get isEnabled() {
|
|
@@ -238,9 +247,9 @@ class Ora {
|
|
|
238
247
|
frame = chalk[this.color](frame);
|
|
239
248
|
}
|
|
240
249
|
|
|
241
|
-
const fullPrefixText = (
|
|
250
|
+
const fullPrefixText = this.#getFullPrefixText(this.#prefixText, ' ');
|
|
242
251
|
const fullText = typeof this.text === 'string' ? ' ' + this.text : '';
|
|
243
|
-
const fullSuffixText = (
|
|
252
|
+
const fullSuffixText = this.#getFullSuffixText(this.#suffixText, ' ');
|
|
244
253
|
|
|
245
254
|
return fullPrefixText + frame + fullText + fullSuffixText;
|
|
246
255
|
}
|
|
@@ -260,24 +269,37 @@ class Ora {
|
|
|
260
269
|
this.#stream.clearLine(1);
|
|
261
270
|
}
|
|
262
271
|
|
|
263
|
-
if (this.#indent || this
|
|
272
|
+
if (this.#indent || this.#lastIndent !== this.#indent) {
|
|
264
273
|
this.#stream.cursorTo(this.#indent);
|
|
265
274
|
}
|
|
266
275
|
|
|
267
|
-
this
|
|
276
|
+
this.#lastIndent = this.#indent;
|
|
268
277
|
this.#linesToClear = 0;
|
|
269
278
|
|
|
270
279
|
return this;
|
|
271
280
|
}
|
|
272
281
|
|
|
273
282
|
render() {
|
|
274
|
-
if (this.#isSilent) {
|
|
283
|
+
if (!this.#isEnabled || this.#isSilent) {
|
|
275
284
|
return this;
|
|
276
285
|
}
|
|
277
286
|
|
|
278
287
|
this.clear();
|
|
279
|
-
|
|
280
|
-
|
|
288
|
+
|
|
289
|
+
let frameContent = this.frame();
|
|
290
|
+
const columns = this.#stream.columns ?? 80;
|
|
291
|
+
const actualLineCount = this.#computeLineCountFrom(frameContent, columns);
|
|
292
|
+
|
|
293
|
+
// If content would exceed viewport height, truncate it to prevent garbage
|
|
294
|
+
const consoleHeight = this.#stream.rows;
|
|
295
|
+
if (consoleHeight && consoleHeight > 1 && actualLineCount > consoleHeight) {
|
|
296
|
+
const lines = frameContent.split('\n');
|
|
297
|
+
const maxLines = consoleHeight - 1; // Reserve one line for truncation message
|
|
298
|
+
frameContent = [...lines.slice(0, maxLines), '... (content truncated to fit terminal)'].join('\n');
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
this.#stream.write(frameContent);
|
|
302
|
+
this.#linesToClear = this.#computeLineCountFrom(frameContent, columns);
|
|
281
303
|
|
|
282
304
|
return this;
|
|
283
305
|
}
|
|
@@ -292,8 +314,10 @@ class Ora {
|
|
|
292
314
|
}
|
|
293
315
|
|
|
294
316
|
if (!this.#isEnabled) {
|
|
295
|
-
|
|
296
|
-
|
|
317
|
+
const line = ' '.repeat(this.#indent) + this.#getFullPrefixText(this.#prefixText, ' ') + (this.text ? `- ${this.text}` : '') + this.#getFullSuffixText(this.#suffixText, ' ');
|
|
318
|
+
|
|
319
|
+
if (line.trim() !== '') {
|
|
320
|
+
this.#stream.write(line + '\n');
|
|
297
321
|
}
|
|
298
322
|
|
|
299
323
|
return this;
|
|
@@ -319,16 +343,15 @@ class Ora {
|
|
|
319
343
|
}
|
|
320
344
|
|
|
321
345
|
stop() {
|
|
322
|
-
if (!this.#isEnabled) {
|
|
323
|
-
return this;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
346
|
clearInterval(this.#id);
|
|
327
347
|
this.#id = undefined;
|
|
328
348
|
this.#frameIndex = 0;
|
|
329
|
-
|
|
330
|
-
if (this.#
|
|
331
|
-
|
|
349
|
+
|
|
350
|
+
if (this.#isEnabled) {
|
|
351
|
+
this.clear();
|
|
352
|
+
if (this.#options.hideCursor) {
|
|
353
|
+
cliCursor.show(this.#stream);
|
|
354
|
+
}
|
|
332
355
|
}
|
|
333
356
|
|
|
334
357
|
if (this.#options.discardStdin && process.stdin.isTTY && this.#isDiscardingStdin) {
|
|
@@ -403,19 +426,15 @@ export async function oraPromise(action, options) {
|
|
|
403
426
|
const promise = actionIsFunction ? action(spinner) : action;
|
|
404
427
|
const result = await promise;
|
|
405
428
|
|
|
406
|
-
spinner.succeed(
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
: (typeof successText === 'string' ? successText : successText(result)),
|
|
410
|
-
);
|
|
429
|
+
spinner.succeed(successText === undefined
|
|
430
|
+
? undefined
|
|
431
|
+
: (typeof successText === 'string' ? successText : successText(result)));
|
|
411
432
|
|
|
412
433
|
return result;
|
|
413
434
|
} catch (error) {
|
|
414
|
-
spinner.fail(
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
: (typeof failText === 'string' ? failText : failText(error)),
|
|
418
|
-
);
|
|
435
|
+
spinner.fail(failText === undefined
|
|
436
|
+
? undefined
|
|
437
|
+
: (typeof failText === 'string' ? failText : failText(error)));
|
|
419
438
|
|
|
420
439
|
throw error;
|
|
421
440
|
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "chalk",
|
|
3
|
+
"version": "5.6.2",
|
|
4
|
+
"description": "Terminal string styling done right",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": "chalk/chalk",
|
|
7
|
+
"funding": "https://github.com/chalk/chalk?sponsor=1",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "./source/index.js",
|
|
10
|
+
"exports": "./source/index.js",
|
|
11
|
+
"imports": {
|
|
12
|
+
"#ansi-styles": "./source/vendor/ansi-styles/index.js",
|
|
13
|
+
"#supports-color": {
|
|
14
|
+
"node": "./source/vendor/supports-color/index.js",
|
|
15
|
+
"default": "./source/vendor/supports-color/browser.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"types": "./source/index.d.ts",
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": "^12.17.0 || ^14.13 || >=16.0.0"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"test": "xo && c8 ava && tsd",
|
|
25
|
+
"bench": "matcha benchmark.js"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"source",
|
|
29
|
+
"!source/index.test-d.ts"
|
|
30
|
+
],
|
|
31
|
+
"keywords": [
|
|
32
|
+
"color",
|
|
33
|
+
"colour",
|
|
34
|
+
"colors",
|
|
35
|
+
"terminal",
|
|
36
|
+
"console",
|
|
37
|
+
"cli",
|
|
38
|
+
"string",
|
|
39
|
+
"ansi",
|
|
40
|
+
"style",
|
|
41
|
+
"styles",
|
|
42
|
+
"tty",
|
|
43
|
+
"formatting",
|
|
44
|
+
"rgb",
|
|
45
|
+
"256",
|
|
46
|
+
"shell",
|
|
47
|
+
"xterm",
|
|
48
|
+
"log",
|
|
49
|
+
"logging",
|
|
50
|
+
"command-line",
|
|
51
|
+
"text"
|
|
52
|
+
],
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/node": "^16.11.10",
|
|
55
|
+
"ava": "^3.15.0",
|
|
56
|
+
"c8": "^7.10.0",
|
|
57
|
+
"color-convert": "^2.0.1",
|
|
58
|
+
"execa": "^6.0.0",
|
|
59
|
+
"log-update": "^5.0.0",
|
|
60
|
+
"matcha": "^0.7.0",
|
|
61
|
+
"tsd": "^0.19.0",
|
|
62
|
+
"xo": "^0.57.0",
|
|
63
|
+
"yoctodelay": "^2.0.0"
|
|
64
|
+
},
|
|
65
|
+
"xo": {
|
|
66
|
+
"rules": {
|
|
67
|
+
"unicorn/prefer-string-slice": "off",
|
|
68
|
+
"@typescript-eslint/consistent-type-imports": "off",
|
|
69
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
70
|
+
"@typescript-eslint/consistent-type-definitions": "off",
|
|
71
|
+
"unicorn/expiring-todo-comments": "off"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"c8": {
|
|
75
|
+
"reporter": [
|
|
76
|
+
"text",
|
|
77
|
+
"lcov"
|
|
78
|
+
],
|
|
79
|
+
"exclude": [
|
|
80
|
+
"source/vendor"
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
}
|