@mirascript/mirascript 0.1.1 → 0.1.2

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 (36) hide show
  1. package/dist/{chunk-2PWHYDNX.js → chunk-AOINGBRS.js} +87 -59
  2. package/dist/chunk-AOINGBRS.js.map +6 -0
  3. package/dist/cli/index.js +3 -3
  4. package/dist/compiler/diagnostic.d.ts +1 -1
  5. package/dist/compiler/diagnostic.d.ts.map +1 -1
  6. package/dist/helpers/utils.d.ts +1 -0
  7. package/dist/helpers/utils.d.ts.map +1 -1
  8. package/dist/index.js +7 -1
  9. package/dist/subtle.js +1 -1
  10. package/dist/vm/error.d.ts.map +1 -1
  11. package/dist/vm/lib/_helpers.d.ts.map +1 -1
  12. package/dist/vm/lib/global/sequence/find.d.ts.map +1 -1
  13. package/dist/vm/types/boundary.d.ts +12 -0
  14. package/dist/vm/types/boundary.d.ts.map +1 -0
  15. package/dist/vm/types/context.d.ts.map +1 -1
  16. package/dist/vm/types/extern.d.ts +5 -7
  17. package/dist/vm/types/extern.d.ts.map +1 -1
  18. package/dist/vm/types/function.d.ts +0 -4
  19. package/dist/vm/types/function.d.ts.map +1 -1
  20. package/dist/vm/types/index.d.ts +5 -2
  21. package/dist/vm/types/index.d.ts.map +1 -1
  22. package/package.json +4 -4
  23. package/src/compiler/diagnostic.ts +1 -1
  24. package/src/helpers/utils.ts +1 -0
  25. package/src/vm/error.ts +15 -3
  26. package/src/vm/lib/_helpers.ts +2 -3
  27. package/src/vm/lib/_loader.ts +4 -4
  28. package/src/vm/lib/global/math.ts +1 -1
  29. package/src/vm/lib/global/sequence/find.ts +13 -11
  30. package/src/vm/lib/global/sequence/map-filter.ts +2 -2
  31. package/src/vm/types/boundary.ts +95 -0
  32. package/src/vm/types/context.ts +4 -4
  33. package/src/vm/types/extern.ts +19 -55
  34. package/src/vm/types/function.ts +1 -37
  35. package/src/vm/types/index.ts +9 -2
  36. package/dist/chunk-2PWHYDNX.js.map +0 -6
@@ -19,6 +19,7 @@ var REG_ORDINAL = /(?:0|[1-9]\d{0,8}|1\d{9}|20\d{8}|21[0-3]\d{7}|214[0-6]\d{6}|2
19
19
  var { isArray } = Array;
20
20
  var { isFinite, isNaN, isInteger, isSafeInteger } = Number;
21
21
  var { hasOwn, keys, values, entries, create, getPrototypeOf, fromEntries, defineProperty } = Object;
22
+ var { apply } = Reflect;
22
23
  var hasOwnEnumerable = Function.call.bind(
23
24
  // eslint-disable-next-line @typescript-eslint/unbound-method
24
25
  Object.prototype.propertyIsEnumerable
@@ -33,13 +34,40 @@ var VmError = class _VmError extends Error {
33
34
  }
34
35
  /** 从其他错误构造 */
35
36
  static from(prefix, error, recovered) {
36
- if (prefix && !prefix.endsWith(": ")) prefix += ": ";
37
- const vmError = new _VmError(`${prefix}${error instanceof Error ? error.message : String(error)}`, recovered);
38
- vmError.stack = error instanceof Error ? error.stack : void 0;
37
+ if (prefix) {
38
+ if (prefix.endsWith(":")) {
39
+ prefix += " ";
40
+ } else if (!prefix.endsWith(": ")) {
41
+ prefix += ": ";
42
+ }
43
+ }
44
+ let vmError;
45
+ if (error instanceof Error) {
46
+ vmError = new _VmError(`${prefix}${error.message}`, recovered);
47
+ vmError.stack = error.stack;
48
+ } else {
49
+ vmError = new _VmError(`${prefix}${String(error)}`, recovered);
50
+ }
51
+ vmError.cause = error;
39
52
  return vmError;
40
53
  }
41
54
  };
42
55
 
56
+ // src/vm/types/wrapper.ts
57
+ var VmWrapper = class {
58
+ constructor(value) {
59
+ this.value = value;
60
+ }
61
+ /** Convert the object to JSON */
62
+ toJSON() {
63
+ return void 0;
64
+ }
65
+ /** 转为字符串 */
66
+ toString() {
67
+ return `<${this.type} ${this.describe}>`;
68
+ }
69
+ };
70
+
43
71
  // src/vm/helpers.ts
44
72
  var helpers_exports = {};
45
73
  __export(helpers_exports, {
@@ -108,23 +136,6 @@ __export(operations_exports, {
108
136
  $ToString: () => $ToString,
109
137
  $Type: () => $Type
110
138
  });
111
-
112
- // src/vm/types/wrapper.ts
113
- var VmWrapper = class {
114
- constructor(value) {
115
- this.value = value;
116
- }
117
- /** Convert the object to JSON */
118
- toJSON() {
119
- return void 0;
120
- }
121
- /** 转为字符串 */
122
- toString() {
123
- return `<${this.type} ${this.describe}>`;
124
- }
125
- };
126
-
127
- // src/vm/operations.ts
128
139
  var { abs, min, trunc, ceil } = Math;
129
140
  var { slice, at } = Array.prototype;
130
141
  var { POSITIVE_INFINITY, NEGATIVE_INFINITY } = Number;
@@ -672,7 +683,6 @@ function GlobalFallback() {
672
683
 
673
684
  // src/vm/types/function.ts
674
685
  var kVmFunction = Symbol.for("mirascript.vm.function");
675
- var kProxy = Symbol.for("mirascript.vm.function.proxy");
676
686
  function isVmFunction(value) {
677
687
  return getVmFunctionInfo(value) != null;
678
688
  }
@@ -718,10 +728,13 @@ function VmFunction(fn, option = {}) {
718
728
  });
719
729
  return fn;
720
730
  }
731
+
732
+ // src/vm/types/boundary.ts
733
+ var kProxy = Symbol.for("mirascript.vm.function.proxy");
721
734
  function toVmFunctionProxy(fn) {
722
735
  if (!isVmFunction(fn)) return fn;
723
736
  const cached = fn[kProxy];
724
- if (cached) return cached;
737
+ if (cached != null) return cached;
725
738
  const proxy = (...args) => {
726
739
  const ret = $Call(
727
740
  fn,
@@ -744,20 +757,20 @@ function fromVmFunctionProxy(fn) {
744
757
  if (original && isVmFunction(original)) return original;
745
758
  return void 0;
746
759
  }
747
-
748
- // src/vm/types/extern.ts
749
- var { apply } = Reflect;
750
- function wrapToVmValue(value, caller) {
760
+ function wrapToVmValue(value, thisArg = null, assumeVmValue) {
751
761
  if (value == null) return null;
752
762
  switch (typeof value) {
753
763
  case "function": {
754
764
  const unwrapped = fromVmFunctionProxy(value);
755
765
  if (unwrapped) return unwrapped;
756
- return new VmExtern(value, caller);
766
+ return new VmExtern(value, thisArg);
757
767
  }
758
- case "object":
768
+ case "object": {
759
769
  if (value instanceof VmWrapper) return value;
760
- return new VmExtern(value, null);
770
+ if (value instanceof Date) return value.valueOf();
771
+ if (assumeVmValue?.(value)) return value;
772
+ return new VmExtern(value);
773
+ }
761
774
  case "string":
762
775
  case "number":
763
776
  case "boolean":
@@ -776,23 +789,25 @@ function unwrapFromVmValue(value) {
776
789
  }
777
790
  if (value == null || typeof value != "object") return value;
778
791
  if (!(value instanceof VmExtern)) return value;
779
- if (value.caller == null || typeof value.value != "function") {
792
+ if (value.thisArg == null || typeof value.value != "function") {
780
793
  return value.value;
781
794
  }
782
- const caller = value.caller.value;
783
- const func = value.value;
784
- return new Proxy(func, {
795
+ const f = value;
796
+ const caller = f.thisArg.value;
797
+ return new Proxy(f.value, {
785
798
  apply(target, thisArg, args) {
786
799
  return apply(target, caller, args);
787
800
  }
788
801
  });
789
802
  }
803
+
804
+ // src/vm/types/extern.ts
790
805
  var ObjectPrototype = Object.prototype;
791
806
  var ObjectToString = ObjectPrototype.toString;
792
807
  var VmExtern = class _VmExtern extends VmWrapper {
793
- constructor(value, caller = null) {
808
+ constructor(value, thisArg = null) {
794
809
  super(value);
795
- this.caller = caller;
810
+ this.thisArg = thisArg;
796
811
  }
797
812
  /** Check if the object has a property */
798
813
  access(key, read) {
@@ -809,6 +824,10 @@ var VmExtern = class _VmExtern extends VmWrapper {
809
824
  if (key in Object.prototype && prop === Object.prototype[key]) return false;
810
825
  return true;
811
826
  }
827
+ /** 决定是否对属性进行包装 */
828
+ assumeVmValue(value, key) {
829
+ return false;
830
+ }
812
831
  /** @inheritdoc */
813
832
  has(key) {
814
833
  return this.access(key, true);
@@ -817,7 +836,7 @@ var VmExtern = class _VmExtern extends VmWrapper {
817
836
  get(key) {
818
837
  if (!this.has(key)) return void 0;
819
838
  const prop = this.value[key];
820
- return wrapToVmValue(prop, this);
839
+ return wrapToVmValue(prop, this, (v) => this.assumeVmValue(v, key));
821
840
  }
822
841
  /** Set a property on the object */
823
842
  set(key, value) {
@@ -829,14 +848,18 @@ var VmExtern = class _VmExtern extends VmWrapper {
829
848
  /** Call extern value */
830
849
  call(args) {
831
850
  const { value } = this;
832
- const caller = this.caller?.value ?? null;
851
+ if (typeof value != "function") {
852
+ throw VmError.from(`Not a callable extern`, null, null);
853
+ }
854
+ const caller = this.thisArg?.value ?? null;
833
855
  const unwrappedArgs = args.map(unwrapFromVmValue);
856
+ let ret;
834
857
  try {
835
- const ret = apply(value, caller, unwrappedArgs);
836
- return wrapToVmValue(ret, null);
858
+ ret = apply(value, caller, unwrappedArgs);
837
859
  } catch (ex) {
838
- throw VmError.from(`Not a callable extern`, ex, null);
860
+ throw VmError.from(`Callable extern`, ex, null);
839
861
  }
862
+ return wrapToVmValue(ret, null, (obj) => this.assumeVmValue(obj, void 0));
840
863
  }
841
864
  /** @inheritdoc */
842
865
  keys() {
@@ -849,7 +872,7 @@ var VmExtern = class _VmExtern extends VmWrapper {
849
872
  /** @inheritdoc */
850
873
  same(other) {
851
874
  if (!(other instanceof _VmExtern)) return false;
852
- return this.value === other.value && this.caller === other.caller;
875
+ return this.value === other.value && this.thisArg === other.thisArg;
853
876
  }
854
877
  /** @inheritdoc */
855
878
  toString() {
@@ -1057,6 +1080,9 @@ function isVmPrimitive(value) {
1057
1080
  function isVmExtern(value) {
1058
1081
  return value instanceof VmExtern;
1059
1082
  }
1083
+ function isVmCallable(value) {
1084
+ return isVmFunction(value) || isVmExtern(value) && typeof value.value == "function";
1085
+ }
1060
1086
  function isVmModule(value) {
1061
1087
  return value instanceof VmModule;
1062
1088
  }
@@ -1064,7 +1090,7 @@ var VM_ARRAY_MAX_LENGTH = 2 ** 31 - 1;
1064
1090
 
1065
1091
  // src/vm/types/context.ts
1066
1092
  var kVmContext = Symbol.for("mira:vm-context");
1067
- var VmSharedContext = { __proto__: null };
1093
+ var VmSharedContext = create(null);
1068
1094
  function defineVmContextValue(name, value, override = false) {
1069
1095
  if (!override && name in VmSharedContext) throw new Error(`Global variable '${name}' is already defined.`);
1070
1096
  let v;
@@ -1147,7 +1173,7 @@ function createVmContext(...args) {
1147
1173
  return new FactoryVmContext(args[0], args[1]);
1148
1174
  }
1149
1175
  const [vmValues, externValues] = args;
1150
- const env = { __proto__: VmSharedContext };
1176
+ const env = create(VmSharedContext);
1151
1177
  if (vmValues) {
1152
1178
  for (const [key, value] of entries(vmValues)) {
1153
1179
  if (!isVmAny(value, false)) continue;
@@ -1302,8 +1328,7 @@ function expectConst(name, value, recovered) {
1302
1328
  }
1303
1329
  function expectCallable(name, value, recovered) {
1304
1330
  required(name, value, recovered);
1305
- const callable = isVmFunction(value) || isVmExtern(value);
1306
- if (!callable) {
1331
+ if (!isVmCallable(value)) {
1307
1332
  throwUnexpectedTypeError(name, "callable", value, recovered);
1308
1333
  }
1309
1334
  }
@@ -1665,7 +1690,7 @@ var pow2 = VmLib((x, y) => _pow($ToNumber(x), $ToNumber(y)), {
1665
1690
  returnsType: "number"
1666
1691
  });
1667
1692
  var random = VmLib(Math.random, {
1668
- summary: "返回 0 1 之间的伪随机数",
1693
+ summary: "返回 [0, 1) 之间的伪随机数",
1669
1694
  params: {},
1670
1695
  paramsType: {},
1671
1696
  returnsType: "number"
@@ -1908,7 +1933,7 @@ var filter = VmLib(
1908
1933
  summary: "过滤数组或记录中的元素,返回满足条件的元素",
1909
1934
  params: {
1910
1935
  data: "要过滤的数组或记录",
1911
- predicate: "用于测试每个元素的函数,返回 true 或 false"
1936
+ predicate: "用于测试每个元素的函数"
1912
1937
  },
1913
1938
  paramsType: {
1914
1939
  data: "array | record",
@@ -1927,7 +1952,7 @@ var filter_map = VmLib(
1927
1952
  summary: "对数组或记录中的每个元素应用函数,并返回非 nil 的结果",
1928
1953
  params: {
1929
1954
  data: "要映射的数组或记录",
1930
- f: "应用于每个元素的函数,返回 nil 或非 nil 的值"
1955
+ f: "应用于每个元素的函数"
1931
1956
  },
1932
1957
  paramsType: {
1933
1958
  data: "array | record",
@@ -1942,11 +1967,11 @@ var filter_map = VmLib(
1942
1967
  var find = VmLib(
1943
1968
  (data, predicate) => {
1944
1969
  expectArrayOrRecord("data", data, null);
1945
- expectCallable("predicate", predicate, data);
1946
- const p = (value, key, data2) => {
1970
+ required("predicate", predicate, null);
1971
+ const p = isVmCallable(predicate) ? (value, key, data2) => {
1947
1972
  const ret = $Call(predicate, [value, key, data2]);
1948
1973
  return $ToBoolean(ret);
1949
- };
1974
+ } : (value) => $Same(predicate, value);
1950
1975
  if (isVmArray(data)) {
1951
1976
  const { length } = data;
1952
1977
  for (let i = 0; i < length; i++) {
@@ -1972,14 +1997,14 @@ var find = VmLib(
1972
1997
  summary: "查找数组或记录中的键值对,返回第一个满足条件的键值对",
1973
1998
  params: {
1974
1999
  data: "查的数组或记录",
1975
- predicate: "用于测试每个键值对的函数,返回 true 或 false"
2000
+ predicate: "用于测试每个键值对的函数,或要查找的值"
1976
2001
  },
1977
2002
  paramsType: {
1978
2003
  data: "array | record",
1979
- predicate: "fn(value: any, key: number | string | nil, input: type(data)) -> boolean"
2004
+ predicate: "(fn(value: any, key: number | string | nil, input: type(data)) -> boolean) | any"
1980
2005
  },
1981
2006
  returnsType: "(string | number, any) | nil",
1982
- examples: ["find([3, 5, 8], fn (v) { v % 2 == 0 }) // (2, 8)"]
2007
+ examples: ["find([3, 5, 8], fn (v) { v % 2 == 0 }) // (2, 8)", `find((x: 1, y: 2, z: 3), 2) // ('y', 2)`]
1983
2008
  }
1984
2009
  );
1985
2010
 
@@ -3064,9 +3089,9 @@ var matrix = createModule("matrix", matrix_exports);
3064
3089
 
3065
3090
  // src/vm/lib/_loader.ts
3066
3091
  for (const [name, value] of entries(global_exports)) {
3067
- VmSharedContext[name] = wrapEntry(name, value);
3092
+ VmSharedContext[name] = wrapEntry(name, value, "global");
3068
3093
  }
3069
- function wrapEntry(name, value) {
3094
+ function wrapEntry(name, value, module) {
3070
3095
  if (typeof value == "function") {
3071
3096
  if (value.name !== name) {
3072
3097
  defineProperty(value, "name", {
@@ -3077,7 +3102,7 @@ function wrapEntry(name, value) {
3077
3102
  return VmFunction(value, {
3078
3103
  isLib: true,
3079
3104
  injectCp: true,
3080
- fullName: `global.${name}`,
3105
+ fullName: `${module}.${name}`,
3081
3106
  ...value
3082
3107
  });
3083
3108
  } else {
@@ -3087,7 +3112,7 @@ function wrapEntry(name, value) {
3087
3112
  function createModule(name, lib2) {
3088
3113
  const mod = create(null);
3089
3114
  for (const [key, value] of entries(lib2)) {
3090
- mod[key] = wrapEntry(key, value);
3115
+ mod[key] = wrapEntry(key, value, name);
3091
3116
  }
3092
3117
  return new VmModule(name, mod);
3093
3118
  }
@@ -3581,6 +3606,8 @@ export {
3581
3606
  isVmFunction,
3582
3607
  getVmFunctionInfo,
3583
3608
  VmFunction,
3609
+ toVmFunctionProxy,
3610
+ fromVmFunctionProxy,
3584
3611
  wrapToVmValue,
3585
3612
  unwrapFromVmValue,
3586
3613
  VmExtern,
@@ -3594,6 +3621,7 @@ export {
3594
3621
  isVmRecord,
3595
3622
  isVmPrimitive,
3596
3623
  isVmExtern,
3624
+ isVmCallable,
3597
3625
  isVmModule,
3598
3626
  VM_ARRAY_MAX_LENGTH,
3599
3627
  constants_exports,
@@ -3610,4 +3638,4 @@ export {
3610
3638
  serializePropName,
3611
3639
  serialize
3612
3640
  };
3613
- //# sourceMappingURL=chunk-2PWHYDNX.js.map
3641
+ //# sourceMappingURL=chunk-AOINGBRS.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/helpers/constants.ts", "../src/helpers/utils.ts", "../src/vm/error.ts", "../src/vm/types/wrapper.ts", "../src/vm/helpers.ts", "../src/vm/operations.ts", "../src/vm/types/function.ts", "../src/vm/types/boundary.ts", "../src/vm/types/extern.ts", "../src/vm/types/module.ts", "../src/vm/types/script.ts", "../src/vm/types/checker.ts", "../src/vm/types/index.ts", "../src/vm/types/context.ts", "../src/vm/lib/global/index.ts", "../src/vm/lib/_helpers.ts", "../src/vm/lib/global/math-arr.ts", "../src/vm/lib/global/math-const.ts", "../src/vm/lib/global/math-unary.ts", "../src/vm/lib/global/math-additional.ts", "../src/vm/lib/global/math.ts", "../src/vm/lib/global/bit.ts", "../src/vm/lib/global/sequence/with.ts", "../src/vm/lib/global/sequence/entries.ts", "../src/vm/lib/global/sequence/len.ts", "../src/vm/lib/global/sequence/map-filter.ts", "../src/vm/lib/global/sequence/find.ts", "../src/vm/lib/global/sequence/flatten.ts", "../src/vm/lib/global/sequence/reverse.ts", "../src/vm/lib/global/sequence/zip.ts", "../src/vm/lib/global/sequence/all-any.ts", "../src/vm/lib/global/sequence/sort.ts", "../src/vm/lib/global/sequence/repeat.ts", "../src/vm/lib/global/debug.ts", "../src/vm/lib/global/json.ts", "../src/vm/lib/global/to-primitive.ts", "../src/vm/lib/global/string.ts", "../src/vm/lib/global/time.ts", "../src/vm/lib/global/mod/matrix.ts", "../src/vm/lib/global/mod/index.ts", "../src/vm/lib/_loader.ts", "../src/helpers/serialize.ts", "../src/compiler/diagnostic.ts", "../src/vm/env.ts", "../src/compiler/create-script.ts", "../src/compiler/compile-fast.ts", "../src/compiler/worker-manager.ts", "../src/compiler/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["Function", "len", "entries", "abs", "format", "Function", "keys", "MAX_DEPTH", "value", "_a", "abs", "ceil", "entries", "keys", "map", "min", "pow", "trunc", "values", "len", "values", "min", "build", "trunc", "ceil", "abs", "sqrt", "exp", "pow", "entries", "keys", "len", "values", "entries", "data", "map", "data", "entries", "len", "len", "format", "num", "matrix", "result", "rr", "a", "b", "size", "repeat", "lib", "keys", "values", "kVmScript", "keys", "values", "num", "worker"]
6
+ }
package/dist/cli/index.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  createVmContext,
7
7
  debug_print,
8
8
  serialize
9
- } from "../chunk-2PWHYDNX.js";
9
+ } from "../chunk-AOINGBRS.js";
10
10
  import "../chunk-3RUWGMBP.js";
11
11
 
12
12
  // src/cli/index.ts
@@ -74,7 +74,7 @@ async function execute(script, template, variables) {
74
74
  // package.json
75
75
  var package_default = {
76
76
  name: "@mirascript/mirascript",
77
- version: "0.1.1",
77
+ version: "0.1.2",
78
78
  type: "module",
79
79
  description: "An expression based scripting language.",
80
80
  main: "./dist/index.js",
@@ -122,7 +122,7 @@ var package_default = {
122
122
  "js-base64": "^3.7.8"
123
123
  },
124
124
  devDependencies: {
125
- "@types/node": "^24.9.1",
125
+ "@types/node": "^24.9.2",
126
126
  "@types/sinon": "^17.0.4",
127
127
  ava: "^6.4.1",
128
128
  c8: "^10.1.3",
@@ -41,7 +41,7 @@ export interface SourceReference<T extends DiagnosticCode = DiagnosticCode> exte
41
41
  /** 反向引用 */
42
42
  readonly diagnostic: SourceDiagnostic<T>;
43
43
  }
44
- /** 分析诊断信息 */
44
+ /** 分析诊断信息,{@link diagnostic_position_encoding} 不能设为 `None` */
45
45
  export declare function parseDiagnostics(source: ScriptInput, diagnostics: Uint32Array): {
46
46
  errors: SourceDiagnostic[];
47
47
  warnings: SourceDiagnostic[];
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../../src/compiler/diagnostic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAQ,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,sCAAsC;AACtC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU7E;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACnB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,cAAc;AACd,UAAU,oBAAoB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACpE,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACxG,SAAS;IACT,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1D;AACD,cAAc;AACd,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACvG,WAAW;IACX,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,aAAa;AACb,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,WAAW,GACzB;IACC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAEzB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,cAAc,EAAE,eAAe,EAAE,CAAC;CACrC,CAwEA;AAkBD,iBAAiB;AACjB,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CASrE"}
1
+ {"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../../src/compiler/diagnostic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAQ,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,sCAAsC;AACtC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU7E;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACnB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,cAAc;AACd,UAAU,oBAAoB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACpE,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACxG,SAAS;IACT,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1D;AACD,cAAc;AACd,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACvG,WAAW;IACX,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,WAAW,GACzB;IACC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAEzB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,cAAc,EAAE,eAAe,EAAE,CAAC;CACrC,CAwEA;AAkBD,iBAAiB;AACjB,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CASrE"}
@@ -29,6 +29,7 @@ export declare const hasOwn: <Obj extends object, Key extends PropertyKey>(o: Ob
29
29
  } ? V : D extends {
30
30
  get: () => infer V;
31
31
  } ? V : unknown; } : unknown);
32
+ export declare const apply: typeof Reflect.apply;
32
33
  /**
33
34
  * Determines whether an object has an enumerable property with the specified name.
34
35
  */
@@ -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;AAE7G;;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,wCAQ5B,CAAC"}
package/dist/index.js CHANGED
@@ -11,9 +11,11 @@ import {
11
11
  createVmContext,
12
12
  defineVmContextValue,
13
13
  emitScript,
14
+ fromVmFunctionProxy,
14
15
  getVmFunctionInfo,
15
16
  isVmAny,
16
17
  isVmArray,
18
+ isVmCallable,
17
19
  isVmConst,
18
20
  isVmContext,
19
21
  isVmExtern,
@@ -25,9 +27,10 @@ import {
25
27
  isVmScript,
26
28
  isVmValue,
27
29
  serialize,
30
+ toVmFunctionProxy,
28
31
  unwrapFromVmValue,
29
32
  wrapToVmValue
30
- } from "./chunk-2PWHYDNX.js";
33
+ } from "./chunk-AOINGBRS.js";
31
34
  import {
32
35
  generateBytecode,
33
36
  generateBytecodeSync
@@ -44,11 +47,13 @@ export {
44
47
  createVmContext,
45
48
  defineVmContextValue,
46
49
  emitScript,
50
+ fromVmFunctionProxy,
47
51
  generateBytecode,
48
52
  generateBytecodeSync,
49
53
  getVmFunctionInfo,
50
54
  isVmAny,
51
55
  isVmArray,
56
+ isVmCallable,
52
57
  isVmConst,
53
58
  isVmContext,
54
59
  isVmExtern,
@@ -60,6 +65,7 @@ export {
60
65
  isVmScript,
61
66
  isVmValue,
62
67
  serialize,
68
+ toVmFunctionProxy,
63
69
  unwrapFromVmValue,
64
70
  wrapToVmValue
65
71
  };