mol_schema 0.0.21 → 0.0.23

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
@@ -25,17 +25,18 @@ declare namespace $ {
25
25
  }
26
26
 
27
27
  declare namespace $ {
28
- abstract class $mol_schema_any extends Object {
28
+ class $mol_schema_any extends Object {
29
29
  static [Symbol.toStringTag]: string;
30
30
  static [$mol_key_handle](): string;
31
31
  /** Short user-readable identity. */
32
32
  static toString(): string;
33
33
  /** Type-guard that checks value by schema. */
34
- static check<Val>(val: Val): val is Val & typeof this.default;
34
+ static check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This['default'];
35
+ static [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This['default'];
35
36
  /** Strict parse. Fails of wrong values. */
36
37
  static guard<Value>(value: Value): Value;
37
38
  /** Relaxed cast. Normalizes wrong values. */
38
- static cast(value: unknown): typeof this.default;
39
+ static cast<This extends typeof $mol_schema_any>(this: This, value: unknown): This['default'];
39
40
  /** Default value which conforms schema. */
40
41
  static default: unknown;
41
42
  }
@@ -46,20 +47,119 @@ declare namespace $ {
46
47
  }
47
48
 
48
49
  declare namespace $ {
49
- abstract class $mol_schema_boolean extends $mol_schema_any {
50
+ class $mol_schema_float extends $mol_schema_any {
51
+ static guard<Value>(value: Value): Value & typeof this.default;
52
+ static default: number;
53
+ }
54
+ }
55
+
56
+ declare namespace $ {
57
+ class $mol_schema_integer extends $mol_schema_float {
58
+ $mol_schema_integer: boolean;
59
+ static guard<Value>(value: Value): Value & number & $mol_schema_integer;
60
+ static default: number & $mol_schema_integer;
61
+ }
62
+ }
63
+
64
+ declare namespace $ {
65
+ class $mol_schema_bigint extends $mol_schema_any {
66
+ static guard<Value>(value: Value): Value & typeof this.default;
67
+ static cast<This extends typeof $mol_schema_any>(this: This, value: unknown): This['default'];
68
+ static default: bigint;
69
+ }
70
+ }
71
+
72
+ declare namespace $ {
73
+ class $mol_schema_boolean extends $mol_schema_any {
50
74
  static guard<Value>(value: Value): Value & typeof this.default;
51
75
  static default: boolean;
52
76
  }
53
77
  }
54
78
 
55
79
  declare namespace $ {
56
- abstract class $mol_schema_string extends $mol_schema_any {
80
+ class $mol_schema_string extends $mol_schema_any {
57
81
  static guard<Value>(value: Value): Value & typeof this.default;
58
82
  static cast(value: unknown): typeof this.default;
59
83
  static default: string;
60
84
  }
61
85
  }
62
86
 
87
+ declare namespace $ {
88
+ const $mol_ambient_ref: unique symbol;
89
+ /** @deprecated use $ instead */
90
+ type $mol_ambient_context = $;
91
+ function $mol_ambient(this: $ | void, overrides: Partial<$>): $;
92
+ }
93
+
94
+ declare namespace $ {
95
+ /**
96
+ * Proxy that delegates all to lazy returned target.
97
+ *
98
+ * $mol_delegate( Array.prototype , ()=> fetch_array() )
99
+ */
100
+ function $mol_delegate<Value extends object>(proto: Value, target: () => Value): Value;
101
+ }
102
+
103
+ declare namespace $ {
104
+ const $mol_owning_map: WeakMap<any, any>;
105
+ function $mol_owning_allow<Having>(having: Having): having is Having & {
106
+ destructor(): void;
107
+ };
108
+ function $mol_owning_get<Having, Owner extends object>(having: Having, Owner?: {
109
+ new (): Owner;
110
+ }): Owner | null;
111
+ function $mol_owning_check<Owner, Having>(owner: Owner, having: Having): having is Having & {
112
+ destructor(): void;
113
+ };
114
+ function $mol_owning_catch<Owner, Having>(owner: Owner, having: Having): boolean;
115
+ }
116
+
117
+ declare namespace $ {
118
+ function $mol_fail_hidden(error: any): never;
119
+ }
120
+
121
+ declare namespace $ {
122
+ type $mol_type_writable<T> = {
123
+ -readonly [P in keyof T]: T[P];
124
+ };
125
+ }
126
+
127
+ declare namespace $ {
128
+ class $mol_object2 {
129
+ static $: $;
130
+ [Symbol.toStringTag]: string;
131
+ [$mol_ambient_ref]: $;
132
+ get $(): $;
133
+ set $(next: $);
134
+ static create<Instance>(this: new (init?: (instance: any) => void) => Instance, init?: (instance: $mol_type_writable<Instance>) => void): Instance;
135
+ static [Symbol.toPrimitive](): any;
136
+ static toString(): any;
137
+ static toJSON(): any;
138
+ static [$mol_key_handle](): any;
139
+ destructor(): void;
140
+ static destructor(): void;
141
+ [Symbol.dispose](): void;
142
+ toString(): string;
143
+ }
144
+ }
145
+
146
+ declare namespace $ {
147
+ class $mol_wrapper extends $mol_object2 {
148
+ static wrap: (task: (...ags: any[]) => any) => (...ags: any[]) => any;
149
+ static run<Result>(task: () => Result): Result;
150
+ static func<Args extends any[], Result, Host = void>(func: (this: Host, ...args: Args) => Result): (this: Host, ...args: Args) => Result;
151
+ static get class(): <Class extends new (...args: any[]) => any>(Class: Class) => Class;
152
+ static get method(): (obj: object, name: PropertyKey, descr?: TypedPropertyDescriptor<any>) => TypedPropertyDescriptor<any>;
153
+ static get field(): <Host extends object, Field extends keyof Host, Args extends any[], Result>(obj: Host, name: Field, descr?: TypedPropertyDescriptor<Result>) => TypedPropertyDescriptor<Result>;
154
+ }
155
+ }
156
+
157
+ declare namespace $ {
158
+ class $mol_memo extends $mol_wrapper {
159
+ static wrap<This extends object, Value>(task: (this: This, next?: Value) => Value): (this: This, next?: Value) => Value | undefined;
160
+ }
161
+ }
162
+
63
163
  declare namespace $ {
64
164
  /** Generates unique identifier. */
65
165
  function $mol_guid(length?: number, exists?: (id: string) => boolean): string;
@@ -71,7 +171,13 @@ declare namespace $ {
71
171
  }
72
172
 
73
173
  declare namespace $ {
74
- function $mol_schema_pattern<Pattern extends RegExp>(Pattern: Pattern): {
174
+ class $mol_memo_key extends $mol_wrapper {
175
+ static wrap<This extends object, Key, Value>(task: (this: This, key: Key, next?: Value) => Value): (this: This, key: Key, next?: Value) => Value | undefined;
176
+ }
177
+ }
178
+
179
+ declare namespace $ {
180
+ let $mol_schema_pattern: <Pattern extends RegExp>(this: void, Pattern: Pattern) => {
75
181
  new (value?: any): {
76
182
  constructor: Function;
77
183
  toString(): string;
@@ -86,9 +192,10 @@ declare namespace $ {
86
192
  guard<Value>(value: Value): Value & string;
87
193
  cast(value: unknown): string;
88
194
  default: string;
89
- check<Val>(val: Val): val is Val & typeof this.default;
195
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
90
196
  [Symbol.toStringTag]: string;
91
197
  [$mol_key_handle](): string;
198
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
92
199
  getPrototypeOf(o: any): any;
93
200
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
94
201
  getOwnPropertyNames(o: any): string[];
@@ -108,9 +215,9 @@ declare namespace $ {
108
215
  isExtensible(o: any): boolean;
109
216
  keys(o: object): string[];
110
217
  keys(o: {}): string[];
111
- assign<T extends {}, U>(target: T, source: U): T & U;
112
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
113
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
218
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
219
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
220
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
114
221
  assign(target: object, ...sources: any[]): any;
115
222
  getOwnPropertySymbols(o: any): symbol[];
116
223
  is(value1: any, value2: any): boolean;
@@ -136,18 +243,69 @@ declare namespace $ {
136
243
  }
137
244
 
138
245
  declare namespace $ {
139
- abstract class $mol_schema_float extends $mol_schema_any {
140
- static guard<Value>(value: Value): Value & typeof this.default;
141
- static default: number;
142
- }
143
- }
144
-
145
- declare namespace $ {
146
- abstract class $mol_schema_integer extends $mol_schema_float {
147
- $mol_schema_integer: boolean;
148
- static guard<Value>(value: Value): Value & number & $mol_schema_integer;
149
- static default: number & $mol_schema_integer;
150
- }
246
+ let $mol_schema_instance: <Class extends new (...args: Args) => any, Args extends any[]>(this: void, Class: Class, ...args: Args) => Class extends typeof $mol_schema_any ? Class : {
247
+ new (value?: any): {
248
+ constructor: Function;
249
+ toString(): string;
250
+ toLocaleString(): string;
251
+ valueOf(): Object;
252
+ hasOwnProperty(v: PropertyKey): boolean;
253
+ isPrototypeOf(v: Object): boolean;
254
+ propertyIsEnumerable(v: PropertyKey): boolean;
255
+ };
256
+ Class: Class;
257
+ toString(): string;
258
+ guard<Value>(value: Value): Value & InstanceType<Class>;
259
+ default: InstanceType<Class>;
260
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
261
+ cast<This extends typeof $mol_schema_any>(this: This, value: unknown): This["default"];
262
+ [Symbol.toStringTag]: string;
263
+ [$mol_key_handle](): string;
264
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
265
+ getPrototypeOf(o: any): any;
266
+ getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
267
+ getOwnPropertyNames(o: any): string[];
268
+ create(o: object | null): any;
269
+ create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;
270
+ defineProperty<T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T;
271
+ defineProperties<T>(o: T, properties: PropertyDescriptorMap & ThisType<any>): T;
272
+ seal<T>(o: T): T;
273
+ freeze<T extends Function>(f: T): T;
274
+ freeze<T extends {
275
+ [idx: string]: U | null | undefined | object;
276
+ }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;
277
+ freeze<T>(o: T): Readonly<T>;
278
+ preventExtensions<T>(o: T): T;
279
+ isSealed(o: any): boolean;
280
+ isFrozen(o: any): boolean;
281
+ isExtensible(o: any): boolean;
282
+ keys(o: object): string[];
283
+ keys(o: {}): string[];
284
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
285
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
286
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
287
+ assign(target: object, ...sources: any[]): any;
288
+ getOwnPropertySymbols(o: any): symbol[];
289
+ is(value1: any, value2: any): boolean;
290
+ setPrototypeOf(o: any, proto: object | null): any;
291
+ values<T>(o: {
292
+ [s: string]: T;
293
+ } | ArrayLike<T>): T[];
294
+ values(o: {}): any[];
295
+ entries<T>(o: {
296
+ [s: string]: T;
297
+ } | ArrayLike<T>): [string, T][];
298
+ entries(o: {}): [string, any][];
299
+ getOwnPropertyDescriptors<T>(o: T): { [P in keyof T]: TypedPropertyDescriptor<T[P]>; } & {
300
+ [x: string]: PropertyDescriptor;
301
+ };
302
+ fromEntries<T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
303
+ [k: string]: T;
304
+ };
305
+ fromEntries(entries: Iterable<readonly any[]>): any;
306
+ hasOwn(o: object, v: PropertyKey): boolean;
307
+ groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
308
+ };
151
309
  }
152
310
 
153
311
  declare namespace $ {
@@ -160,7 +318,7 @@ declare namespace $ {
160
318
  }
161
319
 
162
320
  declare namespace $ {
163
- function $mol_schema_every<Schemas extends readonly (typeof $mol_schema_any)[]>(Schemas: Schemas): {
321
+ let $mol_schema_every: <Schemas extends readonly (typeof $mol_schema_any)[]>(this: void, Schemas: Schemas) => {
164
322
  new (value?: any): {
165
323
  constructor: Function;
166
324
  toString(): string;
@@ -175,9 +333,10 @@ declare namespace $ {
175
333
  guard<Value>(value: Value): Value & $mol_type_intersect<Schemas[number]["default"]>;
176
334
  cast(value: unknown): $mol_type_intersect<Schemas[number]["default"]>;
177
335
  default: $mol_type_intersect<Schemas[number]["default"]>;
178
- check<Val>(val: Val): val is Val & typeof this.default;
336
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
179
337
  [Symbol.toStringTag]: string;
180
338
  [$mol_key_handle](): string;
339
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
181
340
  getPrototypeOf(o: any): any;
182
341
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
183
342
  getOwnPropertyNames(o: any): string[];
@@ -197,9 +356,9 @@ declare namespace $ {
197
356
  isExtensible(o: any): boolean;
198
357
  keys(o: object): string[];
199
358
  keys(o: {}): string[];
200
- assign<T extends {}, U>(target: T, source: U): T & U;
201
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
202
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
359
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
360
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
361
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
203
362
  assign(target: object, ...sources: any[]): any;
204
363
  getOwnPropertySymbols(o: any): symbol[];
205
364
  is(value1: any, value2: any): boolean;
@@ -225,7 +384,7 @@ declare namespace $ {
225
384
  }
226
385
 
227
386
  declare namespace $ {
228
- function $mol_schema_range<Value extends number | bigint, Min extends Value, Max extends Value>(Min: Min, Max: Max): {
387
+ let $mol_schema_range: <Value extends number | bigint, Range extends [min: Value, max: Value]>(this: void, Range: Range) => {
229
388
  new (value?: any): {
230
389
  constructor: Function;
231
390
  toString(): string;
@@ -235,15 +394,15 @@ declare namespace $ {
235
394
  isPrototypeOf(v: Object): boolean;
236
395
  propertyIsEnumerable(v: PropertyKey): boolean;
237
396
  };
238
- Min: Min;
239
- Max: Max;
397
+ Range: Range;
240
398
  toString(): string;
241
- guard<Value_1>(value: Value_1): Value_1 & Value & { [key in `$mol_schema_range_min=${Min}`]: true; } & { [key_1 in `$mol_schema_range_max=${Max}`]: true; };
399
+ guard<Value_1>(value: Value_1): Value_1 & Value & { [key in `$mol_schema_range_min=${Range[0]}`]: true; } & { [key_1 in `$mol_schema_range_max=${Range[1]}`]: true; };
242
400
  cast(val: Value): Value;
243
- default: Value & { [key in `$mol_schema_range_min=${Min}`]: true; } & { [key in `$mol_schema_range_max=${Max}`]: true; };
244
- check<Val>(val: Val): val is Val & typeof this.default;
401
+ default: Value & { [key in `$mol_schema_range_min=${Range[0]}`]: true; } & { [key_1 in `$mol_schema_range_max=${Range[1]}`]: true; };
402
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
245
403
  [Symbol.toStringTag]: string;
246
404
  [$mol_key_handle](): string;
405
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
247
406
  getPrototypeOf(o: any): any;
248
407
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
249
408
  getOwnPropertyNames(o: any): string[];
@@ -263,9 +422,9 @@ declare namespace $ {
263
422
  isExtensible(o: any): boolean;
264
423
  keys(o: object): string[];
265
424
  keys(o: {}): string[];
266
- assign<T extends {}, U>(target: T, source: U): T & U;
267
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
268
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
425
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
426
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
427
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
269
428
  assign(target: object, ...sources: any[]): any;
270
429
  getOwnPropertySymbols(o: any): symbol[];
271
430
  is(value1: any, value2: any): boolean;
@@ -301,8 +460,7 @@ declare namespace $ {
301
460
  isPrototypeOf(v: Object): boolean;
302
461
  propertyIsEnumerable(v: PropertyKey): boolean;
303
462
  };
304
- Min: 0;
305
- Max: number;
463
+ Range: [0, number];
306
464
  toString(): string;
307
465
  guard<Value>(value: Value): (Value & (number | bigint)) & {
308
466
  "$mol_schema_range_min=0": true;
@@ -310,10 +468,15 @@ declare namespace $ {
310
468
  [x: `$mol_schema_range_max=${number}`]: true;
311
469
  };
312
470
  cast(val: number | bigint): number | bigint;
313
- default: Value & { [key in `$mol_schema_range_min=${Min}`]: true; } & { [key in `$mol_schema_range_max=${Max}`]: true; };
314
- check<Val>(val: Val): val is Val & typeof this.default;
471
+ default: (number | bigint) & {
472
+ "$mol_schema_range_min=0": true;
473
+ } & {
474
+ [x: `$mol_schema_range_max=${number}`]: true;
475
+ };
476
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
315
477
  [Symbol.toStringTag]: string;
316
478
  [$mol_key_handle](): string;
479
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
317
480
  getPrototypeOf(o: any): any;
318
481
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
319
482
  getOwnPropertyNames(o: any): string[];
@@ -358,7 +521,7 @@ declare namespace $ {
358
521
  hasOwn(o: object, v: PropertyKey): boolean;
359
522
  groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
360
523
  };
361
- export abstract class $mol_schema_positive extends $mol_schema_positive_base {
524
+ export class $mol_schema_positive extends $mol_schema_positive_base {
362
525
  }
363
526
  export {};
364
527
  }
@@ -378,10 +541,11 @@ declare namespace $ {
378
541
  toString(): string;
379
542
  guard<Value>(value: Value): never;
380
543
  cast(value: unknown): never;
381
- default: $mol_type_intersect<Schemas[number]["default"]>;
382
- check<Val>(val: Val): val is Val & typeof this.default;
544
+ default: never;
545
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
383
546
  [Symbol.toStringTag]: string;
384
547
  [$mol_key_handle](): string;
548
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
385
549
  getPrototypeOf(o: any): any;
386
550
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
387
551
  getOwnPropertyNames(o: any): string[];
@@ -426,13 +590,13 @@ declare namespace $ {
426
590
  hasOwn(o: object, v: PropertyKey): boolean;
427
591
  groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
428
592
  };
429
- export abstract class $mol_schema_natural extends $mol_schema_natural_base {
593
+ export class $mol_schema_natural extends $mol_schema_natural_base {
430
594
  }
431
595
  export {};
432
596
  }
433
597
 
434
598
  declare namespace $ {
435
- function $mol_schema_enum<Options extends readonly unknown[]>(Options: Options): {
599
+ let $mol_schema_enum: <const Options extends readonly unknown[]>(this: void, Options: Options) => {
436
600
  new (value?: any): {
437
601
  constructor: Function;
438
602
  toString(): string;
@@ -445,11 +609,12 @@ declare namespace $ {
445
609
  Options: Options;
446
610
  toString(): string;
447
611
  guard<Value>(value: Value): Value & Options[number];
448
- cast(val: unknown): unknown;
612
+ cast(val: unknown): Options[number];
449
613
  default: Options[number];
450
- check<Val>(val: Val): val is Val & typeof this.default;
614
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
451
615
  [Symbol.toStringTag]: string;
452
616
  [$mol_key_handle](): string;
617
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
453
618
  getPrototypeOf(o: any): any;
454
619
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
455
620
  getOwnPropertyNames(o: any): string[];
@@ -469,9 +634,9 @@ declare namespace $ {
469
634
  isExtensible(o: any): boolean;
470
635
  keys(o: object): string[];
471
636
  keys(o: {}): string[];
472
- assign<T extends {}, U>(target: T, source: U): T & U;
473
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
474
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
637
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
638
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
639
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
475
640
  assign(target: object, ...sources: any[]): any;
476
641
  getOwnPropertySymbols(o: any): symbol[];
477
642
  is(value1: any, value2: any): boolean;
@@ -507,8 +672,7 @@ declare namespace $ {
507
672
  isPrototypeOf(v: Object): boolean;
508
673
  propertyIsEnumerable(v: PropertyKey): boolean;
509
674
  };
510
- Min: number;
511
- Max: 0;
675
+ Range: [number, 0];
512
676
  toString(): string;
513
677
  guard<Value>(value: Value): (Value & (number | bigint)) & {
514
678
  [x: `$mol_schema_range_min=${number}`]: true;
@@ -516,10 +680,15 @@ declare namespace $ {
516
680
  "$mol_schema_range_max=0": true;
517
681
  };
518
682
  cast(val: number | bigint): number | bigint;
519
- default: Value & { [key in `$mol_schema_range_min=${Min}`]: true; } & { [key in `$mol_schema_range_max=${Max}`]: true; };
520
- check<Val>(val: Val): val is Val & typeof this.default;
683
+ default: (number | bigint) & {
684
+ [x: `$mol_schema_range_min=${number}`]: true;
685
+ } & {
686
+ "$mol_schema_range_max=0": true;
687
+ };
688
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
521
689
  [Symbol.toStringTag]: string;
522
690
  [$mol_key_handle](): string;
691
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
523
692
  getPrototypeOf(o: any): any;
524
693
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
525
694
  getOwnPropertyNames(o: any): string[];
@@ -564,13 +733,13 @@ declare namespace $ {
564
733
  hasOwn(o: object, v: PropertyKey): boolean;
565
734
  groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
566
735
  };
567
- export abstract class $mol_schema_negative extends $mol_schema_negative_base {
736
+ export class $mol_schema_negative extends $mol_schema_negative_base {
568
737
  }
569
738
  export {};
570
739
  }
571
740
 
572
741
  declare namespace $ {
573
- function $mol_schema_some<Variants extends readonly (typeof $mol_schema_any)[]>(Variants: Variants): {
742
+ let $mol_schema_some: <Variants extends readonly (typeof $mol_schema_any)[]>(this: void, Variants: Variants) => {
574
743
  new (value?: any): {
575
744
  constructor: Function;
576
745
  toString(): string;
@@ -585,9 +754,10 @@ declare namespace $ {
585
754
  guard<Value>(value: Value): Value & Variants[number]["default"];
586
755
  cast(value: unknown): Variants[number]["default"];
587
756
  default: Variants[number]["default"];
588
- check<Val>(val: Val): val is Val & typeof this.default;
757
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
589
758
  [Symbol.toStringTag]: string;
590
759
  [$mol_key_handle](): string;
760
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
591
761
  getPrototypeOf(o: any): any;
592
762
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
593
763
  getOwnPropertyNames(o: any): string[];
@@ -607,9 +777,9 @@ declare namespace $ {
607
777
  isExtensible(o: any): boolean;
608
778
  keys(o: object): string[];
609
779
  keys(o: {}): string[];
610
- assign<T extends {}, U>(target: T, source: U): T & U;
611
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
612
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
780
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
781
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
782
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
613
783
  assign(target: object, ...sources: any[]): any;
614
784
  getOwnPropertySymbols(o: any): symbol[];
615
785
  is(value1: any, value2: any): boolean;
@@ -635,7 +805,7 @@ declare namespace $ {
635
805
  }
636
806
 
637
807
  declare namespace $ {
638
- function $mol_schema_maybe<Some extends typeof $mol_schema_any>(Some: Some): {
808
+ let $mol_schema_maybe: <Some extends typeof $mol_schema_any>(this: void, Some: Some) => {
639
809
  new (value?: any): {
640
810
  constructor: Function;
641
811
  toString(): string;
@@ -657,14 +827,15 @@ declare namespace $ {
657
827
  isPrototypeOf(v: Object): boolean;
658
828
  propertyIsEnumerable(v: PropertyKey): boolean;
659
829
  };
660
- Options: (null | undefined)[];
830
+ Options: readonly [undefined, null];
661
831
  toString(): string;
662
832
  guard<Value>(value: Value): Value & (null | undefined);
663
- cast(val: unknown): unknown;
664
- default: Options[number];
665
- check<Val>(val: Val): val is Val & typeof this.default;
833
+ cast(val: unknown): null | undefined;
834
+ default: null | undefined;
835
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
666
836
  [Symbol.toStringTag]: string;
667
837
  [$mol_key_handle](): string;
838
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
668
839
  getPrototypeOf(o: any): any;
669
840
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
670
841
  getOwnPropertyNames(o: any): string[];
@@ -684,9 +855,9 @@ declare namespace $ {
684
855
  isExtensible(o: any): boolean;
685
856
  keys(o: object): string[];
686
857
  keys(o: {}): string[];
687
- assign<T extends {}, U>(target: T, source: U): T & U;
688
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
689
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
858
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
859
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
860
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
690
861
  assign(target: object, ...sources: any[]): any;
691
862
  getOwnPropertySymbols(o: any): symbol[];
692
863
  is(value1: any, value2: any): boolean;
@@ -719,53 +890,54 @@ declare namespace $ {
719
890
  isPrototypeOf(v: Object): boolean;
720
891
  propertyIsEnumerable(v: PropertyKey): boolean;
721
892
  };
722
- Options: (null | undefined)[];
893
+ Options: readonly [undefined, null];
723
894
  toString(): string;
724
895
  guard<Value_1>(value: Value_1): Value_1 & (null | undefined);
725
- cast(val: unknown): unknown;
726
- default: Options[number];
727
- check<Val>(val: Val): val is Val & typeof this.default;
896
+ cast(val: unknown): null | undefined;
897
+ default: null | undefined;
898
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
728
899
  [Symbol.toStringTag]: string;
729
900
  [$mol_key_handle](): string;
901
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
730
902
  getPrototypeOf(o: any): any;
731
903
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
732
904
  getOwnPropertyNames(o: any): string[];
733
905
  create(o: object | null): any;
734
906
  create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;
735
- defineProperty<T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T;
736
- defineProperties<T>(o: T, properties: PropertyDescriptorMap & ThisType<any>): T;
737
- seal<T>(o: T): T;
738
- freeze<T extends Function>(f: T): T;
739
- freeze<T extends {
907
+ defineProperty<T_1>(o: T_1, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T_1;
908
+ defineProperties<T_1>(o: T_1, properties: PropertyDescriptorMap & ThisType<any>): T_1;
909
+ seal<T_1>(o: T_1): T_1;
910
+ freeze<T_1 extends Function>(f: T_1): T_1;
911
+ freeze<T_1 extends {
740
912
  [idx: string]: U | null | undefined | object;
741
- }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;
742
- freeze<T>(o: T): Readonly<T>;
743
- preventExtensions<T>(o: T): T;
913
+ }, U extends string | bigint | number | boolean | symbol>(o: T_1): Readonly<T_1>;
914
+ freeze<T_1>(o: T_1): Readonly<T_1>;
915
+ preventExtensions<T_1>(o: T_1): T_1;
744
916
  isSealed(o: any): boolean;
745
917
  isFrozen(o: any): boolean;
746
918
  isExtensible(o: any): boolean;
747
919
  keys(o: object): string[];
748
920
  keys(o: {}): string[];
749
- assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
750
- assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
751
- assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
921
+ assign<T_1 extends {}, U_1>(target: T_1, source: U_1): T_1 & U_1;
922
+ assign<T_1 extends {}, U_2, V>(target: T_1, source1: U_2, source2: V): T_1 & U_2 & V;
923
+ assign<T_1 extends {}, U_3, V_1, W>(target: T_1, source1: U_3, source2: V_1, source3: W): T_1 & U_3 & V_1 & W;
752
924
  assign(target: object, ...sources: any[]): any;
753
925
  getOwnPropertySymbols(o: any): symbol[];
754
926
  is(value1: any, value2: any): boolean;
755
927
  setPrototypeOf(o: any, proto: object | null): any;
756
- values<T>(o: {
757
- [s: string]: T;
758
- } | ArrayLike<T>): T[];
928
+ values<T_1>(o: {
929
+ [s: string]: T_1;
930
+ } | ArrayLike<T_1>): T_1[];
759
931
  values(o: {}): any[];
760
- entries<T>(o: {
761
- [s: string]: T;
762
- } | ArrayLike<T>): [string, T][];
932
+ entries<T_1>(o: {
933
+ [s: string]: T_1;
934
+ } | ArrayLike<T_1>): [string, T_1][];
763
935
  entries(o: {}): [string, any][];
764
- getOwnPropertyDescriptors<T>(o: T): { [P in keyof T]: TypedPropertyDescriptor<T[P]>; } & {
936
+ getOwnPropertyDescriptors<T_1>(o: T_1): { [P in keyof T_1]: TypedPropertyDescriptor<T_1[P]>; } & {
765
937
  [x: string]: PropertyDescriptor;
766
938
  };
767
- fromEntries<T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
768
- [k: string]: T;
939
+ fromEntries<T_1 = any>(entries: Iterable<readonly [PropertyKey, T_1]>): {
940
+ [k: string]: T_1;
769
941
  };
770
942
  fromEntries(entries: Iterable<readonly any[]>): any;
771
943
  hasOwn(o: object, v: PropertyKey): boolean;
@@ -781,101 +953,165 @@ declare namespace $ {
781
953
  isPrototypeOf(v: Object): boolean;
782
954
  propertyIsEnumerable(v: PropertyKey): boolean;
783
955
  };
784
- Options: (null | undefined)[];
956
+ Options: readonly [undefined, null];
785
957
  toString(): string;
786
958
  guard<Value>(value: Value): Value & (null | undefined);
787
- cast(val: unknown): unknown;
788
- default: Options[number];
789
- check<Val>(val: Val): val is Val & typeof this.default;
959
+ cast(val: unknown): null | undefined;
960
+ default: null | undefined;
961
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
790
962
  [Symbol.toStringTag]: string;
791
963
  [$mol_key_handle](): string;
964
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
792
965
  getPrototypeOf(o: any): any;
793
966
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
794
967
  getOwnPropertyNames(o: any): string[];
795
968
  create(o: object | null): any;
796
969
  create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;
797
- defineProperty<T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T;
798
- defineProperties<T>(o: T, properties: PropertyDescriptorMap & ThisType<any>): T;
799
- seal<T>(o: T): T;
800
- freeze<T extends Function>(f: T): T;
801
- freeze<T extends {
970
+ defineProperty<T_1>(o: T_1, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T_1;
971
+ defineProperties<T_1>(o: T_1, properties: PropertyDescriptorMap & ThisType<any>): T_1;
972
+ seal<T_1>(o: T_1): T_1;
973
+ freeze<T_1 extends Function>(f: T_1): T_1;
974
+ freeze<T_1 extends {
802
975
  [idx: string]: U | null | undefined | object;
803
- }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;
804
- freeze<T>(o: T): Readonly<T>;
805
- preventExtensions<T>(o: T): T;
976
+ }, U extends string | bigint | number | boolean | symbol>(o: T_1): Readonly<T_1>;
977
+ freeze<T_1>(o: T_1): Readonly<T_1>;
978
+ preventExtensions<T_1>(o: T_1): T_1;
806
979
  isSealed(o: any): boolean;
807
980
  isFrozen(o: any): boolean;
808
981
  isExtensible(o: any): boolean;
809
982
  keys(o: object): string[];
810
983
  keys(o: {}): string[];
811
- assign<T extends {}, U>(target: T, source: U): T & U;
812
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
813
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
984
+ assign<T_1 extends {}, U_1>(target: T_1, source: U_1): T_1 & U_1;
985
+ assign<T_1 extends {}, U_2, V>(target: T_1, source1: U_2, source2: V): T_1 & U_2 & V;
986
+ assign<T_1 extends {}, U_3, V_1, W>(target: T_1, source1: U_3, source2: V_1, source3: W): T_1 & U_3 & V_1 & W;
814
987
  assign(target: object, ...sources: any[]): any;
815
988
  getOwnPropertySymbols(o: any): symbol[];
816
989
  is(value1: any, value2: any): boolean;
817
990
  setPrototypeOf(o: any, proto: object | null): any;
818
- values<T>(o: {
819
- [s: string]: T;
820
- } | ArrayLike<T>): T[];
991
+ values<T_1>(o: {
992
+ [s: string]: T_1;
993
+ } | ArrayLike<T_1>): T_1[];
821
994
  values(o: {}): any[];
822
- entries<T>(o: {
823
- [s: string]: T;
824
- } | ArrayLike<T>): [string, T][];
995
+ entries<T_1>(o: {
996
+ [s: string]: T_1;
997
+ } | ArrayLike<T_1>): [string, T_1][];
825
998
  entries(o: {}): [string, any][];
826
- getOwnPropertyDescriptors<T>(o: T): { [P in keyof T]: TypedPropertyDescriptor<T[P]>; } & {
999
+ getOwnPropertyDescriptors<T_1>(o: T_1): { [P in keyof T_1]: TypedPropertyDescriptor<T_1[P]>; } & {
827
1000
  [x: string]: PropertyDescriptor;
828
1001
  };
829
- fromEntries<T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
830
- [k: string]: T;
1002
+ fromEntries<T_1 = any>(entries: Iterable<readonly [PropertyKey, T_1]>): {
1003
+ [k: string]: T_1;
831
1004
  };
832
1005
  fromEntries(entries: Iterable<readonly any[]>): any;
833
1006
  hasOwn(o: object, v: PropertyKey): boolean;
834
1007
  groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
835
1008
  })["default"];
836
- default: Variants[number]["default"];
837
- check<Val>(val: Val): val is Val & typeof this.default;
1009
+ default: (Some | {
1010
+ new (value?: any): {
1011
+ constructor: Function;
1012
+ toString(): string;
1013
+ toLocaleString(): string;
1014
+ valueOf(): Object;
1015
+ hasOwnProperty(v: PropertyKey): boolean;
1016
+ isPrototypeOf(v: Object): boolean;
1017
+ propertyIsEnumerable(v: PropertyKey): boolean;
1018
+ };
1019
+ Options: readonly [undefined, null];
1020
+ toString(): string;
1021
+ guard<Value>(value: Value): Value & (null | undefined);
1022
+ cast(val: unknown): null | undefined;
1023
+ default: null | undefined;
1024
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
1025
+ [Symbol.toStringTag]: string;
1026
+ [$mol_key_handle](): string;
1027
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
1028
+ getPrototypeOf(o: any): any;
1029
+ getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
1030
+ getOwnPropertyNames(o: any): string[];
1031
+ create(o: object | null): any;
1032
+ create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;
1033
+ defineProperty<T_1>(o: T_1, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T_1;
1034
+ defineProperties<T_1>(o: T_1, properties: PropertyDescriptorMap & ThisType<any>): T_1;
1035
+ seal<T_1>(o: T_1): T_1;
1036
+ freeze<T_1 extends Function>(f: T_1): T_1;
1037
+ freeze<T_1 extends {
1038
+ [idx: string]: U | null | undefined | object;
1039
+ }, U extends string | bigint | number | boolean | symbol>(o: T_1): Readonly<T_1>;
1040
+ freeze<T_1>(o: T_1): Readonly<T_1>;
1041
+ preventExtensions<T_1>(o: T_1): T_1;
1042
+ isSealed(o: any): boolean;
1043
+ isFrozen(o: any): boolean;
1044
+ isExtensible(o: any): boolean;
1045
+ keys(o: object): string[];
1046
+ keys(o: {}): string[];
1047
+ assign<T_1 extends {}, U_1>(target: T_1, source: U_1): T_1 & U_1;
1048
+ assign<T_1 extends {}, U_2, V>(target: T_1, source1: U_2, source2: V): T_1 & U_2 & V;
1049
+ assign<T_1 extends {}, U_3, V_1, W>(target: T_1, source1: U_3, source2: V_1, source3: W): T_1 & U_3 & V_1 & W;
1050
+ assign(target: object, ...sources: any[]): any;
1051
+ getOwnPropertySymbols(o: any): symbol[];
1052
+ is(value1: any, value2: any): boolean;
1053
+ setPrototypeOf(o: any, proto: object | null): any;
1054
+ values<T_1>(o: {
1055
+ [s: string]: T_1;
1056
+ } | ArrayLike<T_1>): T_1[];
1057
+ values(o: {}): any[];
1058
+ entries<T_1>(o: {
1059
+ [s: string]: T_1;
1060
+ } | ArrayLike<T_1>): [string, T_1][];
1061
+ entries(o: {}): [string, any][];
1062
+ getOwnPropertyDescriptors<T_1>(o: T_1): { [P in keyof T_1]: TypedPropertyDescriptor<T_1[P]>; } & {
1063
+ [x: string]: PropertyDescriptor;
1064
+ };
1065
+ fromEntries<T_1 = any>(entries: Iterable<readonly [PropertyKey, T_1]>): {
1066
+ [k: string]: T_1;
1067
+ };
1068
+ fromEntries(entries: Iterable<readonly any[]>): any;
1069
+ hasOwn(o: object, v: PropertyKey): boolean;
1070
+ groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
1071
+ })["default"];
1072
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
838
1073
  [Symbol.toStringTag]: string;
839
1074
  [$mol_key_handle](): string;
1075
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
840
1076
  getPrototypeOf(o: any): any;
841
1077
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
842
1078
  getOwnPropertyNames(o: any): string[];
843
1079
  create(o: object | null): any;
844
1080
  create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;
845
- defineProperty<T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T;
846
- defineProperties<T>(o: T, properties: PropertyDescriptorMap & ThisType<any>): T;
847
- seal<T>(o: T): T;
848
- freeze<T extends Function>(f: T): T;
849
- freeze<T extends {
1081
+ defineProperty<T_1>(o: T_1, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T_1;
1082
+ defineProperties<T_1>(o: T_1, properties: PropertyDescriptorMap & ThisType<any>): T_1;
1083
+ seal<T_1>(o: T_1): T_1;
1084
+ freeze<T_1 extends Function>(f: T_1): T_1;
1085
+ freeze<T_1 extends {
850
1086
  [idx: string]: U | null | undefined | object;
851
- }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;
852
- freeze<T>(o: T): Readonly<T>;
853
- preventExtensions<T>(o: T): T;
1087
+ }, U extends string | bigint | number | boolean | symbol>(o: T_1): Readonly<T_1>;
1088
+ freeze<T_1>(o: T_1): Readonly<T_1>;
1089
+ preventExtensions<T_1>(o: T_1): T_1;
854
1090
  isSealed(o: any): boolean;
855
1091
  isFrozen(o: any): boolean;
856
1092
  isExtensible(o: any): boolean;
857
1093
  keys(o: object): string[];
858
1094
  keys(o: {}): string[];
859
- assign<T extends {}, U>(target: T, source: U): T & U;
860
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
861
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
1095
+ assign<T_1 extends {}, U_1>(target: T_1, source: U_1): T_1 & U_1;
1096
+ assign<T_1 extends {}, U_2, V>(target: T_1, source1: U_2, source2: V): T_1 & U_2 & V;
1097
+ assign<T_1 extends {}, U_3, V_1, W>(target: T_1, source1: U_3, source2: V_1, source3: W): T_1 & U_3 & V_1 & W;
862
1098
  assign(target: object, ...sources: any[]): any;
863
1099
  getOwnPropertySymbols(o: any): symbol[];
864
1100
  is(value1: any, value2: any): boolean;
865
1101
  setPrototypeOf(o: any, proto: object | null): any;
866
- values<T>(o: {
867
- [s: string]: T;
868
- } | ArrayLike<T>): T[];
1102
+ values<T_1>(o: {
1103
+ [s: string]: T_1;
1104
+ } | ArrayLike<T_1>): T_1[];
869
1105
  values(o: {}): any[];
870
- entries<T>(o: {
871
- [s: string]: T;
872
- } | ArrayLike<T>): [string, T][];
1106
+ entries<T_1>(o: {
1107
+ [s: string]: T_1;
1108
+ } | ArrayLike<T_1>): [string, T_1][];
873
1109
  entries(o: {}): [string, any][];
874
- getOwnPropertyDescriptors<T>(o: T): { [P in keyof T]: TypedPropertyDescriptor<T[P]>; } & {
1110
+ getOwnPropertyDescriptors<T_1>(o: T_1): { [P in keyof T_1]: TypedPropertyDescriptor<T_1[P]>; } & {
875
1111
  [x: string]: PropertyDescriptor;
876
1112
  };
877
- fromEntries<T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
878
- [k: string]: T;
1113
+ fromEntries<T_1 = any>(entries: Iterable<readonly [PropertyKey, T_1]>): {
1114
+ [k: string]: T_1;
879
1115
  };
880
1116
  fromEntries(entries: Iterable<readonly any[]>): any;
881
1117
  hasOwn(o: object, v: PropertyKey): boolean;
@@ -884,7 +1120,7 @@ declare namespace $ {
884
1120
  }
885
1121
 
886
1122
  declare namespace $ {
887
- function $mol_schema_list<Item extends typeof $mol_schema_any>(Item: Item): {
1123
+ let $mol_schema_list: <Item extends typeof $mol_schema_any>(this: void, Item: Item) => {
888
1124
  new (value?: any): {
889
1125
  constructor: Function;
890
1126
  toString(): string;
@@ -896,12 +1132,13 @@ declare namespace $ {
896
1132
  };
897
1133
  Item: Item;
898
1134
  toString(): string;
899
- guard<Value>(value: Value): Value & readonly unknown[];
900
- cast(value: unknown): readonly unknown[];
901
- default: readonly (typeof Item.default)[];
902
- check<Val>(val: Val): val is Val & typeof this.default;
1135
+ guard<Value>(value: Value): Value & readonly Item["default"][];
1136
+ cast(value: unknown): readonly Item["default"][];
1137
+ default: readonly Item["default"][];
1138
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
903
1139
  [Symbol.toStringTag]: string;
904
1140
  [$mol_key_handle](): string;
1141
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
905
1142
  getPrototypeOf(o: any): any;
906
1143
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
907
1144
  getOwnPropertyNames(o: any): string[];
@@ -921,9 +1158,9 @@ declare namespace $ {
921
1158
  isExtensible(o: any): boolean;
922
1159
  keys(o: object): string[];
923
1160
  keys(o: {}): string[];
924
- assign<T extends {}, U>(target: T, source: U): T & U;
925
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
926
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
1161
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
1162
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
1163
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
927
1164
  assign(target: object, ...sources: any[]): any;
928
1165
  getOwnPropertySymbols(o: any): symbol[];
929
1166
  is(value1: any, value2: any): boolean;
@@ -949,9 +1186,9 @@ declare namespace $ {
949
1186
  }
950
1187
 
951
1188
  declare namespace $ {
952
- function $mol_schema_dict<Key extends typeof $mol_schema_any & {
1189
+ let $mol_schema_dict: <Pair extends [Key: typeof $mol_schema_any & {
953
1190
  default: PropertyKey;
954
- }, Val extends typeof $mol_schema_any>(Key: Key, Val: Val): {
1191
+ }, Val: typeof $mol_schema_any]>(this: void, Pair: Pair) => {
955
1192
  new (value?: any): {
956
1193
  constructor: Function;
957
1194
  toString(): string;
@@ -961,15 +1198,15 @@ declare namespace $ {
961
1198
  isPrototypeOf(v: Object): boolean;
962
1199
  propertyIsEnumerable(v: PropertyKey): boolean;
963
1200
  };
964
- Key: Key;
965
- Val: Val;
1201
+ Pair: Pair;
966
1202
  toString(): string;
967
- guard<Value>(value: Value): Value & Record<Key["default"], Val["default"]>;
968
- cast(value: unknown): Record<Key["default"], Val["default"]>;
969
- default: Record<Key["default"], Val["default"]>;
970
- check<Val_1>(val: Val_1): val is Val_1 & typeof this.default;
1203
+ guard<Value>(value: Value): Value & Record<Pair[0]["default"], Pair[1]["default"]>;
1204
+ cast(value: unknown): Record<Pair[0]["default"], Pair[1]["default"]>;
1205
+ default: Record<Pair[0]["default"], Pair[1]["default"]>;
1206
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
971
1207
  [Symbol.toStringTag]: string;
972
1208
  [$mol_key_handle](): string;
1209
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
973
1210
  getPrototypeOf(o: any): any;
974
1211
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
975
1212
  getOwnPropertyNames(o: any): string[];
@@ -989,9 +1226,9 @@ declare namespace $ {
989
1226
  isExtensible(o: any): boolean;
990
1227
  keys(o: object): string[];
991
1228
  keys(o: {}): string[];
992
- assign<T extends {}, U>(target: T, source: U): T & U;
993
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
994
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
1229
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
1230
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
1231
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
995
1232
  assign(target: object, ...sources: any[]): any;
996
1233
  getOwnPropertySymbols(o: any): symbol[];
997
1234
  is(value1: any, value2: any): boolean;
@@ -1017,7 +1254,7 @@ declare namespace $ {
1017
1254
  }
1018
1255
 
1019
1256
  declare namespace $ {
1020
- function $mol_schema_record<Fields extends Record<string, typeof $mol_schema_any>>(Fields: Fields): {
1257
+ let $mol_schema_record: <Fields extends Record<string, typeof $mol_schema_any>>(this: void, Fields: Fields) => {
1021
1258
  new (value?: any): {
1022
1259
  constructor: Function;
1023
1260
  toString(): string;
@@ -1031,10 +1268,11 @@ declare namespace $ {
1031
1268
  toString(): string;
1032
1269
  guard<Value>(value: Value): Value & { readonly [key in keyof Fields]: Fields[key]["default"]; };
1033
1270
  cast(value: unknown): { readonly [key in keyof Fields]: Fields[key]["default"]; };
1034
- default: { readonly [key in keyof typeof Fields]: (typeof Fields)[key]["default"]; };
1035
- check<Val>(val: Val): val is Val & typeof this.default;
1271
+ default: { readonly [key in keyof Fields]: Fields[key]["default"]; };
1272
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
1036
1273
  [Symbol.toStringTag]: string;
1037
1274
  [$mol_key_handle](): string;
1275
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val_1>(this: This, val: Val_1): val is Val_1 & This["default"];
1038
1276
  getPrototypeOf(o: any): any;
1039
1277
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
1040
1278
  getOwnPropertyNames(o: any): string[];
@@ -1054,9 +1292,9 @@ declare namespace $ {
1054
1292
  isExtensible(o: any): boolean;
1055
1293
  keys(o: object): string[];
1056
1294
  keys(o: {}): string[];
1057
- assign<T extends {}, U>(target: T, source: U): T & U;
1058
- assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
1059
- assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
1295
+ assign<T extends {}, U_1>(target: T, source: U_1): T & U_1;
1296
+ assign<T extends {}, U_2, V>(target: T, source1: U_2, source2: V): T & U_2 & V;
1297
+ assign<T extends {}, U_3, V_1, W>(target: T, source1: U_3, source2: V_1, source3: W): T & U_3 & V_1 & W;
1060
1298
  assign(target: object, ...sources: any[]): any;
1061
1299
  getOwnPropertySymbols(o: any): symbol[];
1062
1300
  is(value1: any, value2: any): boolean;
@@ -1100,10 +1338,13 @@ declare namespace $ {
1100
1338
  cast(value: unknown): {
1101
1339
  readonly [x: string]: any;
1102
1340
  };
1103
- default: { readonly [key in keyof typeof Fields_1]: (typeof Fields_1)[key]["default"]; };
1104
- check<Val>(val: Val): val is Val & typeof this.default;
1341
+ default: {
1342
+ readonly [x: string]: any;
1343
+ };
1344
+ check<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
1105
1345
  [Symbol.toStringTag]: string;
1106
1346
  [$mol_key_handle](): string;
1347
+ [Symbol.hasInstance]<This extends typeof $mol_schema_any, Val>(this: This, val: Val): val is Val & This["default"];
1107
1348
  getPrototypeOf(o: any): any;
1108
1349
  getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;
1109
1350
  getOwnPropertyNames(o: any): string[];