mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-08-07 22:24:41 +07:00
Improve code quality and write tests
This commit is contained in:
379
node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js
generated
vendored
Normal file
379
node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js
generated
vendored
Normal file
@ -0,0 +1,379 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* The MIT License (MIT)
|
||||
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
|
||||
*/
|
||||
|
||||
var NON_BINARY_PROP_NAMES_TO_ALIASES = {
|
||||
General_Category: 'gc',
|
||||
Script: 'sc',
|
||||
Script_Extensions: 'scx'
|
||||
};
|
||||
|
||||
var NON_BINARY_ALIASES_TO_PROP_NAMES = inverseMap(NON_BINARY_PROP_NAMES_TO_ALIASES);
|
||||
|
||||
var BINARY_PROP_NAMES_TO_ALIASES = {
|
||||
ASCII: 'ASCII',
|
||||
ASCII_Hex_Digit: 'AHex',
|
||||
Alphabetic: 'Alpha',
|
||||
Any: 'Any',
|
||||
Assigned: 'Assigned',
|
||||
Bidi_Control: 'Bidi_C',
|
||||
Bidi_Mirrored: 'Bidi_M',
|
||||
Case_Ignorable: 'CI',
|
||||
Cased: 'Cased',
|
||||
Changes_When_Casefolded: 'CWCF',
|
||||
Changes_When_Casemapped: 'CWCM',
|
||||
Changes_When_Lowercased: 'CWL',
|
||||
Changes_When_NFKC_Casefolded: 'CWKCF',
|
||||
Changes_When_Titlecased: 'CWT',
|
||||
Changes_When_Uppercased: 'CWU',
|
||||
Dash: 'Dash',
|
||||
Default_Ignorable_Code_Point: 'DI',
|
||||
Deprecated: 'Dep',
|
||||
Diacritic: 'Dia',
|
||||
Emoji: 'Emoji',
|
||||
Emoji_Component: 'Emoji_Component',
|
||||
Emoji_Modifier: 'Emoji_Modifier',
|
||||
Emoji_Modifier_Base: 'Emoji_Modifier_Base',
|
||||
Emoji_Presentation: 'Emoji_Presentation',
|
||||
Extended_Pictographic: 'Extended_Pictographic',
|
||||
Extender: 'Ext',
|
||||
Grapheme_Base: 'Gr_Base',
|
||||
Grapheme_Extend: 'Gr_Ext',
|
||||
Hex_Digit: 'Hex',
|
||||
IDS_Binary_Operator: 'IDSB',
|
||||
IDS_Trinary_Operator: 'IDST',
|
||||
ID_Continue: 'IDC',
|
||||
ID_Start: 'IDS',
|
||||
Ideographic: 'Ideo',
|
||||
Join_Control: 'Join_C',
|
||||
Logical_Order_Exception: 'LOE',
|
||||
Lowercase: 'Lower',
|
||||
Math: 'Math',
|
||||
Noncharacter_Code_Point: 'NChar',
|
||||
Pattern_Syntax: 'Pat_Syn',
|
||||
Pattern_White_Space: 'Pat_WS',
|
||||
Quotation_Mark: 'QMark',
|
||||
Radical: 'Radical',
|
||||
Regional_Indicator: 'RI',
|
||||
Sentence_Terminal: 'STerm',
|
||||
Soft_Dotted: 'SD',
|
||||
Terminal_Punctuation: 'Term',
|
||||
Unified_Ideograph: 'UIdeo',
|
||||
Uppercase: 'Upper',
|
||||
Variation_Selector: 'VS',
|
||||
White_Space: 'space',
|
||||
XID_Continue: 'XIDC',
|
||||
XID_Start: 'XIDS'
|
||||
};
|
||||
|
||||
var BINARY_ALIASES_TO_PROP_NAMES = inverseMap(BINARY_PROP_NAMES_TO_ALIASES);
|
||||
|
||||
var GENERAL_CATEGORY_VALUE_TO_ALIASES = {
|
||||
Cased_Letter: 'LC',
|
||||
Close_Punctuation: 'Pe',
|
||||
Connector_Punctuation: 'Pc',
|
||||
Control: ['Cc', 'cntrl'],
|
||||
Currency_Symbol: 'Sc',
|
||||
Dash_Punctuation: 'Pd',
|
||||
Decimal_Number: ['Nd', 'digit'],
|
||||
Enclosing_Mark: 'Me',
|
||||
Final_Punctuation: 'Pf',
|
||||
Format: 'Cf',
|
||||
Initial_Punctuation: 'Pi',
|
||||
Letter: 'L',
|
||||
Letter_Number: 'Nl',
|
||||
Line_Separator: 'Zl',
|
||||
Lowercase_Letter: 'Ll',
|
||||
Mark: ['M', 'Combining_Mark'],
|
||||
Math_Symbol: 'Sm',
|
||||
Modifier_Letter: 'Lm',
|
||||
Modifier_Symbol: 'Sk',
|
||||
Nonspacing_Mark: 'Mn',
|
||||
Number: 'N',
|
||||
Open_Punctuation: 'Ps',
|
||||
Other: 'C',
|
||||
Other_Letter: 'Lo',
|
||||
Other_Number: 'No',
|
||||
Other_Punctuation: 'Po',
|
||||
Other_Symbol: 'So',
|
||||
Paragraph_Separator: 'Zp',
|
||||
Private_Use: 'Co',
|
||||
Punctuation: ['P', 'punct'],
|
||||
Separator: 'Z',
|
||||
Space_Separator: 'Zs',
|
||||
Spacing_Mark: 'Mc',
|
||||
Surrogate: 'Cs',
|
||||
Symbol: 'S',
|
||||
Titlecase_Letter: 'Lt',
|
||||
Unassigned: 'Cn',
|
||||
Uppercase_Letter: 'Lu'
|
||||
};
|
||||
|
||||
var GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES = inverseMap(GENERAL_CATEGORY_VALUE_TO_ALIASES);
|
||||
|
||||
var SCRIPT_VALUE_TO_ALIASES = {
|
||||
Adlam: 'Adlm',
|
||||
Ahom: 'Ahom',
|
||||
Anatolian_Hieroglyphs: 'Hluw',
|
||||
Arabic: 'Arab',
|
||||
Armenian: 'Armn',
|
||||
Avestan: 'Avst',
|
||||
Balinese: 'Bali',
|
||||
Bamum: 'Bamu',
|
||||
Bassa_Vah: 'Bass',
|
||||
Batak: 'Batk',
|
||||
Bengali: 'Beng',
|
||||
Bhaiksuki: 'Bhks',
|
||||
Bopomofo: 'Bopo',
|
||||
Brahmi: 'Brah',
|
||||
Braille: 'Brai',
|
||||
Buginese: 'Bugi',
|
||||
Buhid: 'Buhd',
|
||||
Canadian_Aboriginal: 'Cans',
|
||||
Carian: 'Cari',
|
||||
Caucasian_Albanian: 'Aghb',
|
||||
Chakma: 'Cakm',
|
||||
Cham: 'Cham',
|
||||
Cherokee: 'Cher',
|
||||
Common: 'Zyyy',
|
||||
Coptic: ['Copt', 'Qaac'],
|
||||
Cuneiform: 'Xsux',
|
||||
Cypriot: 'Cprt',
|
||||
Cyrillic: 'Cyrl',
|
||||
Deseret: 'Dsrt',
|
||||
Devanagari: 'Deva',
|
||||
Dogra: 'Dogr',
|
||||
Duployan: 'Dupl',
|
||||
Egyptian_Hieroglyphs: 'Egyp',
|
||||
Elbasan: 'Elba',
|
||||
Ethiopic: 'Ethi',
|
||||
Georgian: 'Geor',
|
||||
Glagolitic: 'Glag',
|
||||
Gothic: 'Goth',
|
||||
Grantha: 'Gran',
|
||||
Greek: 'Grek',
|
||||
Gujarati: 'Gujr',
|
||||
Gunjala_Gondi: 'Gong',
|
||||
Gurmukhi: 'Guru',
|
||||
Han: 'Hani',
|
||||
Hangul: 'Hang',
|
||||
Hanifi_Rohingya: 'Rohg',
|
||||
Hanunoo: 'Hano',
|
||||
Hatran: 'Hatr',
|
||||
Hebrew: 'Hebr',
|
||||
Hiragana: 'Hira',
|
||||
Imperial_Aramaic: 'Armi',
|
||||
Inherited: ['Zinh', 'Qaai'],
|
||||
Inscriptional_Pahlavi: 'Phli',
|
||||
Inscriptional_Parthian: 'Prti',
|
||||
Javanese: 'Java',
|
||||
Kaithi: 'Kthi',
|
||||
Kannada: 'Knda',
|
||||
Katakana: 'Kana',
|
||||
Kayah_Li: 'Kali',
|
||||
Kharoshthi: 'Khar',
|
||||
Khmer: 'Khmr',
|
||||
Khojki: 'Khoj',
|
||||
Khudawadi: 'Sind',
|
||||
Lao: 'Laoo',
|
||||
Latin: 'Latn',
|
||||
Lepcha: 'Lepc',
|
||||
Limbu: 'Limb',
|
||||
Linear_A: 'Lina',
|
||||
Linear_B: 'Linb',
|
||||
Lisu: 'Lisu',
|
||||
Lycian: 'Lyci',
|
||||
Lydian: 'Lydi',
|
||||
Mahajani: 'Mahj',
|
||||
Makasar: 'Maka',
|
||||
Malayalam: 'Mlym',
|
||||
Mandaic: 'Mand',
|
||||
Manichaean: 'Mani',
|
||||
Marchen: 'Marc',
|
||||
Medefaidrin: 'Medf',
|
||||
Masaram_Gondi: 'Gonm',
|
||||
Meetei_Mayek: 'Mtei',
|
||||
Mende_Kikakui: 'Mend',
|
||||
Meroitic_Cursive: 'Merc',
|
||||
Meroitic_Hieroglyphs: 'Mero',
|
||||
Miao: 'Plrd',
|
||||
Modi: 'Modi',
|
||||
Mongolian: 'Mong',
|
||||
Mro: 'Mroo',
|
||||
Multani: 'Mult',
|
||||
Myanmar: 'Mymr',
|
||||
Nabataean: 'Nbat',
|
||||
New_Tai_Lue: 'Talu',
|
||||
Newa: 'Newa',
|
||||
Nko: 'Nkoo',
|
||||
Nushu: 'Nshu',
|
||||
Ogham: 'Ogam',
|
||||
Ol_Chiki: 'Olck',
|
||||
Old_Hungarian: 'Hung',
|
||||
Old_Italic: 'Ital',
|
||||
Old_North_Arabian: 'Narb',
|
||||
Old_Permic: 'Perm',
|
||||
Old_Persian: 'Xpeo',
|
||||
Old_Sogdian: 'Sogo',
|
||||
Old_South_Arabian: 'Sarb',
|
||||
Old_Turkic: 'Orkh',
|
||||
Oriya: 'Orya',
|
||||
Osage: 'Osge',
|
||||
Osmanya: 'Osma',
|
||||
Pahawh_Hmong: 'Hmng',
|
||||
Palmyrene: 'Palm',
|
||||
Pau_Cin_Hau: 'Pauc',
|
||||
Phags_Pa: 'Phag',
|
||||
Phoenician: 'Phnx',
|
||||
Psalter_Pahlavi: 'Phlp',
|
||||
Rejang: 'Rjng',
|
||||
Runic: 'Runr',
|
||||
Samaritan: 'Samr',
|
||||
Saurashtra: 'Saur',
|
||||
Sharada: 'Shrd',
|
||||
Shavian: 'Shaw',
|
||||
Siddham: 'Sidd',
|
||||
SignWriting: 'Sgnw',
|
||||
Sinhala: 'Sinh',
|
||||
Sogdian: 'Sogd',
|
||||
Sora_Sompeng: 'Sora',
|
||||
Soyombo: 'Soyo',
|
||||
Sundanese: 'Sund',
|
||||
Syloti_Nagri: 'Sylo',
|
||||
Syriac: 'Syrc',
|
||||
Tagalog: 'Tglg',
|
||||
Tagbanwa: 'Tagb',
|
||||
Tai_Le: 'Tale',
|
||||
Tai_Tham: 'Lana',
|
||||
Tai_Viet: 'Tavt',
|
||||
Takri: 'Takr',
|
||||
Tamil: 'Taml',
|
||||
Tangut: 'Tang',
|
||||
Telugu: 'Telu',
|
||||
Thaana: 'Thaa',
|
||||
Thai: 'Thai',
|
||||
Tibetan: 'Tibt',
|
||||
Tifinagh: 'Tfng',
|
||||
Tirhuta: 'Tirh',
|
||||
Ugaritic: 'Ugar',
|
||||
Vai: 'Vaii',
|
||||
Warang_Citi: 'Wara',
|
||||
Yi: 'Yiii',
|
||||
Zanabazar_Square: 'Zanb'
|
||||
};
|
||||
|
||||
var SCRIPT_VALUE_ALIASES_TO_VALUE = inverseMap(SCRIPT_VALUE_TO_ALIASES);
|
||||
|
||||
function inverseMap(data) {
|
||||
var inverse = {};
|
||||
|
||||
for (var name in data) {
|
||||
if (!data.hasOwnProperty(name)) {
|
||||
continue;
|
||||
}
|
||||
var value = data[name];
|
||||
if (Array.isArray(value)) {
|
||||
for (var i = 0; i < value.length; i++) {
|
||||
inverse[value[i]] = name;
|
||||
}
|
||||
} else {
|
||||
inverse[value] = name;
|
||||
}
|
||||
}
|
||||
|
||||
return inverse;
|
||||
}
|
||||
|
||||
function isValidName(name) {
|
||||
return NON_BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) || BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name);
|
||||
}
|
||||
|
||||
function isValidValue(name, value) {
|
||||
if (isGeneralCategoryName(name)) {
|
||||
return isGeneralCategoryValue(value);
|
||||
}
|
||||
|
||||
if (isScriptCategoryName(name)) {
|
||||
return isScriptCategoryValue(value);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function isAlias(name) {
|
||||
return NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name);
|
||||
}
|
||||
|
||||
function isGeneralCategoryName(name) {
|
||||
return name === 'General_Category' || name == 'gc';
|
||||
}
|
||||
|
||||
function isScriptCategoryName(name) {
|
||||
return name === 'Script' || name === 'Script_Extensions' || name === 'sc' || name === 'scx';
|
||||
}
|
||||
|
||||
function isGeneralCategoryValue(value) {
|
||||
return GENERAL_CATEGORY_VALUE_TO_ALIASES.hasOwnProperty(value) || GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(value);
|
||||
}
|
||||
|
||||
function isScriptCategoryValue(value) {
|
||||
return SCRIPT_VALUE_TO_ALIASES.hasOwnProperty(value) || SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(value);
|
||||
}
|
||||
|
||||
function isBinaryPropertyName(name) {
|
||||
return BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name);
|
||||
}
|
||||
|
||||
function getCanonicalName(name) {
|
||||
if (NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)) {
|
||||
return NON_BINARY_ALIASES_TO_PROP_NAMES[name];
|
||||
}
|
||||
|
||||
if (BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)) {
|
||||
return BINARY_ALIASES_TO_PROP_NAMES[name];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function getCanonicalValue(value) {
|
||||
if (GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(value)) {
|
||||
return GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES[value];
|
||||
}
|
||||
|
||||
if (SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(value)) {
|
||||
return SCRIPT_VALUE_ALIASES_TO_VALUE[value];
|
||||
}
|
||||
|
||||
if (BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(value)) {
|
||||
return BINARY_ALIASES_TO_PROP_NAMES[value];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isAlias: isAlias,
|
||||
isValidName: isValidName,
|
||||
isValidValue: isValidValue,
|
||||
isGeneralCategoryValue: isGeneralCategoryValue,
|
||||
isScriptCategoryValue: isScriptCategoryValue,
|
||||
isBinaryPropertyName: isBinaryPropertyName,
|
||||
getCanonicalName: getCanonicalName,
|
||||
getCanonicalValue: getCanonicalValue,
|
||||
|
||||
NON_BINARY_PROP_NAMES_TO_ALIASES: NON_BINARY_PROP_NAMES_TO_ALIASES,
|
||||
NON_BINARY_ALIASES_TO_PROP_NAMES: NON_BINARY_ALIASES_TO_PROP_NAMES,
|
||||
|
||||
BINARY_PROP_NAMES_TO_ALIASES: BINARY_PROP_NAMES_TO_ALIASES,
|
||||
BINARY_ALIASES_TO_PROP_NAMES: BINARY_ALIASES_TO_PROP_NAMES,
|
||||
|
||||
GENERAL_CATEGORY_VALUE_TO_ALIASES: GENERAL_CATEGORY_VALUE_TO_ALIASES,
|
||||
GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES: GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES,
|
||||
|
||||
SCRIPT_VALUE_TO_ALIASES: SCRIPT_VALUE_TO_ALIASES,
|
||||
SCRIPT_VALUE_ALIASES_TO_VALUE: SCRIPT_VALUE_ALIASES_TO_VALUE
|
||||
};
|
Reference in New Issue
Block a user