mol_tree2 1.0.1292 → 1.0.1294
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.d.ts +1 -0
- package/node.d.ts.map +1 -1
- package/node.deps.json +1 -1
- package/node.js +5 -0
- package/node.js.map +1 -1
- package/node.mjs +5 -0
- package/node.test.js +5 -0
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.d.ts +1 -0
- package/web.d.ts.map +1 -1
- package/web.deps.json +1 -1
- package/web.js +5 -0
- package/web.js.map +1 -1
- package/web.mjs +5 -0
package/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["-","../../../../mam.ts","../../../../mol/ambient/ambient.ts","../../../../mol/delegate/delegate.ts","../../../../mol/owning/owning.ts","../../../../mol/fail/fail.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/func/name/name.ts","../../../../mol/object2/object2.ts","../../../../mol/span/span.ts","../../../../mol/error/syntax/syntax.ts","../../../../mol/tree2/from/string/string.ts","../../../../mol/tree2/to/string/string.ts","../../../../mol/maybe/maybe.ts","../../../../mol/tree2/tree2.ts","../../../../mol/tree2/from/json/json.ts","../../../../mol/tree2/js/is/number/number.ts","../../../../mol/tree2/js/to/text/text.ts","../../../../mol/tree2/span/imprint/imprint.ts","../../../../mol/tree2/span/reuse/reuse.ts","../../../../mol/tree2/text/to/string/string.ts","../../../../mol/vlq/vlq.ts","../../../../mol/tree2/text/to/sourcemap/sourcemap.ts","../../../../mol/sourcemap/url/url.ts","../../../../mol/sourcemap/dataurl/dataurl.ts","../../../../mol/tree2/text/to/string/mapped/mapped.ts","../../../../mol/guard/defined.ts","../../../../mol/tree2/text/to/sourcemap/vis/vis.ts","../../../../mol/tree2/to/json/json.ts","../../../../mol/tree2/to/stream/stream.ts","../../../../mol/tree2/xml/from/dom/dom.ts","../../../../mol/html/encode/encode.ts","../../../../mol/tree2/xml/to/text/text.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\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\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\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\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\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || (this.constructor as { $?: $ }).$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\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 ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\t\t\treturn this.update( $mol_maybe( value ), ... path )[0]\n\t\t}\n\n\t\t/** Makes new tree with node overrided by path. */\n\t\tupdate( value : readonly $mol_tree2[] , ...path : $mol_tree2_path ) : readonly $mol_tree2[] {\n\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.flatMap( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.update( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( ... this.struct( type , [] ).update( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ this.clone( sub ) ]\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst ins = ( this.kids[ type ] || this.list([]) )\n\t\t\t\t\t.update( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn [ this.clone([\n\t\t\t\t\t... this.kids.slice( 0, type ),\n\t\t\t\t\t... ins,\n\t\t\t\t\t... this.kids.slice( type + 1 ),\n\t\t\t\t]) ]\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t\t.flatMap( item => item.update( value , ... path.slice( 1 ) ) )\n\n\t\t\t\treturn [ this.clone( kids ) ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_tree2_js_is_number(type: string) {\n\t\treturn type.match(/[\\+\\-]*NaN/) || !Number.isNaN( Number( type ) )\n\t}\n}\n","namespace $ {\n\n\tfunction is_identifier( tree: $mol_tree2 ) {\n\t\tif( tree.type ) return false\n\t\treturn /^[a-z_$][a-z_$0-9]*$/i.test( tree.text() )\n\t}\n\n\texport function $mol_tree2_js_to_text( this: $, js: $mol_tree2 ) {\n\n\t\tfunction sequence( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\tinput.struct( separator && input.kids.length > 2 ? 'indent' : 'line',\n\t\t\t\t\t\t( [] as $mol_tree2[] ).concat(\n\t\t\t\t\t\t\t... input.kids.map( ( kid, index ) => [\n\t\t\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\t... ( separator && index < input.kids.length - 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction block( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t... input.kids.length === 0 ? [] : [ input.struct( 'indent',\n\t\t\t\t\tinput.kids.map( ( kid, index ) =>\n\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t... ( separator ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t] ),\n\t\t\t\t\t),\n\t\t\t\t) ],\n\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t]\n\t\t}\n\n\t\tfunction duplet( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator && input.kids.length > 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction triplet( open?: string, separator12?: string, separator23?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator12 && input.kids.length > 1 ) ? [ input.data( separator12 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... ( separator23 && input.kids.length > 2 ) ? [ input.data( separator23 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 2, 3 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\treturn js.list( js.hack({\n\n\t\t\t'+': sequence( '+' ),\n\t\t\t'-': sequence( '-' ),\n\t\t\t'!': sequence( '!' ),\n\t\t\t'~': sequence( '~' ),\n\n\t\t\t'return': sequence( 'return ' ),\n\t\t\t'break': sequence( 'break ' ),\n\t\t\t'continue': sequence( 'continue ' ),\n\t\t\t'yield': sequence( 'yield ' ),\n\t\t\t'yield*': sequence( 'yield* ' ),\n\t\t\t'await': sequence( 'await ' ),\n\t\t\t'void': sequence( 'void ' ),\n\t\t\t'delete': sequence( 'delete ' ),\n\t\t\t'typeof': sequence( 'typeof ' ),\n\t\t\t'new': sequence( 'new ' ),\n\t\t\t'...': sequence( '...' ),\n\n\t\t\t'@++': sequence( '', '', '++' ),\n\t\t\t'@--': sequence( '', '', '--' ),\n\t\t\t\n\t\t\t'(in)': sequence( '(', ' in ', ')' ),\n\t\t\t'(instanceof)': sequence( '(', ' instanceof ', ')' ),\n\n\t\t\t'(+)': sequence( '(', ' + ', ')' ),\n\t\t\t'(-)': sequence( '(', ' - ', ')' ),\n\t\t\t'(*)': sequence( '(', ' * ', ')' ),\n\t\t\t'(/)': sequence( '(', ' / ', ')' ),\n\t\t\t'(%)': sequence( '(', ' % ', ')' ),\n\t\t\t'(**)': sequence( '(', ' ** ', ')' ),\n\t\t\t\n\t\t\t'(<)': sequence( '(', ' < ', ')' ),\n\t\t\t'(<=)': sequence( '(', ' <= ', ')' ),\n\t\t\t'(>)': sequence( '(', ' > ', ')' ),\n\t\t\t'(>=)': sequence( '(', ' >= ', ')' ),\n\t\t\t'(==)': sequence( '(', ' == ', ')' ),\n\t\t\t'(!=)': sequence( '(', ' != ', ')' ),\n\t\t\t'(===)': sequence( '(', ' === ', ')' ),\n\t\t\t'(!==)': sequence( '(', ' !== ', ')' ),\n\t\t\t\n\t\t\t'(<<)': sequence( '(', ' << ', ')' ),\n\t\t\t'(>>)': sequence( '(', ' >> ', ')' ),\n\t\t\t'(>>>)': sequence( '(', ' >>> ', ')' ),\n\t\t\t'(&)': sequence( '(', ' & ', ')' ),\n\t\t\t'(|)': sequence( '(', ' | ', ')' ),\n\t\t\t'(^)': sequence( '(', ' ^ ', ')' ),\n\t\t\t\n\t\t\t'(&&)': sequence( '(', ' && ', ')' ),\n\t\t\t'(||)': sequence( '(', ' || ', ')' ),\n\t\t\t'(,)': sequence( '(', ', ', ')' ),\n\t\t\t'{;}': block( '{', ';', '}' ),\n\t\t\t';': block( '', ';', '' ),\n\t\t\t'[,]': sequence( '[', ', ', ']' ),\n\t\t\t'{,}': sequence( '{', ', ', '}' ),\n\n\t\t\t'()': sequence( '(', '', ')' ),\n\t\t\t'{}': block( '{', '', '}' ),\n\t\t\t\n\t\t\t'[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( !is_identifier( first ) ) return sequence( '[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t'?.[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( !is_identifier( first ) ) return sequence( '?.[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '?.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t':': ( input, belt )=> input.kids[0].type\n\t\t\t\t? duplet( '[', ']: ' )( input, belt )\n\t\t\t\t: duplet( '', ': ' )( input, belt ),\n\t\t\t\n\t\t\t'let': duplet( 'let ', ' = ' ),\n\t\t\t'const': duplet( 'const ', ' = ' ),\n\t\t\t'var': duplet( 'var ', ' = ' ),\n\n\t\t\t'=': duplet( '', ' = ' ),\n\t\t\t'+=': duplet( '', ' += ' ),\n\t\t\t'-=': duplet( '', ' -= ' ),\n\t\t\t'*=': duplet( '', ' *= ' ),\n\t\t\t'/=': duplet( '', ' /= ' ),\n\t\t\t'%=': duplet( '', ' %= ' ),\n\t\t\t'**=': duplet( '', ' **= ' ),\n\t\t\t'<<=': duplet( '', ' <<= ' ),\n\t\t\t'>>=': duplet( '', ' >>= ' ),\n\t\t\t'>>>=': duplet( '', ' >>>= ' ),\n\t\t\t'&=': duplet( '', ' &= ' ),\n\t\t\t'|=': duplet( '', ' |= ' ),\n\t\t\t'^=': duplet( '', ' ^= ' ),\n\t\t\t'&&=': duplet( '', ' &&= ' ),\n\t\t\t'||=': duplet( '', ' ||= ' ),\n\n\t\t\t'=>': duplet( '', ' => ' ),\n\t\t\t'async=>': duplet( 'async ', ' => ' ),\n\t\t\t'function': triplet( 'function ' ),\n\t\t\t'function*': triplet( 'function* ' ),\n\t\t\t'async': triplet( 'async function ' ),\n\t\t\t'async*': triplet( 'async function* ' ),\n\n\t\t\t'class': triplet( 'class ', ' ' ),\n\t\t\t'extends': sequence( 'extends ', '', ' ' ),\n\n\t\t\t'if': triplet( 'if', ' ', 'else' ),\n\t\t\t'?:': triplet( '', ' ? ', ' : ' ),\n\n\t\t\t'.': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( !is_identifier( first ) ) return triplet( '[', ']' )( input, belt )\n\t\t\t\telse return [\n\t\t\t\t\tinput.data( first.text() ),\n\t\t\t\t\t... input.list( input.kids.slice(1) ).hack( belt ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'get': triplet( 'get [', ']' ),\n\t\t\t'set': triplet( 'set [', ']' ),\n\t\t\t'static': triplet( 'static [', ']' ),\n\t\t\t\n\t\t\t'/./': sequence(),\n\t\t\t'.global': sequence( 'g' ),\n\t\t\t'.multiline': sequence( 'm' ),\n\t\t\t'.ignoreCase': sequence( 'i' ),\n\t\t\t'.source': ( input, belt )=> [\n\t\t\t\tinput.data( '/' ),\n\t\t\t\tinput.data( JSON.stringify( input.text() ).slice( 1, -1 ) ),\n\t\t\t\tinput.data( '/' ),\n\t\t\t],\n\n\t\t\t'``': ( input, belt )=> {\n\t\t\t\treturn [\n\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t\t... ( [] as $mol_tree2[] ).concat( ... input.kids.map( kid => {\n\t\t\t\t\t\t\tif( kid.type ) {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tkid.data( '${' ),\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\tkid.data( '}' ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tinput.data( JSON.stringify( kid.text() ).slice( 1, -1 ) ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t] ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t// string\n\t\t\t\tif( !input.type ) return [\n\t\t\t\t\tinput.data( JSON.stringify( input.text() ) ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// variable\n\t\t\t\tif( /^[\\w$#][\\w0-9$]*$/i.test( input.type ) ) return [\n\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t// ... input.hack( context ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// number\n\t\t\t\tif( $mol_tree2_js_is_number(input.type) ) return [\n\t\t\t\t\tinput.data( input.type )\n\t\t\t\t]\n\n\t\t\t\t$mol_fail( new SyntaxError( `Wrong node type` ) )\n\n\t\t\t},\n\n\t\t}) )\n\n\t}\n\n}\n","namespace $ {\n\texport function $mol_tree2_span_imprint( tree: $mol_tree2 ) {\n\n\t\tconst sources = new Map< string, $mol_tree2 >()\n\n\t\tconst res = tree.clone( tree.hack({\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\tif( !sources.has( input.span.uri ) ) {\n\t\t\t\t\tsources.set( input.span.uri,\n\t\t\t\t\t\ttree.struct( input.span.uri, [\n\t\t\t\t\t\t\ttree.data( input.span.source )\n\t\t\t\t\t\t] ),\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\tinput.clone([\n\t\t\t\t\t\tinput.data( input.span.toString() ),\n\t\t\t\t\t\t... input.hack( belt ),\n\t\t\t\t\t]),\n\t\t\t\t]\n\n\t\t\t},\n\t\t}) )\n\n\t\treturn tree.clone([\n\t\t\t... sources.values(),\n\t\t\tres,\n\t\t])\n\n\t}\n}\n","namespace $ {\n\texport function $mol_tree2_span_reuse( tree: $mol_tree2 ) {\n\t\t\n\t\tconst sources = new Map< string, string >()\n\n\t\treturn tree.clone(\n\t\t\ttree.hack({\n\t\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t\tif( input.type ) {\n\t\t\t\t\t\tsources.set( input.type, input.kids[0].text() )\n\t\t\t\t\t\treturn []\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn input.hack({\n\t\t\t\t\t\t'': ( input, belt )=> {\n\t\t\t\t\t\t\tconst kids = input.list( input.kids.slice(1) ).hack( belt )\n\t\t\t\t\t\t\tconst [ _, uri, row, col, length ] = /^(.*)#(\\d+):(\\d+)\\/(\\d+)$/.exec( input.kids[0].text() )!\n\t\t\t\t\t\t\tconst span = new $mol_span( uri, sources.get( uri )!, Number( row ), Number( col ), Number( length ) )\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tnew $mol_tree2( input.type , input.value , kids, span ),\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string( this: $, text: $mol_tree2 ) {\n\n\t\tlet res = ''\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: string, inline: boolean ) {\n\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tif( inline ) res += '\\n'\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + '\\t', false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) res += prefix\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tres += text.text()\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let kid of text.kids ) {\n\t\t\tvisit( kid, '', false )\n\t\t}\n\t\t\n\t\treturn res\n\t}\n\n}\n","namespace $ {\n\n\tconst alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\n\texport function $mol_vlq_encode( val: number ): string {\n\n\t\tconst sign = val < 0 ? 1 : 0\n\t\tif( sign ) val = -val\n\n\t\tlet index = sign | ( ( val & 0b1111 ) << 1 )\n\t\tval >>>= 4\n\t\t\n\t\tlet res = ''\n\n\t\twhile( val ) {\n\n\t\t\tindex |= 1 << 5\n\t\t\tres += alphabet[ index ]\n\t\t\t\n\t\t\tif( !val ) break\n\t\t\t\n\t\t\tindex = val & 0b11111\n\t\t\tval >>>= 5\n\t\t\t\n\t\t}\n\n\t\tres += alphabet[ index ]\n\n\t\treturn res\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap( this: $, tree: $mol_tree2 ) {\n\n\t\tlet col = 1\n\t\tlet prev_span: $mol_span | undefined\n\t\tlet prev_index = 0\n\t\tlet prev_col = 1\n\t\tlet mappings = ''\n\t\tlet line = [] as string[]\n\n\t\tconst file_indexes = new Map< string, number >()\n\t\tconst file_sources = new Map< string, string >()\n\n\t\tfunction span2index( span: $mol_span ) {\n\t\t\tif( file_indexes.has( span.uri ) ) return file_indexes.get( span.uri )!\n\t\t\tconst index = file_indexes.size\n\t\t\tfile_indexes.set( span.uri, index )\n\t\t\tfile_sources.set( span.uri, span.source )\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tfunction next_line() {\n\t\t\tif( !line.length ) return\n\t\t\tmappings += line.join(',') + ';'\n\t\t\tline = []\n\t\t\tcol = 1\n\t\t\tprev_col = 1\n\t\t}\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: number, inline: boolean ) {\n\n\t\t\tfunction indent() {\n\t\t\t\tcol += prefix\n\t\t\t}\n\t\n\t\t\tif( inline && text.type === 'indent' ) next_line()\n\t\t\t\n\t\t\tif( prev_span !== text.span || col === 1 ) {\n\n\t\t\t\tconst index = span2index( text.span )\n\t\t\t\t\n\t\t\t\tline.push(\n\t\t\t\t\t$mol_vlq_encode( col - prev_col ) + \n\t\t\t\t\t$mol_vlq_encode( index - prev_index ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.row - ( prev_span?.row ?? 1 ) ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.col - ( prev_span?.col ?? 1 ) )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tprev_col = col\n\t\t\t\tprev_span = text.span\n\t\t\t\tprev_index = index\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + 1, false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) next_line()\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tcol += text.text().length\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tfor( let kid of tree.kids ) {\n\t\t\tvisit( kid, 0, false )\n\t\t}\n\t\tnext_line()\n\t\t\n\t\tconst map: $mol_sourcemap_raw = {\n\t\t\tversion: 3,\n\t\t\tsources: [ ... file_sources.keys() ],\n\t\t\tsourcesContent: [ ... file_sources.values() ],\n\t\t\tmappings,\n\t\t}\n\n\t\treturn map\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_sourcemap_url(this: $, uri: string, type = 'js' as 'js' | 'css') {\n\t\tif (type === 'css') return `\\n/*# sourceMappingURL=${uri}*/`\n\t\treturn `\\n//# sourceMappingURL=${uri}`\n\t}\n\n}\n","namespace $ {\n\n\tconst prefix = '# sourceMappingURL=data:application/json,'\n\tconst end_comment = ' */'\n\n\texport function $mol_sourcemap_dataurl_decode(this: $, data: string) {\n\t\tconst index = data.lastIndexOf(prefix)\n\n\t\tif (index === -1) return undefined\n\n\t\tdata = data.substring(index + prefix.length)\n\n\t\tif (data.endsWith(end_comment)) data = data.substring(0, data.length - end_comment.length)\n\n\t\tconst decoded = this.decodeURIComponent(data)\n\n\t\ttry {\n\t\t\tconst map = JSON.parse(decoded) as $mol_sourcemap_raw | null\n\n\t\t\tif (! map) return undefined\n\n\t\t\tif (typeof map.mappings === 'string' && map.mappings.startsWith(';;')) {\n\t\t\t\tmap.mappings = map.mappings.substring(2)\n\t\t\t}\n\n\t\t\treturn map\n\t\t} catch (e) {\n\t\t\tif (e instanceof Error) e.message += ', origin=' + decoded\n\t\t\t$mol_fail_hidden(e)\n\t\t}\n\t}\n\n\texport function $mol_sourcemap_dataurl_encode(this: $, map: $mol_sourcemap_raw, type = 'js' as 'js' | 'css') {\n\t\tconst str = JSON.stringify( { ...map, mappings: ';;' + map.mappings } )\n\n\t\treturn this.$mol_sourcemap_url('data:application/json,' + this.encodeURIComponent( str ), type)\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string_mapped( this: $, text: $mol_tree2, type: 'js' | 'css' ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\n\t\tconst chunk = this.$mol_sourcemap_dataurl_encode( map, type )\n\t\treturn code + chunk\n\t}\n\n\texport function $mol_tree2_text_to_string_mapped_js( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'js' )\n\t}\n\t\n\texport function $mol_tree2_text_to_string_mapped_css( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'css')\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_guard_defined<T>(value: T): value is NonNullable<T> {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap_vis( this: $, text: $mol_tree2 ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\t\t\n\t\tconst uri = [\n\t\t\t'https://sokra.github.io/source-map-visualization/#base64',\n\t\t\tbtoa( code ),\n\t\t\tbtoa( JSON.stringify( map ) ),\n\t\t\t... map.sourcesContent?.filter($mol_guard_defined).map( btoa ) ?? [],\n\t\t].join( ',' )\n\n\t\treturn uri\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Makes JSON from json.tree. */\n\texport function $mol_tree2_to_json(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t): unknown {\n\n\t\tif( !tree.type ) {\n\t\t\tif( tree.kids.every( kid => !kid.type ) ) return tree.text()\n\t\t\tif( tree.kids.length !== 1 ) this.$mol_fail( new Error( `Multiple json root at ${tree.span}` ) )\n\t\t\treturn this.$mol_tree2_to_json(tree.kids[0] )\n\t\t}\n\t\t\n\t\tif( tree.type === '-' ) return undefined\n\t\tif( tree.type === 'true' ) return true\n\t\tif( tree.type === 'false' ) return false\n\t\tif( tree.type === 'null' ) return null\n\t\t\n\t\tif( tree.type === '*' ) {\n\t\t\t\n\t\t\tconst obj = {} as Record< string, unknown >\n\t\t\t\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\tif( kid.type === '-' ) continue\n\t\t\t\t\n\t\t\t\tconst key = kid.type || kid.clone( kid.kids.slice( 0, -1 ) ).text()\n\t\t\t\tconst val = this.$mol_tree2_to_json( kid.kids[ kid.kids.length - 1 ] )\n\t\t\t\t\n\t\t\t\tif( val !== undefined ) obj[ key ] = val\n\t\t\t}\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tif( tree.type === '/' ) {\n\t\t\t\n\t\t\tconst res = [] as unknown[]\n\t\t\t\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\tif( kid.type === '-' ) continue\n\t\t\t\t\n\t\t\t\tvar val = this.$mol_tree2_to_json( kid )\n\t\t\t\tif( val !== undefined ) res.push( val )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tconst numb = Number( tree.type ) \n\t\tif( !Number.isNaN( numb ) || tree.type === 'NaN' ) return numb\n\t\t\n\t\tthis.$mol_fail( new Error( `Unknown json type (${tree.type}) at ${tree.span}` ) )\n\t}\n\n}\n","namespace $ {\n\t\n\texport async function $mol_tree2_to_stream(\n\t\ttree: $mol_tree2,\n\t\toutput: {\n\t\t\twrite( chunk: string ): boolean\n\t\t\tonce?( event: 'drain', cb: ()=> void ): void\n\t\t},\n\t\tprefix = '',\n\t) {\n\n\t\tconst pause = ()=> {\n\t\t\treturn new Promise( done => {\n\t\t\t\toutput.once!( 'drain', ()=> done( null ) )\n\t\t\t} )\n\t\t}\n\n\t\tlet out = ''\n\n\t\tif( tree.type.length ) {\n\t\t\t\n\t\t\tif( !prefix.length ) {\n\t\t\t\tprefix = \"\\t\";\n\t\t\t}\n\n\t\t\tout += tree.type\n\n\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\toutput.write( out + ' ' )\n\t\t\t\tawait $mol_tree2_to_stream( tree.kids[ 0 ], output, prefix )\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tout += \"\\n\"\n\n\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\tout += \"\\\\\" + tree.value + \"\\n\"\n\n\t\t}\n\n\t\toutput.write( out )\n\n\t\tfor( const kid of tree.kids ) {\n\t\t\tif( !output.write( prefix ) ) await pause()\n\t\t\tawait $mol_tree2_to_stream( kid, output, prefix + \"\\t\" )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_tree2_xml_from_dom( dom: Node ): $mol_tree2 {\n\t\t\n\t\tswitch( dom.nodeType ) {\n\t\t\t\n\t\t\tcase dom.DOCUMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tkids.push( $mol_tree2_xml_from_dom( kid ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.list( kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.PROCESSING_INSTRUCTION_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '?', [\n\t\t\t\t\t$mol_tree2.struct( dom.nodeName, \n\t\t\t\t\t\tdom.nodeValue!.split(' ').map( chunk => {\n\t\t\t\t\t\t\tconst [, name, value ] = /^(.*?)(?:=\"(.*?)\")?$/.exec( chunk )!\n\t\t\t\t\t\t\tconst kids = value ? [ $mol_tree2.data( value ) ] : []\n\t\t\t\t\t\t\treturn $mol_tree2.struct( name, kids )\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.DOCUMENT_TYPE_NODE: {\n\t\t\t\tconst dom2 = dom as DocumentType\n\t\t\t\treturn $mol_tree2.struct( '!', [\n\t\t\t\t\t$mol_tree2.struct( 'DOCTYPE', [ \n\t\t\t\t\t\t$mol_tree2.struct( dom2.name )\n\t\t\t\t\t] )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.ELEMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const attr of ( dom as Element ).attributes ) {\n\t\t\t\t\tkids.push(\n\t\t\t\t\t\t$mol_tree2.struct( '@', [\n\t\t\t\t\t\t\t$mol_tree2.struct( attr.nodeName, [\n\t\t\t\t\t\t\t\t$mol_tree2.data( attr.nodeValue! )\n\t\t\t\t\t\t\t] )\n\t\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\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tconst k = $mol_tree2_xml_from_dom( kid ) \n\t\t\t\t\tif( k.type || k.value ) kids.push( k )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.struct( dom.nodeName, kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.COMMENT_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '--', [\n\t\t\t\t\t$mol_tree2.data( dom.nodeValue! )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.TEXT_NODE: {\n\t\t\t\tif( !dom.nodeValue!.trim() ) return $mol_tree2.list([])\n\t\t\t\treturn $mol_tree2.data(\n\t\t\t\t\tdom.nodeValue!.replace( /\\s+/g, ' ' )\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $mol_fail( new Error( `Unsupported node ${ dom.nodeName }` ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $ {\n\n\tfunction attrs_belt( separator : string ) : Record< string, $mol_tree2_hack<never> > {\n\t\treturn {\n\n\t\t\t'': ( input )=> [\n\t\t\t\tinput.data( ' ' ),\n\t\t\t\tinput.data( $mol_html_encode( input.type ) ),\n\t\t\t\t... input.value ? [\n\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t\tinput.data( $mol_html_encode( input.value ) ),\n\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t] : [],\n\t\t\t\t... input.hack({\n\n\t\t\t\t\t'': ( input )=> {\n\n\t\t\t\t\t\tif( !input.type ) return [\n\t\t\t\t\t\t\tinput.data( separator ),\n\t\t\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t\t\t\tinput.data( $mol_html_encode( input.text() ) ),\n\t\t\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t\t\t]\n\n\t\t\t\t\t\t$mol_fail( new SyntaxError( 'Wrong attribute value' ) )\n\n\t\t\t\t\t},\n\n\t\t\t\t}),\n\t\t\t],\n\n\t\t}\n\t}\n\t\n\texport function $mol_tree2_xml_to_text( xml: $mol_tree2 ) {\n\t\treturn xml.list(\n\t\t\txml.hack({\n\n\t\t\t\t'@': ( input, belt )=> [],\n\n\t\t\t\t'--': ( input, belt )=> [\n\t\t\t\t\txml.struct( 'line', [\n\t\t\t\t\t\tinput.data( '<!-- ' ),\n\t\t\t\t\t\t... input.hack( belt ),\n\t\t\t\t\t\tinput.data( ' -->' ),\n\t\t\t\t\t] ),\n\t\t\t\t],\n\n\t\t\t\t'?': ( input, belt )=> [\n\t\t\t\t\txml.struct( 'line', [\n\t\t\t\t\t\tinput.data( '<?' ),\n\t\t\t\t\t\tinput.kids[0].data( input.kids[0].type ),\n\t\t\t\t\t\t... input.kids[0].hack( attrs_belt( '=' ) ),\n\t\t\t\t\t\tinput.data( '?>' ),\n\t\t\t\t\t] ),\n\t\t\t\t],\n\n\t\t\t\t'!': ( input, belt )=> [\n\t\t\t\t\txml.struct( 'line', [\n\t\t\t\t\t\tinput.data( '<!' ),\n\t\t\t\t\t\tinput.kids[0].data( input.kids[0].type ),\n\t\t\t\t\t\t... input.kids[0].hack( attrs_belt( ' ' ) ),\n\t\t\t\t\t\tinput.data( '>' ),\n\t\t\t\t\t] ),\n\t\t\t\t],\n\n\t\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t\tif( !input.type ) return [\n\t\t\t\t\t\tinput.data( $mol_html_encode( input.text() ) ),\n\t\t\t\t\t]\n\n\t\t\t\t\tconst attrs = input.select( '@', null ).hack( attrs_belt( '=' ) )\n\t\t\t\t\tconst content = input.hack( belt )\n\t\t\t\t\t\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\t\tinput.data( `<` ),\n\t\t\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t\t\t... attrs,\n\t\t\t\t\t\t\t... content.length ? [\n\t\t\t\t\t\t\t\tinput.data( `>` ),\n\t\t\t\t\t\t\t\tinput.struct( 'indent', content ),\n\t\t\t\t\t\t\t\tinput.data( `</` ),\n\t\t\t\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t\t\t\tinput.data( `>` ),\n\t\t\t\t\t\t\t] : [\n\t\t\t\t\t\t\t\tinput.data( ` />` ),\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t] ),\n\t\t\t\t\t]\n\n\t\t\t\t},\n\n\t\t\t}),\n\t\t)\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["-","../../../../mam.ts","../../../../mol/ambient/ambient.ts","../../../../mol/delegate/delegate.ts","../../../../mol/owning/owning.ts","../../../../mol/fail/fail.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/func/name/name.ts","../../../../mol/object2/object2.ts","../../../../mol/span/span.ts","../../../../mol/error/syntax/syntax.ts","../../../../mol/tree2/from/string/string.ts","../../../../mol/tree2/to/string/string.ts","../../../../mol/maybe/maybe.ts","../../../../mol/tree2/tree2.ts","../../../../mol/tree2/from/json/json.ts","../../../../mol/tree2/js/is/number/number.ts","../../../../mol/tree2/js/to/text/text.ts","../../../../mol/tree2/span/imprint/imprint.ts","../../../../mol/tree2/span/reuse/reuse.ts","../../../../mol/tree2/text/to/string/string.ts","../../../../mol/vlq/vlq.ts","../../../../mol/tree2/text/to/sourcemap/sourcemap.ts","../../../../mol/sourcemap/url/url.ts","../../../../mol/sourcemap/dataurl/dataurl.ts","../../../../mol/tree2/text/to/string/mapped/mapped.ts","../../../../mol/guard/defined.ts","../../../../mol/tree2/text/to/sourcemap/vis/vis.ts","../../../../mol/tree2/to/json/json.ts","../../../../mol/tree2/to/stream/stream.ts","../../../../mol/tree2/xml/from/dom/dom.ts","../../../../mol/html/encode/encode.ts","../../../../mol/tree2/xml/to/text/text.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\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\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\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\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\t\n\tif( !Symbol.dispose ) ( Symbol as any ).dispose = Symbol( 'Symbol.dispose' )\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || (this.constructor as { $?: $ }).$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\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 ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t[ Symbol.dispose ] () {\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\t\t\treturn this.update( $mol_maybe( value ), ... path )[0]\n\t\t}\n\n\t\t/** Makes new tree with node overrided by path. */\n\t\tupdate( value : readonly $mol_tree2[] , ...path : $mol_tree2_path ) : readonly $mol_tree2[] {\n\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.flatMap( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.update( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( ... this.struct( type , [] ).update( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ this.clone( sub ) ]\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst ins = ( this.kids[ type ] || this.list([]) )\n\t\t\t\t\t.update( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn [ this.clone([\n\t\t\t\t\t... this.kids.slice( 0, type ),\n\t\t\t\t\t... ins,\n\t\t\t\t\t... this.kids.slice( type + 1 ),\n\t\t\t\t]) ]\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t\t.flatMap( item => item.update( value , ... path.slice( 1 ) ) )\n\n\t\t\t\treturn [ this.clone( kids ) ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_tree2_js_is_number(type: string) {\n\t\treturn type.match(/[\\+\\-]*NaN/) || !Number.isNaN( Number( type ) )\n\t}\n}\n","namespace $ {\n\n\tfunction is_identifier( tree: $mol_tree2 ) {\n\t\tif( tree.type ) return false\n\t\treturn /^[a-z_$][a-z_$0-9]*$/i.test( tree.text() )\n\t}\n\n\texport function $mol_tree2_js_to_text( this: $, js: $mol_tree2 ) {\n\n\t\tfunction sequence( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\tinput.struct( separator && input.kids.length > 2 ? 'indent' : 'line',\n\t\t\t\t\t\t( [] as $mol_tree2[] ).concat(\n\t\t\t\t\t\t\t... input.kids.map( ( kid, index ) => [\n\t\t\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\t... ( separator && index < input.kids.length - 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction block( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t... input.kids.length === 0 ? [] : [ input.struct( 'indent',\n\t\t\t\t\tinput.kids.map( ( kid, index ) =>\n\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t... ( separator ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t] ),\n\t\t\t\t\t),\n\t\t\t\t) ],\n\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t]\n\t\t}\n\n\t\tfunction duplet( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator && input.kids.length > 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction triplet( open?: string, separator12?: string, separator23?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator12 && input.kids.length > 1 ) ? [ input.data( separator12 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... ( separator23 && input.kids.length > 2 ) ? [ input.data( separator23 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 2, 3 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\treturn js.list( js.hack({\n\n\t\t\t'+': sequence( '+' ),\n\t\t\t'-': sequence( '-' ),\n\t\t\t'!': sequence( '!' ),\n\t\t\t'~': sequence( '~' ),\n\n\t\t\t'return': sequence( 'return ' ),\n\t\t\t'break': sequence( 'break ' ),\n\t\t\t'continue': sequence( 'continue ' ),\n\t\t\t'yield': sequence( 'yield ' ),\n\t\t\t'yield*': sequence( 'yield* ' ),\n\t\t\t'await': sequence( 'await ' ),\n\t\t\t'void': sequence( 'void ' ),\n\t\t\t'delete': sequence( 'delete ' ),\n\t\t\t'typeof': sequence( 'typeof ' ),\n\t\t\t'new': sequence( 'new ' ),\n\t\t\t'...': sequence( '...' ),\n\n\t\t\t'@++': sequence( '', '', '++' ),\n\t\t\t'@--': sequence( '', '', '--' ),\n\t\t\t\n\t\t\t'(in)': sequence( '(', ' in ', ')' ),\n\t\t\t'(instanceof)': sequence( '(', ' instanceof ', ')' ),\n\n\t\t\t'(+)': sequence( '(', ' + ', ')' ),\n\t\t\t'(-)': sequence( '(', ' - ', ')' ),\n\t\t\t'(*)': sequence( '(', ' * ', ')' ),\n\t\t\t'(/)': sequence( '(', ' / ', ')' ),\n\t\t\t'(%)': sequence( '(', ' % ', ')' ),\n\t\t\t'(**)': sequence( '(', ' ** ', ')' ),\n\t\t\t\n\t\t\t'(<)': sequence( '(', ' < ', ')' ),\n\t\t\t'(<=)': sequence( '(', ' <= ', ')' ),\n\t\t\t'(>)': sequence( '(', ' > ', ')' ),\n\t\t\t'(>=)': sequence( '(', ' >= ', ')' ),\n\t\t\t'(==)': sequence( '(', ' == ', ')' ),\n\t\t\t'(!=)': sequence( '(', ' != ', ')' ),\n\t\t\t'(===)': sequence( '(', ' === ', ')' ),\n\t\t\t'(!==)': sequence( '(', ' !== ', ')' ),\n\t\t\t\n\t\t\t'(<<)': sequence( '(', ' << ', ')' ),\n\t\t\t'(>>)': sequence( '(', ' >> ', ')' ),\n\t\t\t'(>>>)': sequence( '(', ' >>> ', ')' ),\n\t\t\t'(&)': sequence( '(', ' & ', ')' ),\n\t\t\t'(|)': sequence( '(', ' | ', ')' ),\n\t\t\t'(^)': sequence( '(', ' ^ ', ')' ),\n\t\t\t\n\t\t\t'(&&)': sequence( '(', ' && ', ')' ),\n\t\t\t'(||)': sequence( '(', ' || ', ')' ),\n\t\t\t'(,)': sequence( '(', ', ', ')' ),\n\t\t\t'{;}': block( '{', ';', '}' ),\n\t\t\t';': block( '', ';', '' ),\n\t\t\t'[,]': sequence( '[', ', ', ']' ),\n\t\t\t'{,}': sequence( '{', ', ', '}' ),\n\n\t\t\t'()': sequence( '(', '', ')' ),\n\t\t\t'{}': block( '{', '', '}' ),\n\t\t\t\n\t\t\t'[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( !is_identifier( first ) ) return sequence( '[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t'?.[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( !is_identifier( first ) ) return sequence( '?.[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '?.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t':': ( input, belt )=> input.kids[0].type\n\t\t\t\t? duplet( '[', ']: ' )( input, belt )\n\t\t\t\t: duplet( '', ': ' )( input, belt ),\n\t\t\t\n\t\t\t'let': duplet( 'let ', ' = ' ),\n\t\t\t'const': duplet( 'const ', ' = ' ),\n\t\t\t'var': duplet( 'var ', ' = ' ),\n\n\t\t\t'=': duplet( '', ' = ' ),\n\t\t\t'+=': duplet( '', ' += ' ),\n\t\t\t'-=': duplet( '', ' -= ' ),\n\t\t\t'*=': duplet( '', ' *= ' ),\n\t\t\t'/=': duplet( '', ' /= ' ),\n\t\t\t'%=': duplet( '', ' %= ' ),\n\t\t\t'**=': duplet( '', ' **= ' ),\n\t\t\t'<<=': duplet( '', ' <<= ' ),\n\t\t\t'>>=': duplet( '', ' >>= ' ),\n\t\t\t'>>>=': duplet( '', ' >>>= ' ),\n\t\t\t'&=': duplet( '', ' &= ' ),\n\t\t\t'|=': duplet( '', ' |= ' ),\n\t\t\t'^=': duplet( '', ' ^= ' ),\n\t\t\t'&&=': duplet( '', ' &&= ' ),\n\t\t\t'||=': duplet( '', ' ||= ' ),\n\n\t\t\t'=>': duplet( '', ' => ' ),\n\t\t\t'async=>': duplet( 'async ', ' => ' ),\n\t\t\t'function': triplet( 'function ' ),\n\t\t\t'function*': triplet( 'function* ' ),\n\t\t\t'async': triplet( 'async function ' ),\n\t\t\t'async*': triplet( 'async function* ' ),\n\n\t\t\t'class': triplet( 'class ', ' ' ),\n\t\t\t'extends': sequence( 'extends ', '', ' ' ),\n\n\t\t\t'if': triplet( 'if', ' ', 'else' ),\n\t\t\t'?:': triplet( '', ' ? ', ' : ' ),\n\n\t\t\t'.': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( !is_identifier( first ) ) return triplet( '[', ']' )( input, belt )\n\t\t\t\telse return [\n\t\t\t\t\tinput.data( first.text() ),\n\t\t\t\t\t... input.list( input.kids.slice(1) ).hack( belt ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'get': triplet( 'get [', ']' ),\n\t\t\t'set': triplet( 'set [', ']' ),\n\t\t\t'static': triplet( 'static [', ']' ),\n\t\t\t\n\t\t\t'/./': sequence(),\n\t\t\t'.global': sequence( 'g' ),\n\t\t\t'.multiline': sequence( 'm' ),\n\t\t\t'.ignoreCase': sequence( 'i' ),\n\t\t\t'.source': ( input, belt )=> [\n\t\t\t\tinput.data( '/' ),\n\t\t\t\tinput.data( JSON.stringify( input.text() ).slice( 1, -1 ) ),\n\t\t\t\tinput.data( '/' ),\n\t\t\t],\n\n\t\t\t'``': ( input, belt )=> {\n\t\t\t\treturn [\n\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t\t... ( [] as $mol_tree2[] ).concat( ... input.kids.map( kid => {\n\t\t\t\t\t\t\tif( kid.type ) {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tkid.data( '${' ),\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\tkid.data( '}' ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tinput.data( JSON.stringify( kid.text() ).slice( 1, -1 ) ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t] ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t// string\n\t\t\t\tif( !input.type ) return [\n\t\t\t\t\tinput.data( JSON.stringify( input.text() ) ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// variable\n\t\t\t\tif( /^[\\w$#][\\w0-9$]*$/i.test( input.type ) ) return [\n\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t// ... input.hack( context ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// number\n\t\t\t\tif( $mol_tree2_js_is_number(input.type) ) return [\n\t\t\t\t\tinput.data( input.type )\n\t\t\t\t]\n\n\t\t\t\t$mol_fail( new SyntaxError( `Wrong node type` ) )\n\n\t\t\t},\n\n\t\t}) )\n\n\t}\n\n}\n","namespace $ {\n\texport function $mol_tree2_span_imprint( tree: $mol_tree2 ) {\n\n\t\tconst sources = new Map< string, $mol_tree2 >()\n\n\t\tconst res = tree.clone( tree.hack({\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\tif( !sources.has( input.span.uri ) ) {\n\t\t\t\t\tsources.set( input.span.uri,\n\t\t\t\t\t\ttree.struct( input.span.uri, [\n\t\t\t\t\t\t\ttree.data( input.span.source )\n\t\t\t\t\t\t] ),\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\tinput.clone([\n\t\t\t\t\t\tinput.data( input.span.toString() ),\n\t\t\t\t\t\t... input.hack( belt ),\n\t\t\t\t\t]),\n\t\t\t\t]\n\n\t\t\t},\n\t\t}) )\n\n\t\treturn tree.clone([\n\t\t\t... sources.values(),\n\t\t\tres,\n\t\t])\n\n\t}\n}\n","namespace $ {\n\texport function $mol_tree2_span_reuse( tree: $mol_tree2 ) {\n\t\t\n\t\tconst sources = new Map< string, string >()\n\n\t\treturn tree.clone(\n\t\t\ttree.hack({\n\t\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t\tif( input.type ) {\n\t\t\t\t\t\tsources.set( input.type, input.kids[0].text() )\n\t\t\t\t\t\treturn []\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn input.hack({\n\t\t\t\t\t\t'': ( input, belt )=> {\n\t\t\t\t\t\t\tconst kids = input.list( input.kids.slice(1) ).hack( belt )\n\t\t\t\t\t\t\tconst [ _, uri, row, col, length ] = /^(.*)#(\\d+):(\\d+)\\/(\\d+)$/.exec( input.kids[0].text() )!\n\t\t\t\t\t\t\tconst span = new $mol_span( uri, sources.get( uri )!, Number( row ), Number( col ), Number( length ) )\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tnew $mol_tree2( input.type , input.value , kids, span ),\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string( this: $, text: $mol_tree2 ) {\n\n\t\tlet res = ''\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: string, inline: boolean ) {\n\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tif( inline ) res += '\\n'\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + '\\t', false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) res += prefix\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tres += text.text()\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let kid of text.kids ) {\n\t\t\tvisit( kid, '', false )\n\t\t}\n\t\t\n\t\treturn res\n\t}\n\n}\n","namespace $ {\n\n\tconst alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\n\texport function $mol_vlq_encode( val: number ): string {\n\n\t\tconst sign = val < 0 ? 1 : 0\n\t\tif( sign ) val = -val\n\n\t\tlet index = sign | ( ( val & 0b1111 ) << 1 )\n\t\tval >>>= 4\n\t\t\n\t\tlet res = ''\n\n\t\twhile( val ) {\n\n\t\t\tindex |= 1 << 5\n\t\t\tres += alphabet[ index ]\n\t\t\t\n\t\t\tif( !val ) break\n\t\t\t\n\t\t\tindex = val & 0b11111\n\t\t\tval >>>= 5\n\t\t\t\n\t\t}\n\n\t\tres += alphabet[ index ]\n\n\t\treturn res\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap( this: $, tree: $mol_tree2 ) {\n\n\t\tlet col = 1\n\t\tlet prev_span: $mol_span | undefined\n\t\tlet prev_index = 0\n\t\tlet prev_col = 1\n\t\tlet mappings = ''\n\t\tlet line = [] as string[]\n\n\t\tconst file_indexes = new Map< string, number >()\n\t\tconst file_sources = new Map< string, string >()\n\n\t\tfunction span2index( span: $mol_span ) {\n\t\t\tif( file_indexes.has( span.uri ) ) return file_indexes.get( span.uri )!\n\t\t\tconst index = file_indexes.size\n\t\t\tfile_indexes.set( span.uri, index )\n\t\t\tfile_sources.set( span.uri, span.source )\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tfunction next_line() {\n\t\t\tif( !line.length ) return\n\t\t\tmappings += line.join(',') + ';'\n\t\t\tline = []\n\t\t\tcol = 1\n\t\t\tprev_col = 1\n\t\t}\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: number, inline: boolean ) {\n\n\t\t\tfunction indent() {\n\t\t\t\tcol += prefix\n\t\t\t}\n\t\n\t\t\tif( inline && text.type === 'indent' ) next_line()\n\t\t\t\n\t\t\tif( prev_span !== text.span || col === 1 ) {\n\n\t\t\t\tconst index = span2index( text.span )\n\t\t\t\t\n\t\t\t\tline.push(\n\t\t\t\t\t$mol_vlq_encode( col - prev_col ) + \n\t\t\t\t\t$mol_vlq_encode( index - prev_index ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.row - ( prev_span?.row ?? 1 ) ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.col - ( prev_span?.col ?? 1 ) )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tprev_col = col\n\t\t\t\tprev_span = text.span\n\t\t\t\tprev_index = index\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + 1, false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) next_line()\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tcol += text.text().length\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tfor( let kid of tree.kids ) {\n\t\t\tvisit( kid, 0, false )\n\t\t}\n\t\tnext_line()\n\t\t\n\t\tconst map: $mol_sourcemap_raw = {\n\t\t\tversion: 3,\n\t\t\tsources: [ ... file_sources.keys() ],\n\t\t\tsourcesContent: [ ... file_sources.values() ],\n\t\t\tmappings,\n\t\t}\n\n\t\treturn map\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_sourcemap_url(this: $, uri: string, type = 'js' as 'js' | 'css') {\n\t\tif (type === 'css') return `\\n/*# sourceMappingURL=${uri}*/`\n\t\treturn `\\n//# sourceMappingURL=${uri}`\n\t}\n\n}\n","namespace $ {\n\n\tconst prefix = '# sourceMappingURL=data:application/json,'\n\tconst end_comment = ' */'\n\n\texport function $mol_sourcemap_dataurl_decode(this: $, data: string) {\n\t\tconst index = data.lastIndexOf(prefix)\n\n\t\tif (index === -1) return undefined\n\n\t\tdata = data.substring(index + prefix.length)\n\n\t\tif (data.endsWith(end_comment)) data = data.substring(0, data.length - end_comment.length)\n\n\t\tconst decoded = this.decodeURIComponent(data)\n\n\t\ttry {\n\t\t\tconst map = JSON.parse(decoded) as $mol_sourcemap_raw | null\n\n\t\t\tif (! map) return undefined\n\n\t\t\tif (typeof map.mappings === 'string' && map.mappings.startsWith(';;')) {\n\t\t\t\tmap.mappings = map.mappings.substring(2)\n\t\t\t}\n\n\t\t\treturn map\n\t\t} catch (e) {\n\t\t\tif (e instanceof Error) e.message += ', origin=' + decoded\n\t\t\t$mol_fail_hidden(e)\n\t\t}\n\t}\n\n\texport function $mol_sourcemap_dataurl_encode(this: $, map: $mol_sourcemap_raw, type = 'js' as 'js' | 'css') {\n\t\tconst str = JSON.stringify( { ...map, mappings: ';;' + map.mappings } )\n\n\t\treturn this.$mol_sourcemap_url('data:application/json,' + this.encodeURIComponent( str ), type)\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string_mapped( this: $, text: $mol_tree2, type: 'js' | 'css' ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\n\t\tconst chunk = this.$mol_sourcemap_dataurl_encode( map, type )\n\t\treturn code + chunk\n\t}\n\n\texport function $mol_tree2_text_to_string_mapped_js( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'js' )\n\t}\n\t\n\texport function $mol_tree2_text_to_string_mapped_css( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'css')\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_guard_defined<T>(value: T): value is NonNullable<T> {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap_vis( this: $, text: $mol_tree2 ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\t\t\n\t\tconst uri = [\n\t\t\t'https://sokra.github.io/source-map-visualization/#base64',\n\t\t\tbtoa( code ),\n\t\t\tbtoa( JSON.stringify( map ) ),\n\t\t\t... map.sourcesContent?.filter($mol_guard_defined).map( btoa ) ?? [],\n\t\t].join( ',' )\n\n\t\treturn uri\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Makes JSON from json.tree. */\n\texport function $mol_tree2_to_json(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t): unknown {\n\n\t\tif( !tree.type ) {\n\t\t\tif( tree.kids.every( kid => !kid.type ) ) return tree.text()\n\t\t\tif( tree.kids.length !== 1 ) this.$mol_fail( new Error( `Multiple json root at ${tree.span}` ) )\n\t\t\treturn this.$mol_tree2_to_json(tree.kids[0] )\n\t\t}\n\t\t\n\t\tif( tree.type === '-' ) return undefined\n\t\tif( tree.type === 'true' ) return true\n\t\tif( tree.type === 'false' ) return false\n\t\tif( tree.type === 'null' ) return null\n\t\t\n\t\tif( tree.type === '*' ) {\n\t\t\t\n\t\t\tconst obj = {} as Record< string, unknown >\n\t\t\t\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\tif( kid.type === '-' ) continue\n\t\t\t\t\n\t\t\t\tconst key = kid.type || kid.clone( kid.kids.slice( 0, -1 ) ).text()\n\t\t\t\tconst val = this.$mol_tree2_to_json( kid.kids[ kid.kids.length - 1 ] )\n\t\t\t\t\n\t\t\t\tif( val !== undefined ) obj[ key ] = val\n\t\t\t}\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tif( tree.type === '/' ) {\n\t\t\t\n\t\t\tconst res = [] as unknown[]\n\t\t\t\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\tif( kid.type === '-' ) continue\n\t\t\t\t\n\t\t\t\tvar val = this.$mol_tree2_to_json( kid )\n\t\t\t\tif( val !== undefined ) res.push( val )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tconst numb = Number( tree.type ) \n\t\tif( !Number.isNaN( numb ) || tree.type === 'NaN' ) return numb\n\t\t\n\t\tthis.$mol_fail( new Error( `Unknown json type (${tree.type}) at ${tree.span}` ) )\n\t}\n\n}\n","namespace $ {\n\t\n\texport async function $mol_tree2_to_stream(\n\t\ttree: $mol_tree2,\n\t\toutput: {\n\t\t\twrite( chunk: string ): boolean\n\t\t\tonce?( event: 'drain', cb: ()=> void ): void\n\t\t},\n\t\tprefix = '',\n\t) {\n\n\t\tconst pause = ()=> {\n\t\t\treturn new Promise( done => {\n\t\t\t\toutput.once!( 'drain', ()=> done( null ) )\n\t\t\t} )\n\t\t}\n\n\t\tlet out = ''\n\n\t\tif( tree.type.length ) {\n\t\t\t\n\t\t\tif( !prefix.length ) {\n\t\t\t\tprefix = \"\\t\";\n\t\t\t}\n\n\t\t\tout += tree.type\n\n\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\toutput.write( out + ' ' )\n\t\t\t\tawait $mol_tree2_to_stream( tree.kids[ 0 ], output, prefix )\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tout += \"\\n\"\n\n\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\tout += \"\\\\\" + tree.value + \"\\n\"\n\n\t\t}\n\n\t\toutput.write( out )\n\n\t\tfor( const kid of tree.kids ) {\n\t\t\tif( !output.write( prefix ) ) await pause()\n\t\t\tawait $mol_tree2_to_stream( kid, output, prefix + \"\\t\" )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_tree2_xml_from_dom( dom: Node ): $mol_tree2 {\n\t\t\n\t\tswitch( dom.nodeType ) {\n\t\t\t\n\t\t\tcase dom.DOCUMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tkids.push( $mol_tree2_xml_from_dom( kid ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.list( kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.PROCESSING_INSTRUCTION_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '?', [\n\t\t\t\t\t$mol_tree2.struct( dom.nodeName, \n\t\t\t\t\t\tdom.nodeValue!.split(' ').map( chunk => {\n\t\t\t\t\t\t\tconst [, name, value ] = /^(.*?)(?:=\"(.*?)\")?$/.exec( chunk )!\n\t\t\t\t\t\t\tconst kids = value ? [ $mol_tree2.data( value ) ] : []\n\t\t\t\t\t\t\treturn $mol_tree2.struct( name, kids )\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.DOCUMENT_TYPE_NODE: {\n\t\t\t\tconst dom2 = dom as DocumentType\n\t\t\t\treturn $mol_tree2.struct( '!', [\n\t\t\t\t\t$mol_tree2.struct( 'DOCTYPE', [ \n\t\t\t\t\t\t$mol_tree2.struct( dom2.name )\n\t\t\t\t\t] )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.ELEMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const attr of ( dom as Element ).attributes ) {\n\t\t\t\t\tkids.push(\n\t\t\t\t\t\t$mol_tree2.struct( '@', [\n\t\t\t\t\t\t\t$mol_tree2.struct( attr.nodeName, [\n\t\t\t\t\t\t\t\t$mol_tree2.data( attr.nodeValue! )\n\t\t\t\t\t\t\t] )\n\t\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\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tconst k = $mol_tree2_xml_from_dom( kid ) \n\t\t\t\t\tif( k.type || k.value ) kids.push( k )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.struct( dom.nodeName, kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.COMMENT_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '--', [\n\t\t\t\t\t$mol_tree2.data( dom.nodeValue! )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.TEXT_NODE: {\n\t\t\t\tif( !dom.nodeValue!.trim() ) return $mol_tree2.list([])\n\t\t\t\treturn $mol_tree2.data(\n\t\t\t\t\tdom.nodeValue!.replace( /\\s+/g, ' ' )\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $mol_fail( new Error( `Unsupported node ${ dom.nodeName }` ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $ {\n\n\tfunction attrs_belt( separator : string ) : Record< string, $mol_tree2_hack<never> > {\n\t\treturn {\n\n\t\t\t'': ( input )=> [\n\t\t\t\tinput.data( ' ' ),\n\t\t\t\tinput.data( $mol_html_encode( input.type ) ),\n\t\t\t\t... input.value ? [\n\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t\tinput.data( $mol_html_encode( input.value ) ),\n\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t] : [],\n\t\t\t\t... input.hack({\n\n\t\t\t\t\t'': ( input )=> {\n\n\t\t\t\t\t\tif( !input.type ) return [\n\t\t\t\t\t\t\tinput.data( separator ),\n\t\t\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t\t\t\tinput.data( $mol_html_encode( input.text() ) ),\n\t\t\t\t\t\t\tinput.data( '\"' ),\n\t\t\t\t\t\t]\n\n\t\t\t\t\t\t$mol_fail( new SyntaxError( 'Wrong attribute value' ) )\n\n\t\t\t\t\t},\n\n\t\t\t\t}),\n\t\t\t],\n\n\t\t}\n\t}\n\t\n\texport function $mol_tree2_xml_to_text( xml: $mol_tree2 ) {\n\t\treturn xml.list(\n\t\t\txml.hack({\n\n\t\t\t\t'@': ( input, belt )=> [],\n\n\t\t\t\t'--': ( input, belt )=> [\n\t\t\t\t\txml.struct( 'line', [\n\t\t\t\t\t\tinput.data( '<!-- ' ),\n\t\t\t\t\t\t... input.hack( belt ),\n\t\t\t\t\t\tinput.data( ' -->' ),\n\t\t\t\t\t] ),\n\t\t\t\t],\n\n\t\t\t\t'?': ( input, belt )=> [\n\t\t\t\t\txml.struct( 'line', [\n\t\t\t\t\t\tinput.data( '<?' ),\n\t\t\t\t\t\tinput.kids[0].data( input.kids[0].type ),\n\t\t\t\t\t\t... input.kids[0].hack( attrs_belt( '=' ) ),\n\t\t\t\t\t\tinput.data( '?>' ),\n\t\t\t\t\t] ),\n\t\t\t\t],\n\n\t\t\t\t'!': ( input, belt )=> [\n\t\t\t\t\txml.struct( 'line', [\n\t\t\t\t\t\tinput.data( '<!' ),\n\t\t\t\t\t\tinput.kids[0].data( input.kids[0].type ),\n\t\t\t\t\t\t... input.kids[0].hack( attrs_belt( ' ' ) ),\n\t\t\t\t\t\tinput.data( '>' ),\n\t\t\t\t\t] ),\n\t\t\t\t],\n\n\t\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t\tif( !input.type ) return [\n\t\t\t\t\t\tinput.data( $mol_html_encode( input.text() ) ),\n\t\t\t\t\t]\n\n\t\t\t\t\tconst attrs = input.select( '@', null ).hack( attrs_belt( '=' ) )\n\t\t\t\t\tconst content = input.hack( belt )\n\t\t\t\t\t\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\t\tinput.data( `<` ),\n\t\t\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t\t\t... attrs,\n\t\t\t\t\t\t\t... content.length ? [\n\t\t\t\t\t\t\t\tinput.data( `>` ),\n\t\t\t\t\t\t\t\tinput.struct( 'indent', content ),\n\t\t\t\t\t\t\t\tinput.data( `</` ),\n\t\t\t\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t\t\t\tinput.data( `>` ),\n\t\t\t\t\t\t\t] : [\n\t\t\t\t\t\t\t\tinput.data( ` />` ),\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t] ),\n\t\t\t\t\t]\n\n\t\t\t\t},\n\n\t\t\t}),\n\t\t)\n\t}\n\n}\n"]}
|
package/web.mjs
CHANGED
|
@@ -191,6 +191,8 @@ var $;
|
|
|
191
191
|
"use strict";
|
|
192
192
|
var $;
|
|
193
193
|
(function ($) {
|
|
194
|
+
if (!Symbol.dispose)
|
|
195
|
+
Symbol.dispose = Symbol('Symbol.dispose');
|
|
194
196
|
class $mol_object2 {
|
|
195
197
|
static $ = $;
|
|
196
198
|
[Symbol.toStringTag];
|
|
@@ -223,6 +225,9 @@ var $;
|
|
|
223
225
|
}
|
|
224
226
|
destructor() { }
|
|
225
227
|
static destructor() { }
|
|
228
|
+
[Symbol.dispose]() {
|
|
229
|
+
this.destructor();
|
|
230
|
+
}
|
|
226
231
|
toString() {
|
|
227
232
|
return this[Symbol.toStringTag] || this.constructor.name + '<>';
|
|
228
233
|
}
|