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/README.md +9 -7
- package/node.d.ts +138 -47
- package/node.d.ts.map +1 -1
- package/node.deps.json +1 -1
- package/node.js +75 -26
- package/node.js.map +1 -1
- package/node.meta.tree +2 -0
- package/node.mjs +75 -26
- package/node.test.js +134 -29
- package/node.test.js.map +1 -1
- package/package.json +6 -4
- package/web.d.ts +138 -47
- package/web.d.ts.map +1 -1
- package/web.deps.json +1 -1
- package/web.js +75 -26
- package/web.js.map +1 -1
- package/web.meta.tree +2 -0
- package/web.mjs +75 -26
- package/web.test.js +59 -3
- package/web.test.js.map +1 -1
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
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
;
|
|
267
|
-
|
|
268
|
-
|
|
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
|
-
|
|
327
|
+
return ((Class[Symbol.hasInstance] === $mol_schema_any[Symbol.hasInstance])
|
|
328
|
+
? Class
|
|
329
|
+
: $mol_schema_instance_);
|
|
281
330
|
}
|
|
282
|
-
$.$
|
|
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
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
;
|
|
267
|
-
|
|
268
|
-
|
|
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
|
-
|
|
327
|
+
return ((Class[Symbol.hasInstance] === $mol_schema_any[Symbol.hasInstance])
|
|
328
|
+
? Class
|
|
329
|
+
: $mol_schema_instance_);
|
|
281
330
|
}
|
|
282
|
-
$.$
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
;
|
|
258
|
-
|
|
259
|
-
|
|
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
|
-
|
|
318
|
+
return ((Class[Symbol.hasInstance] === $mol_schema_any[Symbol.hasInstance])
|
|
319
|
+
? Class
|
|
320
|
+
: $mol_schema_instance_);
|
|
272
321
|
}
|
|
273
|
-
$.$
|
|
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(
|
|
3957
|
-
$mol_assert_equal('foo',
|
|
3958
|
-
$mol_assert_equal(
|
|
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 $;
|