diff options
Diffstat (limited to 'node_modules/char-regex')
| -rw-r--r-- | node_modules/char-regex/LICENSE | 21 | ||||
| -rw-r--r-- | node_modules/char-regex/README.md | 27 | ||||
| -rw-r--r-- | node_modules/char-regex/index.d.ts | 13 | ||||
| -rw-r--r-- | node_modules/char-regex/index.js | 39 | ||||
| -rw-r--r-- | node_modules/char-regex/package.json | 44 | 
5 files changed, 144 insertions, 0 deletions
diff --git a/node_modules/char-regex/LICENSE b/node_modules/char-regex/LICENSE new file mode 100644 index 0000000..2377f69 --- /dev/null +++ b/node_modules/char-regex/LICENSE @@ -0,0 +1,21 @@ +MIT License
 +
 +Copyright (c) 2019 Richie Bendall
 +
 +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:
 +
 +The above copyright notice and this permission notice shall be included in all
 +copies or substantial portions of the Software.
 +
 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 +SOFTWARE.
 diff --git a/node_modules/char-regex/README.md b/node_modules/char-regex/README.md new file mode 100644 index 0000000..08ea78b --- /dev/null +++ b/node_modules/char-regex/README.md @@ -0,0 +1,27 @@ +# Char Regex [](https://travis-ci.com/Richienb/char-regex)
 +
 +A regex to match any full character, considering weird character ranges. Tested on every single emoji and unicode character. Based on the Lodash implementation.
 +
 +[](https://npmjs.com/package/char-regex)
 +
 +## Install
 +
 +```sh
 +npm install char-regex
 +```
 +
 +## Usage
 +
 +```js
 +const charRegex = require("char-regex");
 +
 +"❤️👊🏽".match(/./);
 +//=> ["", "", "", "", "", "", ""]
 +
 +"❤️👊🏽".match(charRegex());
 +//=> ["❤️", "👊🏽"]
 +```
 +
 +## API
 +
 +### charRegex()
 diff --git a/node_modules/char-regex/index.d.ts b/node_modules/char-regex/index.d.ts new file mode 100644 index 0000000..17defa2 --- /dev/null +++ b/node_modules/char-regex/index.d.ts @@ -0,0 +1,13 @@ +/**
 + * A regex to match any full character, considering weird character ranges.
 + * @example
 + * ```
 + * const charRegex = require("char-regex");
 + *
 + * "❤️👊🏽".match(charRegex());
 + * //=> ["❤️", "👊🏽"]
 + * ```
 +*/
 +declare function charRegex(): RegExp
 +
 +export = charRegex
 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")
 +}
 diff --git a/node_modules/char-regex/package.json b/node_modules/char-regex/package.json new file mode 100644 index 0000000..d7c2808 --- /dev/null +++ b/node_modules/char-regex/package.json @@ -0,0 +1,44 @@ +{
 +	"name": "char-regex",
 +	"version": "1.0.2",
 +	"description": "A regex to match any full character, considering weird character ranges.",
 +	"repository": "https://github.com/Richienb/char-regex.git",
 +	"author": "Richie Bendall <richiebendall@gmail.com>",
 +	"license": "MIT",
 +	"main": "index.js",
 +	"files": [
 +		"index.js",
 +		"index.d.ts"
 +	],
 +	"engines": {
 +		"node": ">=10"
 +	},
 +	"scripts": {
 +		"lint": "xo",
 +		"test": "yarn lint && ava"
 +	},
 +	"keywords": [
 +		"character",
 +		"regex",
 +		"match",
 +		"split",
 +		"length"
 +	],
 +	"dependencies": {},
 +	"devDependencies": {
 +		"@babel/core": "^7.8.4",
 +		"@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
 +		"array-uniq": "^2.1.0",
 +		"ava": "^3.0.0",
 +		"emoji.json": "^12.1.1",
 +		"eslint-config-richienb": "^0.3.0",
 +		"unicode-chars": "^1.0.1",
 +		"xo": "^0.25.3"
 +	},
 +	"resolutions": {
 +		"eslint": "^6.8.0"
 +	},
 +	"xo": {
 +		"extends": "richienb/node"
 +	}
 +}
  | 
