@mirascript/mirascript 0.1.18 → 0.1.19

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.
@@ -555,13 +555,17 @@ var VmWrapper = class {
555
555
  constructor(value) {
556
556
  this.value = value;
557
557
  }
558
+ /** 描述键对应的值 */
559
+ describe(key) {
560
+ return void 0;
561
+ }
558
562
  /** Convert the object to JSON */
559
563
  toJSON() {
560
564
  return void 0;
561
565
  }
562
566
  /** 转为字符串 */
563
567
  toString(useBraces) {
564
- const { type, describe } = this;
568
+ const { type, tag: describe } = this;
565
569
  if (!describe) return `<${type}>`;
566
570
  return `<${type} ${describe}>`;
567
571
  }
@@ -736,7 +740,7 @@ var VmExtern = class extends VmWrapper {
736
740
  return "extern";
737
741
  }
738
742
  /** @inheritdoc */
739
- get describe() {
743
+ get tag() {
740
744
  const tag = ObjectToString.call(this.value).slice(8, -1);
741
745
  if (isArray(this.value)) {
742
746
  return `${tag}(${this.value.length})`;
@@ -856,11 +860,12 @@ function VmFunction(fn, option = {}) {
856
860
  // src/vm/types/context.ts
857
861
  var { freeze } = Object;
858
862
  var VM_SHARED_CONTEXT = create(null);
863
+ var VM_SHARED_CONTEXT_DESCRIPTIONS = create(null);
859
864
  var VM_SHARED_CONTEXT_KEYS = null;
860
865
  function globalVarNotFound(name) {
861
866
  throw new VmError(`Global variable '${name}' is not defined.`, null);
862
867
  }
863
- function defineVmContextValue(name, value, override = false) {
868
+ function defineVmContextValue(name, value, override = false, description = void 0) {
864
869
  if (!override && name in VM_SHARED_CONTEXT) throw new Error(`Global variable '${name}' is already defined.`);
865
870
  let v;
866
871
  if (typeof value == "function") {
@@ -872,6 +877,7 @@ function defineVmContextValue(name, value, override = false) {
872
877
  v = value;
873
878
  }
874
879
  VM_SHARED_CONTEXT[name] = v ?? null;
880
+ if (description) VM_SHARED_CONTEXT_DESCRIPTIONS[name] = description;
875
881
  VM_SHARED_CONTEXT_KEYS = null;
876
882
  }
877
883
  var DefaultVmContext = freeze({
@@ -890,14 +896,18 @@ var DefaultVmContext = freeze({
890
896
  /** @inheritdoc */
891
897
  has(key) {
892
898
  return key in VM_SHARED_CONTEXT;
899
+ },
900
+ /** @inheritdoc */
901
+ describe(key) {
902
+ return VM_SHARED_CONTEXT_DESCRIPTIONS[key];
893
903
  }
894
904
  });
895
905
  var _a;
896
906
  _a = kVmContext;
897
907
  var ValueVmContext = class {
898
- constructor(env, describe) {
908
+ constructor(env, describer) {
899
909
  this.env = env;
900
- this.describe = describe;
910
+ this.describer = describer;
901
911
  this[_a] = true;
902
912
  this.cachedKeys = null;
903
913
  }
@@ -920,14 +930,19 @@ var ValueVmContext = class {
920
930
  has(key) {
921
931
  return key in this.env;
922
932
  }
933
+ /** @inheritdoc */
934
+ describe(key) {
935
+ if (this.describer != null && hasOwn(this.env, key)) return this.describer(key);
936
+ return VM_SHARED_CONTEXT_DESCRIPTIONS[key];
937
+ }
923
938
  };
924
939
  var _a2;
925
940
  _a2 = kVmContext;
926
941
  var FactoryVmContext = class {
927
- constructor(getter, enumerator, describe) {
942
+ constructor(getter, enumerator, describer) {
928
943
  this.getter = getter;
929
944
  this.enumerator = enumerator;
930
- this.describe = describe;
945
+ this.describer = describer;
931
946
  this[_a2] = true;
932
947
  }
933
948
  /** @inheritdoc */
@@ -945,6 +960,11 @@ var FactoryVmContext = class {
945
960
  has(key) {
946
961
  return this.getter(key) !== void 0 || DefaultVmContext.has(key);
947
962
  }
963
+ /** @inheritdoc */
964
+ describe(key) {
965
+ if (this.describer != null && this.getter(key) !== void 0) return this.describer(key);
966
+ return VM_SHARED_CONTEXT_DESCRIPTIONS[key];
967
+ }
948
968
  };
949
969
  function createVmContext(...args) {
950
970
  if (args[0] == null && args[1] == null) {
@@ -1262,7 +1282,7 @@ var VmModule = class extends VmWrapper {
1262
1282
  return "module";
1263
1283
  }
1264
1284
  /** @inheritdoc */
1265
- get describe() {
1285
+ get tag() {
1266
1286
  return this.name;
1267
1287
  }
1268
1288
  };
@@ -1271,8 +1291,14 @@ Object.defineProperty(VmModule.prototype, kVmModule, { value: true });
1271
1291
  // src/vm/lib/global/index.ts
1272
1292
  var global_exports = {};
1273
1293
  __export(global_exports, {
1274
- "@e": () => E,
1275
- "@pi": () => PI,
1294
+ E: () => E,
1295
+ LN10: () => LN10,
1296
+ LN2: () => LN2,
1297
+ LOG10E: () => LOG10E,
1298
+ LOG2E: () => LOG2E,
1299
+ PI: () => PI,
1300
+ SQRT1_2: () => SQRT1_2,
1301
+ SQRT2: () => SQRT2,
1276
1302
  abs: () => abs2,
1277
1303
  acos: () => acos,
1278
1304
  acosh: () => acosh,
@@ -1503,10 +1529,9 @@ function map(data, mapper) {
1503
1529
  return fromEntries(e);
1504
1530
  }
1505
1531
  }
1506
- function VmLib(fn, option, properties) {
1507
- if (typeof fn != "function") throw new TypeError("Invalid function");
1508
- if (isVmFunction(fn)) throw new TypeError("Cannot create VmLib from a VmFunction");
1509
- const ret = fn;
1532
+ function VmLib(value, option, properties) {
1533
+ if (isVmFunction(value)) throw new TypeError("Cannot create VmLib from a VmFunction");
1534
+ const ret = typeof value == "function" ? value : { value };
1510
1535
  Object.assign(ret, properties);
1511
1536
  ret.params = option.params;
1512
1537
  ret.paramsType = option.paramsType;
@@ -1573,7 +1598,38 @@ var product = VmLib(
1573
1598
  );
1574
1599
 
1575
1600
  // src/vm/lib/global/math-const.ts
1576
- var { PI, E } = Math;
1601
+ var PI = VmLib(Math.PI, {
1602
+ summary: "圆周率",
1603
+ returnsType: "number"
1604
+ });
1605
+ var E = VmLib(Math.E, {
1606
+ summary: "自然对数的底数",
1607
+ returnsType: "number"
1608
+ });
1609
+ var SQRT1_2 = VmLib(Math.SQRT1_2, {
1610
+ summary: "1 的平方根除以 2",
1611
+ returnsType: "number"
1612
+ });
1613
+ var SQRT2 = VmLib(Math.SQRT2, {
1614
+ summary: "2 的平方根",
1615
+ returnsType: "number"
1616
+ });
1617
+ var LN2 = VmLib(Math.LN2, {
1618
+ summary: "2 的自然对数",
1619
+ returnsType: "number"
1620
+ });
1621
+ var LN10 = VmLib(Math.LN10, {
1622
+ summary: "10 的自然对数",
1623
+ returnsType: "number"
1624
+ });
1625
+ var LOG2E = VmLib(Math.LOG2E, {
1626
+ summary: "e 以 2 为底的对数",
1627
+ returnsType: "number"
1628
+ });
1629
+ var LOG10E = VmLib(Math.LOG10E, {
1630
+ summary: "e 以 10 为底的对数",
1631
+ returnsType: "number"
1632
+ });
1577
1633
 
1578
1634
  // src/vm/lib/global/math-unary.ts
1579
1635
  function build2(f) {
@@ -3420,39 +3476,64 @@ var diagonal = VmLib(
3420
3476
  );
3421
3477
 
3422
3478
  // src/vm/lib/loader.ts
3479
+ var VmBuiltinModule = class extends VmModule {
3480
+ constructor(name, value, descriptions) {
3481
+ super(name, value);
3482
+ this.descriptions = descriptions;
3483
+ }
3484
+ /** @inheritdoc */
3485
+ describe(key) {
3486
+ return this.descriptions[key];
3487
+ }
3488
+ };
3423
3489
  function wrapEntry(name, value, module) {
3424
- if (typeof value == "function") {
3425
- if (value.name !== name) {
3426
- defineProperty(value, "name", {
3427
- value: name,
3428
- configurable: true
3429
- });
3490
+ if (isVmModule(value)) {
3491
+ return [value, void 0];
3492
+ }
3493
+ if (typeof value != "function") {
3494
+ if (value == null || typeof value != "object" || !("value" in value)) {
3495
+ throw new TypeError(`Cannot wrap non-function, non-const value: ${name} in module ${module}`);
3430
3496
  }
3431
- return VmFunction(value, {
3497
+ return [value.value, value.summary || void 0];
3498
+ }
3499
+ if (value.name !== name) {
3500
+ defineProperty(value, "name", {
3501
+ value: name,
3502
+ configurable: true
3503
+ });
3504
+ }
3505
+ return [
3506
+ VmFunction(value, {
3432
3507
  isLib: true,
3433
3508
  injectCp: true,
3434
3509
  fullName: `${module}.${name}`,
3435
3510
  ...value
3436
- });
3437
- } else {
3438
- return value;
3439
- }
3511
+ }),
3512
+ value.summary || void 0
3513
+ ];
3440
3514
  }
3441
3515
  function createModule(name, lib2) {
3442
3516
  const mod = create(null);
3517
+ const descriptions = create(null);
3443
3518
  for (const [key, value] of entries(lib2)) {
3444
- mod[key] = wrapEntry(key, value, name);
3519
+ const [wrappedValue, description] = wrapEntry(key, value, name);
3520
+ mod[key] = wrappedValue;
3521
+ descriptions[key] = description;
3445
3522
  }
3446
- return new VmModule(name, mod);
3523
+ return new VmBuiltinModule(name, mod, descriptions);
3447
3524
  }
3448
3525
 
3449
3526
  // src/vm/lib/index.ts
3450
3527
  for (const [name, value] of entries(global_exports)) {
3451
- VM_SHARED_CONTEXT[name] = wrapEntry(name, value, "global");
3528
+ const [wrappedValue, description] = wrapEntry(name, value, "global");
3529
+ VM_SHARED_CONTEXT[name] = wrappedValue;
3530
+ VM_SHARED_CONTEXT_DESCRIPTIONS[name] = description;
3452
3531
  }
3453
3532
  for (const [name, value] of entries(mod_exports)) {
3454
3533
  const mod = createModule(name, value);
3455
- VM_SHARED_CONTEXT[name] = wrapEntry(name, mod, "global");
3534
+ const [wrappedValue, description] = wrapEntry(name, mod, "global");
3535
+ VM_SHARED_CONTEXT[name] = wrappedValue;
3536
+ VM_SHARED_CONTEXT_DESCRIPTIONS[name] = description;
3456
3537
  }
3457
3538
  var lib = Object.freeze(Object.assign(create(null), global_exports, mod_exports));
3458
3539
 
@@ -3475,4 +3556,4 @@ export {
3475
3556
  panic,
3476
3557
  lib
3477
3558
  };
3478
- //# sourceMappingURL=chunk-3BAOZ2P2.js.map
3559
+ //# sourceMappingURL=chunk-BFSB6SQK.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/helpers/convert/index.ts", "../src/helpers/convert/to-number.ts", "../src/helpers/convert/to-format.ts", "../src/helpers/convert/to-boolean.ts", "../src/vm/operations.ts", "../src/vm/types/wrapper.ts", "../src/vm/types/boundary.ts", "../src/vm/types/extern.ts", "../src/vm/checkpoint.ts", "../src/vm/types/function.ts", "../src/vm/types/context.ts", "../src/compiler/index.ts", "../src/vm/helpers.ts", "../src/vm/env.ts", "../src/compiler/create-script.ts", "../src/compiler/compile-fast.ts", "../src/compiler/worker-manager.ts", "../src/vm/types/module.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/mod/index.ts", "../src/vm/lib/mod/matrix.ts", "../src/vm/lib/loader.ts", "../src/vm/lib/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["num", "abs", "format", "len", "format", "keys", "toString", "_a", "describer", "Function", "Function", "keys", "values", "keys", "values", "num", "worker", "abs", "ceil", "entries", "keys", "map", "min", "pow", "trunc", "values", "min", "max", "len", "values", "min", "build", "trunc", "ceil", "abs", "sqrt", "exp", "pow", "entries", "keys", "len", "values", "entries", "data", "map", "data", "entries", "len", "len", "format", "values", "format", "num", "timestamp", "result", "rr", "a", "b", "size", "repeat", "lib"]
6
+ }
package/dist/cli/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  debug_print,
9
9
  operations_exports,
10
10
  panic
11
- } from "../chunk-3BAOZ2P2.js";
11
+ } from "../chunk-BFSB6SQK.js";
12
12
  import {
13
13
  serialize,
14
14
  serializeBoolean,
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  emitScript,
12
12
  unwrapFromVmValue,
13
13
  wrapToVmValue
14
- } from "./chunk-3BAOZ2P2.js";
14
+ } from "./chunk-BFSB6SQK.js";
15
15
  import {
16
16
  VmError,
17
17
  generateBytecode,
package/dist/subtle.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  emitScript,
8
8
  lib,
9
9
  operations_exports
10
- } from "./chunk-3BAOZ2P2.js";
10
+ } from "./chunk-BFSB6SQK.js";
11
11
  import {
12
12
  DiagnosticCode,
13
13
  constants_exports,
@@ -1,3 +1,25 @@
1
- declare const PI: number, E: number;
2
- export { PI as '@pi', E as '@e' };
1
+ export declare const PI: {
2
+ value: number;
3
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
4
+ export declare const E: {
5
+ value: number;
6
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
7
+ export declare const SQRT1_2: {
8
+ value: number;
9
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
10
+ export declare const SQRT2: {
11
+ value: number;
12
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
13
+ export declare const LN2: {
14
+ value: number;
15
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
16
+ export declare const LN10: {
17
+ value: number;
18
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
19
+ export declare const LOG2E: {
20
+ value: number;
21
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
22
+ export declare const LOG10E: {
23
+ value: number;
24
+ } & import("../helpers.js").VmLibOption & Record<never, never>;
3
25
  //# sourceMappingURL=math-const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"math-const.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/global/math-const.ts"],"names":[],"mappings":"AAAA,QAAA,MAAQ,EAAE,UAAE,CAAC,QAAS,CAAC;AACvB,OAAO,EAAE,EAAE,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"math-const.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/global/math-const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;8DAGb,CAAC;AACH,eAAO,MAAM,CAAC;;8DAGZ,CAAC;AACH,eAAO,MAAM,OAAO;;8DAGlB,CAAC;AACH,eAAO,MAAM,KAAK;;8DAGhB,CAAC;AACH,eAAO,MAAM,GAAG;;8DAGd,CAAC;AACH,eAAO,MAAM,IAAI;;8DAGf,CAAC;AACH,eAAO,MAAM,KAAK;;8DAGhB,CAAC;AACH,eAAO,MAAM,MAAM;;8DAGjB,CAAC"}
@@ -48,8 +48,10 @@ mapper: (value: VmConst, index: number | string | null, data: VmConst) => VmCons
48
48
  /** 库函数选项 */
49
49
  export type VmLibOption = Pick<VmFunctionOption, 'summary' | 'params' | 'paramsType' | 'returns' | 'returnsType' | 'examples'>;
50
50
  /** 库函数 */
51
- export type VmLib<T extends VmFunctionLike = VmFunctionLike> = T & VmLibOption;
51
+ export type VmLib<T extends VmFunctionLike | VmConst = VmFunctionLike> = (T extends VmFunctionLike ? T : {
52
+ value: T;
53
+ }) & VmLibOption;
52
54
  /** 创建库函数 */
53
- export declare function VmLib<const T extends VmFunctionLike, P extends Record<string, unknown> = Record<never, never>>(fn: T, option: VmLibOption, properties?: P): VmLib<T> & P;
55
+ export declare function VmLib<const T extends VmFunctionLike | VmConst, P extends Record<string, unknown> = Record<never, never>>(value: T, option: VmLibOption, properties?: P): VmLib<T> & P;
54
56
  export {};
55
57
  //# sourceMappingURL=helpers.d.ts.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vm/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAcvC,eAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,OAAO,MAAM,GAAG,OAAO,IAAI,CAA4D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vm/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAkBvC,eAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,OAAO,MAAM,GAAG,OAAO,IAAI,CAA4D,CAAC"}
@@ -1,13 +1,20 @@
1
- import { VmFunction, VmModule, type VmConst, type VmFunctionLike } from '../types/index.js';
1
+ import { VmFunction, VmModule, type VmConst, type VmFunctionLike, type VmImmutable } from '../types/index.js';
2
2
  import type { VmLib } from './helpers.js';
3
+ /** 内置模块 */
4
+ declare class VmBuiltinModule<const T extends Record<string, VmImmutable> = Record<string, VmImmutable>> extends VmModule<T> {
5
+ readonly descriptions: Record<keyof T, string | undefined>;
6
+ constructor(name: string, value: T, descriptions: Record<keyof T, string | undefined>);
7
+ /** @inheritdoc */
8
+ describe(key: string): string | undefined;
9
+ }
3
10
  /** 原始值 */
4
- export type RawValue = VmLib | VmConst | VmModule;
11
+ export type RawValue = VmLib<VmFunctionLike | VmConst> | VmBuiltinModule;
5
12
  /** 包装值 */
6
- type ToWrappedValue<V extends RawValue> = V extends VmFunctionLike ? VmFunction<V> : V;
13
+ type ToWrappedValue<V extends RawValue> = V extends VmLib<infer C> ? (C extends VmFunctionLike ? VmFunction<C> : C) : V;
7
14
  /** 包装值 */
8
- export declare function wrapEntry<const T extends RawValue>(name: string, value: T, module: string): ToWrappedValue<T>;
15
+ export declare function wrapEntry<const T extends RawValue>(name: string, value: T, module: string): [value: ToWrappedValue<T>, description: string | undefined];
9
16
  /** 创建模块 */
10
- export type ToWrappedModule<T extends Record<string, RawValue>> = VmModule<{
17
+ export type ToWrappedModule<T extends Record<string, RawValue>> = VmBuiltinModule<{
11
18
  [key in keyof T]: ToWrappedValue<T[key]>;
12
19
  }>;
13
20
  /** 创建模块 */
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/vm/lib/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AAG9G,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,cAAc,CAAC;AAEvD,UAAU;AACV,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClD,UAAU;AACV,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvF,UAAU;AACV,wBAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAkB7G;AAED,WAAW;AACX,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC;KACtE,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,WAAW;AACX,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAM/G"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/vm/lib/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,QAAQ,EACR,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,WAAW,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,cAAc,CAAC;AAEvD,WAAW;AACX,cAAM,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAI5G,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAF1D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,EACC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAI9D,kBAAkB;IACT,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGrD;AAED,UAAU;AACV,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC;AACzE,UAAU;AACV,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxH,UAAU;AACV,wBAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EAC9C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,GACf,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CA0B7D;AAED,WAAW;AACX,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC;KAC7E,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,WAAW;AACX,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAS/G"}
@@ -7,7 +7,7 @@ export interface VmContext {
7
7
  /** 枚举所有 key,仅在 LSP 中使用 */
8
8
  keys(): readonly string[];
9
9
  /** 描述值,返回 MarkDown 文本,仅在 LSP 中使用 */
10
- describe?(key: string): string | undefined;
10
+ describe(key: string): string | undefined;
11
11
  /**
12
12
  * 获取指定 key 的值 `global[key]`
13
13
  * @throws {VmError} 如果值不存在则抛出异常
@@ -21,8 +21,9 @@ export type VmContextRecord = Record<string, VmValue>;
21
21
  /** MiraScript 执行上下文 */
22
22
  export type VmContextRecordLoose = Record<string, VmValue | undefined>;
23
23
  export declare const VM_SHARED_CONTEXT: Record<string, VmImmutable>;
24
+ export declare const VM_SHARED_CONTEXT_DESCRIPTIONS: Record<string, string | undefined>;
24
25
  /** 定义在所有 MiraScript 执行上下文中共享的全局变量 */
25
- export declare function defineVmContextValue(name: string, value: VmImmutable | ((...args: VmAny[]) => VmAny), override?: boolean): void;
26
+ export declare function defineVmContextValue(name: string, value: VmImmutable | ((...args: VmAny[]) => VmAny), override?: boolean, description?: string | null | undefined): void;
26
27
  /** 无后备的实现 */
27
28
  export declare const DefaultVmContext: VmContext;
28
29
  /** 以值为后备的实现 */
@@ -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,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C;;;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;AAS3E,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,GACjB,IAAI,CAaN;AAED,aAAa;AACb,eAAO,MAAM,gBAAgB,EAAE,SAiB7B,CAAC;AA0DH,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,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"}
@@ -25,6 +25,6 @@ export declare class VmExtern<const T extends object = object> extends VmWrapper
25
25
  /** @inheritdoc */
26
26
  get type(): TypeName;
27
27
  /** @inheritdoc */
28
- get describe(): string;
28
+ get tag(): string;
29
29
  }
30
30
  //# sourceMappingURL=extern.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extern.d.ts","sourceRoot":"","sources":["../../../src/vm/types/extern.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,mCAAmC;AACnC,qBAAa,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAGnE,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,EAAE,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;gBAD3F,KAAK,EAAE,CAAC,EACC,OAAO,GAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,EAAE,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAW;IAKtG,yCAAyC;IACzC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;IAiBrD,kBAAkB;IAClB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;IAIxG,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAGlC,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAKhC,mCAAmC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAMzC,wBAAwB;IACxB,IAAI,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK;IAerC,kBAAkB;IACT,IAAI,IAAI,MAAM,EAAE;IAOzB,kBAAkB;IACT,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIpC,kBAAkB;IACT,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM;IAiB7C,kBAAkB;IAClB,IAAa,IAAI,IAAI,QAAQ,CAE5B;IACD,kBAAkB;IAClB,IAAa,QAAQ,IAAI,MAAM,CAqC9B;CACJ"}
1
+ {"version":3,"file":"extern.d.ts","sourceRoot":"","sources":["../../../src/vm/types/extern.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,mCAAmC;AACnC,qBAAa,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAGnE,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,EAAE,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;gBAD3F,KAAK,EAAE,CAAC,EACC,OAAO,GAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,EAAE,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAW;IAKtG,yCAAyC;IACzC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;IAiBrD,kBAAkB;IAClB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;IAIxG,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAGlC,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAKhC,mCAAmC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAMzC,wBAAwB;IACxB,IAAI,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK;IAerC,kBAAkB;IACT,IAAI,IAAI,MAAM,EAAE;IAOzB,kBAAkB;IACT,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIpC,kBAAkB;IACT,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM;IAiB7C,kBAAkB;IAClB,IAAa,IAAI,IAAI,QAAQ,CAE5B;IACD,kBAAkB;IAClB,IAAa,GAAG,IAAI,MAAM,CAqCzB;CACJ"}
@@ -20,6 +20,6 @@ export declare class VmModule<const T extends Record<string, VmImmutable> = Reco
20
20
  /** @inheritdoc */
21
21
  get type(): TypeName;
22
22
  /** @inheritdoc */
23
- get describe(): string;
23
+ get tag(): string;
24
24
  }
25
25
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/vm/types/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAoB;AACpB,qBAAa,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAE7G,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM;;IADrB,WAAW;IACF,IAAI,EAAE,MAAM;IACrB,WAAW;IACX,KAAK,EAAE,CAAC;IAIZ,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAGlC,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAIhC,kBAAkB;IACT,IAAI,IAAI,MAAM,EAAE;IAGzB,kBAAkB;IACT,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAGpC,kBAAkB;IAClB,IAAa,IAAI,IAAI,QAAQ,CAE5B;IACD,kBAAkB;IAClB,IAAa,QAAQ,IAAI,MAAM,CAE9B;CACJ"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/vm/types/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAoB;AACpB,qBAAa,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAE7G,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM;;IADrB,WAAW;IACF,IAAI,EAAE,MAAM;IACrB,WAAW;IACX,KAAK,EAAE,CAAC;IAIZ,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAGlC,kBAAkB;IACT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAIhC,kBAAkB;IACT,IAAI,IAAI,MAAM,EAAE;IAGzB,kBAAkB;IACT,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAGpC,kBAAkB;IAClB,IAAa,IAAI,IAAI,QAAQ,CAE5B;IACD,kBAAkB;IAClB,IAAa,GAAG,IAAI,MAAM,CAEzB;CACJ"}
@@ -15,8 +15,10 @@ export declare abstract class VmWrapper<T extends object> {
15
15
  abstract same(other: VmAny): boolean;
16
16
  /** 获取类型 */
17
17
  abstract get type(): TypeName;
18
- /** 获取描述 */
19
- abstract get describe(): string;
18
+ /** 获取当前对象的描述 */
19
+ abstract get tag(): string;
20
+ /** 描述键对应的值 */
21
+ describe(key: string): string | undefined;
20
22
  /** Convert the object to JSON */
21
23
  toJSON(): undefined;
22
24
  /** 转为字符串 */
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/vm/types/wrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,8BAAsB,SAAS,CAAC,CAAC,SAAS,MAAM;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;IAC7B,cAAc;IACd,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAClC,cAAc;IACd,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAChC,WAAW;IACX,QAAQ,CAAC,IAAI,IAAI,MAAM,EAAE;IACzB,aAAa;IACb,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IACpC,WAAW;IACX,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC;IAC9B,WAAW;IACX,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC;IAChC,iCAAiC;IACjC,MAAM,IAAI,SAAS;IAGnB,YAAY;IACZ,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM;CAKvC"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/vm/types/wrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,8BAAsB,SAAS,CAAC,CAAC,SAAS,MAAM;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;IAC7B,cAAc;IACd,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAClC,cAAc;IACd,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAChC,WAAW;IACX,QAAQ,CAAC,IAAI,IAAI,MAAM,EAAE;IACzB,aAAa;IACb,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IACpC,WAAW;IACX,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC;IAC9B,gBAAgB;IAChB,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC;IAC3B,cAAc;IACd,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAGzC,iCAAiC;IACjC,MAAM,IAAI,SAAS;IAGnB,YAAY;IACZ,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM;CAKvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/mirascript",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "An expression based scripting language.",
@@ -36,7 +36,7 @@
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.18"
39
+ "@mirascript/bindings": "~0.1.19"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^24.10.1",
@@ -1,2 +1,34 @@
1
- const { PI, E } = Math;
2
- export { PI as '@pi', E as '@e' };
1
+ import { VmLib } from '../helpers.js';
2
+
3
+ export const PI = VmLib(Math.PI, {
4
+ summary: '圆周率',
5
+ returnsType: 'number',
6
+ });
7
+ export const E = VmLib(Math.E, {
8
+ summary: '自然对数的底数',
9
+ returnsType: 'number',
10
+ });
11
+ export const SQRT1_2 = VmLib(Math.SQRT1_2, {
12
+ summary: '1 的平方根除以 2',
13
+ returnsType: 'number',
14
+ });
15
+ export const SQRT2 = VmLib(Math.SQRT2, {
16
+ summary: '2 的平方根',
17
+ returnsType: 'number',
18
+ });
19
+ export const LN2 = VmLib(Math.LN2, {
20
+ summary: '2 的自然对数',
21
+ returnsType: 'number',
22
+ });
23
+ export const LN10 = VmLib(Math.LN10, {
24
+ summary: '10 的自然对数',
25
+ returnsType: 'number',
26
+ });
27
+ export const LOG2E = VmLib(Math.LOG2E, {
28
+ summary: 'e 以 2 为底的对数',
29
+ returnsType: 'number',
30
+ });
31
+ export const LOG10E = VmLib(Math.LOG10E, {
32
+ summary: 'e 以 10 为底的对数',
33
+ returnsType: 'number',
34
+ });
@@ -277,19 +277,17 @@ export type VmLibOption = Pick<
277
277
  'summary' | 'params' | 'paramsType' | 'returns' | 'returnsType' | 'examples'
278
278
  >;
279
279
  /** 库函数 */
280
- export type VmLib<T extends VmFunctionLike = VmFunctionLike> = T & VmLibOption;
280
+ export type VmLib<T extends VmFunctionLike | VmConst = VmFunctionLike> = (T extends VmFunctionLike ? T : { value: T }) &
281
+ VmLibOption;
281
282
 
282
283
  /** 创建库函数 */
283
- export function VmLib<const T extends VmFunctionLike, P extends Record<string, unknown> = Record<never, never>>(
284
- fn: T,
285
- option: VmLibOption,
286
- properties?: P,
287
- ): VmLib<T> & P {
288
- /* c8 ignore next 2 */
289
- if (typeof fn != 'function') throw new TypeError('Invalid function');
290
- if (isVmFunction(fn)) throw new TypeError('Cannot create VmLib from a VmFunction');
284
+ export function VmLib<
285
+ const T extends VmFunctionLike | VmConst,
286
+ P extends Record<string, unknown> = Record<never, never>,
287
+ >(value: T, option: VmLibOption, properties?: P): VmLib<T> & P {
288
+ if (isVmFunction(value)) throw new TypeError('Cannot create VmLib from a VmFunction');
291
289
 
292
- const ret = fn as Writable<VmLib<T>> & P;
290
+ const ret = (typeof value == 'function' ? value : { value: value }) as unknown as Writable<VmLib<T>> & P;
293
291
  Object.assign(ret, properties);
294
292
  ret.params = option.params;
295
293
  ret.paramsType = option.paramsType;
@@ -1,16 +1,20 @@
1
1
  import * as global from './global/index.js';
2
2
  import * as mods from './mod/index.js';
3
- import { VM_SHARED_CONTEXT } from '../types/context.js';
3
+ import { VM_SHARED_CONTEXT, VM_SHARED_CONTEXT_DESCRIPTIONS } from '../types/context.js';
4
4
  import { create, entries } from '../../helpers/utils.js';
5
5
  import { createModule, wrapEntry, type RawValue } from './loader.js';
6
6
 
7
7
  for (const [name, value] of entries(global)) {
8
- VM_SHARED_CONTEXT[name] = wrapEntry(name, value as RawValue, 'global');
8
+ const [wrappedValue, description] = wrapEntry(name, value as RawValue, 'global');
9
+ VM_SHARED_CONTEXT[name] = wrappedValue;
10
+ VM_SHARED_CONTEXT_DESCRIPTIONS[name] = description;
9
11
  }
10
12
 
11
13
  for (const [name, value] of entries(mods)) {
12
14
  const mod = createModule(name, value as Record<string, RawValue>);
13
- VM_SHARED_CONTEXT[name] = wrapEntry(name, mod, 'global');
15
+ const [wrappedValue, description] = wrapEntry(name, mod, 'global');
16
+ VM_SHARED_CONTEXT[name] = wrappedValue;
17
+ VM_SHARED_CONTEXT_DESCRIPTIONS[name] = description;
14
18
  }
15
19
 
16
20
  export const lib: Readonly<typeof global & typeof mods> = Object.freeze(Object.assign(create(null), global, mods));
@@ -1,43 +1,80 @@
1
- import { VmFunction, VmModule, type VmConst, type VmFunctionLike, type VmImmutable } from '../types/index.js';
1
+ import {
2
+ isVmModule,
3
+ VmFunction,
4
+ VmModule,
5
+ type VmConst,
6
+ type VmFunctionLike,
7
+ type VmImmutable,
8
+ } from '../types/index.js';
2
9
  import { create, defineProperty, entries } from '../../helpers/utils.js';
3
10
 
4
11
  import type { VmLib, VmLibOption } from './helpers.js';
5
12
 
13
+ /** 内置模块 */
14
+ class VmBuiltinModule<const T extends Record<string, VmImmutable> = Record<string, VmImmutable>> extends VmModule<T> {
15
+ constructor(
16
+ name: string,
17
+ value: T,
18
+ readonly descriptions: Record<keyof T, string | undefined>,
19
+ ) {
20
+ super(name, value);
21
+ }
22
+ /** @inheritdoc */
23
+ override describe(key: string): string | undefined {
24
+ return this.descriptions[key as keyof T];
25
+ }
26
+ }
27
+
6
28
  /** 原始值 */
7
- export type RawValue = VmLib | VmConst | VmModule;
29
+ export type RawValue = VmLib<VmFunctionLike | VmConst> | VmBuiltinModule;
8
30
  /** 包装值 */
9
- type ToWrappedValue<V extends RawValue> = V extends VmFunctionLike ? VmFunction<V> : V;
31
+ type ToWrappedValue<V extends RawValue> = V extends VmLib<infer C> ? (C extends VmFunctionLike ? VmFunction<C> : C) : V;
10
32
  /** 包装值 */
11
- export function wrapEntry<const T extends RawValue>(name: string, value: T, module: string): ToWrappedValue<T> {
12
- if (typeof value == 'function') {
13
- if (value.name !== name) {
14
- // 如果函数名和导出名不一致,则重命名
15
- defineProperty(value, 'name', {
16
- value: name,
17
- configurable: true,
18
- });
33
+ export function wrapEntry<const T extends RawValue>(
34
+ name: string,
35
+ value: T,
36
+ module: string,
37
+ ): [value: ToWrappedValue<T>, description: string | undefined] {
38
+ if (isVmModule(value)) {
39
+ return [value as ToWrappedValue<T>, undefined];
40
+ }
41
+ if (typeof value != 'function') {
42
+ if (value == null || typeof value != 'object' || !('value' in value)) {
43
+ throw new TypeError(`Cannot wrap non-function, non-const value: ${name} in module ${module}`);
19
44
  }
20
- return VmFunction(value, {
45
+ return [value.value as ToWrappedValue<T>, value.summary || undefined];
46
+ }
47
+ if (value.name !== name) {
48
+ // 如果函数名和导出名不一致,则重命名
49
+ defineProperty(value, 'name', {
50
+ value: name,
51
+ configurable: true,
52
+ });
53
+ }
54
+ return [
55
+ VmFunction(value, {
21
56
  isLib: true,
22
57
  injectCp: true,
23
58
  fullName: `${module}.${name}`,
24
59
  ...(value as VmLibOption),
25
- }) as ToWrappedValue<T>;
26
- } else {
27
- return value as ToWrappedValue<T>;
28
- }
60
+ }) as ToWrappedValue<T>,
61
+ value.summary || undefined,
62
+ ];
29
63
  }
30
64
 
31
65
  /** 创建模块 */
32
- export type ToWrappedModule<T extends Record<string, RawValue>> = VmModule<{
66
+ export type ToWrappedModule<T extends Record<string, RawValue>> = VmBuiltinModule<{
33
67
  [key in keyof T]: ToWrappedValue<T[key]>;
34
68
  }>;
35
69
 
36
70
  /** 创建模块 */
37
71
  export function createModule<const T extends Record<string, RawValue>>(name: string, lib: T): ToWrappedModule<T> {
38
72
  const mod = create(null) as Record<string, VmImmutable>;
73
+ const descriptions = create(null) as Record<string, string | undefined>;
39
74
  for (const [key, value] of entries(lib)) {
40
- mod[key] = wrapEntry(key, value, name);
75
+ const [wrappedValue, description] = wrapEntry(key, value, name);
76
+ mod[key] = wrappedValue;
77
+ descriptions[key] = description;
41
78
  }
42
- return new VmModule(name, mod) as ToWrappedModule<T>;
79
+ return new VmBuiltinModule(name, mod, descriptions) as ToWrappedModule<T>;
43
80
  }
@@ -1,4 +1,4 @@
1
- import { create, entries, keys } from '../../helpers/utils.js';
1
+ import { create, entries, hasOwn, keys } from '../../helpers/utils.js';
2
2
  import { isVmAny } from '../../helpers/types.js';
3
3
  import { VmError } from '../../helpers/error.js';
4
4
  import { kVmContext } from '../../helpers/constants.js';
@@ -14,7 +14,7 @@ export interface VmContext {
14
14
  /** 枚举所有 key,仅在 LSP 中使用 */
15
15
  keys(): readonly string[];
16
16
  /** 描述值,返回 MarkDown 文本,仅在 LSP 中使用 */
17
- describe?(key: string): string | undefined;
17
+ describe(key: string): string | undefined;
18
18
  /**
19
19
  * 获取指定 key 的值 `global[key]`
20
20
  * @throws {VmError} 如果值不存在则抛出异常
@@ -28,6 +28,7 @@ export type VmContextRecord = Record<string, VmValue>;
28
28
  /** MiraScript 执行上下文 */
29
29
  export type VmContextRecordLoose = Record<string, VmValue | undefined>;
30
30
  export const VM_SHARED_CONTEXT: Record<string, VmImmutable> = create(null);
31
+ export const VM_SHARED_CONTEXT_DESCRIPTIONS: Record<string, string | undefined> = create(null);
31
32
  /** 缓存 {@link VM_SHARED_CONTEXT} 的 keys */
32
33
  let VM_SHARED_CONTEXT_KEYS: readonly string[] | null = null;
33
34
 
@@ -41,6 +42,7 @@ export function defineVmContextValue(
41
42
  name: string,
42
43
  value: VmImmutable | ((...args: VmAny[]) => VmAny),
43
44
  override = false,
45
+ description: string | null | undefined = undefined,
44
46
  ): void {
45
47
  if (!override && name in VM_SHARED_CONTEXT) throw new Error(`Global variable '${name}' is already defined.`);
46
48
  let v: VmImmutable;
@@ -53,6 +55,7 @@ export function defineVmContextValue(
53
55
  v = value;
54
56
  }
55
57
  VM_SHARED_CONTEXT[name] = v ?? null;
58
+ if (description) VM_SHARED_CONTEXT_DESCRIPTIONS[name] = description;
56
59
  VM_SHARED_CONTEXT_KEYS = null;
57
60
  }
58
61
 
@@ -74,6 +77,10 @@ export const DefaultVmContext: VmContext = freeze({
74
77
  has(key: string): boolean {
75
78
  return key in VM_SHARED_CONTEXT;
76
79
  },
80
+ /** @inheritdoc */
81
+ describe(key: string): string | undefined {
82
+ return VM_SHARED_CONTEXT_DESCRIPTIONS[key];
83
+ },
77
84
  });
78
85
 
79
86
  /** 以值为后备的实现 */
@@ -99,10 +106,14 @@ class ValueVmContext implements VmContext {
99
106
  has(key: string): boolean {
100
107
  return key in this.env;
101
108
  }
109
+ /** @inheritdoc */
110
+ describe(key: string): string | undefined {
111
+ if (this.describer != null && hasOwn(this.env, key)) return this.describer(key);
112
+ return VM_SHARED_CONTEXT_DESCRIPTIONS[key];
113
+ }
102
114
  constructor(
103
115
  private readonly env: VmContextRecord,
104
- /** @inheritdoc */
105
- readonly describe?: (key: string) => string | undefined,
116
+ private readonly describer?: (key: string) => string | undefined,
106
117
  ) {}
107
118
  }
108
119
 
@@ -124,11 +135,15 @@ class FactoryVmContext implements VmContext {
124
135
  has(key: string): boolean {
125
136
  return this.getter(key) !== undefined || DefaultVmContext.has(key);
126
137
  }
138
+ /** @inheritdoc */
139
+ describe(key: string): string | undefined {
140
+ if (this.describer != null && this.getter(key) !== undefined) return this.describer(key);
141
+ return VM_SHARED_CONTEXT_DESCRIPTIONS[key];
142
+ }
127
143
  constructor(
128
144
  private readonly getter: (key: string) => VmValue | undefined,
129
145
  private readonly enumerator?: () => Iterable<string>,
130
- /** @inheritdoc */
131
- readonly describe?: (key: string) => string | undefined,
146
+ private readonly describer?: (key: string) => string | undefined,
132
147
  ) {}
133
148
  }
134
149
 
@@ -115,7 +115,7 @@ export class VmExtern<const T extends object = object> extends VmWrapper<T> {
115
115
  return 'extern';
116
116
  }
117
117
  /** @inheritdoc */
118
- override get describe(): string {
118
+ override get tag(): string {
119
119
  const tag = ObjectToString.call(this.value).slice(8, -1);
120
120
  if (isArray(this.value)) {
121
121
  return `${tag}(${this.value.length})`;
@@ -35,7 +35,7 @@ export class VmModule<const T extends Record<string, VmImmutable> = Record<strin
35
35
  return 'module';
36
36
  }
37
37
  /** @inheritdoc */
38
- override get describe(): string {
38
+ override get tag(): string {
39
39
  return this.name;
40
40
  }
41
41
  }
@@ -16,15 +16,19 @@ export abstract class VmWrapper<T extends object> {
16
16
  abstract same(other: VmAny): boolean;
17
17
  /** 获取类型 */
18
18
  abstract get type(): TypeName;
19
- /** 获取描述 */
20
- abstract get describe(): string;
19
+ /** 获取当前对象的描述 */
20
+ abstract get tag(): string;
21
+ /** 描述键对应的值 */
22
+ describe(key: string): string | undefined {
23
+ return undefined;
24
+ }
21
25
  /** Convert the object to JSON */
22
26
  toJSON(): undefined {
23
27
  return undefined;
24
28
  }
25
29
  /** 转为字符串 */
26
30
  toString(useBraces: boolean): string {
27
- const { type, describe } = this;
31
+ const { type, tag: describe } = this;
28
32
  if (!describe) return `<${type}>`;
29
33
  return `<${type} ${describe}>`;
30
34
  }
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/helpers/convert/index.ts", "../src/helpers/convert/to-number.ts", "../src/helpers/convert/to-format.ts", "../src/helpers/convert/to-boolean.ts", "../src/vm/operations.ts", "../src/vm/types/wrapper.ts", "../src/vm/types/boundary.ts", "../src/vm/types/extern.ts", "../src/vm/checkpoint.ts", "../src/vm/types/function.ts", "../src/vm/types/context.ts", "../src/compiler/index.ts", "../src/vm/helpers.ts", "../src/vm/env.ts", "../src/compiler/create-script.ts", "../src/compiler/compile-fast.ts", "../src/compiler/worker-manager.ts", "../src/vm/types/module.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/mod/index.ts", "../src/vm/lib/mod/matrix.ts", "../src/vm/lib/loader.ts", "../src/vm/lib/index.ts"],
4
- "mappings": "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",
5
- "names": ["num", "abs", "format", "len", "format", "keys", "toString", "_a", "describer", "Function", "Function", "keys", "values", "keys", "values", "num", "worker", "abs", "ceil", "entries", "keys", "map", "min", "pow", "trunc", "values", "min", "max", "len", "values", "min", "build", "trunc", "ceil", "abs", "sqrt", "exp", "pow", "entries", "keys", "len", "values", "entries", "data", "map", "data", "entries", "len", "len", "format", "values", "format", "num", "timestamp", "result", "rr", "a", "b", "size", "repeat", "lib"]
6
- }