mol_data_all 1.1.1555 → 1.1.1557
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 +2 -2
- package/node.js.map +1 -1
- package/node.mjs +2 -2
- package/node.test.js +136 -27
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.js +2 -2
- package/web.js.map +1 -1
- package/web.mjs +2 -2
- package/web.test.js +3 -22
- package/web.test.js.map +1 -1
package/node.js
CHANGED
|
@@ -113,7 +113,7 @@ var $;
|
|
|
113
113
|
get: () => stack_get() + '\n' + [
|
|
114
114
|
this.cause ?? 'no cause',
|
|
115
115
|
...this.errors.flatMap(e => [
|
|
116
|
-
e.stack,
|
|
116
|
+
String(e.stack),
|
|
117
117
|
...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
|
|
118
118
|
])
|
|
119
119
|
].map(frame_normalize).join('\n')
|
|
@@ -220,7 +220,7 @@ var $;
|
|
|
220
220
|
if (left instanceof RegExp)
|
|
221
221
|
return left.source === right.source && left.flags === right.flags;
|
|
222
222
|
if (left instanceof Error)
|
|
223
|
-
return left.message === right.message && left.stack
|
|
223
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
224
224
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
225
225
|
if (left_cache) {
|
|
226
226
|
const right_cache = left_cache.get(right);
|
package/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["-","../../../../mam.ts","../../../../mol/data/setup/setup.ts","../../../../mol/fail/fail.ts","../../../../mol/func/name/name.ts","../../../../mol/error/mix/mix.ts","../../../../mol/data/error/error.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/data/array/array.ts","../../../../mol/data/boolean/boolean.ts","../../../../mol/compare/deep/deep.ts","../../../../mol/data/const/const.ts","../../../../mol/data/string/string.ts","../../../../mol/data/pattern/pattern.ts","../../../../mol/data/email/email.ts","../../../../mol/data/enum/enum.ts","../../../../mol/data/instance/instance.ts","../../../../mol/data/number/number.ts","../../../../mol/data/integer/integer.ts","../../../../mol/data/range/range.ts","../../../../mol/data/tagged/tagged.ts","../../../../mol/data/nullable/nullable.ts","../../../../mol/data/optional/optional.ts","../../../../mol/data/record/record.ts","../../../../mol/data/dict/dict.ts","../../../../mol/data/variant/variant.ts","../../../../mol/func/is/class/class.ts","../../../../mol/data/pipe/pipe.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\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\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\n\tfunction cause_serialize(cause: unknown) {\n\t\treturn JSON.stringify( cause, null, ' ' )\n\t\t\t.replace(/\\(/,'<')\n\t\t\t.replace(/\\)/,' >')\n\t}\n\n\tfunction frame_normalize(frame: string | Object) {\n\t\treturn ( typeof frame === 'string' ? frame : cause_serialize(frame) )\n\t\t\t.trim()\n\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t}\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: readonly Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst desc = Object.getOwnPropertyDescriptor( this, 'stack' )\n\t\t\tconst stack_get = ()=> desc?.get?.() ?? super.stack ?? desc?.value ?? this.message\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> stack_get() + '\\n' + [\n\t\t\t\t\t\tthis.cause ?? 'no cause',\n\t\t\t\t\t\t... this.errors.flatMap( e => [\n\t\t\t\t\t\t\te.stack,\n\t\t\t\t\t\t\t... e instanceof $mol_error_mix || ! e.cause ? [] : [ e.cause ]\n\t\t\t\t\t\t] )\n\t\t\t\t\t].map(frame_normalize).join('\\n')\n\t\t\t} )\n\n\t\t\t// в nodejs, что б не дублировалось cause в консоли\n\t\t\tObject.defineProperty(this, 'cause', {\n\t\t\t\tget: () => cause\n\t\t\t})\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters<typeof $mol_error_mix>\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_data_error extends $mol_error_mix {}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for array of given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_array_demo\n\t */\n\texport function $mol_data_array< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : readonly Parameters< Sub >[0][] ) => {\n\t\t\t\n\t\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not an array` ) )\n\t\t\t\n\t\t\treturn val.map( ( item , index )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sub( item )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ index }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t} ) as readonly ReturnType< Sub >[]\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for boolean and returns boolean type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_boolean_demo\n\t */\n\texport let $mol_data_boolean = ( val : boolean )=> {\n\t\t\n\t\tif( typeof val === 'boolean' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a boolean` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, right.byteOffset, right.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for equality to given value and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_const_demo\n\t */\n\texport function $mol_data_const< Val >( ref : Val ) {\n\n\t\treturn $mol_data_setup( ( val : Val ) => {\n\t\t\t\n\t\t\tif( $mol_compare_deep( val , ref ) ) return ref\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ JSON.stringify( val ) } is not ${ JSON.stringify( ref ) }` ) )\n\n\t\t} , ref )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for string and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_string_demo\n\t */\n\texport let $mol_data_string = ( val : string )=> {\n\t\t\n\t\tif( typeof val === 'string' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a string` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for matching to given regular expression.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_pattern_demo\n\t */\n\texport function $mol_data_pattern( pattern : RegExp ) {\n\n\t\treturn $mol_data_setup( ( val : string ) => {\n\n\t\t\tconst val2 = $mol_data_string( val )\n\t\t\tif( pattern.test( val2 ) ) return val2\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a ${ pattern }` ) )\n\n\t\t} , pattern )\n\n\t}\n\t\t\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for E-Mail and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_email_demo\n\t */\n\texport let $mol_data_email = $mol_data_pattern( /.+@.+/ )\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for instance of given class and returns narrowed type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_instance_demo\n\t */\n\texport function $mol_data_instance< Instance extends new ( ... args : any[] )=> any >( Instance : Instance ) {\n\n\t\treturn $mol_data_setup( ( val : InstanceType< Instance > ) => {\n\n\t\t\tif( val as object instanceof Instance ) return val\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a ${ Instance.name }` ) )\n\t\t\t\n\t\t} , Instance )\n\n\t}\n\t\t\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for integer and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_integer_demo\n\t */\n\texport function $mol_data_integer( val : number ) {\n\n\t\tconst val2 = $mol_data_number( val )\n\t\tif( Math.floor( val2 ) === val2 ) return val2\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an integer` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for include inside given range of values and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_range_demo\n\t */\n\texport function $mol_data_range< Value >( from: Value, to: Value ) {\n\n\t\treturn $mol_data_setup( ( val: Value ) => {\n\n\t\t\tif( val > from && val < to ) return val\n\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is out range (${ from },${to})` ) )\n\n\t\t} , [ from, to ] )\n\n\t}\n\t\t\t\t\t\n}\n","namespace $ {\n\t\n\ttype $mol_data_tagged_type< Value, Tag extends PropertyKey > = Value & { [ Key in Tag ]: Value }\n\t\n\ttype $mol_data_tagged_parser< Input, Output > = {\n\t\tValue: Output\n\t} & (\n\t\t( val: $mol_data_tagged_type< Input, never > )=> Output\n\t)\n\n\t/**\n\t * Checks for given runtype and returns tagged version of returned type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_tagged_demo\n\t */\n\texport function $mol_data_tagged<\n\t\tConfig extends Record< string, $mol_data_value >,\n\t>(\n\t\tconfig: Config\n\t) {\n\t\treturn config as any as {\n\t\t\t[ Type in keyof Config ]: $mol_data_tagged_parser<\n\t\t\t\tParameters< Config[ Type ] >[0],\n\t\t\t\t$mol_data_tagged_type< ReturnType< Config[ Type ] >, Type >\n\t\t\t>\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for null or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_nullable_demo\n\t */\n\texport function $mol_data_nullable< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters<Sub>[0] | null ) => {\n\t\t\t\n\t\t\tif( val === null ) return null\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType<Sub>\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for undefined or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_optional_demo\n\t */\n\texport function $mol_data_optional<\n\t\tSub extends $mol_data_value,\n\t\tFallback extends undefined | ( ()=> ReturnType< Sub > )\n\t>( \n\t\tsub: Sub,\n\t\tfallback?: Fallback\n\t) {\n\n\t\treturn $mol_data_setup( ( val : Parameters<Sub>[0] | undefined ) => {\n\t\t\t\n\t\t\tif( val === undefined ) {\n\t\t\t\ttype Res = Fallback extends undefined ? undefined : ReturnType< Extract< Fallback, ()=> any > >\n\t\t\t\treturn fallback?.() as Res\n\t\t\t}\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType<Sub>\n\t\t\t\n\t\t} , { sub, fallback } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for record of given fields with by its runtypes and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_record_demo\n\t */\n\texport function $mol_data_record<\n\t\tSub extends Record< string , $mol_data_value >\n\t>( sub : Sub ) {\n\n\t\ttype Input = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : Parameters< Sub[key] >[0]\n\t\t}>\n\n\t\ttype Output = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : ReturnType< Sub[key] >\n\t\t}>\n\n\t\treturn $mol_data_setup( ( val : Input ) => {\n\n\t\t\tlet res = {} as Output\n\t\t\t\n\t\t\tfor( const field in sub ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[field as any as keyof Output ] =\n\t\t\t\t\t\tsub[field]( ( val as Input )[ field as any as keyof Input ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Output >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for dictionary which maps strings to given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_dict_demo\n\t */\n\texport function $mol_data_dict< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Readonly< Record< string , ReturnType< Sub > > > ) => {\n\t\t\t\n\t\t\tif( Object.getPrototypeOf( val ) !== Object.prototype ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an Object` ) )\n\t\t\t}\n\n\t\t\tconst res = {} as Record< string , ReturnType< Sub > >\n\t\t\t\n\t\t\tfor( const field in val as Object ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[ field ] = sub( ( val as any )[ field ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Record< string , ReturnType< Sub > > >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for some of given runtype or throws error.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_variant_demo\n\t */\n\texport function $mol_data_variant< Sub extends $mol_data_value[] >( ... sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters< Sub[ number ] >[0] ) => {\n\t\t\t\n\t\t\tconst errors = [] as Error[]\n\t\t\t\n\t\t\tfor( const type of sub ) {\n\n\t\t\t\tlet hidden = $.$mol_fail_hidden\n\n\t\t\t\ttry {\n\n\t\t\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\n\t\t\t\t\treturn type( val ) as ReturnType< Sub[ number ] >\n\n\t\t\t\t} catch ( error ) {\n\n\t\t\t\t\t$.$mol_fail = hidden\n\n\t\t\t\t\tif( error instanceof $mol_data_error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${val} is not any of variants` , {}, ... errors ) )\n\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","namespace $ {\n\n\ttype Guard_value<\n\t\tFuncs extends $mol_type_unary[] ,\n\t\tIndex extends keyof Funcs\n\t> = $mol_type_param<\n\t\tIndex extends keyof $mol_type_tail< Funcs >\n\t\t\t? $mol_type_tail< Funcs >[ Index ]\n\t\t\t: any ,\n\t\t0\n\t>\n\n\ttype Guard<\n\t\tFuncs extends $mol_type_unary[]\n\t> = {\n\t\t[ Index in keyof Funcs ] : (\n\t\t\tFuncs[Index] extends $mol_type_unary_func\n\t\t\t\t? (\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t\t\t: new(\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t)\n\t}\n\n\t/**\n\t * Combines list of unary functions/classes to one function.\n\t * \n\t * \tconst reparse = $mol_data_pipe( JSON.stringify , JSON.parse )\n\t **/\n\texport function $mol_data_pipe<\n\t\tFuncs extends $mol_type_unary[]\n\t>(\n\t\t... funcs : Funcs & Guard< Funcs >\n\t) {\n\n\t\treturn $mol_data_setup(\n\t\t\tfunction( this: any, input : $mol_type_param< Funcs[0] , 0 > ) {\n\t\t\t\tlet value : any = input\n\t\t\t\tfor( const func of funcs ) value = $mol_func_is_class( func ) ? new func( value ) : ( func as any ).call( this, value )\n\t\t\t\treturn value as $mol_type_result<\n\t\t\t\t\t$mol_type_foot< Funcs >\n\t\t\t\t>\n\t\t\t},\n\t\t\t{ funcs }\n\t\t)\n\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["-","../../../../mam.ts","../../../../mol/data/setup/setup.ts","../../../../mol/fail/fail.ts","../../../../mol/func/name/name.ts","../../../../mol/error/mix/mix.ts","../../../../mol/data/error/error.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/data/array/array.ts","../../../../mol/data/boolean/boolean.ts","../../../../mol/compare/deep/deep.ts","../../../../mol/data/const/const.ts","../../../../mol/data/string/string.ts","../../../../mol/data/pattern/pattern.ts","../../../../mol/data/email/email.ts","../../../../mol/data/enum/enum.ts","../../../../mol/data/instance/instance.ts","../../../../mol/data/number/number.ts","../../../../mol/data/integer/integer.ts","../../../../mol/data/range/range.ts","../../../../mol/data/tagged/tagged.ts","../../../../mol/data/nullable/nullable.ts","../../../../mol/data/optional/optional.ts","../../../../mol/data/record/record.ts","../../../../mol/data/dict/dict.ts","../../../../mol/data/variant/variant.ts","../../../../mol/func/is/class/class.ts","../../../../mol/data/pipe/pipe.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\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\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\n\tfunction cause_serialize(cause: unknown) {\n\t\treturn JSON.stringify( cause, null, ' ' )\n\t\t\t.replace(/\\(/,'<')\n\t\t\t.replace(/\\)/,' >')\n\t}\n\n\tfunction frame_normalize(frame: string | Object) {\n\t\treturn ( typeof frame === 'string' ? frame : cause_serialize(frame) )\n\t\t\t.trim()\n\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t}\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: readonly Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst desc = Object.getOwnPropertyDescriptor( this, 'stack' )\n\t\t\tconst stack_get = ()=> desc?.get?.() ?? super.stack ?? desc?.value ?? this.message\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> stack_get() + '\\n' + [\n\t\t\t\t\t\tthis.cause ?? 'no cause',\n\t\t\t\t\t\t... this.errors.flatMap( e => [\n\t\t\t\t\t\t\tString( e.stack ),\n\t\t\t\t\t\t\t... e instanceof $mol_error_mix || ! e.cause ? [] : [ e.cause ]\n\t\t\t\t\t\t] )\n\t\t\t\t\t].map(frame_normalize).join('\\n')\n\t\t\t} )\n\n\t\t\t// в nodejs, что б не дублировалось cause в консоли\n\t\t\tObject.defineProperty(this, 'cause', {\n\t\t\t\tget: () => cause\n\t\t\t})\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters<typeof $mol_error_mix>\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_data_error extends $mol_error_mix {}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for array of given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_array_demo\n\t */\n\texport function $mol_data_array< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : readonly Parameters< Sub >[0][] ) => {\n\t\t\t\n\t\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not an array` ) )\n\t\t\t\n\t\t\treturn val.map( ( item , index )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sub( item )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ index }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t} ) as readonly ReturnType< Sub >[]\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for boolean and returns boolean type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_boolean_demo\n\t */\n\texport let $mol_data_boolean = ( val : boolean )=> {\n\t\t\n\t\tif( typeof val === 'boolean' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a boolean` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && $mol_compare_deep( left.stack, (right as any).stack )\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, right.byteOffset, right.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for equality to given value and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_const_demo\n\t */\n\texport function $mol_data_const< Val >( ref : Val ) {\n\n\t\treturn $mol_data_setup( ( val : Val ) => {\n\t\t\t\n\t\t\tif( $mol_compare_deep( val , ref ) ) return ref\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ JSON.stringify( val ) } is not ${ JSON.stringify( ref ) }` ) )\n\n\t\t} , ref )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for string and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_string_demo\n\t */\n\texport let $mol_data_string = ( val : string )=> {\n\t\t\n\t\tif( typeof val === 'string' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a string` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for matching to given regular expression.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_pattern_demo\n\t */\n\texport function $mol_data_pattern( pattern : RegExp ) {\n\n\t\treturn $mol_data_setup( ( val : string ) => {\n\n\t\t\tconst val2 = $mol_data_string( val )\n\t\t\tif( pattern.test( val2 ) ) return val2\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a ${ pattern }` ) )\n\n\t\t} , pattern )\n\n\t}\n\t\t\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for E-Mail and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_email_demo\n\t */\n\texport let $mol_data_email = $mol_data_pattern( /.+@.+/ )\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for instance of given class and returns narrowed type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_instance_demo\n\t */\n\texport function $mol_data_instance< Instance extends new ( ... args : any[] )=> any >( Instance : Instance ) {\n\n\t\treturn $mol_data_setup( ( val : InstanceType< Instance > ) => {\n\n\t\t\tif( val as object instanceof Instance ) return val\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a ${ Instance.name }` ) )\n\t\t\t\n\t\t} , Instance )\n\n\t}\n\t\t\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for integer and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_integer_demo\n\t */\n\texport function $mol_data_integer( val : number ) {\n\n\t\tconst val2 = $mol_data_number( val )\n\t\tif( Math.floor( val2 ) === val2 ) return val2\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an integer` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for include inside given range of values and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_range_demo\n\t */\n\texport function $mol_data_range< Value >( from: Value, to: Value ) {\n\n\t\treturn $mol_data_setup( ( val: Value ) => {\n\n\t\t\tif( val > from && val < to ) return val\n\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is out range (${ from },${to})` ) )\n\n\t\t} , [ from, to ] )\n\n\t}\n\t\t\t\t\t\n}\n","namespace $ {\n\t\n\ttype $mol_data_tagged_type< Value, Tag extends PropertyKey > = Value & { [ Key in Tag ]: Value }\n\t\n\ttype $mol_data_tagged_parser< Input, Output > = {\n\t\tValue: Output\n\t} & (\n\t\t( val: $mol_data_tagged_type< Input, never > )=> Output\n\t)\n\n\t/**\n\t * Checks for given runtype and returns tagged version of returned type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_tagged_demo\n\t */\n\texport function $mol_data_tagged<\n\t\tConfig extends Record< string, $mol_data_value >,\n\t>(\n\t\tconfig: Config\n\t) {\n\t\treturn config as any as {\n\t\t\t[ Type in keyof Config ]: $mol_data_tagged_parser<\n\t\t\t\tParameters< Config[ Type ] >[0],\n\t\t\t\t$mol_data_tagged_type< ReturnType< Config[ Type ] >, Type >\n\t\t\t>\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for null or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_nullable_demo\n\t */\n\texport function $mol_data_nullable< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters<Sub>[0] | null ) => {\n\t\t\t\n\t\t\tif( val === null ) return null\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType<Sub>\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for undefined or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_optional_demo\n\t */\n\texport function $mol_data_optional<\n\t\tSub extends $mol_data_value,\n\t\tFallback extends undefined | ( ()=> ReturnType< Sub > )\n\t>( \n\t\tsub: Sub,\n\t\tfallback?: Fallback\n\t) {\n\n\t\treturn $mol_data_setup( ( val : Parameters<Sub>[0] | undefined ) => {\n\t\t\t\n\t\t\tif( val === undefined ) {\n\t\t\t\ttype Res = Fallback extends undefined ? undefined : ReturnType< Extract< Fallback, ()=> any > >\n\t\t\t\treturn fallback?.() as Res\n\t\t\t}\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType<Sub>\n\t\t\t\n\t\t} , { sub, fallback } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for record of given fields with by its runtypes and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_record_demo\n\t */\n\texport function $mol_data_record<\n\t\tSub extends Record< string , $mol_data_value >\n\t>( sub : Sub ) {\n\n\t\ttype Input = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : Parameters< Sub[key] >[0]\n\t\t}>\n\n\t\ttype Output = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : ReturnType< Sub[key] >\n\t\t}>\n\n\t\treturn $mol_data_setup( ( val : Input ) => {\n\n\t\t\tlet res = {} as Output\n\t\t\t\n\t\t\tfor( const field in sub ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[field as any as keyof Output ] =\n\t\t\t\t\t\tsub[field]( ( val as Input )[ field as any as keyof Input ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Output >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for dictionary which maps strings to given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_dict_demo\n\t */\n\texport function $mol_data_dict< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Readonly< Record< string , ReturnType< Sub > > > ) => {\n\t\t\t\n\t\t\tif( Object.getPrototypeOf( val ) !== Object.prototype ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an Object` ) )\n\t\t\t}\n\n\t\t\tconst res = {} as Record< string , ReturnType< Sub > >\n\t\t\t\n\t\t\tfor( const field in val as Object ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[ field ] = sub( ( val as any )[ field ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Record< string , ReturnType< Sub > > >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for some of given runtype or throws error.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_variant_demo\n\t */\n\texport function $mol_data_variant< Sub extends $mol_data_value[] >( ... sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters< Sub[ number ] >[0] ) => {\n\t\t\t\n\t\t\tconst errors = [] as Error[]\n\t\t\t\n\t\t\tfor( const type of sub ) {\n\n\t\t\t\tlet hidden = $.$mol_fail_hidden\n\n\t\t\t\ttry {\n\n\t\t\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\n\t\t\t\t\treturn type( val ) as ReturnType< Sub[ number ] >\n\n\t\t\t\t} catch ( error ) {\n\n\t\t\t\t\t$.$mol_fail = hidden\n\n\t\t\t\t\tif( error instanceof $mol_data_error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${val} is not any of variants` , {}, ... errors ) )\n\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","namespace $ {\n\n\ttype Guard_value<\n\t\tFuncs extends $mol_type_unary[] ,\n\t\tIndex extends keyof Funcs\n\t> = $mol_type_param<\n\t\tIndex extends keyof $mol_type_tail< Funcs >\n\t\t\t? $mol_type_tail< Funcs >[ Index ]\n\t\t\t: any ,\n\t\t0\n\t>\n\n\ttype Guard<\n\t\tFuncs extends $mol_type_unary[]\n\t> = {\n\t\t[ Index in keyof Funcs ] : (\n\t\t\tFuncs[Index] extends $mol_type_unary_func\n\t\t\t\t? (\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t\t\t: new(\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t)\n\t}\n\n\t/**\n\t * Combines list of unary functions/classes to one function.\n\t * \n\t * \tconst reparse = $mol_data_pipe( JSON.stringify , JSON.parse )\n\t **/\n\texport function $mol_data_pipe<\n\t\tFuncs extends $mol_type_unary[]\n\t>(\n\t\t... funcs : Funcs & Guard< Funcs >\n\t) {\n\n\t\treturn $mol_data_setup(\n\t\t\tfunction( this: any, input : $mol_type_param< Funcs[0] , 0 > ) {\n\t\t\t\tlet value : any = input\n\t\t\t\tfor( const func of funcs ) value = $mol_func_is_class( func ) ? new func( value ) : ( func as any ).call( this, value )\n\t\t\t\treturn value as $mol_type_result<\n\t\t\t\t\t$mol_type_foot< Funcs >\n\t\t\t\t>\n\t\t\t},\n\t\t\t{ funcs }\n\t\t)\n\n\t}\n\n}\n"]}
|
package/node.mjs
CHANGED
|
@@ -113,7 +113,7 @@ var $;
|
|
|
113
113
|
get: () => stack_get() + '\n' + [
|
|
114
114
|
this.cause ?? 'no cause',
|
|
115
115
|
...this.errors.flatMap(e => [
|
|
116
|
-
e.stack,
|
|
116
|
+
String(e.stack),
|
|
117
117
|
...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
|
|
118
118
|
])
|
|
119
119
|
].map(frame_normalize).join('\n')
|
|
@@ -220,7 +220,7 @@ var $;
|
|
|
220
220
|
if (left instanceof RegExp)
|
|
221
221
|
return left.source === right.source && left.flags === right.flags;
|
|
222
222
|
if (left instanceof Error)
|
|
223
|
-
return left.message === right.message && left.stack
|
|
223
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
224
224
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
225
225
|
if (left_cache) {
|
|
226
226
|
const right_cache = left_cache.get(right);
|
package/node.test.js
CHANGED
|
@@ -104,7 +104,7 @@ var $;
|
|
|
104
104
|
get: () => stack_get() + '\n' + [
|
|
105
105
|
this.cause ?? 'no cause',
|
|
106
106
|
...this.errors.flatMap(e => [
|
|
107
|
-
e.stack,
|
|
107
|
+
String(e.stack),
|
|
108
108
|
...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
|
|
109
109
|
])
|
|
110
110
|
].map(frame_normalize).join('\n')
|
|
@@ -211,7 +211,7 @@ var $;
|
|
|
211
211
|
if (left instanceof RegExp)
|
|
212
212
|
return left.source === right.source && left.flags === right.flags;
|
|
213
213
|
if (left instanceof Error)
|
|
214
|
-
return left.message === right.message && left.stack
|
|
214
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
215
215
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
216
216
|
if (left_cache) {
|
|
217
217
|
const right_cache = left_cache.get(right);
|
|
@@ -751,6 +751,32 @@ var $;
|
|
|
751
751
|
$.$mol_fail_catch = $mol_fail_catch;
|
|
752
752
|
})($ || ($ = {}));
|
|
753
753
|
|
|
754
|
+
;
|
|
755
|
+
"use strict";
|
|
756
|
+
var $;
|
|
757
|
+
(function ($) {
|
|
758
|
+
function $mol_try(handler) {
|
|
759
|
+
try {
|
|
760
|
+
return handler();
|
|
761
|
+
}
|
|
762
|
+
catch (error) {
|
|
763
|
+
return error;
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
$.$mol_try = $mol_try;
|
|
767
|
+
})($ || ($ = {}));
|
|
768
|
+
|
|
769
|
+
;
|
|
770
|
+
"use strict";
|
|
771
|
+
var $;
|
|
772
|
+
(function ($) {
|
|
773
|
+
$mol_test({
|
|
774
|
+
'return result without errors'() {
|
|
775
|
+
$mol_assert_equal($mol_try(() => false), false);
|
|
776
|
+
},
|
|
777
|
+
});
|
|
778
|
+
})($ || ($ = {}));
|
|
779
|
+
|
|
754
780
|
;
|
|
755
781
|
"use strict";
|
|
756
782
|
var $;
|
|
@@ -760,7 +786,7 @@ var $;
|
|
|
760
786
|
return false;
|
|
761
787
|
if (!$mol_fail_catch(error))
|
|
762
788
|
return false;
|
|
763
|
-
|
|
789
|
+
$mol_try(() => { $mol_fail_hidden(error); });
|
|
764
790
|
return true;
|
|
765
791
|
}
|
|
766
792
|
$.$mol_fail_log = $mol_fail_log;
|
|
@@ -1183,6 +1209,17 @@ var $;
|
|
|
1183
1209
|
$.$mol_dev_format_register = $mol_dev_format_register;
|
|
1184
1210
|
$.$mol_dev_format_head = Symbol('$mol_dev_format_head');
|
|
1185
1211
|
$.$mol_dev_format_body = Symbol('$mol_dev_format_body');
|
|
1212
|
+
function $mol_dev_format_button(label, click) {
|
|
1213
|
+
return $mol_dev_format_auto({
|
|
1214
|
+
[$.$mol_dev_format_head]() {
|
|
1215
|
+
return $mol_dev_format_span({ color: 'cornflowerblue' }, label);
|
|
1216
|
+
},
|
|
1217
|
+
[$.$mol_dev_format_body]() {
|
|
1218
|
+
Promise.resolve().then(click);
|
|
1219
|
+
return $mol_dev_format_span({});
|
|
1220
|
+
}
|
|
1221
|
+
});
|
|
1222
|
+
}
|
|
1186
1223
|
$mol_dev_format_register({
|
|
1187
1224
|
header: (val, config = false) => {
|
|
1188
1225
|
if (config)
|
|
@@ -1200,13 +1237,41 @@ var $;
|
|
|
1200
1237
|
if (typeof val === 'function') {
|
|
1201
1238
|
return $mol_dev_format_native(val);
|
|
1202
1239
|
}
|
|
1240
|
+
if (Error.isError(val)) {
|
|
1241
|
+
return $mol_dev_format_span({}, $mol_dev_format_native(val), ' ', $mol_dev_format_button('throw', () => $mol_fail_hidden(val)));
|
|
1242
|
+
}
|
|
1243
|
+
if (val instanceof Promise) {
|
|
1244
|
+
return $.$mol_dev_format_shade($mol_dev_format_native(val), ' ', val[Symbol.toStringTag] ?? '');
|
|
1245
|
+
}
|
|
1203
1246
|
if (Symbol.toStringTag in val) {
|
|
1204
1247
|
return $mol_dev_format_native(val);
|
|
1205
1248
|
}
|
|
1206
1249
|
return null;
|
|
1207
1250
|
},
|
|
1208
|
-
hasBody: val =>
|
|
1209
|
-
|
|
1251
|
+
hasBody: (val, config = false) => {
|
|
1252
|
+
if (config)
|
|
1253
|
+
return false;
|
|
1254
|
+
if (!val)
|
|
1255
|
+
return false;
|
|
1256
|
+
if (val[$.$mol_dev_format_body])
|
|
1257
|
+
return true;
|
|
1258
|
+
return false;
|
|
1259
|
+
},
|
|
1260
|
+
body: (val, config = false) => {
|
|
1261
|
+
if (config)
|
|
1262
|
+
return null;
|
|
1263
|
+
if (!val)
|
|
1264
|
+
return null;
|
|
1265
|
+
if ($.$mol_dev_format_body in val) {
|
|
1266
|
+
try {
|
|
1267
|
+
return val[$.$mol_dev_format_body]();
|
|
1268
|
+
}
|
|
1269
|
+
catch (error) {
|
|
1270
|
+
return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
return null;
|
|
1274
|
+
},
|
|
1210
1275
|
});
|
|
1211
1276
|
function $mol_dev_format_native(obj) {
|
|
1212
1277
|
if (typeof obj === 'undefined')
|
|
@@ -1272,6 +1337,69 @@ var $;
|
|
|
1272
1337
|
$.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
|
|
1273
1338
|
'margin-left': '13px'
|
|
1274
1339
|
});
|
|
1340
|
+
class Stack extends Array {
|
|
1341
|
+
toString() {
|
|
1342
|
+
return this.join('\n');
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
class Call extends Object {
|
|
1346
|
+
type;
|
|
1347
|
+
function;
|
|
1348
|
+
method;
|
|
1349
|
+
eval;
|
|
1350
|
+
source;
|
|
1351
|
+
offset;
|
|
1352
|
+
pos;
|
|
1353
|
+
object;
|
|
1354
|
+
flags;
|
|
1355
|
+
[Symbol.toStringTag];
|
|
1356
|
+
constructor(call) {
|
|
1357
|
+
super();
|
|
1358
|
+
this.type = call.getTypeName() ?? '';
|
|
1359
|
+
this.function = call.getFunctionName() ?? '';
|
|
1360
|
+
this.method = call.getMethodName() ?? '';
|
|
1361
|
+
if (this.method === this.function)
|
|
1362
|
+
this.method = '';
|
|
1363
|
+
this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
|
|
1364
|
+
this.eval = call.getEvalOrigin() ?? '';
|
|
1365
|
+
this.source = call.getScriptNameOrSourceURL() ?? '';
|
|
1366
|
+
this.object = call.getThis();
|
|
1367
|
+
this.offset = call.getPosition();
|
|
1368
|
+
const flags = [];
|
|
1369
|
+
if (call.isAsync())
|
|
1370
|
+
flags.push('async');
|
|
1371
|
+
if (call.isConstructor())
|
|
1372
|
+
flags.push('constructor');
|
|
1373
|
+
if (call.isEval())
|
|
1374
|
+
flags.push('eval');
|
|
1375
|
+
if (call.isNative())
|
|
1376
|
+
flags.push('native');
|
|
1377
|
+
if (call.isPromiseAll())
|
|
1378
|
+
flags.push('PromiseAll');
|
|
1379
|
+
if (call.isToplevel())
|
|
1380
|
+
flags.push('top');
|
|
1381
|
+
this.flags = flags;
|
|
1382
|
+
const type = this.type ? this.type + '.' : '';
|
|
1383
|
+
const func = this.function || '<anon>';
|
|
1384
|
+
const method = this.method ? ' [' + this.method + '] ' : '';
|
|
1385
|
+
this[Symbol.toStringTag] = `${type}${func}${method}`;
|
|
1386
|
+
}
|
|
1387
|
+
[Symbol.toPrimitive]() {
|
|
1388
|
+
return this.toString();
|
|
1389
|
+
}
|
|
1390
|
+
toString() {
|
|
1391
|
+
const object = this.object || '';
|
|
1392
|
+
const label = this[Symbol.toStringTag];
|
|
1393
|
+
const source = `${this.source}:${this.pos.join(':')} #${this.offset}`;
|
|
1394
|
+
return `\tat ${object}${label} (${source})`;
|
|
1395
|
+
}
|
|
1396
|
+
[$.$mol_dev_format_head]() {
|
|
1397
|
+
return $.$mol_dev_format_div({}, $mol_dev_format_native(this), $.$mol_dev_format_shade(' '), ...this.object ? [
|
|
1398
|
+
$mol_dev_format_native(this.object),
|
|
1399
|
+
] : [], ...this.method ? [$.$mol_dev_format_shade(' ', ' [', this.method, ']')] : [], $.$mol_dev_format_shade(' ', this.flags.join(', ')));
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
Error.prepareStackTrace ??= (error, stack) => new Stack(...stack.map(call => new Call(call)));
|
|
1275
1403
|
})($ || ($ = {}));
|
|
1276
1404
|
|
|
1277
1405
|
;
|
|
@@ -3358,7 +3486,7 @@ var $;
|
|
|
3358
3486
|
catch (error) {
|
|
3359
3487
|
$.$mol_fail = fail;
|
|
3360
3488
|
if (typeof ErrorRight === 'string') {
|
|
3361
|
-
$mol_assert_equal(error.message, ErrorRight);
|
|
3489
|
+
$mol_assert_equal(error.message ?? error, ErrorRight);
|
|
3362
3490
|
}
|
|
3363
3491
|
else {
|
|
3364
3492
|
$mol_assert_equal(error instanceof ErrorRight, true);
|
|
@@ -3382,7 +3510,7 @@ var $;
|
|
|
3382
3510
|
continue;
|
|
3383
3511
|
if (!$mol_compare_deep(args[i], args[j]))
|
|
3384
3512
|
continue;
|
|
3385
|
-
$mol_fail(new Error(`
|
|
3513
|
+
return $mol_fail(new Error(`Uniquesess assertion failure`, { cause: { [i]: args[i], [i]: args[i] } }));
|
|
3386
3514
|
}
|
|
3387
3515
|
}
|
|
3388
3516
|
}
|
|
@@ -3393,29 +3521,10 @@ var $;
|
|
|
3393
3521
|
continue;
|
|
3394
3522
|
if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
|
|
3395
3523
|
continue;
|
|
3396
|
-
return $mol_fail(new Error(`args[0]
|
|
3524
|
+
return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
|
|
3397
3525
|
}
|
|
3398
3526
|
}
|
|
3399
3527
|
$.$mol_assert_equal = $mol_assert_equal;
|
|
3400
|
-
const print = (val) => {
|
|
3401
|
-
if (!val)
|
|
3402
|
-
return val;
|
|
3403
|
-
if (typeof val === 'bigint')
|
|
3404
|
-
return String(val) + 'n';
|
|
3405
|
-
if (typeof val === 'symbol')
|
|
3406
|
-
return `Symbol(${val.description})`;
|
|
3407
|
-
if (typeof val !== 'object')
|
|
3408
|
-
return val;
|
|
3409
|
-
if ('outerHTML' in val)
|
|
3410
|
-
return val.outerHTML;
|
|
3411
|
-
try {
|
|
3412
|
-
return JSON.stringify(val, (k, v) => typeof v === 'bigint' ? String(v) : v, '\t');
|
|
3413
|
-
}
|
|
3414
|
-
catch (error) {
|
|
3415
|
-
console.error(error);
|
|
3416
|
-
return val;
|
|
3417
|
-
}
|
|
3418
|
-
};
|
|
3419
3528
|
})($ || ($ = {}));
|
|
3420
3529
|
|
|
3421
3530
|
;
|