toilscript 0.1.30 → 0.1.32
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/dist/cli.generated.d.ts +26 -4
- package/dist/cli.js +9 -9
- package/dist/cli.js.map +2 -2
- package/dist/importmap.json +3 -3
- package/dist/toilscript.generated.d.ts +28 -4
- package/dist/toilscript.js +45 -45
- package/dist/toilscript.js.map +3 -3
- package/dist/web.js +4 -4
- package/package.json +2 -2
- package/std/assembly/toildb.ts +6 -6
- package/std/assembly/toilscript.d.ts +11 -17
- package/std/ts-plugin.cjs +1 -1
package/dist/cli.generated.d.ts
CHANGED
|
@@ -732,6 +732,8 @@ declare module "types:toilscript/src/glue/binaryen" {
|
|
|
732
732
|
export function _BinaryenUnarySetOp(expr: ExpressionRef, op: Op): void;
|
|
733
733
|
export function _BinaryenUnaryGetValue(expr: ExpressionRef): ExpressionRef;
|
|
734
734
|
export function _BinaryenUnarySetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void;
|
|
735
|
+
export function _BinaryenWideIntAddSub(module: ModuleRef, op: Op, leftLowExpr: ExpressionRef, leftHighExpr: ExpressionRef, rightLowExpr: ExpressionRef, rightHighExpr: ExpressionRef): ExpressionRef;
|
|
736
|
+
export function _BinaryenWideIntMul(module: ModuleRef, op: Op, leftExpr: ExpressionRef, rightExpr: ExpressionRef): ExpressionRef;
|
|
735
737
|
export function _BinaryenBinary(module: ModuleRef, op: Op, leftExpr: ExpressionRef, rightExpr: ExpressionRef): ExpressionRef;
|
|
736
738
|
export function _BinaryenBinaryGetOp(expr: ExpressionRef): Op;
|
|
737
739
|
export function _BinaryenBinarySetOp(expr: ExpressionRef, op: Op): void;
|
|
@@ -2961,7 +2963,7 @@ declare module "types:toilscript/src/parser" {
|
|
|
2961
2963
|
parseClassOrInterface(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): ClassDeclaration | null;
|
|
2962
2964
|
/**
|
|
2963
2965
|
* Synthesize the ToilDB `@database` binding: for each `@collection` field
|
|
2964
|
-
* (typed as a `
|
|
2966
|
+
* (typed as a `Documents<K,V>`/... handle), add a STATIC handle to the class
|
|
2965
2967
|
* initialized once at module init via `__toildbResolve("<Db>/<collection>")`.
|
|
2966
2968
|
* The class name is used as the value: `App.users.get(...)` reads the static
|
|
2967
2969
|
* handle. The instance field stays as the type carrier (vestigial).
|
|
@@ -4774,7 +4776,9 @@ declare module "types:toilscript/src/module" {
|
|
|
4774
4776
|
ResumeThrow = 102,
|
|
4775
4777
|
StackSwitch = 103,
|
|
4776
4778
|
StructWait = 104,
|
|
4777
|
-
StructNotify = 105
|
|
4779
|
+
StructNotify = 105,
|
|
4780
|
+
WideIntAddSub = 106,
|
|
4781
|
+
WideIntMul = 107
|
|
4778
4782
|
}
|
|
4779
4783
|
/** Binaryen external kind constants. */
|
|
4780
4784
|
export const enum ExternalKind {
|
|
@@ -5677,9 +5681,23 @@ declare module "types:toilscript/src/module" {
|
|
|
5677
5681
|
/** ref.as_non_null */
|
|
5678
5682
|
NonNull = 0,
|
|
5679
5683
|
/** any.convert_extern */
|
|
5680
|
-
|
|
5684
|
+
AnyConvertExtern = 1,
|
|
5681
5685
|
/** extern.convert_any */
|
|
5682
|
-
|
|
5686
|
+
ExternConvertAny = 2
|
|
5687
|
+
}
|
|
5688
|
+
/** Binaryen wide integer add/sub operation constants. */
|
|
5689
|
+
export const enum WideIntAddSubOp {
|
|
5690
|
+
/** i64.add128 */
|
|
5691
|
+
Add = 0,
|
|
5692
|
+
/** i64.sub128 */
|
|
5693
|
+
Sub = 1
|
|
5694
|
+
}
|
|
5695
|
+
/** Binaryen wide integer multiply operation constants. */
|
|
5696
|
+
export const enum WideIntMulOp {
|
|
5697
|
+
/** i64.mul_wide_s */
|
|
5698
|
+
SignedI64 = 0,
|
|
5699
|
+
/** i64.mul_wide_u */
|
|
5700
|
+
UnsignedI64 = 1
|
|
5683
5701
|
}
|
|
5684
5702
|
/** Binaryen BrOn operation constants. */
|
|
5685
5703
|
export const enum BrOnOp {
|
|
@@ -5767,6 +5785,8 @@ declare module "types:toilscript/src/module" {
|
|
|
5767
5785
|
string_compare(left: ExpressionRef, right: ExpressionRef): ExpressionRef;
|
|
5768
5786
|
unary(op: UnaryOp, value: ExpressionRef): ExpressionRef;
|
|
5769
5787
|
binary(op: BinaryOp, left: ExpressionRef, right: ExpressionRef): ExpressionRef;
|
|
5788
|
+
wide_int_add_sub(op: WideIntAddSubOp, leftLow: ExpressionRef, leftHigh: ExpressionRef, rightLow: ExpressionRef, rightHigh: ExpressionRef): ExpressionRef;
|
|
5789
|
+
wide_int_mul(op: WideIntMulOp, left: ExpressionRef, right: ExpressionRef): ExpressionRef;
|
|
5770
5790
|
memory_size(name?: string, is64?: boolean): ExpressionRef;
|
|
5771
5791
|
memory_grow(delta: ExpressionRef, name?: string, is64?: boolean): ExpressionRef;
|
|
5772
5792
|
table_size(name: string): ExpressionRef;
|
|
@@ -5863,6 +5883,8 @@ declare module "types:toilscript/src/module" {
|
|
|
5863
5883
|
/** Unlimited table constant. */
|
|
5864
5884
|
static readonly UNLIMITED_TABLE: Index;
|
|
5865
5885
|
addFunctionTable(name: string, initial: Index, maximum: Index, funcs: string[], offset: ExpressionRef): void;
|
|
5886
|
+
/** Ensures that an empty function table of the given name exists, to be sized and filled later. */
|
|
5887
|
+
ensureFunctionTable(name: string): void;
|
|
5866
5888
|
addCustomSection(name: string, contents: Uint8Array): void;
|
|
5867
5889
|
getOptimizeLevel(): number;
|
|
5868
5890
|
setOptimizeLevel(level: number): void;
|
package/dist/cli.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Copyright 2026 Daniel Wirtz / The ToilScript Authors
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
var se=Object.defineProperty;var Ne=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Me=Object.prototype.hasOwnProperty;var fn=(e,t)=>()=>(e&&(t=e(e=0)),t);var nn=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},oe=(e,t,n,
|
|
8
|
-
`,r={},u=[];Object.keys(e).forEach(b=>{var d=e[b];if(d.description!=null){for(var g="";g.length<n;)g+=" ";for(g+="--"+b,d.alias&&(g+=", -"+d.alias);g.length<o;)g+=" ";var y;!t.noCategories&&d.category?(y=r[d.category])||(r[d.category]=y=[]):y=u,Array.isArray(d.description)?y.push(g+d.description[0]+d.description.slice(1).map(m=>{for(let i=0;i<o;++i)m=" "+m;return s+m}).join("")):y.push(g+d.description)}});var f=[],h=!1;return Object.keys(r).forEach(b=>{h=!0,f.push(s+" "+_n.gray(b)+s),f.push(r[b].join(s))}),h&&u.length&&f.push(s+" "+_n.gray("Other")+s),f.push(u.join(s)),f.join(s)}function be(e,t){if(e!=null)switch(t){case void 0:case"b":return!!e;case"i":return Math.trunc(e)||0;case"f":return Number(e)||0;case"s":return e===!0?"":e===!1?null:String(e);case"I":return Array.isArray(e)||(e=[e]),e.map(n=>Math.trunc(n)||0);case"F":return Array.isArray(e)||(e=[e]),e.map(n=>Number(n)||0);case"S":return Array.isArray(e)||(e=[e]),e.map(String)}}function Un(e,t,n,o){let s={};for(let[r,{type:u,mutuallyExclusive:f,isPath:h,useNodeResolution:b,cliOnly:d}]of Object.entries(e)){let g=be(t[r],u),y=be(n[r],u);if(g==null){if(y!=null){if(d)continue;if(Array.isArray(y)){let m;h&&(y=y.map(i=>tn(i,o,b))),f!=null&&(m=t[f])?s[r]=y.filter(i=>!m.includes(i)):s[r]=y.slice()}else h&&(y=tn(y,o,b)),s[r]=y}}else if(y==null)Array.isArray(g)?s[r]=g.slice():s[r]=g;else if(Array.isArray(g)){if(d){s[r]=g.slice();continue}let m;h&&(y=y.map(i=>tn(i,o,b))),f!=null&&(m=t[f])?s[r]=[...g,...y.filter(i=>!g.includes(i)&&!m.includes(i))]:s[r]=[...g,...y.filter(i=>!g.includes(i))]}else s[r]=g}return s}function vt(e){let t=F.parse(e);return t.root||(t.root="./"),F.format(t)}function tn(e,t,n=!1){return F.isAbsolute(e)?e:n&&!e.startsWith(".")&&me.resolve?me.resolve(e,{paths:[t]}):vt(F.join(t,e))}function Mn(e,t){for(let[n,{default:o}]of Object.entries(e))t[n]==null&&o!=null&&(t[n]=o)}var Fe="0.1.30",Y={version:{category:"General",description:"Prints just the compiler's version and exits.",type:"b",alias:"v"},help:{category:"General",description:"Prints this message and exits.",type:"b",alias:"h"},config:{category:"General",description:"Configuration file to apply. CLI arguments take precedence.",type:"s",cliOnly:!0},target:{category:"General",description:"Configuration file target to use. Defaults to 'release'.",type:"s",cliOnly:!0},optimize:{category:"Optimization",description:["Optimizes the module. Typical shorthands are:",""," Default optimizations -O"," Make a release build -O --noAssert"," Make a debug build --debug"," Optimize for speed -Ospeed"," Optimize for size -Osize",""],type:"b",alias:"O"},optimizeLevel:{category:"Optimization",description:"How much to focus on optimizing code. [0-3]",type:"i"},shrinkLevel:{category:"Optimization",description:"How much to focus on shrinking code size. [0-2, s=1, z=2]",type:"i"},converge:{category:"Optimization",description:"Re-optimizes until no further improvements can be made.",type:"b",default:!1},noAssert:{category:"Optimization",description:"Replaces assertions with just their value without trapping.",type:"b",default:!1},outFile:{category:"Output",description:"Specifies the WebAssembly output file (.wasm).",type:"s",alias:"o",isPath:!0},textFile:{category:"Output",description:"Specifies the WebAssembly text output file (.wat).",type:"s",alias:"t",isPath:!0},rpcModule:{category:"Output",description:"Emits a .ts module: the @data codec + the typed client-callable Server surface.",type:"s",isPath:!0},rpcRuntime:{category:"Output",description:"Import specifier for the DataWriter/DataReader codec in the emitted RPC module.",type:"s",default:"toiljs/io"},bindings:{category:"Output",description:["Specifies the bindings to generate (.js + .d.ts).",""," esm JavaScript bindings & typings for ESM integration."," raw Like esm, but exports just the instantiate function."," Useful where modules are meant to be instantiated"," multiple times or non-ESM imports must be provided."],type:"S",alias:"b"},sourceMap:{category:"Debugging",description:["Enables source map generation. Optionally takes the URL","used to reference the source map from the binary file."],type:"s"},uncheckedBehavior:{category:"Debugging",description:["Changes the behavior of unchecked() expressions.","Using this option can potentially cause breakage.",""," default The default behavior: unchecked operations are"," only used inside of unchecked()."," never Unchecked operations are never used, even when"," inside of unchecked()."," always Unchecked operations are always used if possible,"," whether or not unchecked() is used."],type:"s",default:"default"},debug:{category:"Debugging",description:"Enables debug information in emitted binaries.",type:"b",default:!1},importMemory:{category:"Features",description:"Imports the memory from 'env.memory'.",type:"b",default:!1},noExportMemory:{category:"Features",description:"Does not export the memory as 'memory'.",type:"b",default:!1},initialMemory:{category:"Features",description:"Sets the initial memory size in pages.",type:"i",default:0},maximumMemory:{category:"Features",description:"Sets the maximum memory size in pages.",type:"i",default:0},sharedMemory:{category:"Features",description:"Declare memory as shared. Requires maximumMemory.",type:"b",default:!1},zeroFilledMemory:{category:"Features",description:"Assume imported memory is zeroed. Requires importMemory.",type:"b",default:!1},importTable:{category:"Features",description:"Imports the function table from 'env.table'.",type:"b",default:!1},exportTable:{category:"Features",description:"Exports the function table as 'table'.",type:"b",default:!1},exportStart:{category:"Features",description:["Exports the start function using the specified name instead","of calling it implicitly. Useful to obtain the exported memory","before executing any code accessing it."],type:"s"},runtime:{category:"Features",description:["Specifies the runtime variant to include in the program.",""," incremental TLSF + incremental GC (default)"," minimal TLSF + lightweight GC invoked externally"," stub Minimal runtime stub (never frees)"," ... Path to a custom runtime implementation",""],type:"s",default:"incremental"},exportRuntime:{category:"Features",description:["Always exports the runtime helpers (__new, __collect, __pin etc.).","Automatically determined when generation of --bindings is enabled."],type:"b",default:!1},stackSize:{category:"Features",description:["Overrides the stack size. Only relevant for incremental GC","or when using a custom runtime that requires stack space.","Defaults to 0 without and to 32768 with incremental GC."],default:0,type:"i"},enable:{category:"Features",description:["Enables WebAssembly features being disabled by default.",""," threads Threading and atomic operations."," simd SIMD types and operations."," reference-types Reference types and operations."," gc Garbage collection (WIP)."," stringref String reference types."," relaxed-simd Relaxed SIMD operations.",""],TODO_doesNothingYet:[" exception-handling Exception handling."," tail-calls Tail call operations."," multi-value Multi value types."," memory64 Memory64 operations."," extended-const Extended const expressions."],type:"S",mutuallyExclusive:"disable"},disable:{category:"Features",description:["Disables WebAssembly features being enabled by default.",""," mutable-globals Mutable global imports and exports."," sign-extension Sign-extension operations"," nontrapping-f2i Non-trapping float to integer ops."," bulk-memory Bulk memory operations.",""],type:"S",mutuallyExclusive:"enable"},use:{category:"Features",description:["Aliases a global object under another name, e.g., to switch","the default 'Math' implementation used: --use Math=JSMath","Can also be used to introduce an integer constant."],type:"S",alias:"u"},lowMemoryLimit:{category:"Features",description:"Enforces very low (<64k) memory constraints.",default:0,type:"i"},memoryBase:{category:"Linking",description:"Sets the start offset of emitted memory segments.",type:"i",default:0},tableBase:{category:"Linking",description:"Sets the start offset of emitted table elements.",type:"i",default:0},transform:{category:"API",description:"Specifies the path to a custom transform to load.",type:"S",isPath:!0,useNodeResolution:!0},trapMode:{category:"Binaryen",description:["Sets the trap mode to use.",""," allow Allow trapping operations. This is the default."," clamp Replace trapping operations with clamping semantics."," js Replace trapping operations with JS semantics.",""],type:"s",default:"allow"},runPasses:{category:"Binaryen",description:["Specifies additional Binaryen passes to run after other","optimizations, if any. See: Binaryen/src/passes/pass.cpp"],type:"s"},noValidate:{category:"Binaryen",description:"Skips validating the module using Binaryen.",type:"b",default:!1},baseDir:{description:"Specifies the base directory of input and output files.",type:"s",default:"."},noColors:{description:"Disables terminal colors.",type:"b",default:!1},noUnsafe:{description:["Disallows the use of unsafe features in user code.","Does not affect library files and external modules."],type:"b",default:!1},disableWarning:{description:["Disables warnings matching the given diagnostic code.","If no diagnostic code is given, all warnings are disabled."],type:"I"},noEmit:{description:"Performs compilation as usual but does not emit code.",type:"b",default:!1},showConfig:{description:"Print computed compiler options and exit.",type:"b",default:!1},stats:{description:"Prints statistics on I/O and compile times.",type:"b",default:!1},pedantic:{description:"Make yourself sad for no good reason.",type:"b",default:!1},lib:{description:["Adds one or multiple paths to custom library components and","uses exports of all top-level files at this path as globals."],type:"S",isPath:!0},path:{description:["Adds one or multiple paths to package resolution, similar","to node_modules. Prefers an 'ascMain' entry in a package's","package.json and falls back to an inner 'assembly/' folder."],type:"S",isPath:!0},wasm:{description:"Uses the specified Wasm binary of the compiler.",type:"s"}," ...":{description:"Specifies node.js options (CLI only). See: node --help"},"-Os":{value:{optimizeLevel:0,shrinkLevel:1}},"-Oz":{value:{optimizeLevel:0,shrinkLevel:2}},"-O0":{value:{optimizeLevel:0,shrinkLevel:0}},"-O1":{value:{optimizeLevel:1,shrinkLevel:0}},"-O2":{value:{optimizeLevel:2,shrinkLevel:0}},"-O3":{value:{optimizeLevel:3,shrinkLevel:0}},"-O0s":{value:{optimizeLevel:0,shrinkLevel:1}},"-O1s":{value:{optimizeLevel:1,shrinkLevel:1}},"-O2s":{value:{optimizeLevel:2,shrinkLevel:1}},"-O3s":{value:{optimizeLevel:3,shrinkLevel:1}},"-O0z":{value:{optimizeLevel:0,shrinkLevel:2}},"-O1z":{value:{optimizeLevel:1,shrinkLevel:2}},"-O2z":{value:{optimizeLevel:2,shrinkLevel:2}},"-O3z":{value:{optimizeLevel:3,shrinkLevel:2}},"-Ospeed":{value:{optimizeLevel:3,shrinkLevel:0}},"-Osize":{value:{optimizeLevel:0,shrinkLevel:2,converge:!0}},"--measure":{value:{stats:!0}}},Ee="~lib/",Ae={array:`/// <reference path="./rt/index.d.ts" />
|
|
7
|
+
var se=Object.defineProperty;var Ne=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Me=Object.prototype.hasOwnProperty;var fn=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var nn=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},oe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ue(t))!Me.call(e,s)&&s!==n&&se(e,s,{get:()=>t[s],enumerable:!(r=Ne(t,s))||r.enumerable});return e},Dn=(e,t,n)=>(oe(e,t,"default"),n&&oe(n,t,"default"));var le={};nn(le,{promises:()=>Pe});var Pe,ue=fn(()=>{"use strict";Pe={}});var fe={};nn(fe,{createRequire:()=>Ve});function Ve(){return function(t){throw new Error(`Cannot find module: '${t}'`)}}var ce=fn(()=>{"use strict"});var On={};nn(On,{argv:()=>He,cwd:()=>In,exit:()=>Ke,hrtime:()=>qe,platform:()=>Ge,umask:()=>je});function In(){return"."}function je(){return 0}function Ke(e=0){throw Error(`exit ${e}`)}function qe(e){var t=Xe.call(de),n=Math.floor(t*.001),r=Math.floor(t*1e6-n*1e9);return e&&(n-=e[0],r-=e[1],r<0&&(n--,r+=1e9)),[n,r]}var Ge,He,de,Xe,Ln=fn(()=>{"use strict";Ge="linux";He=[];de=globalThis.performance||{},Xe=de.now||function(){return new Date().getTime()}});var Rn={};nn(Rn,{basename:()=>Qe,delimiter:()=>it,dirname:()=>$e,extname:()=>nt,format:()=>et,isAbsolute:()=>Ye,join:()=>Je,normalize:()=>he,parse:()=>tt,relative:()=>Ze,resolve:()=>cn,sep:()=>kn,win32:()=>rt});function V(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function pe(e,t){for(var n="",r=0,s=-1,a=0,u,f=0;f<=e.length;++f){if(f<e.length)u=e.charCodeAt(f);else{if(u===47)break;u=47}if(u===47){if(!(s===f-1||a===1))if(s!==f-1&&a===2){if(n.length<2||r!==2||n.charCodeAt(n.length-1)!==46||n.charCodeAt(n.length-2)!==46){if(n.length>2){var h=n.lastIndexOf("/");if(h!==n.length-1){h===-1?(n="",r=0):(n=n.slice(0,h),r=n.length-1-n.lastIndexOf("/")),s=f,a=0;continue}}else if(n.length===2||n.length===1){n="",r=0,s=f,a=0;continue}}t&&(n.length>0?n+="/..":n="..",r=2)}else n.length>0?n+="/"+e.slice(s+1,f):n=e.slice(s+1,f),r=f-s-1;s=f,a=0}else u===46&&a!==-1?++a:a=-1}return n}function We(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}function cn(){for(var e="",t=!1,n,r=arguments.length-1;r>=-1&&!t;r--){var s;r>=0?s=arguments[r]:(n===void 0&&(n=In()),s=n),V(s),s.length!==0&&(e=s+"/"+e,t=s.charCodeAt(0)===47)}return e=pe(e,!t),t?e.length>0?"/"+e:"/":e.length>0?e:"."}function he(e){if(V(e),e.length===0)return".";var t=e.charCodeAt(0)===47,n=e.charCodeAt(e.length-1)===47;return e=pe(e,!t),e.length===0&&!t&&(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e}function Ye(e){return V(e),e.length>0&&e.charCodeAt(0)===47}function Je(){if(arguments.length===0)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];V(n),n.length>0&&(e===void 0?e=n:e+="/"+n)}return e===void 0?".":he(e)}function Ze(e,t){if(V(e),V(t),e===t||(e=cn(e),t=cn(t),e===t))return"";if(e===".")return t;for(var n=1;n<e.length&&e.charCodeAt(n)===47;++n);for(var r=e.length,s=r-n,a=1;a<t.length&&t.charCodeAt(a)===47;++a);for(var u=t.length,f=u-a,h=s<f?s:f,b=-1,d=0;d<=h;++d){if(d===h){if(f>h){if(t.charCodeAt(a+d)===47)return t.slice(a+d+1);if(d===0)return t.slice(a+d)}else s>h&&(e.charCodeAt(n+d)===47?b=d:d===0&&(b=0));break}var g=e.charCodeAt(n+d),y=t.charCodeAt(a+d);if(g!==y)break;g===47&&(b=d)}var m="";for(d=n+b+1;d<=r;++d)(d===r||e.charCodeAt(d)===47)&&(m.length===0?m+="..":m+="/..");return m.length>0?m+t.slice(a+b):(a+=b,t.charCodeAt(a)===47&&++a,t.slice(a))}function $e(e){if(V(e),e.length===0)return".";for(var t=e.charCodeAt(0),n=t===47,r=-1,s=!0,a=e.length-1;a>=1;--a)if(t=e.charCodeAt(a),t===47){if(!s){r=a;break}}else s=!1;return r===-1?n?"/":".":n&&r===1?"//":e.slice(0,r)}function Qe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');V(e);var n=0,r=-1,s=!0,a;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var u=t.length-1,f=-1;for(a=e.length-1;a>=0;--a){var h=e.charCodeAt(a);if(h===47){if(!s){n=a+1;break}}else f===-1&&(s=!1,f=a+1),u>=0&&(h===t.charCodeAt(u)?--u===-1&&(r=a):(u=-1,r=f))}return n===r?r=f:r===-1&&(r=e.length),e.slice(n,r)}else{for(a=e.length-1;a>=0;--a)if(e.charCodeAt(a)===47){if(!s){n=a+1;break}}else r===-1&&(s=!1,r=a+1);return r===-1?"":e.slice(n,r)}}function nt(e){V(e);for(var t=-1,n=0,r=-1,s=!0,a=0,u=e.length-1;u>=0;--u){var f=e.charCodeAt(u);if(f===47){if(!s){n=u+1;break}continue}r===-1&&(s=!1,r=u+1),f===46?t===-1?t=u:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||r===-1||a===0||a===1&&t===r-1&&t===n+1?"":e.slice(t,r)}function et(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return We("/",e)}function tt(e){V(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;var n=e.charCodeAt(0),r=n===47,s;r?(t.root="/",s=1):s=0;for(var a=-1,u=0,f=-1,h=!0,b=e.length-1,d=0;b>=s;--b){if(n=e.charCodeAt(b),n===47){if(!h){u=b+1;break}continue}f===-1&&(h=!1,f=b+1),n===46?a===-1?a=b:d!==1&&(d=1):a!==-1&&(d=-1)}return a===-1||f===-1||d===0||d===1&&a===f-1&&a===u+1?f!==-1&&(u===0&&r?t.base=t.name=e.slice(1,f):t.base=t.name=e.slice(u,f)):(u===0&&r?(t.name=e.slice(1,a),t.base=e.slice(1,f)):(t.name=e.slice(u,a),t.base=e.slice(u,f)),t.ext=e.slice(a,f)),u>0?t.dir=e.slice(0,u-1):r&&(t.dir="/"),t}var kn,it,rt,Nn=fn(()=>{"use strict";Ln();kn="/",it=":",rt=null});var xe={};nn(xe,{pathToFileURL:()=>ot});function at(e){return e.replace(/%/g,"%25").replace(/\\/g,"%5C").replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/\t/g,"%09")}function ot(e){let t=cn(e);e.charCodeAt(e.length-1)===47&&t[t.length-1]!==kn&&(t+="/");let n=new URL("file://");return n.pathname=at(t),n}var ge=fn(()=>{"use strict";Nn()});var Wn={};nn(Wn,{Stats:()=>Cn,checkDiagnostics:()=>gn,compileString:()=>wt,configToArguments:()=>qn,createMemoryStream:()=>Kn,default:()=>Wn,defaultOptimizeLevel:()=>Se,defaultShrinkLevel:()=>we,definitionFiles:()=>St,libraryFiles:()=>H,libraryPrefix:()=>P,main:()=>Be,options:()=>zt,tscOptions:()=>Bt,version:()=>Hn});var st=Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]",j,sn,F,M,dn;st?(j=await import("fs"),sn=await import("module"),F=await import("path"),M=globalThis.process,dn=await import("url")):(j=await Promise.resolve().then(()=>(ue(),le)),sn=await Promise.resolve().then(()=>(ce(),fe)),F=await Promise.resolve().then(()=>(Nn(),Rn)),M=await Promise.resolve().then(()=>(Ln(),On)),dn=await Promise.resolve().then(()=>(ge(),xe)));var An=typeof process<"u"&&process||{},lt=An.env&&"CI"in An.env,ut="\x1B[90m",ft="\x1B[91m",ct="\x1B[92m",dt="\x1B[93m",pt="\x1B[94m",ht="\x1B[95m",xt="\x1B[96m",gt="\x1B[97m",W="\x1B[0m",en=class{constructor(t){this.stream=t,this.enabled=!!(this.stream&&this.stream.isTTY||lt)}gray(t){return this.enabled?ut+t+W:t}red(t){return this.enabled?ft+t+W:t}green(t){return this.enabled?ct+t+W:t}yellow(t){return this.enabled?dt+t+W:t}blue(t){return this.enabled?pt+t+W:t}magenta(t){return this.enabled?ht+t+W:t}cyan(t){return this.enabled?xt+t+W:t}white(t){return this.enabled?gt+t+W:t}},_n=new en(An.stdout),Ot=new en(An.stderr);function mt(e){for(var t=0,n=0,r=e.length;n<r;++n){let s=e.charCodeAt(n);s<128?t+=1:s<2048?t+=2:(s&64512)===55296&&n+1<r&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3}return t}function bt(e,t,n){var r=n-t;if(r<1)return"";for(var s=null,a=[],u=0,f;t<n;)f=e[t++],f<128?a[u++]=f:f>191&&f<224?a[u++]=(f&31)<<6|e[t++]&63:f>239&&f<365?(f=((f&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,a[u++]=55296+(f>>10),a[u++]=56320+(f&1023)):a[u++]=(f&15)<<12|(e[t++]&63)<<6|e[t++]&63,u>=8192&&((s||(s=[])).push(String.fromCharCode(...a)),u=0);return s?(u&&s.push(String.fromCharCode(...a.slice(0,u))),s.join("")):String.fromCharCode(...a.slice(0,u))}function yt(e,t,n){for(var r=n,s=0,a=e.length;s<a;++s){let u=e.charCodeAt(s),f;u<128?t[n++]=u:u<2048?(t[n++]=u>>6|192,t[n++]=u&63|128):(u&64512)===55296&&s+1<a&&((f=e.charCodeAt(s+1))&64512)===56320?(u=65536+((u&1023)<<10)+(f&1023),++s,t[n++]=u>>18|240,t[n++]=u>>12&63|128,t[n++]=u>>6&63|128,t[n++]=u&63|128):(t[n++]=u>>12|224,t[n++]=u>>6&63|128,t[n++]=u&63|128)}return n-r}var Tn={length:mt,read:bt,write:yt};var me=sn.createRequire(import.meta.url);function ye(e,t,n=!0){var r={},s=[],a=[],u=[],f={};Object.keys(t).forEach(d=>{if(!d.startsWith(" ")){var g=t[d];g.alias!=null&&(typeof g.alias=="string"?f[g.alias]=d:Array.isArray(g.alias)&&g.alias.forEach(y=>f[y]=d)),n&&g.default!=null&&(r[d]=g.default)}});for(var h=0,b=(e=e.slice()).length;h<b;++h){let d=e[h];if(d=="--"){++h;break}let g=/^(?:(-\w)(?:=(.*))?|(--\w{2,})(?:=(.*))?)$/.exec(d),y,m;if(g)t[d]?y=t[m=d]:g[1]!=null?(y=t[m=f[g[1].substring(1)]],y&&g[2]!=null&&(e[h--]=g[2])):g[3]!=null&&(y=t[m=g[3].substring(2)],y&&g[4]!=null&&(e[h--]=g[4]));else if(d.charCodeAt(0)==45)y=t[m=d];else{a.push(d);continue}if(y)if(y.value)Object.keys(y.value).forEach(i=>r[i]=y.value[i]);else if(y.type==null||y.type==="b")r[m]=!0;else if(h+1<e.length&&e[h+1].charCodeAt(0)!=45)switch(y.type){case"i":r[m]=parseInt(e[++h],10);break;case"I":r[m]=(r[m]||[]).concat(parseInt(e[++h],10));break;case"f":r[m]=parseFloat(e[++h]);break;case"F":r[m]=(r[m]||[]).concat(parseFloat(e[++h]));break;case"s":r[m]=String(e[++h]);break;case"S":r[m]=(r[m]||[]).concat(e[++h].split(","));break;default:s.push(d),--h}else switch(y.type){case"i":case"f":r[m]=y.default||0;break;case"s":r[m]=y.default||"";break;case"I":case"F":case"S":r[m]=y.default||[];break;default:s.push(d)}else s.push(d)}for(;h<b;)u.push(e[h++]);return n&&Mn(t,r),{options:r,unknown:s,arguments:a,trailing:u}}function ve(e,t){t||(t={});var n=t.indent||2,r=t.padding||24,s=t.eol||`
|
|
8
|
+
`,a={},u=[];Object.keys(e).forEach(b=>{var d=e[b];if(d.description!=null){for(var g="";g.length<n;)g+=" ";for(g+="--"+b,d.alias&&(g+=", -"+d.alias);g.length<r;)g+=" ";var y;!t.noCategories&&d.category?(y=a[d.category])||(a[d.category]=y=[]):y=u,Array.isArray(d.description)?y.push(g+d.description[0]+d.description.slice(1).map(m=>{for(let i=0;i<r;++i)m=" "+m;return s+m}).join("")):y.push(g+d.description)}});var f=[],h=!1;return Object.keys(a).forEach(b=>{h=!0,f.push(s+" "+_n.gray(b)+s),f.push(a[b].join(s))}),h&&u.length&&f.push(s+" "+_n.gray("Other")+s),f.push(u.join(s)),f.join(s)}function be(e,t){if(e!=null)switch(t){case void 0:case"b":return!!e;case"i":return Math.trunc(e)||0;case"f":return Number(e)||0;case"s":return e===!0?"":e===!1?null:String(e);case"I":return Array.isArray(e)||(e=[e]),e.map(n=>Math.trunc(n)||0);case"F":return Array.isArray(e)||(e=[e]),e.map(n=>Number(n)||0);case"S":return Array.isArray(e)||(e=[e]),e.map(String)}}function Un(e,t,n,r){let s={};for(let[a,{type:u,mutuallyExclusive:f,isPath:h,useNodeResolution:b,cliOnly:d}]of Object.entries(e)){let g=be(t[a],u),y=be(n[a],u);if(g==null){if(y!=null){if(d)continue;if(Array.isArray(y)){let m;h&&(y=y.map(i=>tn(i,r,b))),f!=null&&(m=t[f])?s[a]=y.filter(i=>!m.includes(i)):s[a]=y.slice()}else h&&(y=tn(y,r,b)),s[a]=y}}else if(y==null)Array.isArray(g)?s[a]=g.slice():s[a]=g;else if(Array.isArray(g)){if(d){s[a]=g.slice();continue}let m;h&&(y=y.map(i=>tn(i,r,b))),f!=null&&(m=t[f])?s[a]=[...g,...y.filter(i=>!g.includes(i)&&!m.includes(i))]:s[a]=[...g,...y.filter(i=>!g.includes(i))]}else s[a]=g}return s}function vt(e){let t=F.parse(e);return t.root||(t.root="./"),F.format(t)}function tn(e,t,n=!1){return F.isAbsolute(e)?e:n&&!e.startsWith(".")&&me.resolve?me.resolve(e,{paths:[t]}):vt(F.join(t,e))}function Mn(e,t){for(let[n,{default:r}]of Object.entries(e))t[n]==null&&r!=null&&(t[n]=r)}var Fe="0.1.32",Y={version:{category:"General",description:"Prints just the compiler's version and exits.",type:"b",alias:"v"},help:{category:"General",description:"Prints this message and exits.",type:"b",alias:"h"},config:{category:"General",description:"Configuration file to apply. CLI arguments take precedence.",type:"s",cliOnly:!0},target:{category:"General",description:"Configuration file target to use. Defaults to 'release'.",type:"s",cliOnly:!0},optimize:{category:"Optimization",description:["Optimizes the module. Typical shorthands are:",""," Default optimizations -O"," Make a release build -O --noAssert"," Make a debug build --debug"," Optimize for speed -Ospeed"," Optimize for size -Osize",""],type:"b",alias:"O"},optimizeLevel:{category:"Optimization",description:"How much to focus on optimizing code. [0-3]",type:"i"},shrinkLevel:{category:"Optimization",description:"How much to focus on shrinking code size. [0-2, s=1, z=2]",type:"i"},converge:{category:"Optimization",description:"Re-optimizes until no further improvements can be made.",type:"b",default:!1},noAssert:{category:"Optimization",description:"Replaces assertions with just their value without trapping.",type:"b",default:!1},outFile:{category:"Output",description:"Specifies the WebAssembly output file (.wasm).",type:"s",alias:"o",isPath:!0},textFile:{category:"Output",description:"Specifies the WebAssembly text output file (.wat).",type:"s",alias:"t",isPath:!0},rpcModule:{category:"Output",description:"Emits a .ts module: the @data codec + the typed client-callable Server surface.",type:"s",isPath:!0},rpcRuntime:{category:"Output",description:"Import specifier for the DataWriter/DataReader codec in the emitted RPC module.",type:"s",default:"toiljs/io"},bindings:{category:"Output",description:["Specifies the bindings to generate (.js + .d.ts).",""," esm JavaScript bindings & typings for ESM integration."," raw Like esm, but exports just the instantiate function."," Useful where modules are meant to be instantiated"," multiple times or non-ESM imports must be provided."],type:"S",alias:"b"},sourceMap:{category:"Debugging",description:["Enables source map generation. Optionally takes the URL","used to reference the source map from the binary file."],type:"s"},uncheckedBehavior:{category:"Debugging",description:["Changes the behavior of unchecked() expressions.","Using this option can potentially cause breakage.",""," default The default behavior: unchecked operations are"," only used inside of unchecked()."," never Unchecked operations are never used, even when"," inside of unchecked()."," always Unchecked operations are always used if possible,"," whether or not unchecked() is used."],type:"s",default:"default"},debug:{category:"Debugging",description:"Enables debug information in emitted binaries.",type:"b",default:!1},importMemory:{category:"Features",description:"Imports the memory from 'env.memory'.",type:"b",default:!1},noExportMemory:{category:"Features",description:"Does not export the memory as 'memory'.",type:"b",default:!1},initialMemory:{category:"Features",description:"Sets the initial memory size in pages.",type:"i",default:0},maximumMemory:{category:"Features",description:"Sets the maximum memory size in pages.",type:"i",default:0},sharedMemory:{category:"Features",description:"Declare memory as shared. Requires maximumMemory.",type:"b",default:!1},zeroFilledMemory:{category:"Features",description:"Assume imported memory is zeroed. Requires importMemory.",type:"b",default:!1},importTable:{category:"Features",description:"Imports the function table from 'env.table'.",type:"b",default:!1},exportTable:{category:"Features",description:"Exports the function table as 'table'.",type:"b",default:!1},exportStart:{category:"Features",description:["Exports the start function using the specified name instead","of calling it implicitly. Useful to obtain the exported memory","before executing any code accessing it."],type:"s"},runtime:{category:"Features",description:["Specifies the runtime variant to include in the program.",""," incremental TLSF + incremental GC (default)"," minimal TLSF + lightweight GC invoked externally"," stub Minimal runtime stub (never frees)"," ... Path to a custom runtime implementation",""],type:"s",default:"incremental"},exportRuntime:{category:"Features",description:["Always exports the runtime helpers (__new, __collect, __pin etc.).","Automatically determined when generation of --bindings is enabled."],type:"b",default:!1},stackSize:{category:"Features",description:["Overrides the stack size. Only relevant for incremental GC","or when using a custom runtime that requires stack space.","Defaults to 0 without and to 32768 with incremental GC."],default:0,type:"i"},enable:{category:"Features",description:["Enables WebAssembly features being disabled by default.",""," threads Threading and atomic operations."," simd SIMD types and operations."," reference-types Reference types and operations."," gc Garbage collection (WIP)."," stringref String reference types."," relaxed-simd Relaxed SIMD operations.",""],TODO_doesNothingYet:[" exception-handling Exception handling."," tail-calls Tail call operations."," multi-value Multi value types."," memory64 Memory64 operations."," extended-const Extended const expressions."],type:"S",mutuallyExclusive:"disable"},disable:{category:"Features",description:["Disables WebAssembly features being enabled by default.",""," mutable-globals Mutable global imports and exports."," sign-extension Sign-extension operations"," nontrapping-f2i Non-trapping float to integer ops."," bulk-memory Bulk memory operations.",""],type:"S",mutuallyExclusive:"enable"},use:{category:"Features",description:["Aliases a global object under another name, e.g., to switch","the default 'Math' implementation used: --use Math=JSMath","Can also be used to introduce an integer constant."],type:"S",alias:"u"},lowMemoryLimit:{category:"Features",description:"Enforces very low (<64k) memory constraints.",default:0,type:"i"},memoryBase:{category:"Linking",description:"Sets the start offset of emitted memory segments.",type:"i",default:0},tableBase:{category:"Linking",description:"Sets the start offset of emitted table elements.",type:"i",default:0},transform:{category:"API",description:"Specifies the path to a custom transform to load.",type:"S",isPath:!0,useNodeResolution:!0},trapMode:{category:"Binaryen",description:["Sets the trap mode to use.",""," allow Allow trapping operations. This is the default."," clamp Replace trapping operations with clamping semantics."," js Replace trapping operations with JS semantics.",""],type:"s",default:"allow"},runPasses:{category:"Binaryen",description:["Specifies additional Binaryen passes to run after other","optimizations, if any. See: Binaryen/src/passes/pass.cpp"],type:"s"},noValidate:{category:"Binaryen",description:"Skips validating the module using Binaryen.",type:"b",default:!1},baseDir:{description:"Specifies the base directory of input and output files.",type:"s",default:"."},noColors:{description:"Disables terminal colors.",type:"b",default:!1},noUnsafe:{description:["Disallows the use of unsafe features in user code.","Does not affect library files and external modules."],type:"b",default:!1},disableWarning:{description:["Disables warnings matching the given diagnostic code.","If no diagnostic code is given, all warnings are disabled."],type:"I"},noEmit:{description:"Performs compilation as usual but does not emit code.",type:"b",default:!1},showConfig:{description:"Print computed compiler options and exit.",type:"b",default:!1},stats:{description:"Prints statistics on I/O and compile times.",type:"b",default:!1},pedantic:{description:"Make yourself sad for no good reason.",type:"b",default:!1},lib:{description:["Adds one or multiple paths to custom library components and","uses exports of all top-level files at this path as globals."],type:"S",isPath:!0},path:{description:["Adds one or multiple paths to package resolution, similar","to node_modules. Prefers an 'ascMain' entry in a package's","package.json and falls back to an inner 'assembly/' folder."],type:"S",isPath:!0},wasm:{description:"Uses the specified Wasm binary of the compiler.",type:"s"}," ...":{description:"Specifies node.js options (CLI only). See: node --help"},"-Os":{value:{optimizeLevel:0,shrinkLevel:1}},"-Oz":{value:{optimizeLevel:0,shrinkLevel:2}},"-O0":{value:{optimizeLevel:0,shrinkLevel:0}},"-O1":{value:{optimizeLevel:1,shrinkLevel:0}},"-O2":{value:{optimizeLevel:2,shrinkLevel:0}},"-O3":{value:{optimizeLevel:3,shrinkLevel:0}},"-O0s":{value:{optimizeLevel:0,shrinkLevel:1}},"-O1s":{value:{optimizeLevel:1,shrinkLevel:1}},"-O2s":{value:{optimizeLevel:2,shrinkLevel:1}},"-O3s":{value:{optimizeLevel:3,shrinkLevel:1}},"-O0z":{value:{optimizeLevel:0,shrinkLevel:2}},"-O1z":{value:{optimizeLevel:1,shrinkLevel:2}},"-O2z":{value:{optimizeLevel:2,shrinkLevel:2}},"-O3z":{value:{optimizeLevel:3,shrinkLevel:2}},"-Ospeed":{value:{optimizeLevel:3,shrinkLevel:0}},"-Osize":{value:{optimizeLevel:0,shrinkLevel:2,converge:!0}},"--measure":{value:{stats:!0}}},Ee="~lib/",Ae={array:`/// <reference path="./rt/index.d.ts" />
|
|
9
9
|
|
|
10
10
|
import { BLOCK_MAXSIZE } from "./rt/common";
|
|
11
11
|
import { Runtime } from "shared/runtime";
|
|
@@ -18683,7 +18683,7 @@ export namespace table {
|
|
|
18683
18683
|
}
|
|
18684
18684
|
`,toildb:`// ToilDB: the developer-facing edge-database API.
|
|
18685
18685
|
//
|
|
18686
|
-
// \`@database class App { @collection(...) users!:
|
|
18686
|
+
// \`@database class App { @collection(...) users!: Documents<UserId, User>; ... }\`
|
|
18687
18687
|
// declares logical collections; the compiler (see parser \`injectDatabaseBinding\`)
|
|
18688
18688
|
// synthesizes a \`@global App\` singleton whose fields are these typed handles,
|
|
18689
18689
|
// resolved to numeric host handles once at module init.
|
|
@@ -18732,7 +18732,7 @@ function __toildbTakeGrow(): Uint8Array {
|
|
|
18732
18732
|
/// A mutable keyed-entity collection (spec 7.1). \`V\` is the \`@data\` value type,
|
|
18733
18733
|
/// \`K\` the \`@data\` key type.
|
|
18734
18734
|
@global
|
|
18735
|
-
export class
|
|
18735
|
+
export class Documents<K, V> {
|
|
18736
18736
|
private __handle: u32;
|
|
18737
18737
|
|
|
18738
18738
|
constructor(handle: u32) {
|
|
@@ -18839,7 +18839,7 @@ export class Record<V, K> {
|
|
|
18839
18839
|
/// by a \`@derive\`/\`@job\` (the host kind gate enforces it). \`V\` is the \`@data\`
|
|
18840
18840
|
/// value type, \`K\` the \`@data\` key type.
|
|
18841
18841
|
@global
|
|
18842
|
-
export class View<
|
|
18842
|
+
export class View<K, V> {
|
|
18843
18843
|
private __handle: u32;
|
|
18844
18844
|
|
|
18845
18845
|
constructor(handle: u32) {
|
|
@@ -18885,7 +18885,7 @@ export class ClaimResult<V> {
|
|
|
18885
18885
|
/// A globally-unique claim collection (spec 7.6): username, email, slug, ...
|
|
18886
18886
|
/// \`V\` is the \`@data\` OWNER value type, \`K\` the \`@data\` claim-key type.
|
|
18887
18887
|
@global
|
|
18888
|
-
export class Unique<
|
|
18888
|
+
export class Unique<K, V> {
|
|
18889
18889
|
private __handle: u32;
|
|
18890
18890
|
|
|
18891
18891
|
constructor(handle: u32) {
|
|
@@ -18934,7 +18934,7 @@ export class Unique<V, K> {
|
|
|
18934
18934
|
/// An unordered set (spec 7.3): followers, tags, ACLs, room members. \`M\` is the
|
|
18935
18935
|
/// \`@data\` member type, \`K\` the \`@data\` set-key type.
|
|
18936
18936
|
@global
|
|
18937
|
-
export class Membership<
|
|
18937
|
+
export class Membership<K, M> {
|
|
18938
18938
|
private __handle: u32;
|
|
18939
18939
|
|
|
18940
18940
|
constructor(handle: u32) {
|
|
@@ -19077,7 +19077,7 @@ export class Counter<K> {
|
|
|
19077
19077
|
/// fact stream a \`@derive\` consumes. \`V\` is the \`@data\` event type, \`K\` the
|
|
19078
19078
|
/// \`@data\` stream-key type.
|
|
19079
19079
|
@global
|
|
19080
|
-
export class Events<
|
|
19080
|
+
export class Events<K, V> {
|
|
19081
19081
|
private __handle: u32;
|
|
19082
19082
|
|
|
19083
19083
|
constructor(handle: u32) {
|
|
@@ -30185,5 +30185,5 @@ declare function offsetof<T>(fieldName?: string): usize;
|
|
|
30185
30185
|
declare function idof<T>(): u32;
|
|
30186
30186
|
`};var pn={};nn(pn,{default:()=>hn});Dn(pn,Mt);import*as Mt from"binaryen";import{default as hn}from"binaryen";import*as At from"toilscript";var x=At,Pn=M.argv.indexOf("--wasm");if(~Pn){let e=String(M.argv[Pn+1]);M.argv.splice(Pn,2),x=await import(new URL(e,dn.pathToFileURL(M.cwd()+"/")))}var Vn=sn.createRequire(import.meta.url),Xn=M.platform==="win32",E=Xn?`\r
|
|
30187
30187
|
`:`
|
|
30188
|
-
`,Gn=Xn?"\\":"/",_=".ts",_t=`.d${_}`,xn=new RegExp("\\"+_+"$"),Tt=new RegExp("^(?!.*\\.d\\"+_+"$).*\\"+_+"$");function Te(e){return e.replace(/-/g,"_").toUpperCase()}function Ct(e){return typeof e=="string"&&e!==""}var Hn=Fe,zt=Y,P=Ee,H=Ae,St=_e,Se=3,we=0;function qn(e,t=[]){return Object.keys(e||{}).forEach(n=>{let o=e[n],s=Y[n];s&&s.type==="b"?o&&t.push(`--${n}`):Array.isArray(o)?o.forEach(r=>{t.push(`--${n}`,String(r))}):t.push(`--${n}`,String(o))}),t}async function wt(e,t={}){typeof e=="string"&&(e={[`input${_}`]:e});let n=["--outFile","binary","--textFile","text"];qn(t,n);let o={},s=await Be(n.concat(Object.keys(e)),{readFile:r=>Object.prototype.hasOwnProperty.call(e,r)?e[r]:null,writeFile:(r,u)=>{o[r]=u},listFiles:()=>[]});return Object.assign(s,o)}async function Be(e,t){Array.isArray(e)||(e=qn(e)),t||(t={});let n=t.stats||new Cn,o=n.begin(),s=0,r=0,u=0,f=(Hn||"").split(".");f.length===3&&(r=parseInt(f[0])|0,s=parseInt(f[1])|0,u=parseInt(f[2])|0);let h=t.stdout||Kn(),b=t.stderr||Kn(),d=t.readFile||ee,g=t.writeFile||te,y=t.listFiles||ie,m=ye(e,Y,!1),i=m.options;e=m.arguments;let zn=new en(h),G=new en(b);i.noColors&&(zn.enabled=!1,G.enabled=!1);let Yn=m.unknown;Yn.length&&Yn.forEach(a=>{b.write(`${G.yellow("WARNING ")}Unknown option '${a}'${E}`)});let Jn=m.trailing;Jn.length&&b.write(`${G.yellow("WARNING ")}Unsupported trailing arguments: ${Jn.join(" ")}${E}`);let K=null,R=null,z=(a,l={})=>(a&&b.write(`${G.red("FAILURE ")}${a.stack.replace(/^ERROR: /i,"")}${E}`),R&&R.dispose(),n.total||(n.total=n.end(o)),Object.assign({error:a,stdout:h,stderr:b,stats:n},l));if(i.version)return h.write(`Version ${Hn}${E}`),z(null);let w=F.normalize(i.baseDir||"."),X=tn(i.config||"toilconfig.json",w),Sn=F.basename(X),J=F.dirname(X),N=await Ce(Sn,J,d),De=N!=null&&Array.isArray(N.entries)&&N.entries.length;if(i.help||!e.length&&!De){let a=i.help?h:b,l=i.help?zn:G;return a.write([l.white("SYNTAX")," "+l.cyan("toilscript")+" [entryFile ...] [options]","",l.white("EXAMPLES")," "+l.cyan("toilscript")+" hello"+_," "+l.cyan("toilscript")+" hello"+_+" -o hello.wasm -t hello.wat"," "+l.cyan("toilscript")+" hello1"+_+" hello2"+_+" -o -O > hello.wasm"," "+l.cyan("toilscript")+" --config toilconfig.json --target release","",l.white("OPTIONS")].concat(ve(Y,24,E)).join(E)+E),z(null)}if(!(j.promises&&j.promises.readFile)){if(d===ee)throw Error("'options.readFile' must be specified");if(g===te)throw Error("'options.writeFile' must be specified");if(y===ie)throw Error("'options.listFiles' must be specified")}let wn=new Set;wn.add(X);let Ie=i.target||"release";for(;N;){if(N.targets){let l=N.targets[Ie];l&&(i=Un(Y,i,l,J))}let a=N.options;if(a&&(i=Un(Y,i,a,J)),N.entries)for(let l of N.entries)e.push(tn(l,J));if(N.extends){if(X=tn(N.extends,J,!0),Sn=F.basename(X),J=F.dirname(X),wn.has(X))break;wn.add(X),N=await Ce(Sn,J,d)}else break}if(Mn(Y,i),i.showConfig)return b.write(JSON.stringify({options:i,entries:e},null,2)),z(null);function Zn(a){return[...new Set(a)]}let B,rn,mn,T=x.newOptions();switch(i.runtime){case"stub":rn=0;break;case"minimal":rn=1;break;case"memory":rn=3;break;default:rn=2;break}switch(i.uncheckedBehavior){default:mn=0;break;case"never":mn=1;break;case"always":mn=2;break}if(x.setTarget(T,0),x.setDebugInfo(T,!!i.debug),x.setRuntime(T,rn),x.setNoAssert(T,i.noAssert),x.setExportMemory(T,!i.noExportMemory),x.setImportMemory(T,i.importMemory),x.setInitialMemory(T,i.initialMemory>>>0),x.setMaximumMemory(T,i.maximumMemory>>>0),x.setSharedMemory(T,i.sharedMemory),x.setImportTable(T,i.importTable),x.setExportTable(T,i.exportTable),i.exportStart!=null&&x.setExportStart(T,Ct(i.exportStart)?i.exportStart:"_start"),x.setMemoryBase(T,i.memoryBase>>>0),x.setTableBase(T,i.tableBase>>>0),x.setSourceMap(T,i.sourceMap!=null),x.setUncheckedBehavior(T,mn),x.setNoUnsafe(T,i.noUnsafe),x.setPedantic(T,i.pedantic),x.setLowMemoryLimit(T,i.lowMemoryLimit>>>0),x.setExportRuntime(T,i.exportRuntime),x.setBundleVersion(T,r,s,u),!i.stackSize&&rn===2&&(i.stackSize=x.DEFAULT_STACK_SIZE),x.setStackSize(T,i.stackSize),x.setBindingsHint(T,i.bindings&&i.bindings.length>0),i.use){let a=i.use;for(let l=0,c=a.length;l<c;++l){let p=a[l],A=p.indexOf("=");if(A<0)return z(Error(`Global alias '${p}' is invalid.`));let v=p.substring(0,A).trim(),C=p.substring(A+1).trim();if(!v.length)return z(Error(`Global alias '${p}' is invalid.`));x.addGlobalAlias(T,v,C)}}let U;if((U=i.disable)!=null){typeof U=="string"&&(U=U.split(","));for(let a=0,l=U.length;a<l;++a){let c=U[a].trim(),p=x[`FEATURE_${Te(c)}`];if(!p)return z(Error(`Feature '${c}' is unknown.`));x.setFeature(T,p,!1)}}if((U=i.enable)!=null){typeof U=="string"&&(U=U.split(","));for(let a=0,l=U.length;a<l;++a){let c=U[a].trim(),p=x[`FEATURE_${Te(c)}`];if(!p)return z(Error(`Feature '${c}' is unknown.`));x.setFeature(T,p,!0)}}let Z=0,$=0;i.optimize&&(Z=Se,$=we),typeof i.optimizeLevel=="number"&&(Z=i.optimizeLevel),typeof i.shrinkLevel=="number"&&($=i.shrinkLevel),Z=Math.min(Math.max(Z,0),3),$=Math.min(Math.max($,0),2),x.setOptimizeLevelHints(T,Z,$),B=x.newProgram(T);let an=[];if(Array.isArray(t.transforms)&&an.push(...t.transforms),i.transform){let a=Zn(i.transform);for(let l=0,c=a.length;l<c;++l){let p=a[l].trim(),A,v;if(Vn.resolve)try{A=Vn.resolve(p,{paths:[M.cwd(),w]}),v=await import(dn.pathToFileURL(A)),v.default&&(v=v.default)}catch(C){try{v=Vn(A)}catch{return z(C)}}else try{v=await import(new URL(p,import.meta.url)),v.default&&(v=v.default)}catch(C){return z(C)}if(!v||typeof v!="function"&&typeof v!="object")return z(Error("not a transform: "+a[l]));an.push(v)}}try{an=an.map(a=>(typeof a=="function"&&(Object.assign(a.prototype,{program:B,binaryen:hn,baseDir:w,stdout:h,stderr:b,log:console.error,readFile:d,writeFile:g,listFiles:y}),a=new a),a))}catch(a){return z(a)}async function Bn(a,...l){for(let c=0,p=an.length;c<p;++c){let A=an[c];if(typeof A[a]=="function")try{let v=n.begin();n.transformCount++,await A[a](...l),n.transformTime+=n.end(v)}catch(v){return v}}}Object.keys(H).forEach(a=>{if(a.includes("/"))return;let l=n.begin();n.parseCount++,x.parse(B,H[a],P+a+_,!1),n.parseTime+=n.end(l)});let on=[];if(i.lib){let a=i.lib;typeof a=="string"&&(a=a.split(",")),on.push(...a.map(l=>l.trim())),on=Zn(on);for(let l=0,c=on.length;l<c;++l){let p=on[l],A;p.endsWith(_)?(A=[F.basename(p)],p=F.dirname(p)):A=await y(p,w)||[];for(let v of A){let C=await d(v,p);if(C==null)return z(Error(`Library file '${v}' not found.`));H[v.replace(xn,"")]=C;let O=n.begin();n.parseCount++,x.parse(B,C,P+v,!1),n.parseTime+=n.end(O)}}}i.path=i.path||[];let bn=new Map;async function Oe(a,l){let c=null,p=null;if(!a.startsWith(P))(c=await d(p=a+_,w))==null&&(c=await d(p=a+"/index"+_,w))==null&&(p=a+_,c=await d(a+_t,w));else{let A=a.substring(P.length),v=`${A}/index`;if(Object.prototype.hasOwnProperty.call(H,A))c=H[A],p=P+A+_;else if(Object.prototype.hasOwnProperty.call(H,v))c=H[v],p=P+v+_;else{for(let C of on)if((c=await d(A+_,C))!=null){p=P+A+_;break}else if((c=await d(v+_,C))!=null){p=P+v+_;break}if(c==null){let C=a.match(/^~lib\/((?:@[^/]+\/)?[^/]+)(?:\/(.+))?/);if(C){let O=C[1],q=C[2]||"index",Fn=bn.has(l)?bn.get(l):".",L=[],D=F.resolve(w,Fn).split(Gn);for(let S=D.length,k=Xn?1:0;S>=k;--S)D[S-1]!=="node_modules"&&L.push(`${D.slice(0,S).join(Gn)}${Gn}node_modules`);L.push(...i.path);for(let S of L.map(k=>F.relative(w,k))){let k=q;if((c=await d(F.join(S,O,k+_),w))!=null){p=`${P}${O}/${k}${_}`,bn.set(p.replace(xn,""),F.join(S,O));break}let un=`${q}/index`;if((c=await d(F.join(S,O,un+_),w))!=null){p=`${P}${O}/${un}${_}`,bn.set(p.replace(xn,""),F.join(S,O));break}}}}}}return c==null?null:{sourceText:c,sourcePath:p}}function Le(a=[]){do{let l=x.nextFile(B);if(l==null)break;a.push(l)}while(!0);return a}async function $n(){let a;for(;(a=Le()).length;){let c=[];for(let p of a){let A=x.getDependee(B,p);c.push(Oe(p,A))}c=await Promise.all(c);for(let p=0,A=a.length;p<A;++p){let v=a[p],C=c[p],O=n.begin();n.parseCount++,C?x.parse(B,C.sourceText,C.sourcePath,!1):x.parse(B,null,v+_,!1),n.parseTime+=n.end(O)}}let l=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled);if(l){let c=Error(`${l} parse error(s)`);return c.stack=c.message,z(c)}}{let a=String(i.runtime),l=`rt/index-${a}`,c=H[l];if(c==null){if(l=a,c=await d(l+_,w),c==null)return z(Error(`Runtime '${F.resolve(w,l+_)}' is not found.`))}else l=`~lib/${l}`;let p=n.begin();n.parseCount++,x.parse(B,c,l+_,!0),n.parseTime+=n.end(p)}for(let a=0,l=e.length;a<l;++a){let c=String(e[a]),p=F.isAbsolute(c)?F.relative(w,c):F.normalize(c);p=p.replace(/\\/g,"/").replace(xn,"").replace(/\/$/,"");let A=await d(p+_,w);if(A==null){let C=`${p}/index${_}`;A=await d(C,w),A!=null?p=C:p+=_}else p+=_;let v=n.begin();n.parseCount++,x.parse(B,A,p,!0),n.parseTime+=n.end(v)}{let a=await $n();if(a)return a}{let a=await Bn("afterParse",B.parser);if(a)return z(a)}{let a=await $n();if(a)return a}{let a=n.begin();n.initializeCount++;try{x.initializeProgram(B)}catch(l){I("initialize",l)}n.initializeTime+=n.end(a)}{let a=await Bn("afterInitialize",B);if(a)return z(a)}{let a=n.begin();n.compileCount++;try{K=x.compile(B)}catch(l){let c=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled);if(c){let p=Error(`${c} compile error(s)`);return p.stack=p.message,z(p)}I("compile",l)}n.compileTime+=n.end(a)}R=hn.wrapModule(typeof K=="number"||K instanceof Number?x.getBinaryenModuleRef(K):K.ref);let ln=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled);if(ln){let a=Error(`${ln} compile error(s)`);return a.stack=a.message,z(a)}{let a=await Bn("afterCompile",R);if(a)return z(a)}if(ln=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled),ln){let a=Error(`${ln} afterCompile error(s)`);return a.stack=a.message,z(a)}if(!i.noValidate){let a=n.begin();n.validateCount++;let l=x.validate(K);if(n.validateTime+=n.end(a),!l)return z(Error("validate error"))}if(i.trapMode==="clamp"||i.trapMode==="js"){let a=n.begin();try{R.runPasses([`trap-mode-${i.trapMode}`])}catch(l){I("runPasses",l)}n.compileTime+=n.end(a)}else if(i.trapMode!=="allow")return z(Error("Unsupported trap mode"));let Qn=i.debug,ke=i.converge,ne=i.importMemory?i.zeroFilledMemory:!1,yn=[];i.runPasses&&(typeof i.runPasses=="string"&&(i.runPasses=i.runPasses.split(",")),i.runPasses.length&&i.runPasses.forEach(a=>{yn.includes(a=a.trim())||yn.push(a)}));{let a=n.begin();try{n.optimizeCount++,x.optimize(K,Z,$,Qn,ne)}catch(l){I("optimize",l)}try{R.runPasses(yn)}catch(l){I("runPasses",l)}if(ke){let l;try{let c=n.begin();n.emitCount++,l=R.emitBinary(),n.emitTime+=n.end(c)}catch(c){I("emitBinary (converge)",c)}do{try{n.optimizeCount++,x.optimize(K,Z,$,Qn,ne)}catch(p){I("optimize (converge)",p)}try{R.runPasses(yn)}catch(p){I("runPasses (converge)",p)}let c;try{let p=n.begin();n.emitCount++,c=R.emitBinary(),n.emitTime+=n.end(p)}catch(p){I("emitBinary (converge)",p)}if(c.length>=l.length){c.length>l.length&&b.write(`Last converge was suboptimal.${E}`);break}l=c}while(!0)}n.optimizeTime+=n.end(a)}let Q=[];if(!i.noEmit){if(i.binaryFile)return z(Error("Usage of the --binaryFile compiler option is no longer supported. Use --outFile instead."));let a=i.bindings||[],l=!1,c=i.outFile!=null,p=i.textFile!=null,A=c||p,v=c&&i.outFile.length>0||p&&i.textFile.length>0,C=v?(i.outFile||i.textFile).replace(/\.\w+$/,""):null,O=v?F.basename(C):"output";if(x.setBasenameHint(T,O),i.outFile!=null){let L=i.sourceMap!=null?i.sourceMap.length?i.sourceMap:`./${O}.wasm.map`:null,D=n.begin();n.emitCount++;let S;try{S=R.emitBinary(L)}catch(k){I("emitBinary",k)}if(n.emitTime+=n.end(D),i.outFile.length?Q.push(g(i.outFile,S.binary,w)):(l=!0,vn(S.binary)),S.sourceMap!="")if(i.outFile.length){let k=JSON.parse(S.sourceMap);k.sourceRoot=`./${O}`;let un=[];for(let En=0,Re=k.sources.length;En<Re;++En){let re=k.sources[En],ae=x.getSource(B,re.replace(xn,""));if(ae==null)return z(Error(`Source of file '${re}' not found.`));un[En]=ae}k.sourcesContent=un,Q.push(g(F.join(F.dirname(i.outFile),F.basename(L)).replace(/^\.\//,""),JSON.stringify(k),w))}else b.write(`Skipped source map (no output path)${E}`)}if(i.textFile!=null||!A){let L=n.begin();n.emitCount++;let D;try{hn.setOptimizeStackIR(!0),D=i.textFile?.endsWith(".wast")?R.emitText():R.emitStackIR()}catch(S){I("emitText",S)}n.emitTime+=n.end(L),i.textFile!=null&&i.textFile.length?Q.push(g(i.textFile,D,w)):l||vn(D)}let q=a.includes("esm"),Fn=!q&&a.includes("raw");if(q||Fn)if(C){let L=n.begin();n.emitCount++;let D;try{D=x.buildTSD(B,q)}catch(S){I("buildTSD",S)}n.emitTime+=n.end(L),Q.push(g(C+".d.ts",D,w))}else b.write(`Skipped TypeScript binding (no output path)${E}`);if(q||Fn)if(C){let L=n.begin();n.emitCount++;let D;try{D=x.buildJS(B,q)}catch(S){I("buildJS",S)}n.emitTime+=n.end(L),Q.push(g(C+".js",D,w))}else b.write(`Skipped JavaScript binding (no output path)${E}`);if(i.rpcModule!=null&&i.rpcModule.length){let L=n.begin();n.emitCount++;let D;try{D=x.buildServerModule(B,i.rpcRuntime||"toiljs/io")}catch(S){I("buildServerModule",S)}n.emitTime+=n.end(L),D!=null&&Q.push(g(i.rpcModule,D,w))}}try{await Promise.all(Q)}catch(a){return z(a)}return n.total=n.end(o),i.stats&&b.write(n.toString()),z(null);async function ee(a,l){let c=F.resolve(l,a);try{return n.readCount++,await j.promises.readFile(c,"utf8")}catch{return null}}async function te(a,l,c){try{n.writeCount++;let p=F.resolve(c,F.dirname(a)),A=F.join(p,F.basename(a));return await j.promises.mkdir(p,{recursive:!0}),await j.promises.writeFile(A,l),!0}catch{return!1}}async function ie(a,l){try{return n.readCount++,(await j.promises.readdir(F.join(l,a))).filter(c=>Tt.test(c))}catch{return null}}function vn(a){vn.used||(vn.used=!0,n.writeCount++),h.write(a)}function I(a,l){let c=zn.red("\u258C ");console.error([E,c,"Whoops, the ToilScript compiler has crashed during ",a," :-(",E,c,E,(typeof l.stack=="string"?[c,"Here is the stack trace hinting at the problem, perhaps it's useful?",E,c,E,l.stack.replace(/^/mg,c),E]:[c,"There is no stack trace. Perhaps a Binaryen exception above / in console?",E,c,E,c,"> "+l.stack,E]).join(""),c,E,c,"If you see where the error is, feel free to send us a pull request. If not,",E,c,"please let us know: https://github.com/dacely-cloud/toilscript/issues",E,c,E,c,"Thank you!",E].join("")),M.exit(1)}}function jn(e){return Object.prototype.toString.call(e)==="[object Object]"}async function Ce(e,t,n){let o=await n(e,t),s=F.join(t,e);if(!o)return null;let r;try{r=JSON.parse(o)}catch(u){throw new Error(`Toilconfig is not valid json: ${s}`,{cause:u})}if(r.options&&!jn(r.options))throw new Error(`Toilconfig.options is not an object: ${s}`);if(r.include&&!Array.isArray(r.include))throw new Error(`Toilconfig.include is not an array: ${s}`);if(r.targets){if(!jn(r.targets))throw new Error(`Toilconfig.targets is not an object: ${s}`);let u=Object.keys(r.targets);for(let f=0;f<u.length;f++){let h=u[f];if(!jn(r.targets[h]))throw new Error(`Toilconfig.targets.${h} is not an object: ${s}`)}}if(r.extends&&typeof r.extends!="string")throw new Error(`Toilconfig.extends is not a string: ${s}`);return r}function gn(e,t,n,o,s){typeof s>"u"&&t&&(s=t.isTTY);let r=0;do{let h=x.nextDiagnostic(e);if(!h)break;if(t){let b=d=>{if(n==null)return!1;if(!n.length)return!0;let g=x.getDiagnosticCode(d);return n.includes(g)};(x.isError(h)||!b(h))&&t.write(x.formatDiagnostic(h,s,!0)+E+E)}if(o){let b=function(g){return g&&{start:x.getRangeStart(g),end:x.getRangeEnd(g),source:d(x.getRangeSource(g))}||null},d=function(g){return g&&{normalizedPath:x.getSourceNormalizedPath(g)}||null};var u=b,f=d;o({message:x.getDiagnosticMessage(h),code:x.getDiagnosticCode(h),category:x.getDiagnosticCategory(h),range:b(x.getDiagnosticRange(h)),relatedRange:b(x.getDiagnosticRelatedRange(h))})}x.isError(h)&&++r}while(!0);return r}var Cn=class{readCount=0;writeCount=0;parseTime=0;parseCount=0;initializeTime=0;initializeCount=0;compileTime=0;compileCount=0;emitTime=0;emitCount=0;validateTime=0;validateCount=0;optimizeTime=0;optimizeCount=0;transformTime=0;transformCount=0;begin(){return M.hrtime()}end(t){let n=M.hrtime(t);return n[0]*1e9+n[1]}toString(){let t=m=>m?`${(m/1e6).toFixed(3)} ms`:"n/a",n=Object.keys(this).filter(m=>m.endsWith("Time")).map(m=>m.substring(0,m.length-4)),o=n.map(m=>t(this[`${m}Time`])),s=n.map(m=>this[`${m}Count`].toString()),r=n.reduce((m,i)=>Math.max(i.length,m),0),u=o.reduce((m,i)=>Math.max(i.length,m),0),f=s.reduce((m,i)=>Math.max(i.length,m),0),h=r+u+f+6,b=[];b.push(`\u256D\u2500${"\u2500".repeat(h)}\u2500\u256E${E}`);let d="Stats";b.push(`\u2502 ${d}${" ".repeat(h-d.length)} \u2502${E}`),b.push(`\u255E\u2550${"\u2550".repeat(r)}\u2550\u2564\u2550${"\u2550".repeat(u)}\u2550\u2564\u2550${"\u2550".repeat(f)}\u2550\u2561${E}`);for(let m=0,i=n.length;m<i;++m)b.push(`\u2502 ${n[m].padEnd(r)} \u2502 ${o[m].padStart(u)} \u2502 ${s[m].padStart(f)} \u2502${E}`);b.push(`\u251C\u2500${"\u2500".repeat(r)}\u2500\u2534\u2500${"\u2500".repeat(u)}\u2500\u2534\u2500${"\u2500".repeat(f)}\u2500\u2524${E}`);let g=`Took ${t(this.total)}`;b.push(`\u2502 ${g}${" ".repeat(h-g.length)} \u2502${E}`);let y=`${this.readCount} reads, ${this.writeCount} writes`;return b.push(`\u2502 ${y}${" ".repeat(h-y.length)} \u2502${E}`),b.push(`\u2570\u2500${"\u2500".repeat(h)}\u2500\u256F${E}`),b.join("")}},ze=typeof global<"u"&&global.Buffer?global.Buffer.allocUnsafe||(e=>new global.Buffer(e)):e=>new Uint8Array(e);function Kn(e){let t=[];return t.write=function(n){if(e&&e(n),typeof n=="string"){let o=ze(Tn.length(n));Tn.write(n,o,0),n=o}this.push(n)},t.reset=function(){t.length=0},t.toBuffer=function(){let n=0,o=0,s=this.length;for(;o<s;)n+=this[o++].length;let r=ze(n);for(n=o=0;o<s;)r.set(this[o],n),n+=this[o].length,++o;return r},t.toString=function(){let n=this.toBuffer();return Tn.read(n,0,n.length)},t}var Bt={alwaysStrict:!0,strictNullChecks:!0,noImplicitAny:!0,noImplicitReturns:!0,noImplicitThis:!0,noEmitOnError:!0,noPropertyAccessFromIndexSignature:!0,experimentalDecorators:!0,target:"esnext",noLib:!0,types:[],allowJs:!1};export{Cn as Stats,gn as checkDiagnostics,wt as compileString,qn as configToArguments,Kn as createMemoryStream,Wn as default,Se as defaultOptimizeLevel,we as defaultShrinkLevel,St as definitionFiles,H as libraryFiles,P as libraryPrefix,Be as main,zt as options,Bt as tscOptions,Hn as version};
|
|
30188
|
+
`,Gn=Xn?"\\":"/",_=".ts",_t=`.d${_}`,xn=new RegExp("\\"+_+"$"),Tt=new RegExp("^(?!.*\\.d\\"+_+"$).*\\"+_+"$");function Te(e){return e.replace(/-/g,"_").toUpperCase()}function Ct(e){return typeof e=="string"&&e!==""}var Hn=Fe,zt=Y,P=Ee,H=Ae,St=_e,Se=3,we=0;function qn(e,t=[]){return Object.keys(e||{}).forEach(n=>{let r=e[n],s=Y[n];s&&s.type==="b"?r&&t.push(`--${n}`):Array.isArray(r)?r.forEach(a=>{t.push(`--${n}`,String(a))}):t.push(`--${n}`,String(r))}),t}async function wt(e,t={}){typeof e=="string"&&(e={[`input${_}`]:e});let n=["--outFile","binary","--textFile","text"];qn(t,n);let r={},s=await Be(n.concat(Object.keys(e)),{readFile:a=>Object.prototype.hasOwnProperty.call(e,a)?e[a]:null,writeFile:(a,u)=>{r[a]=u},listFiles:()=>[]});return Object.assign(s,r)}async function Be(e,t){Array.isArray(e)||(e=qn(e)),t||(t={});let n=t.stats||new Cn,r=n.begin(),s=0,a=0,u=0,f=(Hn||"").split(".");f.length===3&&(a=parseInt(f[0])|0,s=parseInt(f[1])|0,u=parseInt(f[2])|0);let h=t.stdout||Kn(),b=t.stderr||Kn(),d=t.readFile||ee,g=t.writeFile||te,y=t.listFiles||ie,m=ye(e,Y,!1),i=m.options;e=m.arguments;let zn=new en(h),G=new en(b);i.noColors&&(zn.enabled=!1,G.enabled=!1);let Yn=m.unknown;Yn.length&&Yn.forEach(o=>{b.write(`${G.yellow("WARNING ")}Unknown option '${o}'${E}`)});let Jn=m.trailing;Jn.length&&b.write(`${G.yellow("WARNING ")}Unsupported trailing arguments: ${Jn.join(" ")}${E}`);let K=null,R=null,z=(o,l={})=>(o&&b.write(`${G.red("FAILURE ")}${o.stack.replace(/^ERROR: /i,"")}${E}`),R&&R.dispose(),n.total||(n.total=n.end(r)),Object.assign({error:o,stdout:h,stderr:b,stats:n},l));if(i.version)return h.write(`Version ${Hn}${E}`),z(null);let w=F.normalize(i.baseDir||"."),X=tn(i.config||"toilconfig.json",w),Sn=F.basename(X),J=F.dirname(X),N=await Ce(Sn,J,d),De=N!=null&&Array.isArray(N.entries)&&N.entries.length;if(i.help||!e.length&&!De){let o=i.help?h:b,l=i.help?zn:G;return o.write([l.white("SYNTAX")," "+l.cyan("toilscript")+" [entryFile ...] [options]","",l.white("EXAMPLES")," "+l.cyan("toilscript")+" hello"+_," "+l.cyan("toilscript")+" hello"+_+" -o hello.wasm -t hello.wat"," "+l.cyan("toilscript")+" hello1"+_+" hello2"+_+" -o -O > hello.wasm"," "+l.cyan("toilscript")+" --config toilconfig.json --target release","",l.white("OPTIONS")].concat(ve(Y,24,E)).join(E)+E),z(null)}if(!(j.promises&&j.promises.readFile)){if(d===ee)throw Error("'options.readFile' must be specified");if(g===te)throw Error("'options.writeFile' must be specified");if(y===ie)throw Error("'options.listFiles' must be specified")}let wn=new Set;wn.add(X);let Ie=i.target||"release";for(;N;){if(N.targets){let l=N.targets[Ie];l&&(i=Un(Y,i,l,J))}let o=N.options;if(o&&(i=Un(Y,i,o,J)),N.entries)for(let l of N.entries)e.push(tn(l,J));if(N.extends){if(X=tn(N.extends,J,!0),Sn=F.basename(X),J=F.dirname(X),wn.has(X))break;wn.add(X),N=await Ce(Sn,J,d)}else break}if(Mn(Y,i),i.showConfig)return b.write(JSON.stringify({options:i,entries:e},null,2)),z(null);function Zn(o){return[...new Set(o)]}let B,rn,mn,T=x.newOptions();switch(i.runtime){case"stub":rn=0;break;case"minimal":rn=1;break;case"memory":rn=3;break;default:rn=2;break}switch(i.uncheckedBehavior){default:mn=0;break;case"never":mn=1;break;case"always":mn=2;break}if(x.setTarget(T,0),x.setDebugInfo(T,!!i.debug),x.setRuntime(T,rn),x.setNoAssert(T,i.noAssert),x.setExportMemory(T,!i.noExportMemory),x.setImportMemory(T,i.importMemory),x.setInitialMemory(T,i.initialMemory>>>0),x.setMaximumMemory(T,i.maximumMemory>>>0),x.setSharedMemory(T,i.sharedMemory),x.setImportTable(T,i.importTable),x.setExportTable(T,i.exportTable),i.exportStart!=null&&x.setExportStart(T,Ct(i.exportStart)?i.exportStart:"_start"),x.setMemoryBase(T,i.memoryBase>>>0),x.setTableBase(T,i.tableBase>>>0),x.setSourceMap(T,i.sourceMap!=null),x.setUncheckedBehavior(T,mn),x.setNoUnsafe(T,i.noUnsafe),x.setPedantic(T,i.pedantic),x.setLowMemoryLimit(T,i.lowMemoryLimit>>>0),x.setExportRuntime(T,i.exportRuntime),x.setBundleVersion(T,a,s,u),!i.stackSize&&rn===2&&(i.stackSize=x.DEFAULT_STACK_SIZE),x.setStackSize(T,i.stackSize),x.setBindingsHint(T,i.bindings&&i.bindings.length>0),i.use){let o=i.use;for(let l=0,c=o.length;l<c;++l){let p=o[l],A=p.indexOf("=");if(A<0)return z(Error(`Global alias '${p}' is invalid.`));let v=p.substring(0,A).trim(),C=p.substring(A+1).trim();if(!v.length)return z(Error(`Global alias '${p}' is invalid.`));x.addGlobalAlias(T,v,C)}}let U;if((U=i.disable)!=null){typeof U=="string"&&(U=U.split(","));for(let o=0,l=U.length;o<l;++o){let c=U[o].trim(),p=x[`FEATURE_${Te(c)}`];if(!p)return z(Error(`Feature '${c}' is unknown.`));x.setFeature(T,p,!1)}}if((U=i.enable)!=null){typeof U=="string"&&(U=U.split(","));for(let o=0,l=U.length;o<l;++o){let c=U[o].trim(),p=x[`FEATURE_${Te(c)}`];if(!p)return z(Error(`Feature '${c}' is unknown.`));x.setFeature(T,p,!0)}}let Z=0,$=0;i.optimize&&(Z=Se,$=we),typeof i.optimizeLevel=="number"&&(Z=i.optimizeLevel),typeof i.shrinkLevel=="number"&&($=i.shrinkLevel),Z=Math.min(Math.max(Z,0),3),$=Math.min(Math.max($,0),2),x.setOptimizeLevelHints(T,Z,$),B=x.newProgram(T);let an=[];if(Array.isArray(t.transforms)&&an.push(...t.transforms),i.transform){let o=Zn(i.transform);for(let l=0,c=o.length;l<c;++l){let p=o[l].trim(),A,v;if(Vn.resolve)try{A=Vn.resolve(p,{paths:[M.cwd(),w]}),v=await import(dn.pathToFileURL(A)),v.default&&(v=v.default)}catch(C){try{v=Vn(A)}catch{return z(C)}}else try{v=await import(new URL(p,import.meta.url)),v.default&&(v=v.default)}catch(C){return z(C)}if(!v||typeof v!="function"&&typeof v!="object")return z(Error("not a transform: "+o[l]));an.push(v)}}try{an=an.map(o=>(typeof o=="function"&&(Object.assign(o.prototype,{program:B,binaryen:hn,baseDir:w,stdout:h,stderr:b,log:console.error,readFile:d,writeFile:g,listFiles:y}),o=new o),o))}catch(o){return z(o)}async function Bn(o,...l){for(let c=0,p=an.length;c<p;++c){let A=an[c];if(typeof A[o]=="function")try{let v=n.begin();n.transformCount++,await A[o](...l),n.transformTime+=n.end(v)}catch(v){return v}}}Object.keys(H).forEach(o=>{if(o.includes("/"))return;let l=n.begin();n.parseCount++,x.parse(B,H[o],P+o+_,!1),n.parseTime+=n.end(l)});let on=[];if(i.lib){let o=i.lib;typeof o=="string"&&(o=o.split(",")),on.push(...o.map(l=>l.trim())),on=Zn(on);for(let l=0,c=on.length;l<c;++l){let p=on[l],A;p.endsWith(_)?(A=[F.basename(p)],p=F.dirname(p)):A=await y(p,w)||[];for(let v of A){let C=await d(v,p);if(C==null)return z(Error(`Library file '${v}' not found.`));H[v.replace(xn,"")]=C;let O=n.begin();n.parseCount++,x.parse(B,C,P+v,!1),n.parseTime+=n.end(O)}}}i.path=i.path||[];let bn=new Map;async function Oe(o,l){let c=null,p=null;if(!o.startsWith(P))(c=await d(p=o+_,w))==null&&(c=await d(p=o+"/index"+_,w))==null&&(p=o+_,c=await d(o+_t,w));else{let A=o.substring(P.length),v=`${A}/index`;if(Object.prototype.hasOwnProperty.call(H,A))c=H[A],p=P+A+_;else if(Object.prototype.hasOwnProperty.call(H,v))c=H[v],p=P+v+_;else{for(let C of on)if((c=await d(A+_,C))!=null){p=P+A+_;break}else if((c=await d(v+_,C))!=null){p=P+v+_;break}if(c==null){let C=o.match(/^~lib\/((?:@[^/]+\/)?[^/]+)(?:\/(.+))?/);if(C){let O=C[1],q=C[2]||"index",Fn=bn.has(l)?bn.get(l):".",L=[],D=F.resolve(w,Fn).split(Gn);for(let S=D.length,k=Xn?1:0;S>=k;--S)D[S-1]!=="node_modules"&&L.push(`${D.slice(0,S).join(Gn)}${Gn}node_modules`);L.push(...i.path);for(let S of L.map(k=>F.relative(w,k))){let k=q;if((c=await d(F.join(S,O,k+_),w))!=null){p=`${P}${O}/${k}${_}`,bn.set(p.replace(xn,""),F.join(S,O));break}let un=`${q}/index`;if((c=await d(F.join(S,O,un+_),w))!=null){p=`${P}${O}/${un}${_}`,bn.set(p.replace(xn,""),F.join(S,O));break}}}}}}return c==null?null:{sourceText:c,sourcePath:p}}function Le(o=[]){do{let l=x.nextFile(B);if(l==null)break;o.push(l)}while(!0);return o}async function $n(){let o;for(;(o=Le()).length;){let c=[];for(let p of o){let A=x.getDependee(B,p);c.push(Oe(p,A))}c=await Promise.all(c);for(let p=0,A=o.length;p<A;++p){let v=o[p],C=c[p],O=n.begin();n.parseCount++,C?x.parse(B,C.sourceText,C.sourcePath,!1):x.parse(B,null,v+_,!1),n.parseTime+=n.end(O)}}let l=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled);if(l){let c=Error(`${l} parse error(s)`);return c.stack=c.message,z(c)}}{let o=String(i.runtime),l=`rt/index-${o}`,c=H[l];if(c==null){if(l=o,c=await d(l+_,w),c==null)return z(Error(`Runtime '${F.resolve(w,l+_)}' is not found.`))}else l=`~lib/${l}`;let p=n.begin();n.parseCount++,x.parse(B,c,l+_,!0),n.parseTime+=n.end(p)}for(let o=0,l=e.length;o<l;++o){let c=String(e[o]),p=F.isAbsolute(c)?F.relative(w,c):F.normalize(c);p=p.replace(/\\/g,"/").replace(xn,"").replace(/\/$/,"");let A=await d(p+_,w);if(A==null){let C=`${p}/index${_}`;A=await d(C,w),A!=null?p=C:p+=_}else p+=_;let v=n.begin();n.parseCount++,x.parse(B,A,p,!0),n.parseTime+=n.end(v)}{let o=await $n();if(o)return o}{let o=await Bn("afterParse",B.parser);if(o)return z(o)}{let o=await $n();if(o)return o}{let o=n.begin();n.initializeCount++;try{x.initializeProgram(B)}catch(l){I("initialize",l)}n.initializeTime+=n.end(o)}{let o=await Bn("afterInitialize",B);if(o)return z(o)}{let o=n.begin();n.compileCount++;try{K=x.compile(B)}catch(l){let c=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled);if(c){let p=Error(`${c} compile error(s)`);return p.stack=p.message,z(p)}I("compile",l)}n.compileTime+=n.end(o)}R=hn.wrapModule(typeof K=="number"||K instanceof Number?x.getBinaryenModuleRef(K):K.ref);let ln=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled);if(ln){let o=Error(`${ln} compile error(s)`);return o.stack=o.message,z(o)}{let o=await Bn("afterCompile",R);if(o)return z(o)}if(ln=gn(B,b,i.disableWarning,t.reportDiagnostic,G.enabled),ln){let o=Error(`${ln} afterCompile error(s)`);return o.stack=o.message,z(o)}if(!i.noValidate){let o=n.begin();n.validateCount++;let l=x.validate(K);if(n.validateTime+=n.end(o),!l)return z(Error("validate error"))}if(i.trapMode==="clamp"||i.trapMode==="js"){let o=n.begin();try{R.runPasses([`trap-mode-${i.trapMode}`])}catch(l){I("runPasses",l)}n.compileTime+=n.end(o)}else if(i.trapMode!=="allow")return z(Error("Unsupported trap mode"));let Qn=i.debug,ke=i.converge,ne=i.importMemory?i.zeroFilledMemory:!1,yn=[];i.runPasses&&(typeof i.runPasses=="string"&&(i.runPasses=i.runPasses.split(",")),i.runPasses.length&&i.runPasses.forEach(o=>{yn.includes(o=o.trim())||yn.push(o)}));{let o=n.begin();try{n.optimizeCount++,x.optimize(K,Z,$,Qn,ne)}catch(l){I("optimize",l)}try{R.runPasses(yn)}catch(l){I("runPasses",l)}if(ke){let l;try{let c=n.begin();n.emitCount++,l=R.emitBinary(),n.emitTime+=n.end(c)}catch(c){I("emitBinary (converge)",c)}do{try{n.optimizeCount++,x.optimize(K,Z,$,Qn,ne)}catch(p){I("optimize (converge)",p)}try{R.runPasses(yn)}catch(p){I("runPasses (converge)",p)}let c;try{let p=n.begin();n.emitCount++,c=R.emitBinary(),n.emitTime+=n.end(p)}catch(p){I("emitBinary (converge)",p)}if(c.length>=l.length){c.length>l.length&&b.write(`Last converge was suboptimal.${E}`);break}l=c}while(!0)}n.optimizeTime+=n.end(o)}let Q=[];if(!i.noEmit){if(i.binaryFile)return z(Error("Usage of the --binaryFile compiler option is no longer supported. Use --outFile instead."));let o=i.bindings||[],l=!1,c=i.outFile!=null,p=i.textFile!=null,A=c||p,v=c&&i.outFile.length>0||p&&i.textFile.length>0,C=v?(i.outFile||i.textFile).replace(/\.\w+$/,""):null,O=v?F.basename(C):"output";if(x.setBasenameHint(T,O),i.outFile!=null){let L=i.sourceMap!=null?i.sourceMap.length?i.sourceMap:`./${O}.wasm.map`:null,D=n.begin();n.emitCount++;let S;try{S=R.emitBinary(L)}catch(k){I("emitBinary",k)}if(n.emitTime+=n.end(D),i.outFile.length?Q.push(g(i.outFile,S.binary,w)):(l=!0,vn(S.binary)),S.sourceMap!="")if(i.outFile.length){let k=JSON.parse(S.sourceMap);k.sourceRoot=`./${O}`;let un=[];for(let En=0,Re=k.sources.length;En<Re;++En){let re=k.sources[En],ae=x.getSource(B,re.replace(xn,""));if(ae==null)return z(Error(`Source of file '${re}' not found.`));un[En]=ae}k.sourcesContent=un,Q.push(g(F.join(F.dirname(i.outFile),F.basename(L)).replace(/^\.\//,""),JSON.stringify(k),w))}else b.write(`Skipped source map (no output path)${E}`)}if(i.textFile!=null||!A){let L=n.begin();n.emitCount++;let D;try{hn.setOptimizeStackIR(!0),D=i.textFile?.endsWith(".wast")?R.emitText():R.emitStackIR()}catch(S){I("emitText",S)}n.emitTime+=n.end(L),i.textFile!=null&&i.textFile.length?Q.push(g(i.textFile,D,w)):l||vn(D)}let q=o.includes("esm"),Fn=!q&&o.includes("raw");if(q||Fn)if(C){let L=n.begin();n.emitCount++;let D;try{D=x.buildTSD(B,q)}catch(S){I("buildTSD",S)}n.emitTime+=n.end(L),Q.push(g(C+".d.ts",D,w))}else b.write(`Skipped TypeScript binding (no output path)${E}`);if(q||Fn)if(C){let L=n.begin();n.emitCount++;let D;try{D=x.buildJS(B,q)}catch(S){I("buildJS",S)}n.emitTime+=n.end(L),Q.push(g(C+".js",D,w))}else b.write(`Skipped JavaScript binding (no output path)${E}`);if(i.rpcModule!=null&&i.rpcModule.length){let L=n.begin();n.emitCount++;let D;try{D=x.buildServerModule(B,i.rpcRuntime||"toiljs/io")}catch(S){I("buildServerModule",S)}n.emitTime+=n.end(L),D!=null&&Q.push(g(i.rpcModule,D,w))}}try{await Promise.all(Q)}catch(o){return z(o)}return n.total=n.end(r),i.stats&&b.write(n.toString()),z(null);async function ee(o,l){let c=F.resolve(l,o);try{return n.readCount++,await j.promises.readFile(c,"utf8")}catch{return null}}async function te(o,l,c){try{n.writeCount++;let p=F.resolve(c,F.dirname(o)),A=F.join(p,F.basename(o));return await j.promises.mkdir(p,{recursive:!0}),await j.promises.writeFile(A,l),!0}catch{return!1}}async function ie(o,l){try{return n.readCount++,(await j.promises.readdir(F.join(l,o))).filter(c=>Tt.test(c))}catch{return null}}function vn(o){vn.used||(vn.used=!0,n.writeCount++),h.write(o)}function I(o,l){let c=zn.red("\u258C ");console.error([E,c,"Whoops, the ToilScript compiler has crashed during ",o," :-(",E,c,E,(typeof l.stack=="string"?[c,"Here is the stack trace hinting at the problem, perhaps it's useful?",E,c,E,l.stack.replace(/^/mg,c),E]:[c,"There is no stack trace. Perhaps a Binaryen exception above / in console?",E,c,E,c,"> "+l.stack,E]).join(""),c,E,c,"If you see where the error is, feel free to send us a pull request. If not,",E,c,"please let us know: https://github.com/dacely-cloud/toilscript/issues",E,c,E,c,"Thank you!",E].join("")),M.exit(1)}}function jn(e){return Object.prototype.toString.call(e)==="[object Object]"}async function Ce(e,t,n){let r=await n(e,t),s=F.join(t,e);if(!r)return null;let a;try{a=JSON.parse(r)}catch(u){throw new Error(`Toilconfig is not valid json: ${s}`,{cause:u})}if(a.options&&!jn(a.options))throw new Error(`Toilconfig.options is not an object: ${s}`);if(a.include&&!Array.isArray(a.include))throw new Error(`Toilconfig.include is not an array: ${s}`);if(a.targets){if(!jn(a.targets))throw new Error(`Toilconfig.targets is not an object: ${s}`);let u=Object.keys(a.targets);for(let f=0;f<u.length;f++){let h=u[f];if(!jn(a.targets[h]))throw new Error(`Toilconfig.targets.${h} is not an object: ${s}`)}}if(a.extends&&typeof a.extends!="string")throw new Error(`Toilconfig.extends is not a string: ${s}`);return a}function gn(e,t,n,r,s){typeof s>"u"&&t&&(s=t.isTTY);let a=0;do{let h=x.nextDiagnostic(e);if(!h)break;if(t){let b=d=>{if(n==null)return!1;if(!n.length)return!0;let g=x.getDiagnosticCode(d);return n.includes(g)};(x.isError(h)||!b(h))&&t.write(x.formatDiagnostic(h,s,!0)+E+E)}if(r){let b=function(g){return g&&{start:x.getRangeStart(g),end:x.getRangeEnd(g),source:d(x.getRangeSource(g))}||null},d=function(g){return g&&{normalizedPath:x.getSourceNormalizedPath(g)}||null};var u=b,f=d;r({message:x.getDiagnosticMessage(h),code:x.getDiagnosticCode(h),category:x.getDiagnosticCategory(h),range:b(x.getDiagnosticRange(h)),relatedRange:b(x.getDiagnosticRelatedRange(h))})}x.isError(h)&&++a}while(!0);return a}var Cn=class{readCount=0;writeCount=0;parseTime=0;parseCount=0;initializeTime=0;initializeCount=0;compileTime=0;compileCount=0;emitTime=0;emitCount=0;validateTime=0;validateCount=0;optimizeTime=0;optimizeCount=0;transformTime=0;transformCount=0;begin(){return M.hrtime()}end(t){let n=M.hrtime(t);return n[0]*1e9+n[1]}toString(){let t=m=>m?`${(m/1e6).toFixed(3)} ms`:"n/a",n=Object.keys(this).filter(m=>m.endsWith("Time")).map(m=>m.substring(0,m.length-4)),r=n.map(m=>t(this[`${m}Time`])),s=n.map(m=>this[`${m}Count`].toString()),a=n.reduce((m,i)=>Math.max(i.length,m),0),u=r.reduce((m,i)=>Math.max(i.length,m),0),f=s.reduce((m,i)=>Math.max(i.length,m),0),h=a+u+f+6,b=[];b.push(`\u256D\u2500${"\u2500".repeat(h)}\u2500\u256E${E}`);let d="Stats";b.push(`\u2502 ${d}${" ".repeat(h-d.length)} \u2502${E}`),b.push(`\u255E\u2550${"\u2550".repeat(a)}\u2550\u2564\u2550${"\u2550".repeat(u)}\u2550\u2564\u2550${"\u2550".repeat(f)}\u2550\u2561${E}`);for(let m=0,i=n.length;m<i;++m)b.push(`\u2502 ${n[m].padEnd(a)} \u2502 ${r[m].padStart(u)} \u2502 ${s[m].padStart(f)} \u2502${E}`);b.push(`\u251C\u2500${"\u2500".repeat(a)}\u2500\u2534\u2500${"\u2500".repeat(u)}\u2500\u2534\u2500${"\u2500".repeat(f)}\u2500\u2524${E}`);let g=`Took ${t(this.total)}`;b.push(`\u2502 ${g}${" ".repeat(h-g.length)} \u2502${E}`);let y=`${this.readCount} reads, ${this.writeCount} writes`;return b.push(`\u2502 ${y}${" ".repeat(h-y.length)} \u2502${E}`),b.push(`\u2570\u2500${"\u2500".repeat(h)}\u2500\u256F${E}`),b.join("")}},ze=typeof global<"u"&&global.Buffer?global.Buffer.allocUnsafe||(e=>new global.Buffer(e)):e=>new Uint8Array(e);function Kn(e){let t=[];return t.write=function(n){if(e&&e(n),typeof n=="string"){let r=ze(Tn.length(n));Tn.write(n,r,0),n=r}this.push(n)},t.reset=function(){t.length=0},t.toBuffer=function(){let n=0,r=0,s=this.length;for(;r<s;)n+=this[r++].length;let a=ze(n);for(n=r=0;r<s;)a.set(this[r],n),n+=this[r].length,++r;return a},t.toString=function(){let n=this.toBuffer();return Tn.read(n,0,n.length)},t}var Bt={alwaysStrict:!0,strictNullChecks:!0,noImplicitAny:!0,noImplicitReturns:!0,noImplicitThis:!0,noEmitOnError:!0,noPropertyAccessFromIndexSignature:!0,experimentalDecorators:!0,target:"esnext",noLib:!0,types:[],allowJs:!1};export{Cn as Stats,gn as checkDiagnostics,wt as compileString,qn as configToArguments,Kn as createMemoryStream,Wn as default,Se as defaultOptimizeLevel,we as defaultShrinkLevel,St as definitionFiles,H as libraryFiles,P as libraryPrefix,Be as main,zt as options,Bt as tscOptions,Hn as version};
|
|
30189
30189
|
//# sourceMappingURL=cli.js.map
|