mol_schema 0.0.21 → 0.0.22

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.js CHANGED
@@ -91,6 +91,9 @@ var $;
91
91
  return false;
92
92
  }
93
93
  }
94
+ static [Symbol.hasInstance](val) {
95
+ return this.check(val);
96
+ }
94
97
  /** Strict parse. Fails of wrong values. */
95
98
  static guard(value) {
96
99
  return value;
@@ -120,6 +123,60 @@ var $;
120
123
  $.$mol_fail = $mol_fail;
121
124
  })($ || ($ = {}));
122
125
 
126
+ ;
127
+ "use strict";
128
+ var $;
129
+ (function ($) {
130
+ class $mol_schema_float extends $mol_schema_any {
131
+ static guard(value) {
132
+ if (typeof value === 'number')
133
+ return value;
134
+ return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
135
+ }
136
+ static default = Number.NaN;
137
+ }
138
+ $.$mol_schema_float = $mol_schema_float;
139
+ })($ || ($ = {}));
140
+
141
+ ;
142
+ "use strict";
143
+ var $;
144
+ (function ($) {
145
+ class $mol_schema_integer extends $mol_schema_float {
146
+ $mol_schema_integer = true;
147
+ static guard(value) {
148
+ const val = super.guard(value);
149
+ if (!Number.isFinite(val))
150
+ return $mol_fail(new TypeError('Non finite', { cause: { value, schema: this } }));
151
+ if (Math.trunc(val) !== val)
152
+ return $mol_fail(new TypeError('Non integer', { cause: { value, schema: this } }));
153
+ return val;
154
+ }
155
+ static default = 0;
156
+ }
157
+ $.$mol_schema_integer = $mol_schema_integer;
158
+ })($ || ($ = {}));
159
+
160
+ ;
161
+ "use strict";
162
+ var $;
163
+ (function ($) {
164
+ class $mol_schema_bigint extends $mol_schema_any {
165
+ static guard(value) {
166
+ if (typeof value === 'bigint')
167
+ return value;
168
+ return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
169
+ }
170
+ static cast(value) {
171
+ if (typeof value === 'number')
172
+ return BigInt($mol_schema_integer.cast(value));
173
+ return super.cast(value);
174
+ }
175
+ static default = 0n;
176
+ }
177
+ $.$mol_schema_bigint = $mol_schema_bigint;
178
+ })($ || ($ = {}));
179
+
123
180
  ;
124
181
  "use strict";
125
182
  var $;
@@ -252,34 +309,26 @@ var $;
252
309
  "use strict";
253
310
  var $;
254
311
  (function ($) {
255
- class $mol_schema_float extends $mol_schema_any {
256
- static guard(value) {
257
- if (typeof value === 'number')
258
- return value;
259
- return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
260
- }
261
- static default = Number.NaN;
262
- }
263
- $.$mol_schema_float = $mol_schema_float;
264
- })($ || ($ = {}));
265
-
266
- ;
267
- "use strict";
268
- var $;
269
- (function ($) {
270
- class $mol_schema_integer extends $mol_schema_float {
271
- $mol_schema_integer = true;
272
- static guard(value) {
273
- const val = super.guard(value);
274
- if (!Number.isFinite(val))
275
- return $mol_fail(new TypeError('Non finite', { cause: { value, schema: this } }));
276
- if (Math.trunc(val) !== val)
277
- return $mol_fail(new TypeError('Non integer', { cause: { value, schema: this } }));
278
- return val;
312
+ function $mol_schema_instance(Class, ...args) {
313
+ class $mol_schema_instance_ extends $mol_schema_any {
314
+ static Class = Class;
315
+ static toString() {
316
+ if (this !== $mol_schema_instance_)
317
+ return super.toString();
318
+ return '$mol_schema_instance<' + $$.$mol_func_name(Class) + '>';
319
+ }
320
+ static guard(value) {
321
+ if (value != null && Object(value) instanceof Class)
322
+ return value;
323
+ return $mol_fail(new TypeError('Wrong class', { cause: { value, schema: this } }));
324
+ }
325
+ static default = new Class(...args);
279
326
  }
280
- static default = 0;
327
+ return ((Class[Symbol.hasInstance] === $mol_schema_any[Symbol.hasInstance])
328
+ ? Class
329
+ : $mol_schema_instance_);
281
330
  }
282
- $.$mol_schema_integer = $mol_schema_integer;
331
+ $.$mol_schema_instance = $mol_schema_instance;
283
332
  })($ || ($ = {}));
284
333
 
285
334
  ;
package/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["-","../../../../mam.ts","../../../../mol/key/key.ts","../../../../mol/func/name/name.ts","../../../../mol/schema/any/any.ts","../../../../mol/fail/fail.ts","../../../../mol/schema/boolean/boolean.ts","../../../../mol/schema/string/string.ts","../../../../mol/guid/guid.ts","../../../../mol/key/key/key.ts","../../../../mol/schema/pattern/pattern.ts","../../../../mol/schema/float/float.ts","../../../../mol/schema/integer/integer.ts","../../../../mol/schema/every/every.ts","../../../../mol/schema/range/range.ts","../../../../mol/schema/positive/positive.ts","../../../../mol/schema/natural/natural.ts","../../../../mol/schema/enum/enum.ts","../../../../mol/schema/negative/negative.ts","../../../../mol/schema/some/some.ts","../../../../mol/schema/maybe/maybe.ts","../../../../mol/schema/list/list.ts","../../../../mol/schema/dict/dict.ts","../../../../mol/schema/record/record.ts","../../../../mol/schema/partial/partial.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\t\n\texport const $mol_key_handle = Symbol.for( '$mol_key_handle' )\n\texport const $mol_key_store = new WeakMap< object, string >()\n\t\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\texport abstract class $mol_schema_any extends Object {\n\t\t\n\t\tstatic [ Symbol.toStringTag ]: string\n\t\t\n\t\tstatic [ $mol_key_handle ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t/** Short user-readable identity. */\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\t/** Type-guard that checks value by schema. */\n\t\tstatic check< Val >( val: Val ): val is Val & typeof this.default {\n\t\t\ttry {\n\t\t\t\tthis.guard( val )\n\t\t\t\treturn true\n\t\t\t} catch( error ) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Strict parse. Fails of wrong values. */\n\t\tstatic guard< Value >( value: Value ): Value {\n\t\t\treturn value\n\t\t}\n\t\t\n\t\t/** Relaxed cast. Normalizes wrong values. */\n\t\tstatic cast( value: unknown ): typeof this.default {\n\t\t\ttry {\n\t\t\t\treturn this.guard( value )\n\t\t\t} catch ( error ) {\n\t\t\t\treturn this.default\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Default value which conforms schema. */\n\t\tstatic default = undefined as unknown\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\texport abstract class $mol_schema_boolean extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'boolean' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic default = false\n\t\t\n\t}\n}\n","namespace $ {\n\texport abstract class $mol_schema_string extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'string' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic cast( value: unknown ) {\n\t\t\treturn super.cast( value ) as typeof this.default\n\t\t}\n\t\t\n\t\tstatic default = ''\n\t\t\n\t}\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\tconst TypedArray = Object.getPrototypeOf( Uint8Array )\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tprimitives: {\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return `Symbol(${ value.description! })`\n\t\t\tif( !value ) return JSON.stringify( value ) // 0, null, \"\"\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value ) // boolean, number, string\n\t\t}\n\t\t\n\t\tcaching: {\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t}\n\t\t\n\t\tobjects: {\n\t\t\t\n\t\t\tif( value instanceof TypedArray ) {\n\t\t\t\treturn `${ ( value as any )[ Symbol.toStringTag ] }([${ [ ... value as number[] ].map( v => $mol_key( v ) ) }])`\n\t\t\t}\n\t\t\tif( Array.isArray( value ) ) return `[${ value.map( v => $mol_key( v ) ) }]`\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Date ) return `Date(${ value.valueOf() })`\n\t\t\t\n\t\t}\n\t\t\n\t\tstructures: {\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto || !Reflect.getPrototypeOf( proto ) ) {\n\t\t\t\treturn `{${ Object.entries( value ).map( ([ k, v ]) => JSON.stringify( k ) + ':' + $mol_key( v ) ) }}`\n\t\t\t}\n\t\t}\n\t\t\n\t\thandlers: {\n\t\t\tif( $mol_key_handle in value ) {\n\t\t\t\treturn ( value[ $mol_key_handle ] as any )()\n\t\t\t}\n\t\t}\n\t\t\n\t\tcontainers: {\n\t\t\tconst key = JSON.stringify( '#' + $mol_guid() )\n\t\t\t$mol_key_store.set( value, key )\n\t\t\treturn key\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_schema_pattern< Pattern extends RegExp >( Pattern: Pattern ) {\n\t\treturn class $mol_schema_pattern_ extends $mol_schema_string {\n\t\t\t\n\t\t\tstatic Pattern = Pattern\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_pattern_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_pattern<' + $mol_key(Pattern) + '>'\n\t\t\t}\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\tif( Pattern.test( super.guard( value ) ) ) return value as Value & typeof this.default\n\t\t\t\treturn $mol_fail( new TypeError( 'Wrong string', { cause: { value, schema: this } } ) )\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\treturn super.cast( value ) as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = ''\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport abstract class $mol_schema_float extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'number' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic default = Number.NaN\n\t\t\n\t}\n}\n","namespace $ {\n\texport abstract class $mol_schema_integer extends $mol_schema_float {\n\t\t\n\t\t$mol_schema_integer = true\n\t\t\n\t\tstatic guard< Value >( value: Value ) {\n\t\t\tconst val = super.guard( value )\n\t\t\tif( !Number.isFinite( val ) ) return $mol_fail( new TypeError( 'Non finite', { cause: { value, schema: this } } ) )\n\t\t\tif( Math.trunc( val ) !== val ) return $mol_fail( new TypeError( 'Non integer', { cause: { value, schema: this } } ) )\n\t\t\treturn val as Value & typeof this.default\n\t\t}\n\t\t\n\t\tstatic default = 0 as number & $mol_schema_integer\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_schema_every< Schemas extends readonly( typeof $mol_schema_any )[] >( Schemas: Schemas ) {\n\t\treturn class $mol_schema_every_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Schemas = Schemas\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_every_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_every<' + $mol_key(Schemas) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tfor( const Schema of Schemas ) {\n\t\t\t\t\tSchema.guard( value )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tfor( const Scheme of Schemas ) value = Scheme.cast( value )\n\t\t\t\treturn value as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Schemas.find( Scheme => this.check( Scheme.default ) ) as $mol_type_intersect< Schemas[number]['default'] >\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_range< Value extends number | bigint, Min extends Value, Max extends Value >( Min: Min, Max: Max ) {\n\t\treturn class $mol_schema_range_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Min = Min\n\t\t\tstatic Max = Max\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_range_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_range<' + $mol_key(Min) + ',' + $mol_key(Max) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\tif( typeof value !== 'number' && typeof value !== 'bigint' ) return $mol_fail( new TypeError( 'Uncomparable type', { cause: { value, schema: this } } ) )\n\t\t\t\tif(!( value <= Max )) return $mol_fail( new TypeError( 'Too large', { cause: { value, schema: this } } ) )\n\t\t\t\tif(!( value >= Min )) return $mol_fail( new TypeError( 'Too small', { cause: { value, schema: this } } ) )\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( val: Value ) {\n\t\t\t\tif( val > Max ) return Max\n\t\t\t\tif( val >= Min ) return val\n\t\t\t\treturn Min as any as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Min as any as Value & { [ key in `$mol_schema_range_min=${Min}` ]: true } & { [ key in `$mol_schema_range_max=${Max}` ]: true }\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport abstract class $mol_schema_positive extends $mol_schema_range( 0, Number.POSITIVE_INFINITY ) {}\n}\n","namespace $ {\n\texport abstract class $mol_schema_natural extends $mol_schema_every([\n\t\t$mol_schema_integer,\n\t\t$mol_schema_positive,\n\t]) {}\n}\n","namespace $ {\n\texport function $mol_schema_enum< Options extends readonly unknown[] >( Options: Options ) {\n\t\treturn class $mol_schema_enum_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Options = Options\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_enum_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_enum<' + $mol_key(Options) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\t\tif( Options.some( Option => Object.is( Option, value ) ) ) return value\n\t\t\t\treturn $mol_fail( new TypeError( 'No one option', { cause: { value, schema: this } } ) )\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( val: unknown ) {\n\t\t\t\tif( this.check( val ) ) return val\n\t\t\t\treturn Options[0] as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Options[0] as Options[number]\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport abstract class $mol_schema_negative extends $mol_schema_range( Number.NEGATIVE_INFINITY, 0 ) {}\n}\n","namespace $ {\n\texport function $mol_schema_some< Variants extends readonly( typeof $mol_schema_any )[] >( Variants: Variants ) {\n\t\treturn class $mol_schema_some_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Variants = Variants\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_some_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_some<' + $mol_key(Variants) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\t\t\n\t\t\t\tconst errors = [] as unknown[]\n\t\t\t\tfor( const Variant of Variants ) {\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn Variant.guard( value )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new AggregateError( errors, 'No one variant', { cause: { value, schema: this } } ) )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn this.guard( value )\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\treturn Variants[0].cast( value ) as typeof this.default\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Variants[0].default as Variants[number]['default']\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_maybe< Some extends typeof $mol_schema_any >( Some: Some ) {\n\t\treturn class $mol_schema_maybe_ extends $mol_schema_some([ $mol_schema_enum([ undefined, null ]), Some ]) {\n\t\t\t\n\t\t\tstatic Some = Some\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_maybe_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_maybe<' + $mol_key(Some) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_list< Item extends typeof $mol_schema_any >( Item: Item ) {\n\t\treturn class $mol_schema_list_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Item = Item\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_list_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_list<' + $mol_key(Item) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tif( !Array.isArray( value ) ) return $mol_fail( new TypeError( 'Non array', { cause: { value, schema: this } } ) )\n\t\t\t\t\n\t\t\t\tfor( const [ index, item ] of super.guard( value ).entries() ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tItem.guard( item )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong item', { cause: { index, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tif( !Array.isArray( value ) ) return this.default\n\t\t\t\treturn value.map( item => Item.cast( item ) ) as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = [] as readonly( typeof Item.default )[]\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_dict<\n\t\tKey extends typeof $mol_schema_any & { default: PropertyKey },\n\t\tVal extends typeof $mol_schema_any,\n\t>( Key: Key, Val: Val ) {\n\t\t\n\t\treturn class $mol_schema_dict_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Key = Key\n\t\t\tstatic Val = Val\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_dict_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_dict<' + $mol_key( Key ) + ',' + $mol_key( Key ) + '>'\n\t\t\t}\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) {\n\t\t\t\t\treturn $mol_fail( new TypeError( 'Non dictionary', { cause: { value, schema: this } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const key in value ) {\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tKey.guard( key )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong key', { cause: { key, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tVal.guard( ( value as any )[ key ] )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong val', { cause: { key, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) return this.default\n\t\t\t\t\n\t\t\t\tconst res = {} as any\n\t\t\t\tfor( const key in value as any ) {\n\t\t\t\t\tif( !Key.check( key ) ) continue\n\t\t\t\t\tres[ key ] = Val.cast( ( value as any )[ key ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn res as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = {} as Record< Key['default'], Val['default'] > \n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_record< Fields extends Record< string, typeof $mol_schema_any > >( Fields: Fields ) {\n\t\treturn class $mol_schema_record_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Fields = Fields\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_record_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_record<' + $mol_key(Fields) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) {\n\t\t\t\t\treturn $mol_fail( new TypeError( 'Non record', { cause: { value, schema: this } } ) )\n\t\t\t\t}\n\t\t\t\n\t\t\t\tfor( const field in Fields ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tFields[ field ].guard( ( value as any )[ field ] )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong field', { cause: { field, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) return this.default\n\t\t\t\tconst res = {} as any\n\t\t\t\tfor( const field in Fields ) res[ field ] = Fields[ field ].cast( ( value as any )[ field ] )\n\t\t\t\treturn res as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Object.fromEntries(\n\t\t\t\tObject.entries( Fields ).map( ([ field, Field ])=>[ field, Field.default ] )\n\t\t\t) as { readonly [ key in keyof typeof Fields ]:\n\t\t\t\ttypeof Fields[ key ][ 'default' ]\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_partial< Fields extends Record< string, typeof $mol_schema_any > >( Fields: Fields ) {\n\t\t\n\t\tconst partial = {} as any\n\t\tfor( const field in Fields ) partial[ field ] = $mol_schema_maybe( Fields[ field ] )\n\t\t\n\t\treturn class $mol_schema_partial_ extends $mol_schema_record( partial ) {\n\t\t\t\n\t\t\tstatic Fields = Fields\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_partial_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_partial<' + $mol_key( Fields ) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n"]}
1
+ {"version":3,"sources":["-","../../../../mam.ts","../../../../mol/key/key.ts","../../../../mol/func/name/name.ts","../../../../mol/schema/any/any.ts","../../../../mol/fail/fail.ts","../../../../mol/schema/float/float.ts","../../../../mol/schema/integer/integer.ts","../../../../mol/schema/bigint/bigint.ts","../../../../mol/schema/boolean/boolean.ts","../../../../mol/schema/string/string.ts","../../../../mol/guid/guid.ts","../../../../mol/key/key/key.ts","../../../../mol/schema/pattern/pattern.ts","../../../../mol/schema/instance/instance.ts","../../../../mol/schema/every/every.ts","../../../../mol/schema/range/range.ts","../../../../mol/schema/positive/positive.ts","../../../../mol/schema/natural/natural.ts","../../../../mol/schema/enum/enum.ts","../../../../mol/schema/negative/negative.ts","../../../../mol/schema/some/some.ts","../../../../mol/schema/maybe/maybe.ts","../../../../mol/schema/list/list.ts","../../../../mol/schema/dict/dict.ts","../../../../mol/schema/record/record.ts","../../../../mol/schema/partial/partial.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\t\n\texport const $mol_key_handle = Symbol.for( '$mol_key_handle' )\n\texport const $mol_key_store = new WeakMap< object, string >()\n\t\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\texport class $mol_schema_any extends Object {\n\t\t\n\t\tstatic [ Symbol.toStringTag ]: string\n\t\t\n\t\tstatic [ $mol_key_handle ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t/** Short user-readable identity. */\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\t/** Type-guard that checks value by schema. */\n\t\tstatic check< This extends typeof $mol_schema_any, Val >( this: This, val: Val ): val is Val & This['default'] {\n\t\t\ttry {\n\t\t\t\tthis.guard( val )\n\t\t\t\treturn true\n\t\t\t} catch( error ) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\t\n\t\tstatic [ Symbol.hasInstance ]< This extends typeof $mol_schema_any, Val >( this: This, val: Val ): val is Val & This['default'] {\n\t\t\treturn this.check( val )\n\t\t}\n\t\t\n\t\t/** Strict parse. Fails of wrong values. */\n\t\tstatic guard< Value >( value: Value ): Value {\n\t\t\treturn value\n\t\t}\n\t\t\n\t\t/** Relaxed cast. Normalizes wrong values. */\n\t\tstatic cast< This extends typeof $mol_schema_any >( this: This, value: unknown ): This['default'] {\n\t\t\ttry {\n\t\t\t\treturn this.guard( value )\n\t\t\t} catch ( error ) {\n\t\t\t\treturn this.default\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Default value which conforms schema. */\n\t\tstatic default = undefined as unknown\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\texport class $mol_schema_float extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'number' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic default = Number.NaN\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_schema_integer extends $mol_schema_float {\n\t\t\n\t\t$mol_schema_integer = true\n\t\t\n\t\tstatic guard< Value >( value: Value ) {\n\t\t\tconst val = super.guard( value )\n\t\t\tif( !Number.isFinite( val ) ) return $mol_fail( new TypeError( 'Non finite', { cause: { value, schema: this } } ) )\n\t\t\tif( Math.trunc( val ) !== val ) return $mol_fail( new TypeError( 'Non integer', { cause: { value, schema: this } } ) )\n\t\t\treturn val as Value & typeof this.default\n\t\t}\n\t\t\n\t\tstatic default = 0 as number & $mol_schema_integer\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_schema_bigint extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'bigint' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic cast< This extends typeof $mol_schema_any >( this: This, value: unknown ): This['default'] {\n\t\t\tif( typeof value === 'number' ) return BigInt( $mol_schema_integer.cast( value ) )\n\t\t\treturn super.cast( value )\n\t\t}\n\t\t\n\t\tstatic default = 0n\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_schema_boolean extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'boolean' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic default = false\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_schema_string extends $mol_schema_any {\n\t\t\n\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\tif( typeof value === 'string' ) return value\n\t\t\treturn $mol_fail( new TypeError( 'Wrong type', { cause: { value, schema: this } } ) )\n\t\t}\n\t\t\n\t\tstatic cast( value: unknown ) {\n\t\t\treturn super.cast( value ) as typeof this.default\n\t\t}\n\t\t\n\t\tstatic default = ''\n\t\t\n\t}\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\tconst TypedArray = Object.getPrototypeOf( Uint8Array )\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tprimitives: {\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return `Symbol(${ value.description! })`\n\t\t\tif( !value ) return JSON.stringify( value ) // 0, null, \"\"\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value ) // boolean, number, string\n\t\t}\n\t\t\n\t\tcaching: {\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t}\n\t\t\n\t\tobjects: {\n\t\t\t\n\t\t\tif( value instanceof TypedArray ) {\n\t\t\t\treturn `${ ( value as any )[ Symbol.toStringTag ] }([${ [ ... value as number[] ].map( v => $mol_key( v ) ) }])`\n\t\t\t}\n\t\t\tif( Array.isArray( value ) ) return `[${ value.map( v => $mol_key( v ) ) }]`\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Date ) return `Date(${ value.valueOf() })`\n\t\t\t\n\t\t}\n\t\t\n\t\tstructures: {\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto || !Reflect.getPrototypeOf( proto ) ) {\n\t\t\t\treturn `{${ Object.entries( value ).map( ([ k, v ]) => JSON.stringify( k ) + ':' + $mol_key( v ) ) }}`\n\t\t\t}\n\t\t}\n\t\t\n\t\thandlers: {\n\t\t\tif( $mol_key_handle in value ) {\n\t\t\t\treturn ( value[ $mol_key_handle ] as any )()\n\t\t\t}\n\t\t}\n\t\t\n\t\tcontainers: {\n\t\t\tconst key = JSON.stringify( '#' + $mol_guid() )\n\t\t\t$mol_key_store.set( value, key )\n\t\t\treturn key\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_schema_pattern< Pattern extends RegExp >( Pattern: Pattern ) {\n\t\treturn class $mol_schema_pattern_ extends $mol_schema_string {\n\t\t\t\n\t\t\tstatic Pattern = Pattern\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_pattern_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_pattern<' + $mol_key(Pattern) + '>'\n\t\t\t}\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\tif( Pattern.test( super.guard( value ) ) ) return value as Value & typeof this.default\n\t\t\t\treturn $mol_fail( new TypeError( 'Wrong string', { cause: { value, schema: this } } ) )\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\treturn super.cast( value ) as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = ''\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_instance<\n\t\tClass extends new( ... args: Args )=> any,\n\t\tArgs extends any[]\n\t>(\n\t\tClass: Class,\n\t\t... args: Args\n\t) {\n\t\t\n\t\tclass $mol_schema_instance_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Class = Class\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_instance_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_instance<' + $$.$mol_func_name(Class) + '>'\n\t\t\t}\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\tif( value != null && Object( value ) instanceof Class ) return value as Value & typeof this.default\n\t\t\t\treturn $mol_fail( new TypeError( 'Wrong class', { cause: { value, schema: this } } ) )\n\t\t\t}\n\t\t\t\n\t\t\tstatic default: InstanceType< Class > = new Class( ... args )\n\t\t\t\n\t\t}\n\t\t\n\t\treturn ( ( Class[ Symbol.hasInstance ] === $mol_schema_any[ Symbol.hasInstance ] )\n\t\t\t? Class\n\t\t\t: $mol_schema_instance_\n\t\t) as Class extends typeof $mol_schema_any ? Class : typeof $mol_schema_instance_\n\t\t\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_every< Schemas extends readonly( typeof $mol_schema_any )[] >( Schemas: Schemas ) {\n\t\treturn class $mol_schema_every_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Schemas = Schemas\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_every_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_every<' + $mol_key(Schemas) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tfor( const Schema of Schemas ) {\n\t\t\t\t\tSchema.guard( value )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tfor( const Scheme of Schemas ) value = Scheme.cast( value )\n\t\t\t\treturn value as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Schemas.find( Scheme => this.check( Scheme.default ) ) as $mol_type_intersect< Schemas[number]['default'] >\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_range< Value extends number | bigint, Min extends Value, Max extends Value >( Min: Min, Max: Max ) {\n\t\treturn class $mol_schema_range_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Min = Min\n\t\t\tstatic Max = Max\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_range_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_range<' + $mol_key(Min) + ',' + $mol_key(Max) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\tif( typeof value !== 'number' && typeof value !== 'bigint' ) return $mol_fail( new TypeError( 'Uncomparable type', { cause: { value, schema: this } } ) )\n\t\t\t\tif(!( value <= Max )) return $mol_fail( new TypeError( 'Too large', { cause: { value, schema: this } } ) )\n\t\t\t\tif(!( value >= Min )) return $mol_fail( new TypeError( 'Too small', { cause: { value, schema: this } } ) )\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( val: Value ) {\n\t\t\t\tif( val > Max ) return Max\n\t\t\t\tif( val >= Min ) return val\n\t\t\t\treturn Min as any as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Min as any as Value & { [ key in `$mol_schema_range_min=${Min}` ]: true } & { [ key in `$mol_schema_range_max=${Max}` ]: true }\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport class $mol_schema_positive extends $mol_schema_range( 0, Number.POSITIVE_INFINITY ) {}\n}\n","namespace $ {\n\texport class $mol_schema_natural extends $mol_schema_every([\n\t\t$mol_schema_integer,\n\t\t$mol_schema_positive,\n\t]) {}\n}\n","namespace $ {\n\texport function $mol_schema_enum< const Options extends readonly unknown[] >( Options: Options ) {\n\t\treturn class $mol_schema_enum_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Options = Options\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_enum_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_enum<' + $mol_key(Options) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\t\tif( Options.some( Option => Object.is( Option, value ) ) ) return value\n\t\t\t\treturn $mol_fail( new TypeError( 'No one option', { cause: { value, schema: this } } ) )\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( val: unknown ) {\n\t\t\t\tif( this.check( val ) ) return val\n\t\t\t\treturn Options[0] as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Options[0] as Options[number]\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport class $mol_schema_negative extends $mol_schema_range( Number.NEGATIVE_INFINITY, 0 ) {}\n}\n","namespace $ {\n\texport function $mol_schema_some< Variants extends readonly( typeof $mol_schema_any )[] >( Variants: Variants ) {\n\t\treturn class $mol_schema_some_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Variants = Variants\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_some_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_some<' + $mol_key(Variants) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ): Value & typeof this.default {\n\t\t\t\t\n\t\t\t\tconst errors = [] as unknown[]\n\t\t\t\tfor( const Variant of Variants ) {\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn Variant.guard( value )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new AggregateError( errors, 'No one variant', { cause: { value, schema: this } } ) )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn this.guard( value )\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\treturn Variants[0].cast( value ) as typeof this.default\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Variants[0].default as Variants[number]['default']\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_maybe< Some extends typeof $mol_schema_any >( Some: Some ) {\n\t\treturn class $mol_schema_maybe_ extends $mol_schema_some([ $mol_schema_enum([ undefined, null ]), Some ]) {\n\t\t\t\n\t\t\tstatic Some = Some\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_maybe_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_maybe<' + $mol_key(Some) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_list< Item extends typeof $mol_schema_any >( Item: Item ) {\n\t\treturn class $mol_schema_list_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Item = Item\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_list_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_list<' + $mol_key(Item) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tif( !Array.isArray( value ) ) return $mol_fail( new TypeError( 'Non array', { cause: { value, schema: this } } ) )\n\t\t\t\t\n\t\t\t\tfor( const [ index, item ] of super.guard( value ).entries() ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tItem.guard( item )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong item', { cause: { index, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tif( !Array.isArray( value ) ) return this.default\n\t\t\t\treturn value.map( item => Item.cast( item ) ) as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = [] as readonly( Item['default'] )[]\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_dict<\n\t\tKey extends typeof $mol_schema_any & { default: PropertyKey },\n\t\tVal extends typeof $mol_schema_any,\n\t>( Key: Key, Val: Val ) {\n\t\t\n\t\treturn class $mol_schema_dict_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Key = Key\n\t\t\tstatic Val = Val\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_dict_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_dict<' + $mol_key( Key ) + ',' + $mol_key( Key ) + '>'\n\t\t\t}\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) {\n\t\t\t\t\treturn $mol_fail( new TypeError( 'Non dictionary', { cause: { value, schema: this } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const key in value ) {\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tKey.guard( key )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong key', { cause: { key, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tVal.guard( ( value as any )[ key ] )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong val', { cause: { key, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) return this.default\n\t\t\t\t\n\t\t\t\tconst res = {} as any\n\t\t\t\tfor( const key in value as any ) {\n\t\t\t\t\tif( !Key.check( key ) ) continue\n\t\t\t\t\tres[ key ] = Val.cast( ( value as any )[ key ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn res as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = {} as Record< Key['default'], Val['default'] > \n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_record< Fields extends Record< string, typeof $mol_schema_any > >( Fields: Fields ) {\n\t\treturn class $mol_schema_record_ extends $mol_schema_any {\n\t\t\t\n\t\t\tstatic Fields = Fields\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_record_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_record<' + $mol_key(Fields) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t\tstatic guard< Value >( value: Value ) {\n\t\t\t\t\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) {\n\t\t\t\t\treturn $mol_fail( new TypeError( 'Non record', { cause: { value, schema: this } } ) )\n\t\t\t\t}\n\t\t\t\n\t\t\t\tfor( const field in Fields ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tFields[ field ].guard( ( value as any )[ field ] )\n\t\t\t\t\t} catch( error ) {\n\t\t\t\t\t\treturn $mol_fail( new TypeError( 'Wrong field', { cause: { field, error, value, schema: this } } ) )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value as Value & typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic cast( value: unknown ) {\n\t\t\t\tif( Object.getPrototypeOf( Object.getPrototypeOf( value ) ) ) return this.default\n\t\t\t\tconst res = {} as any\n\t\t\t\tfor( const field in Fields ) res[ field ] = Fields[ field ].cast( ( value as any )[ field ] )\n\t\t\t\treturn res as typeof this.default\n\t\t\t}\n\t\t\t\n\t\t\tstatic default = Object.fromEntries(\n\t\t\t\tObject.entries( Fields ).map( ([ field, Field ])=>[ field, Field.default ] )\n\t\t\t) as { readonly [ key in keyof typeof Fields ]:\n\t\t\t\ttypeof Fields[ key ][ 'default' ]\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n}\n","namespace $ {\n\texport function $mol_schema_partial< Fields extends Record< string, typeof $mol_schema_any > >( Fields: Fields ) {\n\t\t\n\t\tconst partial = {} as any\n\t\tfor( const field in Fields ) partial[ field ] = $mol_schema_maybe( Fields[ field ] )\n\t\t\n\t\treturn class $mol_schema_partial_ extends $mol_schema_record( partial ) {\n\t\t\t\n\t\t\tstatic Fields = Fields\n\t\t\t\n\t\t\tstatic toString(): string {\n\t\t\t\tif( this !== $mol_schema_partial_ ) return super.toString()\n\t\t\t\treturn '$mol_schema_partial<' + $mol_key( Fields ) + '>'\n\t\t\t}\t\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n"]}
package/node.meta.tree CHANGED
@@ -21,10 +21,12 @@
21
21
  pack icon git \https://github.com/nin-jin/mol_icon.git
22
22
  \/mol/schema/schema
23
23
  include \/mol/schema/any
24
+ include \/mol/schema/bigint
24
25
  include \/mol/schema/boolean
25
26
  include \/mol/schema/string
26
27
  include \/mol/schema/pattern
27
28
  include \/mol/schema/float
29
+ include \/mol/schema/instance
28
30
  include \/mol/schema/integer
29
31
  include \/mol/schema/natural
30
32
  include \/mol/schema/enum
package/node.mjs CHANGED
@@ -91,6 +91,9 @@ var $;
91
91
  return false;
92
92
  }
93
93
  }
94
+ static [Symbol.hasInstance](val) {
95
+ return this.check(val);
96
+ }
94
97
  /** Strict parse. Fails of wrong values. */
95
98
  static guard(value) {
96
99
  return value;
@@ -120,6 +123,60 @@ var $;
120
123
  $.$mol_fail = $mol_fail;
121
124
  })($ || ($ = {}));
122
125
 
126
+ ;
127
+ "use strict";
128
+ var $;
129
+ (function ($) {
130
+ class $mol_schema_float extends $mol_schema_any {
131
+ static guard(value) {
132
+ if (typeof value === 'number')
133
+ return value;
134
+ return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
135
+ }
136
+ static default = Number.NaN;
137
+ }
138
+ $.$mol_schema_float = $mol_schema_float;
139
+ })($ || ($ = {}));
140
+
141
+ ;
142
+ "use strict";
143
+ var $;
144
+ (function ($) {
145
+ class $mol_schema_integer extends $mol_schema_float {
146
+ $mol_schema_integer = true;
147
+ static guard(value) {
148
+ const val = super.guard(value);
149
+ if (!Number.isFinite(val))
150
+ return $mol_fail(new TypeError('Non finite', { cause: { value, schema: this } }));
151
+ if (Math.trunc(val) !== val)
152
+ return $mol_fail(new TypeError('Non integer', { cause: { value, schema: this } }));
153
+ return val;
154
+ }
155
+ static default = 0;
156
+ }
157
+ $.$mol_schema_integer = $mol_schema_integer;
158
+ })($ || ($ = {}));
159
+
160
+ ;
161
+ "use strict";
162
+ var $;
163
+ (function ($) {
164
+ class $mol_schema_bigint extends $mol_schema_any {
165
+ static guard(value) {
166
+ if (typeof value === 'bigint')
167
+ return value;
168
+ return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
169
+ }
170
+ static cast(value) {
171
+ if (typeof value === 'number')
172
+ return BigInt($mol_schema_integer.cast(value));
173
+ return super.cast(value);
174
+ }
175
+ static default = 0n;
176
+ }
177
+ $.$mol_schema_bigint = $mol_schema_bigint;
178
+ })($ || ($ = {}));
179
+
123
180
  ;
124
181
  "use strict";
125
182
  var $;
@@ -252,34 +309,26 @@ var $;
252
309
  "use strict";
253
310
  var $;
254
311
  (function ($) {
255
- class $mol_schema_float extends $mol_schema_any {
256
- static guard(value) {
257
- if (typeof value === 'number')
258
- return value;
259
- return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
260
- }
261
- static default = Number.NaN;
262
- }
263
- $.$mol_schema_float = $mol_schema_float;
264
- })($ || ($ = {}));
265
-
266
- ;
267
- "use strict";
268
- var $;
269
- (function ($) {
270
- class $mol_schema_integer extends $mol_schema_float {
271
- $mol_schema_integer = true;
272
- static guard(value) {
273
- const val = super.guard(value);
274
- if (!Number.isFinite(val))
275
- return $mol_fail(new TypeError('Non finite', { cause: { value, schema: this } }));
276
- if (Math.trunc(val) !== val)
277
- return $mol_fail(new TypeError('Non integer', { cause: { value, schema: this } }));
278
- return val;
312
+ function $mol_schema_instance(Class, ...args) {
313
+ class $mol_schema_instance_ extends $mol_schema_any {
314
+ static Class = Class;
315
+ static toString() {
316
+ if (this !== $mol_schema_instance_)
317
+ return super.toString();
318
+ return '$mol_schema_instance<' + $$.$mol_func_name(Class) + '>';
319
+ }
320
+ static guard(value) {
321
+ if (value != null && Object(value) instanceof Class)
322
+ return value;
323
+ return $mol_fail(new TypeError('Wrong class', { cause: { value, schema: this } }));
324
+ }
325
+ static default = new Class(...args);
279
326
  }
280
- static default = 0;
327
+ return ((Class[Symbol.hasInstance] === $mol_schema_any[Symbol.hasInstance])
328
+ ? Class
329
+ : $mol_schema_instance_);
281
330
  }
282
- $.$mol_schema_integer = $mol_schema_integer;
331
+ $.$mol_schema_instance = $mol_schema_instance;
283
332
  })($ || ($ = {}));
284
333
 
285
334
  ;
package/node.test.js CHANGED
@@ -82,6 +82,9 @@ var $;
82
82
  return false;
83
83
  }
84
84
  }
85
+ static [Symbol.hasInstance](val) {
86
+ return this.check(val);
87
+ }
85
88
  /** Strict parse. Fails of wrong values. */
86
89
  static guard(value) {
87
90
  return value;
@@ -111,6 +114,60 @@ var $;
111
114
  $.$mol_fail = $mol_fail;
112
115
  })($ || ($ = {}));
113
116
 
117
+ ;
118
+ "use strict";
119
+ var $;
120
+ (function ($) {
121
+ class $mol_schema_float extends $mol_schema_any {
122
+ static guard(value) {
123
+ if (typeof value === 'number')
124
+ return value;
125
+ return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
126
+ }
127
+ static default = Number.NaN;
128
+ }
129
+ $.$mol_schema_float = $mol_schema_float;
130
+ })($ || ($ = {}));
131
+
132
+ ;
133
+ "use strict";
134
+ var $;
135
+ (function ($) {
136
+ class $mol_schema_integer extends $mol_schema_float {
137
+ $mol_schema_integer = true;
138
+ static guard(value) {
139
+ const val = super.guard(value);
140
+ if (!Number.isFinite(val))
141
+ return $mol_fail(new TypeError('Non finite', { cause: { value, schema: this } }));
142
+ if (Math.trunc(val) !== val)
143
+ return $mol_fail(new TypeError('Non integer', { cause: { value, schema: this } }));
144
+ return val;
145
+ }
146
+ static default = 0;
147
+ }
148
+ $.$mol_schema_integer = $mol_schema_integer;
149
+ })($ || ($ = {}));
150
+
151
+ ;
152
+ "use strict";
153
+ var $;
154
+ (function ($) {
155
+ class $mol_schema_bigint extends $mol_schema_any {
156
+ static guard(value) {
157
+ if (typeof value === 'bigint')
158
+ return value;
159
+ return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
160
+ }
161
+ static cast(value) {
162
+ if (typeof value === 'number')
163
+ return BigInt($mol_schema_integer.cast(value));
164
+ return super.cast(value);
165
+ }
166
+ static default = 0n;
167
+ }
168
+ $.$mol_schema_bigint = $mol_schema_bigint;
169
+ })($ || ($ = {}));
170
+
114
171
  ;
115
172
  "use strict";
116
173
  var $;
@@ -243,34 +300,26 @@ var $;
243
300
  "use strict";
244
301
  var $;
245
302
  (function ($) {
246
- class $mol_schema_float extends $mol_schema_any {
247
- static guard(value) {
248
- if (typeof value === 'number')
249
- return value;
250
- return $mol_fail(new TypeError('Wrong type', { cause: { value, schema: this } }));
251
- }
252
- static default = Number.NaN;
253
- }
254
- $.$mol_schema_float = $mol_schema_float;
255
- })($ || ($ = {}));
256
-
257
- ;
258
- "use strict";
259
- var $;
260
- (function ($) {
261
- class $mol_schema_integer extends $mol_schema_float {
262
- $mol_schema_integer = true;
263
- static guard(value) {
264
- const val = super.guard(value);
265
- if (!Number.isFinite(val))
266
- return $mol_fail(new TypeError('Non finite', { cause: { value, schema: this } }));
267
- if (Math.trunc(val) !== val)
268
- return $mol_fail(new TypeError('Non integer', { cause: { value, schema: this } }));
269
- return val;
303
+ function $mol_schema_instance(Class, ...args) {
304
+ class $mol_schema_instance_ extends $mol_schema_any {
305
+ static Class = Class;
306
+ static toString() {
307
+ if (this !== $mol_schema_instance_)
308
+ return super.toString();
309
+ return '$mol_schema_instance<' + $$.$mol_func_name(Class) + '>';
310
+ }
311
+ static guard(value) {
312
+ if (value != null && Object(value) instanceof Class)
313
+ return value;
314
+ return $mol_fail(new TypeError('Wrong class', { cause: { value, schema: this } }));
315
+ }
316
+ static default = new Class(...args);
270
317
  }
271
- static default = 0;
318
+ return ((Class[Symbol.hasInstance] === $mol_schema_any[Symbol.hasInstance])
319
+ ? Class
320
+ : $mol_schema_instance_);
272
321
  }
273
- $.$mol_schema_integer = $mol_schema_integer;
322
+ $.$mol_schema_instance = $mol_schema_instance;
274
323
  })($ || ($ = {}));
275
324
 
276
325
  ;
@@ -3953,9 +4002,9 @@ var $;
3953
4002
  $mol_assert_equal(false, Config.check(true));
3954
4003
  $mol_assert_equal(false, Config.check(321));
3955
4004
  $mol_assert_equal(false, Config.check('bar'));
3956
- $mol_assert_equal(123, Config.cast(123));
3957
- $mol_assert_equal('foo', Config.cast('foo'));
3958
- $mol_assert_equal(123, Config.cast('bar'));
4005
+ $mol_assert_equal(Config.cast(123), 123);
4006
+ $mol_assert_equal(Config.cast('foo'), 'foo');
4007
+ $mol_assert_equal(Config.cast('bar'), 123);
3959
4008
  $mol_assert_equal(123, Config.guard(123));
3960
4009
  $mol_assert_fail(() => Config.guard(321), 'No one option');
3961
4010
  },
@@ -4293,6 +4342,62 @@ var $;
4293
4342
  })($$ = $_1.$$ || ($_1.$$ = {}));
4294
4343
  })($ || ($ = {}));
4295
4344
 
4345
+ ;
4346
+ "use strict";
4347
+ var $;
4348
+ (function ($_1) {
4349
+ var $$;
4350
+ (function ($$) {
4351
+ $mol_test({
4352
+ "BigInt schema"($) {
4353
+ $mol_assert_equal('$mol_schema_bigint', $mol_schema_bigint + '', $mol_key($mol_schema_bigint));
4354
+ $mol_assert_equal(true, $mol_schema_bigint.check(0n));
4355
+ $mol_assert_equal(false, $mol_schema_bigint.check(0));
4356
+ $mol_assert_equal(1n, $mol_schema_bigint.cast(1n));
4357
+ $mol_assert_equal(1n, $mol_schema_bigint.cast(1));
4358
+ $mol_assert_equal(0n, $mol_schema_bigint.guard(0n));
4359
+ $mol_assert_fail(() => $mol_schema_bigint.guard(1), 'Wrong type');
4360
+ },
4361
+ });
4362
+ })($$ = $_1.$$ || ($_1.$$ = {}));
4363
+ })($ || ($ = {}));
4364
+
4365
+ ;
4366
+ "use strict";
4367
+ var $;
4368
+ (function ($_1) {
4369
+ var $$;
4370
+ (function ($$) {
4371
+ $mol_test({
4372
+ "Class instance schema"($) {
4373
+ const Blob = $mol_schema_instance(Uint8Array);
4374
+ $mol_assert_equal('$mol_schema_instance<Uint8Array>', Blob + '', $mol_key(Blob));
4375
+ $mol_assert_equal(true, Blob.check(new Uint8Array));
4376
+ $mol_assert_equal(false, Blob.check(new Int8Array));
4377
+ $mol_assert_equal(false, Blob.check(null));
4378
+ $mol_assert_equal(new Uint8Array([0, 1]), Blob.cast(new Uint8Array([0, 1])));
4379
+ $mol_assert_equal(new Uint8Array, Blob.cast(new Int8Array([1, -1])));
4380
+ $mol_assert_equal(new Uint8Array, Blob.guard(new Uint8Array));
4381
+ $mol_assert_fail(() => Blob.guard(new Int8Array), 'Wrong class');
4382
+ },
4383
+ "Boxed instance schema"($) {
4384
+ const Str = $mol_schema_instance(String);
4385
+ $mol_assert_equal('$mol_schema_instance<String>', Str + '', $mol_key(Str));
4386
+ $mol_assert_equal(true, Str.check(Object('')));
4387
+ $mol_assert_equal(true, Str.check(''));
4388
+ $mol_assert_equal(true, Object('') instanceof Str);
4389
+ },
4390
+ "Schema instance schema"($) {
4391
+ const Str = $mol_schema_instance($mol_schema_instance(String));
4392
+ $mol_assert_equal('$mol_schema_instance<String>', Str + '', $mol_key(Str));
4393
+ $mol_assert_equal(true, Str.check(Object('')));
4394
+ $mol_assert_equal(true, Str.check(''));
4395
+ $mol_assert_equal(true, Object('') instanceof Str);
4396
+ },
4397
+ });
4398
+ })($$ = $_1.$$ || ($_1.$$ = {}));
4399
+ })($ || ($ = {}));
4400
+
4296
4401
  ;
4297
4402
  "use strict";
4298
4403
  var $;