UNPKG

eslint-plugin-regexp

Version:

ESLint plugin for finding RegExp mistakes and RegExp style guide violations.

321 lines (320 loc) 9.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UNICODE_SCRIPT_ALIAS = exports.UNICODE_GENERAL_CATEGORY_ALIAS = exports.UNICODE_BINARY_PROPERTY_ALIAS = exports.UNICODE_CATEGORY_ALIAS = exports.AliasMap = void 0; class AliasMap { constructor({ shortToLong, otherToLong, }) { const toShortMap = new Map(); const toLongMap = new Map(); for (const [short, long] of Object.entries(shortToLong)) { toShortMap.set(long, short); toLongMap.set(short, long); } for (const [other, long] of Object.entries(otherToLong)) { toLongMap.set(other, long); const short = toShortMap.get(long); if (!short) { throw new Error(`No short key for ${long} with other key ${other}`); } toShortMap.set(other, short); } this.toShortMap = toShortMap; this.toLongMap = toLongMap; } toShort(key) { return this.toShortMap.get(key) || key; } toLong(key) { return this.toLongMap.get(key) || key; } } exports.AliasMap = AliasMap; exports.UNICODE_CATEGORY_ALIAS = new AliasMap({ shortToLong: { gc: "General_Category", sc: "Script", scx: "Script_Extensions", }, otherToLong: {}, }); exports.UNICODE_BINARY_PROPERTY_ALIAS = new AliasMap({ shortToLong: { AHex: "ASCII_Hex_Digit", Alpha: "Alphabetic", Bidi_C: "Bidi_Control", Bidi_M: "Bidi_Mirrored", CE: "Composition_Exclusion", CI: "Case_Ignorable", Comp_Ex: "Full_Composition_Exclusion", CWCF: "Changes_When_Casefolded", CWCM: "Changes_When_Casemapped", CWKCF: "Changes_When_NFKC_Casefolded", CWL: "Changes_When_Lowercased", CWT: "Changes_When_Titlecased", CWU: "Changes_When_Uppercased", Dep: "Deprecated", DI: "Default_Ignorable_Code_Point", Dia: "Diacritic", EBase: "Emoji_Modifier_Base", EComp: "Emoji_Component", EMod: "Emoji_Modifier", EPres: "Emoji_Presentation", Ext: "Extender", ExtPict: "Extended_Pictographic", Gr_Base: "Grapheme_Base", Gr_Ext: "Grapheme_Extend", Gr_Link: "Grapheme_Link", Hex: "Hex_Digit", IDC: "ID_Continue", Ideo: "Ideographic", IDS: "ID_Start", IDSB: "IDS_Binary_Operator", IDST: "IDS_Trinary_Operator", IDSU: "IDS_Unary_Operator", Join_C: "Join_Control", LOE: "Logical_Order_Exception", Lower: "Lowercase", NChar: "Noncharacter_Code_Point", OAlpha: "Other_Alphabetic", ODI: "Other_Default_Ignorable_Code_Point", OGr_Ext: "Other_Grapheme_Extend", OIDC: "Other_ID_Continue", OIDS: "Other_ID_Start", OLower: "Other_Lowercase", OMath: "Other_Math", OUpper: "Other_Uppercase", Pat_Syn: "Pattern_Syntax", Pat_WS: "Pattern_White_Space", PCM: "Prepended_Concatenation_Mark", QMark: "Quotation_Mark", RI: "Regional_Indicator", SD: "Soft_Dotted", STerm: "Sentence_Terminal", Term: "Terminal_Punctuation", UIdeo: "Unified_Ideograph", Upper: "Uppercase", VS: "Variation_Selector", WSpace: "White_Space", XIDC: "XID_Continue", XIDS: "XID_Start", XO_NFC: "Expands_On_NFC", XO_NFD: "Expands_On_NFD", XO_NFKC: "Expands_On_NFKC", XO_NFKD: "Expands_On_NFKD", }, otherToLong: { space: "White_Space", }, }); exports.UNICODE_GENERAL_CATEGORY_ALIAS = new AliasMap({ shortToLong: { C: "Other", Cc: "Control", Cf: "Format", Cn: "Unassigned", Co: "Private_Use", Cs: "Surrogate", L: "Letter", LC: "Cased_Letter", Ll: "Lowercase_Letter", Lm: "Modifier_Letter", Lo: "Other_Letter", Lt: "Titlecase_Letter", Lu: "Uppercase_Letter", M: "Mark", Mc: "Spacing_Mark", Me: "Enclosing_Mark", Mn: "Nonspacing_Mark", N: "Number", Nd: "Decimal_Number", Nl: "Letter_Number", No: "Other_Number", P: "Punctuation", Pc: "Connector_Punctuation", Pd: "Dash_Punctuation", Pe: "Close_Punctuation", Pf: "Final_Punctuation", Pi: "Initial_Punctuation", Po: "Other_Punctuation", Ps: "Open_Punctuation", S: "Symbol", Sc: "Currency_Symbol", Sk: "Modifier_Symbol", Sm: "Math_Symbol", So: "Other_Symbol", Z: "Separator", Zl: "Line_Separator", Zp: "Paragraph_Separator", Zs: "Space_Separator", }, otherToLong: { cntrl: "Control", Combining_Mark: "Mark", digit: "Decimal_Number", punct: "Punctuation", }, }); exports.UNICODE_SCRIPT_ALIAS = new AliasMap({ shortToLong: { Adlm: "Adlam", Aghb: "Caucasian_Albanian", Arab: "Arabic", Armi: "Imperial_Aramaic", Armn: "Armenian", Avst: "Avestan", Bali: "Balinese", Bamu: "Bamum", Bass: "Bassa_Vah", Batk: "Batak", Beng: "Bengali", Bhks: "Bhaiksuki", Bopo: "Bopomofo", Brah: "Brahmi", Brai: "Braille", Bugi: "Buginese", Buhd: "Buhid", Cakm: "Chakma", Cans: "Canadian_Aboriginal", Cari: "Carian", Cher: "Cherokee", Chrs: "Chorasmian", Copt: "Coptic", Cpmn: "Cypro_Minoan", Cprt: "Cypriot", Cyrl: "Cyrillic", Deva: "Devanagari", Diak: "Dives_Akuru", Dogr: "Dogra", Dsrt: "Deseret", Dupl: "Duployan", Egyp: "Egyptian_Hieroglyphs", Elba: "Elbasan", Elym: "Elymaic", Ethi: "Ethiopic", Geor: "Georgian", Glag: "Glagolitic", Gong: "Gunjala_Gondi", Gonm: "Masaram_Gondi", Goth: "Gothic", Gran: "Grantha", Grek: "Greek", Gujr: "Gujarati", Guru: "Gurmukhi", Hang: "Hangul", Hani: "Han", Hano: "Hanunoo", Hatr: "Hatran", Hebr: "Hebrew", Hira: "Hiragana", Hluw: "Anatolian_Hieroglyphs", Hmng: "Pahawh_Hmong", Hmnp: "Nyiakeng_Puachue_Hmong", Hrkt: "Katakana_Or_Hiragana", Hung: "Old_Hungarian", Ital: "Old_Italic", Java: "Javanese", Kali: "Kayah_Li", Kana: "Katakana", Khar: "Kharoshthi", Khmr: "Khmer", Khoj: "Khojki", Kits: "Khitan_Small_Script", Knda: "Kannada", Kthi: "Kaithi", Lana: "Tai_Tham", Laoo: "Lao", Latn: "Latin", Lepc: "Lepcha", Limb: "Limbu", Lina: "Linear_A", Linb: "Linear_B", Lyci: "Lycian", Lydi: "Lydian", Mahj: "Mahajani", Maka: "Makasar", Mand: "Mandaic", Mani: "Manichaean", Marc: "Marchen", Medf: "Medefaidrin", Mend: "Mende_Kikakui", Merc: "Meroitic_Cursive", Mero: "Meroitic_Hieroglyphs", Mlym: "Malayalam", Mong: "Mongolian", Mroo: "Mro", Mtei: "Meetei_Mayek", Mult: "Multani", Mymr: "Myanmar", Nagm: "Nag_Mundari", Nand: "Nandinagari", Narb: "Old_North_Arabian", Nbat: "Nabataean", Nkoo: "Nko", Nshu: "Nushu", Ogam: "Ogham", Olck: "Ol_Chiki", Orkh: "Old_Turkic", Orya: "Oriya", Osge: "Osage", Osma: "Osmanya", Ougr: "Old_Uyghur", Palm: "Palmyrene", Pauc: "Pau_Cin_Hau", Perm: "Old_Permic", Phag: "Phags_Pa", Phli: "Inscriptional_Pahlavi", Phlp: "Psalter_Pahlavi", Phnx: "Phoenician", Plrd: "Miao", Prti: "Inscriptional_Parthian", Rjng: "Rejang", Rohg: "Hanifi_Rohingya", Runr: "Runic", Samr: "Samaritan", Sarb: "Old_South_Arabian", Saur: "Saurashtra", Sgnw: "SignWriting", Shaw: "Shavian", Shrd: "Sharada", Sidd: "Siddham", Sind: "Khudawadi", Sinh: "Sinhala", Sogd: "Sogdian", Sogo: "Old_Sogdian", Sora: "Sora_Sompeng", Soyo: "Soyombo", Sund: "Sundanese", Sylo: "Syloti_Nagri", Syrc: "Syriac", Tagb: "Tagbanwa", Takr: "Takri", Tale: "Tai_Le", Talu: "New_Tai_Lue", Taml: "Tamil", Tang: "Tangut", Tavt: "Tai_Viet", Telu: "Telugu", Tfng: "Tifinagh", Tglg: "Tagalog", Thaa: "Thaana", Tibt: "Tibetan", Tirh: "Tirhuta", Tnsa: "Tangsa", Ugar: "Ugaritic", Vaii: "Vai", Vith: "Vithkuqi", Wara: "Warang_Citi", Wcho: "Wancho", Xpeo: "Old_Persian", Xsux: "Cuneiform", Yezi: "Yezidi", Yiii: "Yi", Zanb: "Zanabazar_Square", Zinh: "Inherited", Zyyy: "Common", Zzzz: "Unknown", }, otherToLong: { Qaac: "Coptic", Qaai: "Inherited", }, });