@mirascript/mirascript 0.1.19 → 0.1.20

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.
Files changed (70) hide show
  1. package/dist/{chunk-5AEWM4W6.js → chunk-4T5YE7LC.js} +241 -177
  2. package/dist/chunk-4T5YE7LC.js.map +6 -0
  3. package/dist/{chunk-RLWIIOH5.js → chunk-BV5YXQYA.js} +1 -1
  4. package/dist/{chunk-RLWIIOH5.js.map → chunk-BV5YXQYA.js.map} +1 -1
  5. package/dist/chunk-OVTSNACH.js +152 -0
  6. package/dist/chunk-OVTSNACH.js.map +6 -0
  7. package/dist/{chunk-BFSB6SQK.js → chunk-ZKL4MRMP.js} +77 -185
  8. package/dist/chunk-ZKL4MRMP.js.map +6 -0
  9. package/dist/cli/index.js +6 -5
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/compiler/emit/constants.d.ts +1 -2
  12. package/dist/compiler/emit/constants.d.ts.map +1 -1
  13. package/dist/compiler/emit/consts.d.ts +2 -2
  14. package/dist/compiler/emit/consts.d.ts.map +1 -1
  15. package/dist/compiler/emit/index.d.ts +2 -3
  16. package/dist/compiler/emit/index.d.ts.map +1 -1
  17. package/dist/compiler/emit/sourcemap.d.ts +1 -2
  18. package/dist/compiler/emit/sourcemap.d.ts.map +1 -1
  19. package/dist/compiler/emit-script.d.ts +10 -0
  20. package/dist/compiler/emit-script.d.ts.map +1 -0
  21. package/dist/compiler/generate-bytecode.d.ts +4 -2
  22. package/dist/compiler/generate-bytecode.d.ts.map +1 -1
  23. package/dist/compiler/index.d.ts +1 -6
  24. package/dist/compiler/index.d.ts.map +1 -1
  25. package/dist/compiler/load-module.d.ts +2 -0
  26. package/dist/compiler/load-module.d.ts.map +1 -0
  27. package/dist/compiler/worker.js +1 -1
  28. package/dist/helpers/constants.d.ts +2 -0
  29. package/dist/helpers/constants.d.ts.map +1 -1
  30. package/dist/helpers/serialize.d.ts.map +1 -1
  31. package/dist/helpers/utils.d.ts.map +1 -1
  32. package/dist/index.js +6 -11
  33. package/dist/subtle.d.ts +3 -1
  34. package/dist/subtle.d.ts.map +1 -1
  35. package/dist/subtle.js +3 -3
  36. package/dist/vm/checkpoint.d.ts +1 -1
  37. package/dist/vm/checkpoint.d.ts.map +1 -1
  38. package/dist/vm/helpers.d.ts +6 -1
  39. package/dist/vm/helpers.d.ts.map +1 -1
  40. package/dist/vm/lib/global/json.d.ts.map +1 -1
  41. package/dist/vm/lib/helpers.d.ts +1 -1
  42. package/dist/vm/lib/helpers.d.ts.map +1 -1
  43. package/dist/vm/types/context.d.ts +7 -16
  44. package/dist/vm/types/context.d.ts.map +1 -1
  45. package/package.json +4 -4
  46. package/src/compiler/emit/constants.ts +1 -2
  47. package/src/compiler/emit/consts.ts +166 -29
  48. package/src/compiler/emit/index.ts +40 -32
  49. package/src/compiler/emit/sourcemap.ts +21 -76
  50. package/src/compiler/emit-script.ts +30 -0
  51. package/src/compiler/generate-bytecode.ts +5 -8
  52. package/src/compiler/index.ts +2 -30
  53. package/src/compiler/load-module.ts +3 -0
  54. package/src/helpers/constants.ts +2 -0
  55. package/src/helpers/serialize.ts +1 -4
  56. package/src/helpers/utils.ts +2 -7
  57. package/src/subtle.ts +3 -1
  58. package/src/vm/checkpoint.ts +42 -17
  59. package/src/vm/helpers.ts +12 -5
  60. package/src/vm/lib/global/json.ts +2 -0
  61. package/src/vm/lib/helpers.ts +2 -1
  62. package/src/vm/types/context.ts +42 -29
  63. package/src/vm/types/wrapper.ts +3 -3
  64. package/dist/chunk-5AEWM4W6.js.map +0 -6
  65. package/dist/chunk-BFSB6SQK.js.map +0 -6
  66. package/dist/chunk-RIT53WVY.js +0 -1
  67. package/dist/chunk-RIT53WVY.js.map +0 -6
  68. package/dist/compiler/emit/globals.d.ts +0 -17
  69. package/dist/compiler/emit/globals.d.ts.map +0 -1
  70. package/src/compiler/emit/globals.ts +0 -39
@@ -1,6 +1,6 @@
1
1
  import type { VmPrimitive } from '../../vm/index.js';
2
2
  /** 将值转为 JS 字面量 */
3
3
  export declare function toJsLiteral(value: VmPrimitive | undefined): string;
4
- /** 解析常量 */
5
- export declare function readConst(reader: DataView, offset: number): [value: VmPrimitive, consumed: number];
4
+ /** 读取常量表 */
5
+ export declare function readConsts(constChunk: Uint8Array): VmPrimitive[];
6
6
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,kBAAkB;AAClB,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAalE;AAED,WAAW;AACX,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CA2BlG"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,kBAAkB;AAClB,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAalE;AAwHD,YAAY;AACZ,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,EAAE,CA8ChE"}
@@ -1,7 +1,6 @@
1
1
  import type { VmPrimitive } from '../../vm/index.js';
2
2
  import type { ScriptInput, TranspileOptions } from '../types.js';
3
3
  import type { IRange } from '../diagnostic.js';
4
- import { type GlobalMap } from './globals.js';
5
4
  /** 生成代码 */
6
5
  export declare function emit(source: ScriptInput, chunk: Uint8Array, sourcemaps: readonly IRange[], options: TranspileOptions): string;
7
6
  /** 代码生成 */
@@ -14,7 +13,6 @@ export declare class Emitter {
14
13
  readonly pretty: boolean;
15
14
  readonly chunkSize: number;
16
15
  readonly codeSize: number;
17
- private readonly constReader;
18
16
  /** 读取常量表 */
19
17
  private readConsts;
20
18
  readonly constVals: VmPrimitive[];
@@ -24,9 +22,10 @@ export declare class Emitter {
24
22
  private codeOffset;
25
23
  private closureCounter;
26
24
  private identCounter;
25
+ /** 记录函数声明所在位置 */
26
+ private readonly functions;
27
27
  /** 制造缩进 */
28
28
  private ident;
29
- readonly globals: GlobalMap;
30
29
  /** 读取全局变量 */
31
30
  private rg;
32
31
  readonly codeLines: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,WAAW;AACX,wBAAgB,IAAI,CAChB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,gBAAgB,GAC1B,MAAM,CAKR;AAcD,WAAW;AACX,qBAAa,OAAO;IAEZ,QAAQ,CAAC,MAAM,EAAE,WAAW;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE;IACtC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;gBAHzB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,gBAAgB;IAYtC,QAAQ,CAAC,MAAM,UAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,YAAY;IACZ,OAAO,CAAC,UAAU;IAQlB,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,CAAM;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAElC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAK;IAEzB,WAAW;IACX,OAAO,CAAC,KAAK;IAKb,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAa;IACxC,aAAa;IACb,OAAO,CAAC,EAAE;IAIV,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAElC,oBAAoB;IACpB,OAAO,CAAC,EAAE;IAKV,qBAAqB;IACrB,OAAO,CAAC,EAAE;IAIV,oBAAoB;IACpB,OAAO,CAAC,SAAS;IAOjB,oBAAoB;IACpB,OAAO,CAAC,SAAS;IAKjB,WAAW;IACX,OAAO,CAAC,WAAW;IAmBnB,YAAY;IACZ,OAAO,CAAC,YAAY;IAmBpB,yBAAyB;IACzB,OAAO,CAAC,UAAU;IAyBlB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAoElB,eAAe;IACf,OAAO,CAAC,SAAS;IAuDjB,WAAW;IACX,OAAO,CAAC,QAAQ;IA+YhB,eAAe;IACf,IAAI,IAAI,IAAI;IAYZ,YAAY;IACZ,YAAY,IAAI,IAAI;CAKvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK/C,WAAW;AACX,wBAAgB,IAAI,CAChB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,gBAAgB,GAC1B,MAAM,CAKR;AAYD,WAAW;AACX,qBAAa,OAAO;IAEZ,QAAQ,CAAC,MAAM,EAAE,WAAW;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE;IACtC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;gBAHzB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,gBAAgB;IActC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,YAAY;IACZ,OAAO,CAAC,UAAU;IAMlB,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAElC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,iBAAiB;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAE1C,WAAW;IACX,OAAO,CAAC,KAAK;IAKb,aAAa;IACb,OAAO,CAAC,EAAE;IAWV,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAElC,oBAAoB;IACpB,OAAO,CAAC,EAAE;IAKV,qBAAqB;IACrB,OAAO,CAAC,EAAE;IAIV,oBAAoB;IACpB,OAAO,CAAC,SAAS;IAOjB,oBAAoB;IACpB,OAAO,CAAC,SAAS;IAKjB,WAAW;IACX,OAAO,CAAC,WAAW;IAmBnB,YAAY;IACZ,OAAO,CAAC,YAAY;IAmBpB,yBAAyB;IACzB,OAAO,CAAC,UAAU;IAyBlB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAoElB,eAAe;IACf,OAAO,CAAC,SAAS;IAuDjB,WAAW;IACX,OAAO,CAAC,QAAQ;IAsZhB,eAAe;IACf,IAAI,IAAI,IAAI;IAKZ,YAAY;IACZ,YAAY,IAAI,IAAI;CAOvB"}
@@ -1,6 +1,5 @@
1
1
  import type { IRange } from '../diagnostic.js';
2
2
  import type { ScriptInput, TranspileOptions } from '../types.js';
3
- import type { GlobalMap } from './globals.js';
4
3
  /** 创建源映射 */
5
- export declare function createSourceMap(source: ScriptInput | undefined, sourcemaps: readonly IRange[], codeLines: readonly string[], globals: GlobalMap, options: TranspileOptions): [string, string];
4
+ export declare function createSourceMap(source: ScriptInput | undefined, sourcemaps: readonly IRange[], codeLines: string[], functions: readonly number[], options: TranspileOptions): void;
6
5
  //# sourceMappingURL=sourcemap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourcemap.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/sourcemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgG9C,YAAY;AACZ,wBAAgB,eAAe,CAC3B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,gBAAgB,GAC1B,CAAC,MAAM,EAAE,MAAM,CAAC,CA4DlB"}
1
+ {"version":3,"file":"sourcemap.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/sourcemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoCjE,YAAY;AACZ,wBAAgB,eAAe,CAC3B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,EAAE,gBAAgB,GAC1B,IAAI,CAoEN"}
@@ -0,0 +1,10 @@
1
+ import type { ScriptInput, TranspileOptions } from './types.js';
2
+ import type { VmBytecodeResult } from './generate-bytecode.js';
3
+ import { type VmScript } from './create-script.js';
4
+ /** 报告编译错误 */
5
+ export declare function reportDiagnostic(source: ScriptInput, diagnostics: Uint32Array, fileName: string | undefined): never;
6
+ /**
7
+ * 生成 MiraScript 对应的 JavaScript 代码
8
+ */
9
+ export declare function emitScript(source: ScriptInput, [code, diagnostics]: VmBytecodeResult, options: TranspileOptions): VmScript;
10
+ //# sourceMappingURL=emit-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-script.d.ts","sourceRoot":"","sources":["../../src/compiler/emit-script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGjE,aAAa;AACb,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAInH;AAED;;GAEG;AACH,wBAAgB,UAAU,CACtB,MAAM,EAAE,WAAW,EACnB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,gBAAgB,EACrC,OAAO,EAAE,gBAAgB,GAC1B,QAAQ,CASV"}
@@ -1,10 +1,12 @@
1
1
  import type { CompileOptions, ScriptInput } from './types.js';
2
+ /** MiraScript 字节码 */
3
+ export type VmBytecodeResult = [code: Uint8Array | undefined, diagnostics: Uint32Array];
2
4
  /**
3
5
  * 生成 MiraScript 字节码
4
6
  */
5
- export declare function generateBytecodeSync(script: ScriptInput, options: CompileOptions): [Uint8Array | undefined, Uint32Array];
7
+ export declare function generateBytecodeSync(script: ScriptInput, options: CompileOptions): VmBytecodeResult;
6
8
  /**
7
9
  * 生成 MiraScript 字节码
8
10
  */
9
- export declare function generateBytecode(script: ScriptInput, options: CompileOptions): Promise<[Uint8Array | undefined, Uint32Array]>;
11
+ export declare function generateBytecode(script: ScriptInput, options: CompileOptions): Promise<VmBytecodeResult>;
10
12
  //# sourceMappingURL=generate-bytecode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-bytecode.d.ts","sourceRoot":"","sources":["../../src/compiler/generate-bytecode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,cAAc,GACxB,CAAC,UAAU,GAAG,SAAS,EAAE,WAAW,CAAC,CAIvC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC,CAOhD"}
1
+ {"version":3,"file":"generate-bytecode.d.ts","sourceRoot":"","sources":["../../src/compiler/generate-bytecode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,qBAAqB;AACrB,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAExF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,gBAAgB,CAInG;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO9G"}
@@ -1,13 +1,8 @@
1
1
  import type { ScriptInput, TranspileOptions } from './types.js';
2
2
  import { type VmScript } from './create-script.js';
3
- import { generateBytecode, generateBytecodeSync } from './generate-bytecode.js';
4
- export { generateBytecode, generateBytecodeSync };
3
+ import './load-module.js';
5
4
  export * from './types.js';
6
5
  export type { VmScript };
7
- /**
8
- * 生成 MiraScript 对应的 JavaScript 代码
9
- */
10
- export declare function emitScript(source: ScriptInput, [code, diagnostics]: [Uint8Array | undefined, Uint32Array], options: TranspileOptions): VmScript;
11
6
  /**
12
7
  * 生成 MiraScript 对应的 JavaScript 代码
13
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAIhF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAClD,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,CAAC;AAYzB;;GAEG;AACH,wBAAgB,UAAU,CACtB,MAAM,EAAE,WAAW,EACnB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,EAAE,WAAW,CAAC,EAC1D,OAAO,EAAE,gBAAgB,GAC1B,QAAQ,CASV;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmBhH;AACD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,QAAQ,CAOrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKjE,OAAO,kBAAkB,CAAC;AAE1B,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,CAAC;AAKzB;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmBhH;AACD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,QAAQ,CAOrG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=load-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-module.d.ts","sourceRoot":"","sources":["../../src/compiler/load-module.ts"],"names":[],"mappings":""}
@@ -3,7 +3,7 @@ import {
3
3
  emit,
4
4
  generateBytecode,
5
5
  parseDiagnostics
6
- } from "../chunk-5AEWM4W6.js";
6
+ } from "../chunk-4T5YE7LC.js";
7
7
 
8
8
  // src/compiler/worker.ts
9
9
  async function compile(script, options) {
@@ -1,5 +1,7 @@
1
1
  export declare const REG_IDENTIFIER: RegExp;
2
2
  export declare const REG_ORDINAL: RegExp;
3
+ export declare const REG_IDENTIFIER_FULL: RegExp;
4
+ export declare const REG_ORDINAL_FULL: RegExp;
3
5
  export declare const REG_WHITESPACE: RegExp;
4
6
  export declare const REG_HEX: RegExp;
5
7
  export declare const REG_OCT: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/helpers/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAkD,CAAC;AAC9E,eAAO,MAAM,WAAW,QAC2I,CAAC;AACpK,eAAO,MAAM,cAAc,QAAmB,CAAC;AAC/C,eAAO,MAAM,OAAO,QAAkC,CAAC;AACvD,eAAO,MAAM,OAAO,QAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,QAAoB,CAAC;AACzC,eAAO,MAAM,UAAU,QAAiD,CAAC;AACzE,eAAO,MAAM,mBAAmB,QAAc,CAAC;AAE/C,eAAO,MAAM,SAAS,eAAqC,CAAC;AAC5D,eAAO,MAAM,WAAW,eAAuC,CAAC;AAChE,eAAO,MAAM,gBAAgB,eAA6C,CAAC;AAC3E,eAAO,MAAM,UAAU,eAAsC,CAAC;AAC9D,eAAO,MAAM,SAAS,eAAqC,CAAC;AAC5D,eAAO,MAAM,SAAS,eAAqC,CAAC;AAC5D,eAAO,MAAM,UAAU,eAAsC,CAAC;AAE9D,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,0BAA0B,gBAAgB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/helpers/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAkD,CAAC;AAC9E,eAAO,MAAM,WAAW,QAC2I,CAAC;AACpK,eAAO,MAAM,mBAAmB,QAAiE,CAAC;AAClG,eAAO,MAAM,gBAAgB,QAA2D,CAAC;AACzF,eAAO,MAAM,cAAc,QAAmB,CAAC;AAC/C,eAAO,MAAM,OAAO,QAAkC,CAAC;AACvD,eAAO,MAAM,OAAO,QAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,QAAoB,CAAC;AACzC,eAAO,MAAM,UAAU,QAAiD,CAAC;AACzE,eAAO,MAAM,mBAAmB,QAAc,CAAC;AAE/C,eAAO,MAAM,SAAS,eAAqC,CAAC;AAC5D,eAAO,MAAM,WAAW,eAAuC,CAAC;AAChE,eAAO,MAAM,gBAAgB,eAA6C,CAAC;AAC3E,eAAO,MAAM,UAAU,eAAsC,CAAC;AAC9D,eAAO,MAAM,SAAS,eAAqC,CAAC;AAC5D,eAAO,MAAM,SAAS,eAAqC,CAAC;AAC5D,eAAO,MAAM,UAAU,eAAsC,CAAC;AAE9D,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,0BAA0B,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/helpers/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/helpers/serialize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAQ,OAAO,gCAAU,CAAC;AACjC,eAAO,MAAQ,QAAQ,gCAAE,KAAK,gCAAE,SAAS,gCAAE,aAAa,8BAAW,CAAC;AACpE,eAAO,MAAQ,MAAM,yNAAE,IAAI;;;GAAE,MAAM;;;;GAAE,OAAO;;;;GAAE,MAAM;;;;;;;;;;;;;GAAE,cAAc,sBAAE,WAAW,2FAAE,cAAc;;;;6BAAW,CAAC;AAC7G,eAAO,MAAQ,KAAK,sBAAY,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,gBAAgB,wCAQ5B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAQ,OAAO,gCAAU,CAAC;AACjC,eAAO,MAAQ,QAAQ,gCAAE,KAAK,gCAAE,SAAS,gCAAE,aAAa,8BAAW,CAAC;AACpE,eAAO,MAAQ,MAAM,yNAAE,IAAI;;;GAAE,MAAM;;;;GAAE,OAAO;;;;GAAE,MAAM;;;;;;;;;;;;;GAAE,cAAc,sBAAE,WAAW,2FAAE,cAAc;;;;6BAAW,CAAC;AAC7G,eAAO,MAAQ,KAAK,sBAAY,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAGxB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC"}
package/dist/index.js CHANGED
@@ -1,21 +1,19 @@
1
- import "./chunk-RIT53WVY.js";
1
+ import {
2
+ compile,
3
+ compileSync
4
+ } from "./chunk-OVTSNACH.js";
2
5
  import {
3
6
  VmExtern,
4
7
  VmFunction,
5
8
  VmModule,
6
- compile,
7
- compileSync,
8
9
  configCheckpoint,
9
10
  createVmContext,
10
11
  defineVmContextValue,
11
- emitScript,
12
12
  unwrapFromVmValue,
13
13
  wrapToVmValue
14
- } from "./chunk-BFSB6SQK.js";
14
+ } from "./chunk-ZKL4MRMP.js";
15
15
  import {
16
16
  VmError,
17
- generateBytecode,
18
- generateBytecodeSync,
19
17
  getVmFunctionInfo,
20
18
  isVmAny,
21
19
  isVmArray,
@@ -35,7 +33,7 @@ import {
35
33
  isVmValue,
36
34
  isVmWrapper,
37
35
  serialize
38
- } from "./chunk-5AEWM4W6.js";
36
+ } from "./chunk-4T5YE7LC.js";
39
37
  export {
40
38
  VmError,
41
39
  VmExtern,
@@ -46,9 +44,6 @@ export {
46
44
  configCheckpoint,
47
45
  createVmContext,
48
46
  defineVmContextValue,
49
- emitScript,
50
- generateBytecode,
51
- generateBytecodeSync,
52
47
  getVmFunctionInfo,
53
48
  isVmAny,
54
49
  isVmArray,
package/dist/subtle.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import './compiler/load-module.js';
1
2
  export * as constants from './helpers/constants.js';
2
3
  export * as convert from './helpers/convert/index.js';
3
4
  export { DefaultVmContext } from './vm/types/context.js';
@@ -5,7 +6,8 @@ export * as operations from './vm/operations.js';
5
6
  export { display as serializeForDisplay, serialize, serializeNil, serializeBoolean, serializeNumber, serializeString, serializeRecordKey, serializeArray, serializeRecord, type SerializeOptions, } from './helpers/serialize.js';
6
7
  export { lib } from './vm/lib/index.js';
7
8
  export * from './compiler/diagnostic.js';
8
- export { generateBytecode, generateBytecodeSync, emitScript } from './compiler/index.js';
9
+ export { emitScript } from './compiler/emit-script.js';
10
+ export { generateBytecode, generateBytecodeSync, type VmBytecodeResult } from './compiler/generate-bytecode.js';
9
11
  /** 所有 MiraScript 关键字 */
10
12
  export declare let keywords: () => readonly string[];
11
13
  //# sourceMappingURL=subtle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../src/subtle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACH,OAAO,IAAI,mBAAmB,EAC9B,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,KAAK,gBAAgB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEzF,wBAAwB;AACxB,eAAO,IAAI,QAAQ,EAAE,MAAM,SAAS,MAAM,EAIzC,CAAC"}
1
+ {"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../src/subtle.ts"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACH,OAAO,IAAI,mBAAmB,EAC9B,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,KAAK,gBAAgB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhH,wBAAwB;AACxB,eAAO,IAAI,QAAQ,EAAE,MAAM,SAAS,MAAM,EAIzC,CAAC"}
package/dist/subtle.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  keywords
3
- } from "./chunk-RLWIIOH5.js";
3
+ } from "./chunk-BV5YXQYA.js";
4
4
  import {
5
5
  DefaultVmContext,
6
6
  convert_exports,
7
7
  emitScript,
8
8
  lib,
9
9
  operations_exports
10
- } from "./chunk-BFSB6SQK.js";
10
+ } from "./chunk-ZKL4MRMP.js";
11
11
  import {
12
12
  DiagnosticCode,
13
13
  constants_exports,
@@ -25,7 +25,7 @@ import {
25
25
  serializeRecord,
26
26
  serializeRecordKey,
27
27
  serializeString
28
- } from "./chunk-5AEWM4W6.js";
28
+ } from "./chunk-4T5YE7LC.js";
29
29
  export {
30
30
  DefaultVmContext,
31
31
  DiagnosticCode,
@@ -5,5 +5,5 @@ export declare function CpEnter(): void;
5
5
  /** 检查点 */
6
6
  export declare function CpExit(): void;
7
7
  /** 设置检查点超时时间 */
8
- export declare function configCheckpoint(timeout?: number): void;
8
+ export declare function configCheckpoint(timeout?: number, checkInterval?: number): void;
9
9
  //# sourceMappingURL=checkpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/vm/checkpoint.ts"],"names":[],"mappings":"AAcA,UAAU;AACV,wBAAgB,EAAE,IAAI,IAAI,CAMzB;AACD,UAAU;AACV,wBAAgB,OAAO,IAAI,IAAI,CAU9B;AACD,UAAU;AACV,wBAAgB,MAAM,IAAI,IAAI,CAQ7B;AACD,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,OAAO,SAAqB,GAAG,IAAI,CAKnE"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/vm/checkpoint.ts"],"names":[],"mappings":"AAkBA,UAAU;AACV,wBAAgB,EAAE,IAAI,IAAI,CAczB;AACD,UAAU;AACV,wBAAgB,OAAO,IAAI,IAAI,CAU9B;AACD,UAAU;AACV,wBAAgB,MAAM,IAAI,IAAI,CAQ7B;AAGD,gBAAgB;AAChB,wBAAgB,gBAAgB,CAC5B,OAAO,GAAE,MAA2B,EACpC,aAAa,GAAE,MAA4B,GAC5C,IAAI,CAaN"}
@@ -3,10 +3,15 @@ import { type VmContext } from './types/context.js';
3
3
  import type { VmConst, VmAny, VmArray, VmValue } from './types/index.js';
4
4
  import { VmFunction } from './types/function.js';
5
5
  export { Cp, CpEnter, CpExit } from './checkpoint.js';
6
+ /** 过滤剩余参数数组 */
6
7
  export declare const Vargs: (varags: VmAny[]) => VmArray;
8
+ /** 构造 record | array 元素 */
7
9
  export declare const Element: (value: VmAny) => VmConst;
10
+ /** 构造 record 可选元素 */
8
11
  export declare const ElementOpt: (key: string, value: VmAny) => VmConst;
9
- export declare const Function: (fn: VmFunctionLike, name?: string) => VmFunction;
12
+ /** 构造函数和函数表达式 */
13
+ export declare const Function: (name: string | null | undefined, fn: VmFunctionLike) => VmFunction;
14
+ /** 读取闭包上值 */
10
15
  export declare const Upvalue: (value: VmAny) => VmValue;
11
16
  export declare const ArrayRange: (start: VmAny, end: VmAny) => VmArray;
12
17
  export declare const ArrayRangeExclusive: (start: VmAny, end: VmAny) => VmArray;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/vm/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,KAAK,GAAI,QAAQ,KAAK,EAAE,KAAG,OAQvC,CAAC;AACF,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,OAItC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,OAAO,KAAK,KAAG,OAItD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,IAAI,cAAc,EAAE,OAAM,MAAmC,KAAG,UAGxF,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,OAGtC,CAAC;AAUF,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,KAAG,OAUrD,CAAC;AACF,eAAO,MAAM,mBAAmB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,KAAG,OAU9D,CAAC;AAEF,cAAc;AACd,wBAAgB,cAAc,IAAI,SAAS,CAE1C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/vm/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAe;AACf,eAAO,MAAM,KAAK,GAAI,QAAQ,KAAK,EAAE,KAAG,OAQvC,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,OAItC,CAAC;AAGF,qBAAqB;AACrB,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,OAAO,KAAK,KAAG,OAItD,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,cAAc,KAAG,UAG9E,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,OAGtC,CAAC;AAUF,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,KAAG,OAUrD,CAAC;AACF,eAAO,MAAM,mBAAmB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,KAAG,OAU9D,CAAC;AAEF,cAAc;AACd,wBAAgB,cAAc,IAAI,SAAS,CAE1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/global/json.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,4IAoBnB,CAAC;AAEF,eAAO,MAAM,SAAS,yfAiBrB,CAAC"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/global/json.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,4IAqBnB,CAAC;AAEF,eAAO,MAAM,SAAS,yfAkBrB,CAAC"}
@@ -46,7 +46,7 @@ export declare function map(data: VmConst,
46
46
  /** 返回 `undefined` 表示跳过该元素 */
47
47
  mapper: (value: VmConst, index: number | string | null, data: VmConst) => VmConst | undefined): VmConst;
48
48
  /** 库函数选项 */
49
- export type VmLibOption = Pick<VmFunctionOption, 'summary' | 'params' | 'paramsType' | 'returns' | 'returnsType' | 'examples'>;
49
+ export type VmLibOption = Pick<VmFunctionOption, 'summary' | 'params' | 'paramsType' | 'returns' | 'returnsType' | 'examples' | 'injectCp'>;
50
50
  /** 库函数 */
51
51
  export type VmLib<T extends VmFunctionLike | VmConst = VmFunctionLike> = (T extends VmFunctionLike ? T : {
52
52
  value: T;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/vm/lib/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/vm/lib/helpers.ts"],"names":[],"mappings":"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"}
@@ -19,26 +19,17 @@ export interface VmContext {
19
19
  /** MiraScript 执行上下文 */
20
20
  export type VmContextRecord = Record<string, VmValue>;
21
21
  /** MiraScript 执行上下文 */
22
- export type VmContextRecordLoose = Record<string, VmValue | undefined>;
22
+ export type VmContextRecordLoose = Record<string, VmAny>;
23
23
  export declare const VM_SHARED_CONTEXT: Record<string, VmImmutable>;
24
24
  export declare const VM_SHARED_CONTEXT_DESCRIPTIONS: Record<string, string | undefined>;
25
25
  /** 定义在所有 MiraScript 执行上下文中共享的全局变量 */
26
26
  export declare function defineVmContextValue(name: string, value: VmImmutable | ((...args: VmAny[]) => VmAny), override?: boolean, description?: string | null | undefined): void;
27
27
  /** 无后备的实现 */
28
- export declare const DefaultVmContext: VmContext;
29
- /** 以值为后备的实现 */
30
- type CreateVmContextWithValues = readonly [
31
- vmValues?: VmContextRecordLoose | null | undefined,
32
- externValues?: Record<string, unknown> | null | undefined,
33
- describer?: ((key: string) => string | undefined) | null | undefined
34
- ];
35
- /** 以工厂函数为后备的实现 */
36
- type CreateVmContextWithFactory = readonly [
37
- getter: (key: string) => VmValue | undefined,
38
- enumerator?: (() => Iterable<string>) | null | undefined,
39
- describer?: ((key: string) => string | undefined) | null | undefined
40
- ];
28
+ export declare const DefaultVmContext: Readonly<VmContext>;
29
+ /** 获取用于执行脚本的默认执行上下文 */
30
+ export declare function createVmContext(): Readonly<VmContext>;
41
31
  /** 创建用于执行脚本的执行上下文 */
42
- export declare function createVmContext(...args: CreateVmContextWithValues | CreateVmContextWithFactory): VmContext;
43
- export {};
32
+ export declare function createVmContext(vmValues?: VmContextRecordLoose | null, externValues?: Record<string, unknown> | null, describer?: ((key: string) => string | undefined) | null): VmContext;
33
+ /** 创建用于执行脚本的执行上下文 */
34
+ export declare function createVmContext(getter: (key: string) => VmValue | undefined, enumerator?: (() => Iterable<string>) | null, describer?: ((key: string) => string | undefined) | null): VmContext;
44
35
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/vm/types/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK9D,uBAAuB;AACvB,MAAM,WAAW,SAAS;IACtB,YAAY;IACZ,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC5B,0BAA0B;IAC1B,IAAI,IAAI,SAAS,MAAM,EAAE,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,oCAAoC;IACpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AACD,uBAAuB;AACvB,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,uBAAuB;AACvB,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AACvE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAgB,CAAC;AAC3E,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAgB,CAAC;AAS/F,qCAAqC;AACrC,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,EAClD,QAAQ,UAAQ,EAChB,WAAW,GAAE,MAAM,GAAG,IAAI,GAAG,SAAqB,GACnD,IAAI,CAcN;AAED,aAAa;AACb,eAAO,MAAM,gBAAgB,EAAE,SAqB7B,CAAC;AAkEH,eAAe;AACf,KAAK,yBAAyB,GAAG,SAAS;IACtC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;IACzD,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS;CACvE,CAAC;AACF,kBAAkB;AAClB,KAAK,0BAA0B,GAAG,SAAS;IACvC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS;IAC5C,UAAU,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IACxD,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS;CACvE,CAAC;AAEF,qBAAqB;AACrB,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,yBAAyB,GAAG,0BAA0B,GAAG,SAAS,CAwB1G"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/vm/types/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK9D,uBAAuB;AACvB,MAAM,WAAW,SAAS;IACtB,YAAY;IACZ,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC5B,0BAA0B;IAC1B,IAAI,IAAI,SAAS,MAAM,EAAE,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,oCAAoC;IACpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AACD,uBAAuB;AACvB,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,uBAAuB;AACvB,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAgB,CAAC;AAC3E,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAgB,CAAC;AAS/F,qCAAqC;AACrC,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,EAClD,QAAQ,UAAQ,EAChB,WAAW,GAAE,MAAM,GAAG,IAAI,GAAG,SAAqB,GACnD,IAAI,CAcN;AAED,aAAa;AACb,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAsB/C,CAAC;AAsEH,uBAAuB;AACvB,wBAAgB,eAAe,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,qBAAqB;AACrB,wBAAgB,eAAe,CAC3B,QAAQ,CAAC,EAAE,oBAAoB,GAAG,IAAI,EACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC7C,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,GACzD,SAAS,CAAC;AACb,qBAAqB;AACrB,wBAAgB,eAAe,CAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,EAC5C,UAAU,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAC5C,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,GACzD,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/mirascript",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "An expression based scripting language.",
@@ -36,16 +36,16 @@
36
36
  "commander": "^14.0.2",
37
37
  "source-map-js": "^1.2.1",
38
38
  "supports-color": "^10.2.2",
39
- "@mirascript/bindings": "~0.1.19"
39
+ "@mirascript/bindings": "~0.1.20"
40
40
  },
41
41
  "devDependencies": {
42
- "@types/node": "^24.10.1",
42
+ "@types/node": "^24.10.2",
43
43
  "@types/sinon": "^21.0.0",
44
44
  "ava": "^6.4.1",
45
45
  "c8": "^10.1.3",
46
46
  "madge": "^8.0.0",
47
47
  "sinon": "^21.0.0",
48
- "type-fest": "^5.2.0"
48
+ "type-fest": "^5.3.1"
49
49
  },
50
50
  "scripts": {
51
51
  "watch": "pnpm build:ts --watch",
@@ -1,2 +1 @@
1
- export const SCRIPT_PREFIX = `'use strict'; return ((global = GlobalFallback()) => { try { CpEnter();`;
2
- export const GLOBAL_HINT = `/* globals */`;
1
+ export const SCRIPT_PREFIX = `return ((global = GlobalFallback()) => { try { CpEnter();`;