diff options
author | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 |
---|---|---|
committer | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 |
commit | 5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch) | |
tree | 360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/char-regex/index.js | |
parent | b500a50f1b97d93c98b36ed9a980f8188d648147 (diff) | |
download | LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip |
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/char-regex/index.js')
-rw-r--r-- | node_modules/char-regex/index.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/node_modules/char-regex/index.js b/node_modules/char-regex/index.js new file mode 100644 index 0000000..cddafdd --- /dev/null +++ b/node_modules/char-regex/index.js @@ -0,0 +1,39 @@ +"use strict"
+
+// Based on: https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js
+
+module.exports = () => {
+ // Used to compose unicode character classes.
+ const astralRange = "\\ud800-\\udfff"
+ const comboMarksRange = "\\u0300-\\u036f"
+ const comboHalfMarksRange = "\\ufe20-\\ufe2f"
+ const comboSymbolsRange = "\\u20d0-\\u20ff"
+ const comboMarksExtendedRange = "\\u1ab0-\\u1aff"
+ const comboMarksSupplementRange = "\\u1dc0-\\u1dff"
+ const comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange
+ const varRange = "\\ufe0e\\ufe0f"
+ const familyRange = "\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF93"
+
+ // Used to compose unicode capture groups.
+ const astral = `[${astralRange}]`
+ const combo = `[${comboRange}]`
+ const fitz = "\\ud83c[\\udffb-\\udfff]"
+ const modifier = `(?:${combo}|${fitz})`
+ const nonAstral = `[^${astralRange}]`
+ const regional = "(?:\\uD83C[\\uDDE6-\\uDDFF]){2}"
+ const surrogatePair = "[\\ud800-\\udbff][\\udc00-\\udfff]"
+ const zwj = "\\u200d"
+ const blackFlag = "(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40(?:\\udc65|\\udc73|\\udc77)\\udb40(?:\\udc6e|\\udc63|\\udc6c)\\udb40(?:\\udc67|\\udc74|\\udc73)\\udb40\\udc7f)"
+ const family = `[${familyRange}]`
+
+ // Used to compose unicode regexes.
+ const optModifier = `${modifier}?`
+ const optVar = `[${varRange}]?`
+ const optJoin = `(?:${zwj}(?:${[nonAstral, regional, surrogatePair].join("|")})${optVar + optModifier})*`
+ const seq = optVar + optModifier + optJoin
+ const nonAstralCombo = `${nonAstral}${combo}?`
+ const symbol = `(?:${[nonAstralCombo, combo, regional, surrogatePair, astral, family].join("|")})`
+
+ // Used to match [String symbols](https://mathiasbynens.be/notes/javascript-unicode).
+ return new RegExp(`${blackFlag}|${fitz}(?=${fitz})|${symbol + seq}`, "g")
+}
|