feat: initial commit
This commit is contained in:
21
node_modules/char-regex/LICENSE
generated
vendored
Normal file
21
node_modules/char-regex/LICENSE
generated
vendored
Normal file
@ -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.
|
27
node_modules/char-regex/README.md
generated
vendored
Normal file
27
node_modules/char-regex/README.md
generated
vendored
Normal file
@ -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()
|
13
node_modules/char-regex/index.d.ts
generated
vendored
Normal file
13
node_modules/char-regex/index.d.ts
generated
vendored
Normal file
@ -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
|
39
node_modules/char-regex/index.js
generated
vendored
Normal file
39
node_modules/char-regex/index.js
generated
vendored
Normal file
@ -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")
|
||||
}
|
44
node_modules/char-regex/package.json
generated
vendored
Normal file
44
node_modules/char-regex/package.json
generated
vendored
Normal file
@ -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"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user