mol_regexp 0.0.271 → 0.0.275

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/node.d.ts CHANGED
@@ -1,2 +1,121 @@
1
+ declare let _$_: {
2
+ new (): {};
3
+ } & typeof globalThis;
4
+ declare class $ extends _$_ {
5
+ }
6
+ declare namespace $ {
7
+ export type $ = typeof $$;
8
+ export class $$ extends $ {
9
+ }
10
+ namespace $$ {
11
+ type $$ = $;
12
+ }
13
+ export {};
14
+ }
15
+
16
+ declare namespace $ {
17
+ type $mol_type_equals<A, B> = (<X>() => X extends A ? 1 : 2) extends (<X>() => X extends B ? 1 : 2) ? unknown : never;
18
+ }
19
+
20
+ declare namespace $ {
21
+ type $mol_type_merge<Intersection> = Intersection extends (...a: any[]) => any ? Intersection : Intersection extends new (...a: any[]) => any ? Intersection : Intersection extends object ? $mol_type_merge_object<Intersection> extends Intersection ? unknown extends $mol_type_equals<$mol_type_merge_object<Intersection>, Intersection> ? Intersection : {
22
+ [Key in keyof Intersection]: $mol_type_merge<Intersection[Key]>;
23
+ } : Intersection : Intersection;
24
+ type $mol_type_merge_object<Intersection> = {
25
+ [Key in keyof Intersection]: Intersection[Key];
26
+ };
27
+ }
28
+
29
+ declare namespace $ {
30
+ type $mol_type_intersect<Union> = (Union extends any ? (_: Union) => void : never) extends ((_: infer Intersection) => void) ? Intersection : never;
31
+ }
32
+
33
+ declare namespace $ {
34
+ type $mol_type_override<Base, Over> = Omit<Base, keyof Over> & Over;
35
+ }
36
+
37
+ declare namespace $ {
38
+ function $mol_fail(error: any): never;
39
+ }
40
+
41
+ declare namespace $ {
42
+ type $mol_unicode_category = [$mol_unicode_category_binary] | ['General_Category', $mol_char_category_general] | ['Script', $mol_unicode_category_script] | ['Script_Extensions', $mol_unicode_category_script];
43
+ type $mol_unicode_category_binary = 'ASCII' | 'ASCII_Hex_Digit' | 'Alphabetic' | 'Any' | 'Assigned' | 'Bidi_Control' | 'Bidi_Mirrored' | 'Case_Ignorable' | 'Cased' | 'Changes_When_Casefolded' | 'Changes_When_Casemapped' | 'Changes_When_Lowercased' | 'Changes_When_NFKC_Casefolded' | 'Changes_When_Titlecased' | 'Changes_When_Uppercased' | 'Dash' | 'Default_Ignorable_Code_Point' | 'Deprecated' | 'Diacritic' | 'Emoji' | 'Emoji_Component' | 'Emoji_Modifier' | 'Emoji_Modifier_Base' | 'Emoji_Presentation' | 'Extended_Pictographic' | 'Extender' | 'Grapheme_Base' | 'Grapheme_Extend' | 'Hex_Digit' | 'IDS_Binary_Operator' | 'IDS_Trinary_Operator' | 'ID_Continue' | 'ID_Start' | 'Ideographic' | 'Join_Control' | 'Logical_Order_Exception' | 'Lowercase' | 'Math' | 'Noncharacter_Code_Point' | 'Pattern_Syntax' | 'Pattern_White_Space' | 'Quotation_Mark' | 'Radical' | 'Regional_Indicator' | 'Sentence_Terminal' | 'Soft_Dotted' | 'Terminal_Punctuation' | 'Unified_Ideograph' | 'Uppercase' | 'Variation_Selector' | 'White_Space' | 'XID_Continue' | 'XID_Start';
44
+ type $mol_char_category_general = 'Cased_Letter' | 'Close_Punctuation' | 'Connector_Punctuation' | 'Control' | 'Currency_Symbol' | 'Dash_Punctuation' | 'Decimal_Number' | 'Enclosing_Mark' | 'Final_Punctuation' | 'Format' | 'Initial_Punctuation' | 'Letter' | 'Letter_Number' | 'Line_Separator' | 'Lowercase_Letter' | 'Mark' | 'Math_Symbol' | 'Modifier_Letter' | 'Modifier_Symbol' | 'Nonspacing_Mark' | 'Number' | 'Open_Punctuation' | 'Other' | 'Other_Letter' | 'Other_Number' | 'Other_Punctuation' | 'Other_Symbol' | 'Paragraph_Separator' | 'Private_Use' | 'Punctuation' | 'Separator' | 'Space_Separator' | 'Spacing_Mark' | 'Surrogate' | 'Symbol' | 'Titlecase_Letter' | 'Unassigned' | 'Uppercase_Letter';
45
+ type $mol_unicode_category_script = 'Adlam' | 'Ahom' | 'Anatolian_Hieroglyphs' | 'Arabic' | 'Armenian' | 'Avestan' | 'Balinese' | 'Bamum' | 'Bassa_Vah' | 'Batak' | 'Bengali' | 'Bhaiksuki' | 'Bopomofo' | 'Brahmi' | 'Braille' | 'Buginese' | 'Buhid' | 'Canadian_Aboriginal' | 'Carian' | 'Caucasian_Albanian' | 'Chakma' | 'Cham' | 'Chorasmian' | 'Cherokee' | 'Common' | 'Coptic' | 'Cuneiform' | 'Cypriot' | 'Cyrillic' | 'Deseret' | 'Devanagari' | 'Dives_Akuru' | 'Dogra' | 'Duployan' | 'Egyptian_Hieroglyphs' | 'Elbasan' | 'Elymaic' | 'Ethiopic' | 'Georgian' | 'Glagolitic' | 'Gothic' | 'Grantha' | 'Greek' | 'Gujarati' | 'Gunjala_Gondi' | 'Gurmukhi' | 'Han' | 'Hangul' | 'Hanifi_Rohingya' | 'Hanunoo' | 'Hatran' | 'Hebrew' | 'Hiragana' | 'Imperial_Aramaic' | 'Inherited' | 'Inscriptional_Pahlavi' | 'Inscriptional_Parthian' | 'Javanese' | 'Kaithi' | 'Kannada' | 'Katakana' | 'Kayah_Li' | 'Kharoshthi' | 'Khitan_Small_Script' | 'Khmer' | 'Khojki' | 'Khudawadi' | 'Lao' | 'Latin' | 'Lepcha' | 'Limbu' | 'Linear_A' | 'Linear_B' | 'Lisu' | 'Lycian' | 'Lydian' | 'Mahajani' | 'Makasar' | 'Malayalam' | 'Mandaic' | 'Manichaean' | 'Marchen' | 'Medefaidrin' | 'Masaram_Gondi' | 'Meetei_Mayek' | 'Mende_Kikakui' | 'Meroitic_Cursive' | 'Meroitic_Hieroglyphs' | 'Miao' | 'Modi' | 'Mongolian' | 'Mro' | 'Multani' | 'Myanmar' | 'Nabataean' | 'Nandinagari' | 'New_Tai_Lue' | 'Newa' | 'Nko' | 'Nushu' | 'Nyiakeng_Puachue_Hmong' | 'Ogham' | 'Ol_Chiki' | 'Old_Hungarian' | 'Old_Italic' | 'Old_North_Arabian' | 'Old_Permic' | 'Old_Persian' | 'Old_Sogdian' | 'Old_South_Arabian' | 'Old_Turkic' | 'Oriya' | 'Osage' | 'Osmanya' | 'Pahawh_Hmong' | 'Palmyrene' | 'Pau_Cin_Hau' | 'Phags_Pa' | 'Phoenician' | 'Psalter_Pahlavi' | 'Rejang' | 'Runic' | 'Samaritan' | 'Saurashtra' | 'Sharada' | 'Shavian' | 'Siddham' | 'SignWriting' | 'Sinhala' | 'Sogdian' | 'Sora_Sompeng' | 'Soyombo' | 'Sundanese' | 'Syloti_Nagri' | 'Syriac' | 'Tagalog' | 'Tagbanwa' | 'Tai_Le' | 'Tai_Tham' | 'Tai_Viet' | 'Takri' | 'Tamil' | 'Tangut' | 'Telugu' | 'Thaana' | 'Thai' | 'Tibetan' | 'Tifinagh' | 'Tirhuta' | 'Ugaritic' | 'Vai' | 'Wancho' | 'Warang_Citi' | 'Yezidi' | 'Yi' | 'Zanabazar_Square';
46
+ }
47
+
48
+ interface String {
49
+ match<RE extends RegExp>(regexp: RE): ReturnType<RE[typeof Symbol.match]>;
50
+ matchAll<RE extends RegExp>(regexp: RE): ReturnType<RE[typeof Symbol.matchAll]>;
51
+ }
52
+ declare namespace $ {
53
+ type Groups_to_params<T> = {
54
+ [P in keyof T]?: T[P] | boolean | undefined;
55
+ };
56
+ export type $mol_regexp_source = number | string | RegExp | {
57
+ [key in string]: $mol_regexp_source;
58
+ } | readonly [$mol_regexp_source, ...$mol_regexp_source[]];
59
+ export type $mol_regexp_groups<Source extends $mol_regexp_source> = Source extends number ? {} : Source extends string ? {} : Source extends $mol_regexp_source[] ? $mol_type_merge<$mol_type_intersect<{
60
+ [key in Extract<keyof Source, number>]: $mol_regexp_groups<Source[key]>;
61
+ }[Extract<keyof Source, number>]>> : Source extends RegExp ? Record<string, string> extends NonNullable<NonNullable<ReturnType<Source['exec']>>['groups']> ? {} : NonNullable<NonNullable<ReturnType<Source['exec']>>['groups']> : Source extends {
62
+ readonly [key in string]: $mol_regexp_source;
63
+ } ? $mol_type_merge<$mol_type_intersect<{
64
+ [key in keyof Source]: $mol_type_merge<$mol_type_override<{
65
+ readonly [k in Extract<keyof Source, string>]: string;
66
+ }, {
67
+ readonly [k in key]: Source[key] extends string ? Source[key] : string;
68
+ }> & $mol_regexp_groups<Source[key]>>;
69
+ }[keyof Source]>> : never;
70
+ export class $mol_regexp<Groups extends Record<string, string>> extends RegExp {
71
+ readonly groups: (Extract<keyof Groups, string>)[];
72
+ constructor(source: string, flags?: string, groups?: (Extract<keyof Groups, string>)[]);
73
+ [Symbol.matchAll](str: string): IterableIterator<$mol_type_override<RegExpExecArray, {
74
+ groups?: {
75
+ [key in keyof Groups]: string;
76
+ };
77
+ }>>;
78
+ [Symbol.match](str: string): null | string[];
79
+ [Symbol.split](str: string): string[];
80
+ test(str: string): boolean;
81
+ exec(str: string): $mol_type_override<RegExpExecArray, {
82
+ groups?: {
83
+ [key in keyof Groups]: string;
84
+ };
85
+ }> | null;
86
+ generate(params: Groups_to_params<Groups>): string | null;
87
+ static repeat<Source extends $mol_regexp_source>(source: Source, min?: number, max?: number): $mol_regexp<$mol_regexp_groups<Source>>;
88
+ static repeat_greedy<Source extends $mol_regexp_source>(source: Source, min?: number, max?: number): $mol_regexp<$mol_regexp_groups<Source>>;
89
+ static optional<Source extends $mol_regexp_source>(source: Source): $mol_regexp<$mol_regexp_groups<Source>>;
90
+ static force_after(source: $mol_regexp_source): $mol_regexp<Record<string, string>>;
91
+ static forbid_after(source: $mol_regexp_source): $mol_regexp<Record<string, string>>;
92
+ static from<Source extends $mol_regexp_source>(source: Source, { ignoreCase, multiline }?: Partial<Pick<RegExp, 'ignoreCase' | 'multiline'>>): $mol_regexp<$mol_regexp_groups<Source>>;
93
+ static unicode_only(...category: $mol_unicode_category): $mol_regexp<Record<string, string>>;
94
+ static unicode_except(...category: $mol_unicode_category): $mol_regexp<Record<string, string>>;
95
+ static char_range(from: number, to: number): $mol_regexp<{}>;
96
+ static char_only(...allowed: readonly [$mol_regexp_source, ...$mol_regexp_source[]]): $mol_regexp<{}>;
97
+ static char_except(...forbidden: readonly [$mol_regexp_source, ...$mol_regexp_source[]]): $mol_regexp<{}>;
98
+ static decimal_only: $mol_regexp<{}>;
99
+ static decimal_except: $mol_regexp<{}>;
100
+ static latin_only: $mol_regexp<{}>;
101
+ static latin_except: $mol_regexp<{}>;
102
+ static space_only: $mol_regexp<{}>;
103
+ static space_except: $mol_regexp<{}>;
104
+ static word_break_only: $mol_regexp<{}>;
105
+ static word_break_except: $mol_regexp<{}>;
106
+ static tab: $mol_regexp<{}>;
107
+ static slash_back: $mol_regexp<{}>;
108
+ static nul: $mol_regexp<{}>;
109
+ static char_any: $mol_regexp<{}>;
110
+ static begin: $mol_regexp<{}>;
111
+ static end: $mol_regexp<{}>;
112
+ static or: $mol_regexp<{}>;
113
+ static line_end: $mol_regexp<{
114
+ readonly win_end: string;
115
+ readonly mac_end: string;
116
+ }>;
117
+ }
118
+ export {};
119
+ }
1
120
 
2
121
  export = $;
package/node.deps.json CHANGED
@@ -1 +1 @@
1
- {"files":["LICENSE","README.md","lang.lang.tree","mam.jam.js","mam.ts","package.json","sandbox.config.json","tsconfig.json","tsfmt.json","yarn.lock","mol/CNAME","mol/CODE_OF_CONDUCT.md","mol/CONTRIBUTING.md","mol/LICENSE","mol/index.html","mol/mol.meta.tree","mol/readme.md","mol/type/README.md","mol/type/equals/equals.ts","mol/type/merge/merge.ts","mol/type/intersect/intersect.ts","mol/type/override/override.ts","mol/fail/fail.ts","mol/unicode/unicode.ts","mol/regexp/README.md","mol/regexp/regexp.ts"],"mods":{},"deps_in":{"mol":{"mol/regexp":-9007199254740991,"mol/type":-9007199254740991,"mol/fail":-9007199254740991,"mol/unicode":-1},"":{"mol":-9007199254740991},"mol/type/merge":{"mol/regexp":-2},"mol/type":{"mol/type/merge":-9007199254740991,"mol/type/equals":-9007199254740991,"mol/type/intersect":-9007199254740991,"mol/type/override":-9007199254740991},"mol/type/equals":{"mol/type/merge":-3},"mol/type/intersect":{"mol/regexp":-2},"mol/type/override":{"mol/regexp":-2},"mol/fail":{"mol/regexp":-4},"mol/unicode":{"mol/regexp":-2}},"deps_out":{"mol/regexp":{"mol":-9007199254740991,"mol/type/merge":-2,"mol/type/intersect":-2,"mol/type/override":-2,"mol/fail":-4,"mol/unicode":-2},"mol":{"":-9007199254740991},"mol/type/merge":{"mol/type":-9007199254740991,"mol/type/equals":-3},"mol/type":{"mol":-9007199254740991},"mol/type/equals":{"mol/type":-9007199254740991},"mol/type/intersect":{"mol/type":-9007199254740991},"mol/type/override":{"mol/type":-9007199254740991},"mol/fail":{"mol":-9007199254740991},"mol/unicode":{"mol":-1}},"sloc":{"LICENSE":113,"md":752,"tree":31,"js":10,"ts":686,"json":84,"lock":939,"CNAME":1,"html":1},"deps":{"mol/regexp":{"..":-9007199254740991,"/mol/regexp/source":-1,"/mol/regexp/groups":-1,"/mol/type/merge":-2,"/mol/type/intersect":-2,"/mol/type/override":-2,"/mol/regexp":-1,"/mol/regexp/from":-2,"/mol/fail":-4,"/mol/regexp/repeat/greedy":-3,"/mol/regexp/optional":-5,"/mol/unicode/category":-2},"mol":{"..":-9007199254740991},"":{},"mol/type/merge":{"..":-9007199254740991,"/mol/type/merge":-1,"/mol/type/merge/object":-1,"/mol/type/equals":-3},"mol/type":{"..":-9007199254740991},"mol/type/equals":{"..":-9007199254740991,"/mol/type/equals":-1},"mol/type/intersect":{"..":-9007199254740991,"/mol/type/intersect":-1},"mol/type/override":{"..":-9007199254740991,"/mol/type/override":-1},"mol/fail":{"..":-9007199254740991,"/mol/fail":-1},"mol/unicode":{"..":-9007199254740991,"/mol/unicode/category":-1,"/mol/unicode/category/binary":-1,"/mol/char/category/general":-1,"/mol/unicode/category/script":-1}}}
1
+ {"files":["LICENSE","README.md","lang.lang.tree","mam.jam.js","mam.ts","package.json","sandbox.config.json","tsconfig.json","tsfmt.json","yarn.lock","mol/CNAME","mol/CODE_OF_CONDUCT.md","mol/CONTRIBUTING.md","mol/LICENSE","mol/index.html","mol/mol.meta.tree","mol/readme.md","mol/type/README.md","mol/type/equals/equals.ts","mol/type/merge/merge.ts","mol/type/intersect/intersect.ts","mol/type/override/override.ts","mol/fail/fail.ts","mol/unicode/unicode.ts","mol/regexp/README.md","mol/regexp/regexp.ts"],"mods":{},"deps_in":{"mol":{"mol/regexp":-9007199254740991,"mol/type":-9007199254740991,"mol/fail":-9007199254740991,"mol/unicode":-1},"":{"mol":-9007199254740991},"mol/type/merge":{"mol/regexp":-2},"mol/type":{"mol/type/merge":-9007199254740991,"mol/type/equals":-9007199254740991,"mol/type/intersect":-9007199254740991,"mol/type/override":-9007199254740991},"mol/type/equals":{"mol/type/merge":-3},"mol/type/intersect":{"mol/regexp":-2},"mol/type/override":{"mol/regexp":-2},"mol/fail":{"mol/regexp":-4},"mol/unicode":{"mol/regexp":-2}},"deps_out":{"mol/regexp":{"mol":-9007199254740991,"mol/type/merge":-2,"mol/type/intersect":-2,"mol/type/override":-2,"mol/fail":-4,"mol/unicode":-2},"mol":{"":-9007199254740991},"mol/type/merge":{"mol/type":-9007199254740991,"mol/type/equals":-3},"mol/type":{"mol":-9007199254740991},"mol/type/equals":{"mol/type":-9007199254740991},"mol/type/intersect":{"mol/type":-9007199254740991},"mol/type/override":{"mol/type":-9007199254740991},"mol/fail":{"mol":-9007199254740991},"mol/unicode":{"mol":-1}},"sloc":{"LICENSE":113,"md":752,"tree":31,"js":10,"ts":686,"json":85,"lock":939,"CNAME":1,"html":1},"deps":{"mol/regexp":{"..":-9007199254740991,"/mol/regexp/source":-1,"/mol/regexp/groups":-1,"/mol/type/merge":-2,"/mol/type/intersect":-2,"/mol/type/override":-2,"/mol/regexp":-1,"/mol/regexp/from":-2,"/mol/fail":-4,"/mol/regexp/repeat/greedy":-3,"/mol/regexp/optional":-5,"/mol/unicode/category":-2},"mol":{"..":-9007199254740991},"":{},"mol/type/merge":{"..":-9007199254740991,"/mol/type/merge":-1,"/mol/type/merge/object":-1,"/mol/type/equals":-3},"mol/type":{"..":-9007199254740991},"mol/type/equals":{"..":-9007199254740991,"/mol/type/equals":-1},"mol/type/intersect":{"..":-9007199254740991,"/mol/type/intersect":-1},"mol/type/override":{"..":-9007199254740991,"/mol/type/override":-1},"mol/fail":{"..":-9007199254740991,"/mol/fail":-1},"mol/unicode":{"..":-9007199254740991,"/mol/unicode/category":-1,"/mol/unicode/category/binary":-1,"/mol/char/category/general":-1,"/mol/unicode/category/script":-1}}}
package/node.test.js CHANGED
@@ -747,6 +747,12 @@ var $;
747
747
  $mol_assert_not($mol_compare_deep(/\x22/mig, /\x21/mig));
748
748
  $mol_assert_not($mol_compare_deep(/\x22/mig, /\x22/mg));
749
749
  },
750
+ 'Error'() {
751
+ $mol_assert_not($mol_compare_deep(new Error('xxx'), new Error('xxx')));
752
+ const fail = (message) => new Error(message);
753
+ $mol_assert_ok($mol_compare_deep(...['xxx', 'xxx'].map(msg => new Error(msg))));
754
+ $mol_assert_not($mol_compare_deep(...['xxx', 'yyy'].map(msg => new Error(msg))));
755
+ },
750
756
  'Map'() {
751
757
  $mol_assert_ok($mol_compare_deep(new Map, new Map));
752
758
  $mol_assert_ok($mol_compare_deep(new Map([[1, [2]]]), new Map([[1, [2]]])));
@@ -831,6 +837,8 @@ var $;
831
837
  result = compare_set(left, right);
832
838
  else if (left instanceof Map)
833
839
  result = compare_map(left, right);
840
+ else if (left instanceof Error)
841
+ result = left.stack === right.stack;
834
842
  else if (ArrayBuffer.isView(left))
835
843
  result = compare_buffer(left, right);
836
844
  else if (Symbol.toPrimitive in left)