@chainlink/external-adapter-framework 2.5.0 → 2.6.0

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.
Files changed (416) hide show
  1. package/generator-adapter/node_modules/.yarn-integrity +6 -38
  2. package/generator-adapter/node_modules/@types/node/README.md +2 -2
  3. package/generator-adapter/node_modules/@types/node/assert.d.ts +7 -48
  4. package/generator-adapter/node_modules/@types/node/async_hooks.d.ts +0 -2
  5. package/generator-adapter/node_modules/@types/node/buffer.buffer.d.ts +1 -0
  6. package/generator-adapter/node_modules/@types/node/crypto.d.ts +8 -9
  7. package/generator-adapter/node_modules/@types/node/fs/promises.d.ts +3 -9
  8. package/generator-adapter/node_modules/@types/node/http2.d.ts +3 -4
  9. package/generator-adapter/node_modules/@types/node/inspector.d.ts +36 -0
  10. package/generator-adapter/node_modules/@types/node/module.d.ts +25 -0
  11. package/generator-adapter/node_modules/@types/node/package.json +7 -2
  12. package/generator-adapter/node_modules/@types/node/process.d.ts +22 -0
  13. package/generator-adapter/node_modules/@types/node/readline.d.ts +6 -1
  14. package/generator-adapter/node_modules/@types/node/sqlite.d.ts +36 -13
  15. package/generator-adapter/node_modules/@types/node/test.d.ts +54 -6
  16. package/generator-adapter/node_modules/@types/node/tls.d.ts +33 -0
  17. package/generator-adapter/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +1 -0
  18. package/generator-adapter/node_modules/@types/node/util.d.ts +219 -94
  19. package/generator-adapter/node_modules/@types/node/v8.d.ts +81 -0
  20. package/generator-adapter/node_modules/@types/node/zlib.d.ts +167 -36
  21. package/generator-adapter/node_modules/@yeoman/adapter/README.md +3 -9
  22. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.d.ts +1 -0
  23. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js +4 -1
  24. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js.map +1 -1
  25. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.d.ts +1 -0
  26. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js +2 -0
  27. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js.map +1 -1
  28. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.d.ts +10 -0
  29. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js +22 -5
  30. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js.map +1 -1
  31. package/generator-adapter/node_modules/@yeoman/adapter/package.json +2 -2
  32. package/generator-adapter/node_modules/@yeoman/adapter/types/adapter.d.ts +6 -0
  33. package/generator-adapter/node_modules/@yeoman/types/README.md +15 -0
  34. package/generator-adapter/node_modules/@yeoman/types/package.json +8 -13
  35. package/generator-adapter/node_modules/emoji-regex/README.md +48 -14
  36. package/generator-adapter/node_modules/emoji-regex/index.d.ts +1 -21
  37. package/generator-adapter/node_modules/emoji-regex/index.js +3 -5
  38. package/generator-adapter/node_modules/emoji-regex/package.json +7 -12
  39. package/generator-adapter/node_modules/is-unicode-supported/index.d.ts +2 -4
  40. package/generator-adapter/node_modules/is-unicode-supported/index.js +17 -9
  41. package/generator-adapter/node_modules/is-unicode-supported/package.json +11 -5
  42. package/generator-adapter/node_modules/is-unicode-supported/readme.md +3 -3
  43. package/generator-adapter/node_modules/string-width/index.d.ts +31 -21
  44. package/generator-adapter/node_modules/string-width/index.js +56 -21
  45. package/generator-adapter/node_modules/string-width/license +1 -1
  46. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/index.d.ts +33 -0
  47. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/index.js +10 -0
  48. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/package.json +61 -0
  49. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/readme.md +60 -0
  50. package/generator-adapter/node_modules/string-width/node_modules/strip-ansi/index.d.ts +15 -0
  51. package/generator-adapter/node_modules/string-width/node_modules/strip-ansi/index.js +14 -0
  52. package/generator-adapter/node_modules/string-width/node_modules/strip-ansi/package.json +57 -0
  53. package/generator-adapter/node_modules/string-width/node_modules/strip-ansi/readme.md +41 -0
  54. package/generator-adapter/node_modules/string-width/package.json +18 -10
  55. package/generator-adapter/node_modules/string-width/readme.md +34 -18
  56. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/README.md +73 -0
  57. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.d.ts +23 -0
  58. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.js +6 -0
  59. package/generator-adapter/node_modules/{ora → wrap-ansi}/node_modules/emoji-regex/package.json +12 -7
  60. package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/index.d.ts +29 -0
  61. package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/index.js +47 -0
  62. package/generator-adapter/node_modules/{ora → wrap-ansi}/node_modules/string-width/package.json +10 -18
  63. package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/readme.md +50 -0
  64. package/generator-adapter/package.json +3 -3
  65. package/package.json +12 -12
  66. package/generator-adapter/node_modules/@types/inquirer/LICENSE +0 -21
  67. package/generator-adapter/node_modules/@types/inquirer/README.md +0 -15
  68. package/generator-adapter/node_modules/@types/inquirer/index.d.ts +0 -1205
  69. package/generator-adapter/node_modules/@types/inquirer/lib/objects/choice.d.ts +0 -66
  70. package/generator-adapter/node_modules/@types/inquirer/lib/objects/choices.d.ts +0 -206
  71. package/generator-adapter/node_modules/@types/inquirer/lib/objects/separator.d.ts +0 -3
  72. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/base.d.ts +0 -95
  73. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/checkbox.d.ts +0 -116
  74. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/confirm.d.ts +0 -53
  75. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/editor.d.ts +0 -101
  76. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/expand.d.ts +0 -149
  77. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/input.d.ts +0 -82
  78. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/list.d.ts +0 -89
  79. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/number.d.ts +0 -32
  80. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/password.d.ts +0 -82
  81. package/generator-adapter/node_modules/@types/inquirer/lib/prompts/rawlist.d.ts +0 -111
  82. package/generator-adapter/node_modules/@types/inquirer/lib/ui/baseUI.d.ts +0 -37
  83. package/generator-adapter/node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts +0 -3
  84. package/generator-adapter/node_modules/@types/inquirer/lib/ui/prompt.d.ts +0 -3
  85. package/generator-adapter/node_modules/@types/inquirer/lib/utils/events.d.ts +0 -72
  86. package/generator-adapter/node_modules/@types/inquirer/lib/utils/incrementListIndex.d.ts +0 -23
  87. package/generator-adapter/node_modules/@types/inquirer/lib/utils/paginator.d.ts +0 -55
  88. package/generator-adapter/node_modules/@types/inquirer/lib/utils/readline.d.ts +0 -56
  89. package/generator-adapter/node_modules/@types/inquirer/lib/utils/screen-manager.d.ts +0 -90
  90. package/generator-adapter/node_modules/@types/inquirer/lib/utils/utils.d.ts +0 -30
  91. package/generator-adapter/node_modules/@types/inquirer/package.json +0 -74
  92. package/generator-adapter/node_modules/@types/through/LICENSE +0 -21
  93. package/generator-adapter/node_modules/@types/through/README.md +0 -39
  94. package/generator-adapter/node_modules/@types/through/index.d.ts +0 -20
  95. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/LICENSE +0 -21
  96. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/README.md +0 -15
  97. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/assert/strict.d.ts +0 -8
  98. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/assert.d.ts +0 -1040
  99. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/async_hooks.d.ts +0 -541
  100. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/buffer.buffer.d.ts +0 -385
  101. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/buffer.d.ts +0 -1933
  102. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/child_process.d.ts +0 -1549
  103. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/cluster.d.ts +0 -579
  104. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  105. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/compatibility/index.d.ts +0 -9
  106. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/compatibility/indexable.d.ts +0 -23
  107. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  108. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/console.d.ts +0 -452
  109. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/constants.d.ts +0 -19
  110. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/crypto.d.ts +0 -4475
  111. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/dgram.d.ts +0 -596
  112. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  113. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/dns/promises.d.ts +0 -476
  114. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/dns.d.ts +0 -865
  115. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/dom-events.d.ts +0 -124
  116. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/domain.d.ts +0 -170
  117. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/events.d.ts +0 -931
  118. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/fs/promises.d.ts +0 -1275
  119. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/fs.d.ts +0 -4396
  120. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/globals.d.ts +0 -566
  121. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  122. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/http.d.ts +0 -1958
  123. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/http2.d.ts +0 -2558
  124. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/https.d.ts +0 -543
  125. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/index.d.ts +0 -92
  126. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/inspector.d.ts +0 -3966
  127. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/module.d.ts +0 -402
  128. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/net.d.ts +0 -1001
  129. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/os.d.ts +0 -495
  130. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/package.json +0 -225
  131. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/path.d.ts +0 -200
  132. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/perf_hooks.d.ts +0 -965
  133. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/process.d.ts +0 -1963
  134. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/punycode.d.ts +0 -117
  135. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/querystring.d.ts +0 -153
  136. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/readline/promises.d.ts +0 -162
  137. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/readline.d.ts +0 -589
  138. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/repl.d.ts +0 -430
  139. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/sea.d.ts +0 -153
  140. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/sqlite.d.ts +0 -213
  141. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/stream/consumers.d.ts +0 -12
  142. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/stream/promises.d.ts +0 -90
  143. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/stream/web.d.ts +0 -609
  144. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/stream.d.ts +0 -1726
  145. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/string_decoder.d.ts +0 -67
  146. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/test.d.ts +0 -2248
  147. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/timers/promises.d.ts +0 -97
  148. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/timers.d.ts +0 -240
  149. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/tls.d.ts +0 -1226
  150. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/trace_events.d.ts +0 -197
  151. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -385
  152. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  153. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  154. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/tty.d.ts +0 -208
  155. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/url.d.ts +0 -972
  156. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/util.d.ts +0 -2371
  157. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/v8.d.ts +0 -808
  158. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/vm.d.ts +0 -976
  159. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/wasi.d.ts +0 -181
  160. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/worker_threads.d.ts +0 -745
  161. package/generator-adapter/node_modules/@types/through/node_modules/@types/node/zlib.d.ts +0 -539
  162. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/LICENSE +0 -21
  163. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/README.md +0 -6
  164. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/agent.d.ts +0 -31
  165. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/api.d.ts +0 -43
  166. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/balanced-pool.d.ts +0 -29
  167. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/cache.d.ts +0 -36
  168. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/client.d.ts +0 -108
  169. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/connector.d.ts +0 -34
  170. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/content-type.d.ts +0 -21
  171. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/cookies.d.ts +0 -28
  172. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  173. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/dispatcher.d.ts +0 -255
  174. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  175. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/errors.d.ts +0 -149
  176. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/eventsource.d.ts +0 -61
  177. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/fetch.d.ts +0 -209
  178. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/file.d.ts +0 -39
  179. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/filereader.d.ts +0 -54
  180. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/formdata.d.ts +0 -108
  181. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  182. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/global-origin.d.ts +0 -7
  183. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/handlers.d.ts +0 -15
  184. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/header.d.ts +0 -4
  185. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/index.d.ts +0 -71
  186. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/interceptors.d.ts +0 -17
  187. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/mock-agent.d.ts +0 -50
  188. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/mock-client.d.ts +0 -25
  189. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/mock-errors.d.ts +0 -12
  190. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  191. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/mock-pool.d.ts +0 -25
  192. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/package.json +0 -55
  193. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/patch.d.ts +0 -33
  194. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/pool-stats.d.ts +0 -19
  195. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/pool.d.ts +0 -39
  196. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/proxy-agent.d.ts +0 -28
  197. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/readable.d.ts +0 -60
  198. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/retry-agent.d.ts +0 -8
  199. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/retry-handler.d.ts +0 -116
  200. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/util.d.ts +0 -18
  201. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/webidl.d.ts +0 -222
  202. package/generator-adapter/node_modules/@types/through/node_modules/undici-types/websocket.d.ts +0 -150
  203. package/generator-adapter/node_modules/@types/through/package.json +0 -27
  204. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/LICENSE +0 -21
  205. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/README.md +0 -21
  206. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/adapter.d.ts +0 -51
  207. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/adapter.js +0 -75
  208. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/adapter.js.map +0 -1
  209. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/index.d.ts +0 -4
  210. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/index.js +0 -5
  211. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/index.js.map +0 -1
  212. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/log.d.ts +0 -16
  213. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/log.js +0 -172
  214. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/log.js.map +0 -1
  215. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/queued-adapter.d.ts +0 -63
  216. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/queued-adapter.js +0 -129
  217. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/queued-adapter.js.map +0 -1
  218. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/testing/index.d.ts +0 -1
  219. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/testing/index.js +0 -2
  220. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/testing/index.js.map +0 -1
  221. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/testing/test-adapter.d.ts +0 -54
  222. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/testing/test-adapter.js +0 -107
  223. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/dist/testing/test-adapter.js.map +0 -1
  224. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/package.json +0 -64
  225. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/types/adapter.d.ts +0 -53
  226. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/types/index.d.ts +0 -2
  227. package/generator-adapter/node_modules/@yeoman/types/node_modules/@yeoman/adapter/types/logger.d.ts +0 -70
  228. package/generator-adapter/node_modules/@yeoman/types/node_modules/cli-cursor/index.d.ts +0 -45
  229. package/generator-adapter/node_modules/@yeoman/types/node_modules/cli-cursor/index.js +0 -35
  230. package/generator-adapter/node_modules/@yeoman/types/node_modules/cli-cursor/package.json +0 -46
  231. package/generator-adapter/node_modules/@yeoman/types/node_modules/cli-cursor/readme.md +0 -55
  232. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/LICENSE +0 -22
  233. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/README.md +0 -554
  234. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/index.js +0 -106
  235. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/objects/choice.js +0 -31
  236. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/objects/choices.js +0 -136
  237. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/objects/separator.js +0 -33
  238. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/base.js +0 -171
  239. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/checkbox.js +0 -271
  240. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/confirm.js +0 -99
  241. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/editor.js +0 -104
  242. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/expand.js +0 -268
  243. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/input.js +0 -103
  244. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/list.js +0 -202
  245. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/number.js +0 -26
  246. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/password.js +0 -121
  247. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/prompts/rawlist.js +0 -221
  248. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/ui/baseUI.js +0 -87
  249. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/ui/bottom-bar.js +0 -99
  250. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/ui/prompt.js +0 -182
  251. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/utils/events.js +0 -52
  252. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/utils/incrementListIndex.js +0 -17
  253. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/utils/paginator.js +0 -77
  254. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/utils/readline.js +0 -50
  255. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/utils/screen-manager.js +0 -172
  256. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/lib/utils/utils.js +0 -24
  257. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/index.d.ts +0 -415
  258. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/license +0 -9
  259. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/package.json +0 -68
  260. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/readme.md +0 -341
  261. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/source/index.js +0 -229
  262. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/source/templates.js +0 -134
  263. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/chalk/source/util.js +0 -39
  264. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/log-symbols/browser.js +0 -8
  265. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/log-symbols/index.d.ts +0 -25
  266. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/log-symbols/index.js +0 -19
  267. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/log-symbols/package.json +0 -52
  268. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/log-symbols/readme.md +0 -51
  269. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/ora/index.d.ts +0 -277
  270. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/ora/index.js +0 -407
  271. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/ora/package.json +0 -57
  272. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/node_modules/ora/readme.md +0 -264
  273. package/generator-adapter/node_modules/@yeoman/types/node_modules/inquirer/package.json +0 -78
  274. package/generator-adapter/node_modules/@yeoman/types/node_modules/is-interactive/index.d.ts +0 -31
  275. package/generator-adapter/node_modules/@yeoman/types/node_modules/is-interactive/index.js +0 -9
  276. package/generator-adapter/node_modules/@yeoman/types/node_modules/is-interactive/license +0 -9
  277. package/generator-adapter/node_modules/@yeoman/types/node_modules/is-interactive/package.json +0 -38
  278. package/generator-adapter/node_modules/@yeoman/types/node_modules/is-interactive/readme.md +0 -51
  279. package/generator-adapter/node_modules/@yeoman/types/node_modules/mimic-fn/index.d.ts +0 -54
  280. package/generator-adapter/node_modules/@yeoman/types/node_modules/mimic-fn/index.js +0 -13
  281. package/generator-adapter/node_modules/@yeoman/types/node_modules/mimic-fn/license +0 -9
  282. package/generator-adapter/node_modules/@yeoman/types/node_modules/mimic-fn/package.json +0 -42
  283. package/generator-adapter/node_modules/@yeoman/types/node_modules/mimic-fn/readme.md +0 -69
  284. package/generator-adapter/node_modules/@yeoman/types/node_modules/mute-stream/LICENSE +0 -15
  285. package/generator-adapter/node_modules/@yeoman/types/node_modules/mute-stream/README.md +0 -68
  286. package/generator-adapter/node_modules/@yeoman/types/node_modules/mute-stream/lib/index.js +0 -142
  287. package/generator-adapter/node_modules/@yeoman/types/node_modules/mute-stream/package.json +0 -52
  288. package/generator-adapter/node_modules/@yeoman/types/node_modules/onetime/index.d.ts +0 -64
  289. package/generator-adapter/node_modules/@yeoman/types/node_modules/onetime/index.js +0 -44
  290. package/generator-adapter/node_modules/@yeoman/types/node_modules/onetime/license +0 -9
  291. package/generator-adapter/node_modules/@yeoman/types/node_modules/onetime/package.json +0 -43
  292. package/generator-adapter/node_modules/@yeoman/types/node_modules/onetime/readme.md +0 -94
  293. package/generator-adapter/node_modules/@yeoman/types/node_modules/restore-cursor/index.d.ts +0 -13
  294. package/generator-adapter/node_modules/@yeoman/types/node_modules/restore-cursor/index.js +0 -9
  295. package/generator-adapter/node_modules/@yeoman/types/node_modules/restore-cursor/license +0 -9
  296. package/generator-adapter/node_modules/@yeoman/types/node_modules/restore-cursor/package.json +0 -52
  297. package/generator-adapter/node_modules/@yeoman/types/node_modules/restore-cursor/readme.md +0 -26
  298. package/generator-adapter/node_modules/@yeoman/types/node_modules/signal-exit/LICENSE.txt +0 -16
  299. package/generator-adapter/node_modules/@yeoman/types/node_modules/signal-exit/README.md +0 -39
  300. package/generator-adapter/node_modules/@yeoman/types/node_modules/signal-exit/index.js +0 -202
  301. package/generator-adapter/node_modules/@yeoman/types/node_modules/signal-exit/package.json +0 -38
  302. package/generator-adapter/node_modules/@yeoman/types/node_modules/signal-exit/signals.js +0 -53
  303. package/generator-adapter/node_modules/base64-js/LICENSE +0 -21
  304. package/generator-adapter/node_modules/base64-js/README.md +0 -34
  305. package/generator-adapter/node_modules/base64-js/base64js.min.js +0 -1
  306. package/generator-adapter/node_modules/base64-js/index.d.ts +0 -3
  307. package/generator-adapter/node_modules/base64-js/index.js +0 -150
  308. package/generator-adapter/node_modules/base64-js/package.json +0 -47
  309. package/generator-adapter/node_modules/bl/.travis.yml +0 -17
  310. package/generator-adapter/node_modules/bl/BufferList.js +0 -396
  311. package/generator-adapter/node_modules/bl/LICENSE.md +0 -13
  312. package/generator-adapter/node_modules/bl/README.md +0 -247
  313. package/generator-adapter/node_modules/bl/bl.js +0 -84
  314. package/generator-adapter/node_modules/bl/package.json +0 -37
  315. package/generator-adapter/node_modules/bl/test/convert.js +0 -21
  316. package/generator-adapter/node_modules/bl/test/indexOf.js +0 -492
  317. package/generator-adapter/node_modules/bl/test/isBufferList.js +0 -32
  318. package/generator-adapter/node_modules/bl/test/test.js +0 -869
  319. package/generator-adapter/node_modules/buffer/AUTHORS.md +0 -70
  320. package/generator-adapter/node_modules/buffer/LICENSE +0 -21
  321. package/generator-adapter/node_modules/buffer/README.md +0 -410
  322. package/generator-adapter/node_modules/buffer/index.d.ts +0 -186
  323. package/generator-adapter/node_modules/buffer/index.js +0 -1817
  324. package/generator-adapter/node_modules/buffer/package.json +0 -96
  325. package/generator-adapter/node_modules/defaults/LICENSE +0 -22
  326. package/generator-adapter/node_modules/defaults/README.md +0 -39
  327. package/generator-adapter/node_modules/defaults/index.js +0 -13
  328. package/generator-adapter/node_modules/defaults/node_modules/clone/LICENSE +0 -18
  329. package/generator-adapter/node_modules/defaults/node_modules/clone/README.md +0 -126
  330. package/generator-adapter/node_modules/defaults/node_modules/clone/clone.iml +0 -10
  331. package/generator-adapter/node_modules/defaults/node_modules/clone/clone.js +0 -166
  332. package/generator-adapter/node_modules/defaults/node_modules/clone/package.json +0 -51
  333. package/generator-adapter/node_modules/defaults/package.json +0 -33
  334. package/generator-adapter/node_modules/defaults/test.js +0 -34
  335. package/generator-adapter/node_modules/ieee754/LICENSE +0 -11
  336. package/generator-adapter/node_modules/ieee754/README.md +0 -51
  337. package/generator-adapter/node_modules/ieee754/index.d.ts +0 -10
  338. package/generator-adapter/node_modules/ieee754/index.js +0 -85
  339. package/generator-adapter/node_modules/ieee754/package.json +0 -52
  340. package/generator-adapter/node_modules/inherits/LICENSE +0 -16
  341. package/generator-adapter/node_modules/inherits/README.md +0 -42
  342. package/generator-adapter/node_modules/inherits/inherits.js +0 -9
  343. package/generator-adapter/node_modules/inherits/inherits_browser.js +0 -27
  344. package/generator-adapter/node_modules/inherits/package.json +0 -29
  345. package/generator-adapter/node_modules/log-symbols/node_modules/is-unicode-supported/index.d.ts +0 -12
  346. package/generator-adapter/node_modules/log-symbols/node_modules/is-unicode-supported/index.js +0 -21
  347. package/generator-adapter/node_modules/log-symbols/node_modules/is-unicode-supported/license +0 -9
  348. package/generator-adapter/node_modules/log-symbols/node_modules/is-unicode-supported/package.json +0 -47
  349. package/generator-adapter/node_modules/log-symbols/node_modules/is-unicode-supported/readme.md +0 -35
  350. package/generator-adapter/node_modules/ora/node_modules/emoji-regex/README.md +0 -107
  351. package/generator-adapter/node_modules/ora/node_modules/emoji-regex/index.d.ts +0 -3
  352. package/generator-adapter/node_modules/ora/node_modules/emoji-regex/index.js +0 -4
  353. package/generator-adapter/node_modules/ora/node_modules/is-unicode-supported/index.d.ts +0 -12
  354. package/generator-adapter/node_modules/ora/node_modules/is-unicode-supported/index.js +0 -21
  355. package/generator-adapter/node_modules/ora/node_modules/is-unicode-supported/license +0 -9
  356. package/generator-adapter/node_modules/ora/node_modules/is-unicode-supported/package.json +0 -47
  357. package/generator-adapter/node_modules/ora/node_modules/is-unicode-supported/readme.md +0 -35
  358. package/generator-adapter/node_modules/ora/node_modules/string-width/index.d.ts +0 -39
  359. package/generator-adapter/node_modules/ora/node_modules/string-width/index.js +0 -82
  360. package/generator-adapter/node_modules/ora/node_modules/string-width/license +0 -9
  361. package/generator-adapter/node_modules/ora/node_modules/string-width/readme.md +0 -66
  362. package/generator-adapter/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  363. package/generator-adapter/node_modules/readable-stream/GOVERNANCE.md +0 -136
  364. package/generator-adapter/node_modules/readable-stream/LICENSE +0 -47
  365. package/generator-adapter/node_modules/readable-stream/README.md +0 -106
  366. package/generator-adapter/node_modules/readable-stream/errors-browser.js +0 -127
  367. package/generator-adapter/node_modules/readable-stream/errors.js +0 -116
  368. package/generator-adapter/node_modules/readable-stream/experimentalWarning.js +0 -17
  369. package/generator-adapter/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  370. package/generator-adapter/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  371. package/generator-adapter/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  372. package/generator-adapter/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  373. package/generator-adapter/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  374. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  375. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  376. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  377. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  378. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  379. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  380. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  381. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  382. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  383. package/generator-adapter/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  384. package/generator-adapter/node_modules/readable-stream/package.json +0 -68
  385. package/generator-adapter/node_modules/readable-stream/readable-browser.js +0 -9
  386. package/generator-adapter/node_modules/readable-stream/readable.js +0 -16
  387. package/generator-adapter/node_modules/safe-buffer/LICENSE +0 -21
  388. package/generator-adapter/node_modules/safe-buffer/README.md +0 -584
  389. package/generator-adapter/node_modules/safe-buffer/index.d.ts +0 -187
  390. package/generator-adapter/node_modules/safe-buffer/index.js +0 -65
  391. package/generator-adapter/node_modules/safe-buffer/package.json +0 -51
  392. package/generator-adapter/node_modules/string_decoder/LICENSE +0 -48
  393. package/generator-adapter/node_modules/string_decoder/README.md +0 -47
  394. package/generator-adapter/node_modules/string_decoder/lib/string_decoder.js +0 -296
  395. package/generator-adapter/node_modules/string_decoder/package.json +0 -34
  396. package/generator-adapter/node_modules/util-deprecate/History.md +0 -16
  397. package/generator-adapter/node_modules/util-deprecate/LICENSE +0 -24
  398. package/generator-adapter/node_modules/util-deprecate/README.md +0 -53
  399. package/generator-adapter/node_modules/util-deprecate/browser.js +0 -67
  400. package/generator-adapter/node_modules/util-deprecate/node.js +0 -6
  401. package/generator-adapter/node_modules/util-deprecate/package.json +0 -27
  402. package/generator-adapter/node_modules/wcwidth/LICENSE +0 -30
  403. package/generator-adapter/node_modules/wcwidth/Readme.md +0 -33
  404. package/generator-adapter/node_modules/wcwidth/combining.js +0 -50
  405. package/generator-adapter/node_modules/wcwidth/docs/index.md +0 -65
  406. package/generator-adapter/node_modules/wcwidth/index.js +0 -99
  407. package/generator-adapter/node_modules/wcwidth/package.json +0 -42
  408. package/generator-adapter/node_modules/wcwidth/test/index.js +0 -64
  409. /package/generator-adapter/node_modules/{ora/node_modules/emoji-regex → emoji-regex}/index.mjs +0 -0
  410. /package/generator-adapter/node_modules/{@yeoman/types/node_modules/inquirer/node_modules/log-symbols → string-width/node_modules/ansi-regex}/license +0 -0
  411. /package/generator-adapter/node_modules/{@yeoman/types/node_modules/inquirer/node_modules/ora → string-width/node_modules/strip-ansi}/license +0 -0
  412. /package/generator-adapter/node_modules/{ora → wrap-ansi}/node_modules/emoji-regex/LICENSE-MIT.txt +0 -0
  413. /package/generator-adapter/node_modules/{emoji-regex → wrap-ansi/node_modules/emoji-regex}/es2015/index.js +0 -0
  414. /package/generator-adapter/node_modules/{emoji-regex → wrap-ansi/node_modules/emoji-regex}/es2015/text.js +0 -0
  415. /package/generator-adapter/node_modules/{emoji-regex → wrap-ansi/node_modules/emoji-regex}/text.js +0 -0
  416. /package/generator-adapter/node_modules/{@yeoman/types/node_modules/cli-cursor → wrap-ansi/node_modules/string-width}/license +0 -0
@@ -1,8 +1,8 @@
1
- # emoji-regex [![Build status](https://travis-ci.org/mathiasbynens/emoji-regex.svg?branch=master)](https://travis-ci.org/mathiasbynens/emoji-regex)
1
+ # emoji-regex [![Build status](https://github.com/mathiasbynens/emoji-regex/actions/workflows/main.yml/badge.svg)](https://github.com/mathiasbynens/emoji-regex/actions/workflows/main.yml) [![emoji-regex on npm](https://img.shields.io/npm/v/emoji-regex)](https://www.npmjs.com/package/emoji-regex)
2
2
 
3
- _emoji-regex_ offers a regular expression to match all emoji symbols (including textual representations of emoji) as per the Unicode Standard.
3
+ _emoji-regex_ offers a regular expression to match all emoji symbols and sequences (including textual representations of emoji) as per the Unicode Standard. It’s based on [_emoji-test-regex-pattern_](https://github.com/mathiasbynens/emoji-test-regex-pattern), which generates (at build time) the regular expression pattern based on the Unicode Standard. As a result, _emoji-regex_ can easily be updated whenever new emoji are added to Unicode.
4
4
 
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.
5
+ Since each version of _emoji-regex_ is tied to the latest Unicode version at the time of release, results are deterministic. This is important for use cases like image replacement, where you want to guarantee that an image asset is available for every possibly matched emoji. If you don’t need a deterministic regex, a lighter-weight, general emoji pattern is available via the [_emoji-regex-xs_](https://github.com/slevithan/emoji-regex-xs) package that follows the same API.
6
6
 
7
7
  ## Installation
8
8
 
@@ -29,8 +29,7 @@ const text = `
29
29
  `;
30
30
 
31
31
  const regex = emojiRegex();
32
- let match;
33
- while (match = regex.exec(text)) {
32
+ for (const match of text.matchAll(regex)) {
34
33
  const emoji = match[0];
35
34
  console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
36
35
  }
@@ -49,18 +48,53 @@ Matched sequence 👩🏿 — code points: 2
49
48
  Matched sequence 👩🏿 — code points: 2
50
49
  ```
51
50
 
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:
51
+ ## For maintainers
53
52
 
54
- ```js
55
- const emojiRegex = require('emoji-regex/text.js');
56
- ```
53
+ ### How to update emoji-regex after new Unicode Standard releases
57
54
 
58
- Additionally, in environments which support ES2015 Unicode escapes, you may `require` ES2015-style versions of the regexes:
55
+ 1. [Update _emoji-test-regex-pattern_ as described in its repository](https://github.com/mathiasbynens/emoji-test-regex-pattern#how-to-update-emoji-test-regex-pattern-after-new-uts51-releases).
59
56
 
60
- ```js
61
- const emojiRegex = require('emoji-regex/es2015/index.js');
62
- const emojiRegexText = require('emoji-regex/es2015/text.js');
63
- ```
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:
92
+
93
+ ```sh
94
+ git push && git push --tags
95
+ ```
96
+
97
+ Our CI then automatically publishes the new release to npm.
64
98
 
65
99
  ## Author
66
100
 
@@ -1,23 +1,3 @@
1
1
  declare module 'emoji-regex' {
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;
2
+ export default function emojiRegex(): RegExp;
23
3
  }
@@ -1,6 +1,4 @@
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;
1
+ module.exports = () => {
2
+ // https://mths.be/emoji
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;
6
4
  };
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "emoji-regex",
3
- "version": "8.0.0",
3
+ "version": "10.4.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",
7
8
  "types": "index.d.ts",
8
9
  "keywords": [
9
10
  "unicode",
@@ -29,22 +30,16 @@
29
30
  "LICENSE-MIT.txt",
30
31
  "index.js",
31
32
  "index.d.ts",
32
- "text.js",
33
- "es2015/index.js",
34
- "es2015/text.js"
33
+ "index.mjs"
35
34
  ],
36
35
  "scripts": {
37
- "build": "rm -rf -- es2015; babel src -d .; NODE_ENV=es2015 babel src -d ./es2015; node script/inject-sequences.js",
36
+ "build": "node script/build.js",
38
37
  "test": "mocha",
39
38
  "test:watch": "npm run test -- --watch"
40
39
  },
41
40
  "devDependencies": {
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"
41
+ "@unicode/unicode-16.0.0": "^1.0.0",
42
+ "emoji-test-regex-pattern": "^2.2.0",
43
+ "mocha": "^10.7.3"
49
44
  }
50
45
  }
@@ -3,12 +3,10 @@ Detect whether the terminal supports Unicode.
3
3
 
4
4
  @example
5
5
  ```
6
- import isUnicodeSupported = require('is-unicode-supported');
6
+ import isUnicodeSupported from 'is-unicode-supported';
7
7
 
8
8
  isUnicodeSupported();
9
9
  //=> true
10
10
  ```
11
11
  */
12
- declare function isUnicodeSupported(): boolean;
13
-
14
- export = isUnicodeSupported;
12
+ export default function isUnicodeSupported(): boolean;
@@ -1,13 +1,21 @@
1
- 'use strict';
1
+ import process from 'node:process';
2
+
3
+ export default function isUnicodeSupported() {
4
+ const {env} = process;
5
+ const {TERM, TERM_PROGRAM} = env;
2
6
 
3
- module.exports = () => {
4
7
  if (process.platform !== 'win32') {
5
- return true;
8
+ return TERM !== 'linux'; // Linux console (kernel)
6
9
  }
7
10
 
8
- return Boolean(process.env.CI) ||
9
- Boolean(process.env.WT_SESSION) || // Windows Terminal
10
- process.env.TERM_PROGRAM === 'vscode' ||
11
- process.env.TERM === 'xterm-256color' ||
12
- process.env.TERM === 'alacritty';
13
- };
11
+ return Boolean(env.WT_SESSION) // Windows Terminal
12
+ || Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)
13
+ || env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder
14
+ || TERM_PROGRAM === 'Terminus-Sublime'
15
+ || TERM_PROGRAM === 'vscode'
16
+ || TERM === 'xterm-256color'
17
+ || TERM === 'alacritty'
18
+ || TERM === 'rxvt-unicode'
19
+ || TERM === 'rxvt-unicode-256color'
20
+ || env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';
21
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "is-unicode-supported",
3
- "version": "0.1.0",
3
+ "version": "2.1.0",
4
4
  "description": "Detect whether the terminal supports Unicode",
5
5
  "license": "MIT",
6
6
  "repository": "sindresorhus/is-unicode-supported",
@@ -10,8 +10,14 @@
10
10
  "email": "sindresorhus@gmail.com",
11
11
  "url": "https://sindresorhus.com"
12
12
  },
13
+ "type": "module",
14
+ "exports": {
15
+ "types": "./index.d.ts",
16
+ "default": "./index.js"
17
+ },
18
+ "sideEffects": false,
13
19
  "engines": {
14
- "node": ">=10"
20
+ "node": ">=18"
15
21
  },
16
22
  "scripts": {
17
23
  "test": "xo && ava && tsd"
@@ -34,8 +40,8 @@
34
40
  "detection"
35
41
  ],
36
42
  "devDependencies": {
37
- "ava": "^2.4.0",
38
- "tsd": "^0.14.0",
39
- "xo": "^0.38.2"
43
+ "ava": "^6.1.3",
44
+ "tsd": "^0.31.2",
45
+ "xo": "^0.59.3"
40
46
  }
41
47
  }
@@ -8,14 +8,14 @@ Note that the check is quite naive. It just assumes all non-Windows terminals su
8
8
 
9
9
  ## Install
10
10
 
11
- ```
12
- $ npm install is-unicode-supported
11
+ ```sh
12
+ npm install is-unicode-supported
13
13
  ```
14
14
 
15
15
  ## Usage
16
16
 
17
17
  ```js
18
- const isUnicodeSupported = require('is-unicode-supported');
18
+ import isUnicodeSupported from 'is-unicode-supported';
19
19
 
20
20
  isUnicodeSupported();
21
21
  //=> true
@@ -1,29 +1,39 @@
1
- declare const stringWidth: {
1
+ export type Options = {
2
2
  /**
3
- Get the visual width of a string - the number of columns required to display it.
3
+ Count [ambiguous width characters](https://www.unicode.org/reports/tr11/#Ambiguous) as having narrow width (count of 1) instead of wide width (count of 2).
4
4
 
5
- Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
5
+ @default true
6
6
 
7
- @example
8
- ```
9
- import stringWidth = require('string-width');
10
-
11
- stringWidth('a');
12
- //=> 1
7
+ > Ambiguous characters behave like wide or narrow characters depending on the context (language tag, script identification, associated font, source of data, or explicit markup; all can provide the context). __If the context cannot be established reliably, they should be treated as narrow characters by default.__
8
+ > - http://www.unicode.org/reports/tr11/
9
+ */
10
+ readonly ambiguousIsNarrow?: boolean;
13
11
 
14
- stringWidth('古');
15
- //=> 2
12
+ /**
13
+ Whether [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) should be counted.
16
14
 
17
- stringWidth('\u001B[1m古\u001B[22m');
18
- //=> 2
19
- ```
15
+ @default false
20
16
  */
21
- (string: string): number;
17
+ readonly countAnsiEscapeCodes?: boolean;
18
+ };
19
+
20
+ /**
21
+ Get the visual width of a string - the number of columns required to display it.
22
+
23
+ Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
24
+
25
+ @example
26
+ ```
27
+ import stringWidth from 'string-width';
28
+
29
+ stringWidth('a');
30
+ //=> 1
22
31
 
23
- // TODO: remove this in the next major version, refactor the whole definition to:
24
- // declare function stringWidth(string: string): number;
25
- // export = stringWidth;
26
- default: typeof stringWidth;
27
- }
32
+ stringWidth('古');
33
+ //=> 2
28
34
 
29
- export = stringWidth;
35
+ stringWidth('\u001B[1m古\u001B[22m');
36
+ //=> 2
37
+ ```
38
+ */
39
+ export default function stringWidth(string: string, options?: Options): number;
@@ -1,47 +1,82 @@
1
- 'use strict';
2
- const stripAnsi = require('strip-ansi');
3
- const isFullwidthCodePoint = require('is-fullwidth-code-point');
4
- const emojiRegex = require('emoji-regex');
1
+ import stripAnsi from 'strip-ansi';
2
+ import {eastAsianWidth} from 'get-east-asian-width';
3
+ import emojiRegex from 'emoji-regex';
5
4
 
6
- const stringWidth = string => {
5
+ const segmenter = new Intl.Segmenter();
6
+
7
+ const defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
8
+
9
+ export default function stringWidth(string, options = {}) {
7
10
  if (typeof string !== 'string' || string.length === 0) {
8
11
  return 0;
9
12
  }
10
13
 
11
- string = stripAnsi(string);
14
+ const {
15
+ ambiguousIsNarrow = true,
16
+ countAnsiEscapeCodes = false,
17
+ } = options;
18
+
19
+ if (!countAnsiEscapeCodes) {
20
+ string = stripAnsi(string);
21
+ }
12
22
 
13
23
  if (string.length === 0) {
14
24
  return 0;
15
25
  }
16
26
 
17
- string = string.replace(emojiRegex(), ' ');
18
-
19
27
  let width = 0;
28
+ const eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};
20
29
 
21
- for (let i = 0; i < string.length; i++) {
22
- const code = string.codePointAt(i);
30
+ for (const {segment: character} of segmenter.segment(string)) {
31
+ const codePoint = character.codePointAt(0);
23
32
 
24
33
  // Ignore control characters
25
- if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
34
+ if (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {
35
+ continue;
36
+ }
37
+
38
+ // Ignore zero-width characters
39
+ if (
40
+ (codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark
41
+ || codePoint === 0xFE_FF // Zero-width no-break space
42
+ ) {
26
43
  continue;
27
44
  }
28
45
 
29
46
  // Ignore combining characters
30
- if (code >= 0x300 && code <= 0x36F) {
47
+ if (
48
+ (codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks
49
+ || (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended
50
+ || (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement
51
+ || (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols
52
+ || (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks
53
+ ) {
31
54
  continue;
32
55
  }
33
56
 
34
- // Surrogates
35
- if (code > 0xFFFF) {
36
- i++;
57
+ // Ignore surrogate pairs
58
+ if (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {
59
+ continue;
37
60
  }
38
61
 
39
- width += isFullwidthCodePoint(code) ? 2 : 1;
62
+ // Ignore variation selectors
63
+ if (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {
64
+ continue;
65
+ }
66
+
67
+ // This covers some of the above cases, but we still keep them for performance reasons.
68
+ if (defaultIgnorableCodePointRegex.test(character)) {
69
+ continue;
70
+ }
71
+
72
+ // TODO: Use `/\p{RGI_Emoji}/v` when targeting Node.js 20.
73
+ if (emojiRegex().test(character)) {
74
+ width += 2;
75
+ continue;
76
+ }
77
+
78
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
40
79
  }
41
80
 
42
81
  return width;
43
- };
44
-
45
- module.exports = stringWidth;
46
- // TODO: remove this in the next major version
47
- module.exports.default = stringWidth;
82
+ }
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
3
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
6
 
@@ -0,0 +1,33 @@
1
+ export type Options = {
2
+ /**
3
+ Match only the first ANSI escape.
4
+
5
+ @default false
6
+ */
7
+ readonly onlyFirst: boolean;
8
+ };
9
+
10
+ /**
11
+ Regular expression for matching ANSI escape codes.
12
+
13
+ @example
14
+ ```
15
+ import ansiRegex from 'ansi-regex';
16
+
17
+ ansiRegex().test('\u001B[4mcake\u001B[0m');
18
+ //=> true
19
+
20
+ ansiRegex().test('cake');
21
+ //=> false
22
+
23
+ '\u001B[4mcake\u001B[0m'.match(ansiRegex());
24
+ //=> ['\u001B[4m', '\u001B[0m']
25
+
26
+ '\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
27
+ //=> ['\u001B[4m']
28
+
29
+ '\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
30
+ //=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
31
+ ```
32
+ */
33
+ export default function ansiRegex(options?: Options): RegExp;
@@ -0,0 +1,10 @@
1
+ export default function ansiRegex({onlyFirst = false} = {}) {
2
+ // Valid string terminator sequences are BEL, ESC\, and 0x9c
3
+ const ST = '(?:\\u0007|\\u001B\\u005C|\\u009C)';
4
+ const pattern = [
5
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
6
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
7
+ ].join('|');
8
+
9
+ return new RegExp(pattern, onlyFirst ? undefined : 'g');
10
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "ansi-regex",
3
+ "version": "6.1.0",
4
+ "description": "Regular expression for matching ANSI escape codes",
5
+ "license": "MIT",
6
+ "repository": "chalk/ansi-regex",
7
+ "funding": "https://github.com/chalk/ansi-regex?sponsor=1",
8
+ "author": {
9
+ "name": "Sindre Sorhus",
10
+ "email": "sindresorhus@gmail.com",
11
+ "url": "https://sindresorhus.com"
12
+ },
13
+ "type": "module",
14
+ "exports": "./index.js",
15
+ "types": "./index.d.ts",
16
+ "sideEffects": false,
17
+ "engines": {
18
+ "node": ">=12"
19
+ },
20
+ "scripts": {
21
+ "test": "xo && ava && tsd",
22
+ "view-supported": "node fixtures/view-codes.js"
23
+ },
24
+ "files": [
25
+ "index.js",
26
+ "index.d.ts"
27
+ ],
28
+ "keywords": [
29
+ "ansi",
30
+ "styles",
31
+ "color",
32
+ "colour",
33
+ "colors",
34
+ "terminal",
35
+ "console",
36
+ "cli",
37
+ "string",
38
+ "tty",
39
+ "escape",
40
+ "formatting",
41
+ "rgb",
42
+ "256",
43
+ "shell",
44
+ "xterm",
45
+ "command-line",
46
+ "text",
47
+ "regex",
48
+ "regexp",
49
+ "re",
50
+ "match",
51
+ "test",
52
+ "find",
53
+ "pattern"
54
+ ],
55
+ "devDependencies": {
56
+ "ansi-escapes": "^5.0.0",
57
+ "ava": "^3.15.0",
58
+ "tsd": "^0.21.0",
59
+ "xo": "^0.54.2"
60
+ }
61
+ }
@@ -0,0 +1,60 @@
1
+ # ansi-regex
2
+
3
+ > Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install ansi-regex
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```js
14
+ import ansiRegex from 'ansi-regex';
15
+
16
+ ansiRegex().test('\u001B[4mcake\u001B[0m');
17
+ //=> true
18
+
19
+ ansiRegex().test('cake');
20
+ //=> false
21
+
22
+ '\u001B[4mcake\u001B[0m'.match(ansiRegex());
23
+ //=> ['\u001B[4m', '\u001B[0m']
24
+
25
+ '\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
26
+ //=> ['\u001B[4m']
27
+
28
+ '\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
29
+ //=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
30
+ ```
31
+
32
+ ## API
33
+
34
+ ### ansiRegex(options?)
35
+
36
+ Returns a regex for matching ANSI escape codes.
37
+
38
+ #### options
39
+
40
+ Type: `object`
41
+
42
+ ##### onlyFirst
43
+
44
+ Type: `boolean`\
45
+ Default: `false` *(Matches any ANSI escape codes in a string)*
46
+
47
+ Match only the first ANSI escape.
48
+
49
+ ## FAQ
50
+
51
+ ### Why do you test for codes not in the ECMA 48 standard?
52
+
53
+ Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
54
+
55
+ On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
56
+
57
+ ## Maintainers
58
+
59
+ - [Sindre Sorhus](https://github.com/sindresorhus)
60
+ - [Josh Junon](https://github.com/qix-)