@mirascript/mirascript 0.1.64 → 0.1.65

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 (81) hide show
  1. package/README.md +7 -8
  2. package/dist/{chunk-ITTCGBBX.js → chunk-MRA5WJ72.js} +385 -402
  3. package/dist/chunk-MRA5WJ72.js.map +6 -0
  4. package/dist/{chunk-QN3IOQRQ.js → chunk-X4FUFXO6.js} +3 -1
  5. package/dist/chunk-X4FUFXO6.js.map +6 -0
  6. package/dist/compiler/worker.js +1 -1
  7. package/dist/helpers/utils.d.ts +2 -0
  8. package/dist/helpers/utils.d.ts.map +1 -1
  9. package/dist/index.js +2 -2
  10. package/dist/subtle.js +2 -2
  11. package/dist/vm/lib/global/bit.d.ts.map +1 -1
  12. package/dist/vm/lib/global/debug.d.ts.map +1 -1
  13. package/dist/vm/lib/global/json.d.ts.map +1 -1
  14. package/dist/vm/lib/global/math/arr.d.ts.map +1 -1
  15. package/dist/vm/lib/global/math/const.d.ts.map +1 -1
  16. package/dist/vm/lib/global/math/gamma.d.ts.map +1 -1
  17. package/dist/vm/lib/global/math/index.d.ts.map +1 -1
  18. package/dist/vm/lib/global/math/round.d.ts.map +1 -1
  19. package/dist/vm/lib/global/math/unary.d.ts.map +1 -1
  20. package/dist/vm/lib/global/sequence/all-any.d.ts.map +1 -1
  21. package/dist/vm/lib/global/sequence/entries.d.ts.map +1 -1
  22. package/dist/vm/lib/global/sequence/find.d.ts.map +1 -1
  23. package/dist/vm/lib/global/sequence/flatten.d.ts.map +1 -1
  24. package/dist/vm/lib/global/sequence/len.d.ts.map +1 -1
  25. package/dist/vm/lib/global/sequence/map-filter.d.ts.map +1 -1
  26. package/dist/vm/lib/global/sequence/new.d.ts.map +1 -1
  27. package/dist/vm/lib/global/sequence/repeat.d.ts.map +1 -1
  28. package/dist/vm/lib/global/sequence/reverse.d.ts.map +1 -1
  29. package/dist/vm/lib/global/sequence/sort.d.ts.map +1 -1
  30. package/dist/vm/lib/global/sequence/unique.d.ts.map +1 -1
  31. package/dist/vm/lib/global/sequence/with.d.ts.map +1 -1
  32. package/dist/vm/lib/global/sequence/zip.d.ts.map +1 -1
  33. package/dist/vm/lib/global/string/case.d.ts.map +1 -1
  34. package/dist/vm/lib/global/string/index.d.ts.map +1 -1
  35. package/dist/vm/lib/global/string/search.d.ts.map +1 -1
  36. package/dist/vm/lib/global/string/trim.d.ts.map +1 -1
  37. package/dist/vm/lib/global/time.d.ts.map +1 -1
  38. package/dist/vm/lib/global/to-primitive.d.ts.map +1 -1
  39. package/dist/vm/lib/helpers.d.ts +1 -1
  40. package/dist/vm/lib/helpers.d.ts.map +1 -1
  41. package/dist/vm/lib/mod/matrix.d.ts.map +1 -1
  42. package/dist/vm/types/context.d.ts.map +1 -1
  43. package/dist/vm/types/function.d.ts +8 -7
  44. package/dist/vm/types/function.d.ts.map +1 -1
  45. package/package.json +5 -5
  46. package/src/helpers/utils.ts +7 -0
  47. package/src/vm/lib/global/bit.ts +23 -21
  48. package/src/vm/lib/global/debug.ts +6 -6
  49. package/src/vm/lib/global/json.ts +7 -6
  50. package/src/vm/lib/global/math/arr.ts +10 -15
  51. package/src/vm/lib/global/math/const.ts +0 -10
  52. package/src/vm/lib/global/math/gamma.ts +4 -6
  53. package/src/vm/lib/global/math/index.ts +11 -8
  54. package/src/vm/lib/global/math/round.ts +20 -12
  55. package/src/vm/lib/global/math/unary.ts +44 -66
  56. package/src/vm/lib/global/sequence/all-any.ts +14 -10
  57. package/src/vm/lib/global/sequence/entries.ts +8 -9
  58. package/src/vm/lib/global/sequence/find.ts +6 -7
  59. package/src/vm/lib/global/sequence/flatten.ts +5 -3
  60. package/src/vm/lib/global/sequence/len.ts +2 -3
  61. package/src/vm/lib/global/sequence/map-filter.ts +18 -21
  62. package/src/vm/lib/global/sequence/new.ts +13 -6
  63. package/src/vm/lib/global/sequence/repeat.ts +3 -7
  64. package/src/vm/lib/global/sequence/reverse.ts +2 -3
  65. package/src/vm/lib/global/sequence/sort.ts +16 -16
  66. package/src/vm/lib/global/sequence/unique.ts +16 -16
  67. package/src/vm/lib/global/sequence/with.ts +6 -7
  68. package/src/vm/lib/global/sequence/zip.ts +2 -3
  69. package/src/vm/lib/global/string/case.ts +4 -6
  70. package/src/vm/lib/global/string/index.ts +18 -12
  71. package/src/vm/lib/global/string/search.ts +15 -9
  72. package/src/vm/lib/global/string/trim.ts +6 -9
  73. package/src/vm/lib/global/time.ts +10 -13
  74. package/src/vm/lib/global/to-primitive.ts +15 -15
  75. package/src/vm/lib/helpers.ts +1 -6
  76. package/src/vm/lib/mod/matrix.ts +48 -39
  77. package/src/vm/operations/compound.ts +2 -2
  78. package/src/vm/types/context.ts +17 -20
  79. package/src/vm/types/function.ts +9 -10
  80. package/dist/chunk-ITTCGBBX.js.map +0 -6
  81. package/dist/chunk-QN3IOQRQ.js.map +0 -6
@@ -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":"matrix.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/mod/matrix.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAsClH,eAAO,MAAM,IAAI,kIAYhB,CAAC;AAEF,eAAO,MAAM,SAAS,+XA0BrB,CAAC;AA8HF,eAAO,MAAM,SAAS,oJAmBrB,CAAC;AAEF,eAAO,MAAM,GAAG,4HAaf,CAAC;AAEF,eAAO,MAAM,QAAQ,4HAapB,CAAC;AAEF,eAAO,MAAM,kBAAkB,4HAa9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,4HAa5B,CAAC;AAEF,eAAO,MAAM,QAAQ,4HAiEpB,CAAC;AAEF,eAAO,MAAM,MAAM,oGAsHlB,CAAC;AAkBF,eAAO,MAAM,KAAK,uHAMhB,CAAC;AAEH,eAAO,MAAM,IAAI,uHAMf,CAAC;AAEH,eAAO,MAAM,QAAQ,0HA0BpB,CAAC;AAEF,eAAO,MAAM,QAAQ,+HA4CpB,CAAC"}
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/mod/matrix.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAsClH,eAAO,MAAM,IAAI,kIAWhB,CAAC;AAEF,eAAO,MAAM,SAAS,+XAyBrB,CAAC;AA8HF,eAAO,MAAM,SAAS,oJAsBrB,CAAC;AAEF,eAAO,MAAM,GAAG,4HAef,CAAC;AAEF,eAAO,MAAM,QAAQ,4HAepB,CAAC;AAEF,eAAO,MAAM,kBAAkB,4HAe9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,4HAe5B,CAAC;AAEF,eAAO,MAAM,QAAQ,4HAmEpB,CAAC;AAEF,eAAO,MAAM,MAAM,oGAqHlB,CAAC;AAkBF,eAAO,MAAM,KAAK,uHAKhB,CAAC;AAEH,eAAO,MAAM,IAAI,uHAKf,CAAC;AAEH,eAAO,MAAM,QAAQ,0HAyBpB,CAAC;AAEF,eAAO,MAAM,QAAQ,+HA8CpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/vm/types/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI9D,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,KAAK,CAAC,CAAC;AACpD,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,CAeN;AAED,aAAa;AACb,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAsB/C,CAAC;AAqHH,uBAAuB;AACvB,wBAAgB,eAAe,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,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;AACb,qBAAqB;AACrB,wBAAgB,eAAe,CAC3B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,EACjC,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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/vm/types/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI9D,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,KAAK,CAAC,CAAC;AACpD,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,CAeN;AAED,aAAa;AACb,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAsB/C,CAAC;AAkHH,uBAAuB;AACvB,wBAAgB,eAAe,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,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;AACb,qBAAqB;AACrB,wBAAgB,eAAe,CAC3B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,EACjC,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"}
@@ -12,6 +12,11 @@ export type VmFunctionLike = (...args: ReadonlyArray<VmValue | undefined>) => Vm
12
12
  export type VmFunction<T extends VmFunctionLike = VmFunctionLike> = T & {
13
13
  readonly [kVmFunction]: VmFunctionInfo;
14
14
  };
15
+ /** Mirascript 值信息 */
16
+ export type VmValueInfo = {
17
+ readonly type: string;
18
+ readonly description?: string;
19
+ };
15
20
  /** Mirascript 函数信息 */
16
21
  export type VmFunctionInfo = {
17
22
  /** 完整名称 */
@@ -21,13 +26,9 @@ export type VmFunctionInfo = {
21
26
  /** 文档字符串 */
22
27
  readonly summary?: string;
23
28
  /** 文档字符串 */
24
- readonly params?: Record<string, string>;
25
- /** 文档字符串 */
26
- readonly paramsType?: Record<string, string>;
27
- /** 文档字符串 */
28
- readonly returns?: string;
29
+ readonly params?: Record<string, VmValueInfo>;
29
30
  /** 文档字符串 */
30
- readonly returnsType?: string;
31
+ readonly returns?: VmValueInfo;
31
32
  /** 文档字符串 */
32
33
  readonly examples?: string[];
33
34
  /** 标记为弃用 */
@@ -37,7 +38,7 @@ export type VmFunctionInfo = {
37
38
  };
38
39
  };
39
40
  /** Mirascript 函数创建选项 */
40
- export type VmFunctionOption = Partial<Omit<VmFunctionInfo, 'original'>> & {
41
+ export type VmFunctionOption = Partial<VmFunctionInfo> & {
41
42
  /** 函数名称 */
42
43
  readonly name?: string | null | undefined;
43
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/vm/types/function.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AAErF,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC;AAE3F,oBAAoB;AACpB,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAEnH,sBAAsB;AACtB,MAAM,MAAM,cAAc,GAAG;IACzB,WAAW;IACX,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,YAAY;IACZ,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY;IACZ,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,YAAY;IACZ,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY;IACZ,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY;IACZ,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF,wBAAwB;AACxB,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG;IACvE,WAAW;IACX,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7C,CAAC;AAQF,uBAAuB;AACvB,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EAC/C,EAAE,EAAE,CAAC,EACL,MAAM,GAAE,OAAO,CAAC,gBAAgB,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAM,GAC/D,UAAU,CAAC,CAAC,CAAC,CAqCf"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/vm/types/function.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AAErF,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC;AAE3F,oBAAoB;AACpB,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAEnH,qBAAqB;AACrB,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AACF,sBAAsB;AACtB,MAAM,MAAM,cAAc,GAAG;IACzB,WAAW;IACX,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,YAAY;IACZ,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY;IACZ,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9C,YAAY;IACZ,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,YAAY;IACZ,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF,wBAAwB;AACxB,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG;IACrD,WAAW;IACX,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7C,CAAC;AAQF,uBAAuB;AACvB,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EAC/C,EAAE,EAAE,CAAC,EACL,MAAM,GAAE,OAAO,CAAC,gBAAgB,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAM,GAC/D,UAAU,CAAC,CAAC,CAAC,CAmCf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/mirascript",
3
- "version": "0.1.64",
3
+ "version": "0.1.65",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "An expression based scripting language.",
@@ -42,15 +42,15 @@
42
42
  "@cloudpss/worker": "^0.1.11",
43
43
  "source-map-js": "^1.2.1",
44
44
  "supports-color": "^10.2.2",
45
- "@mirascript/bindings": "~0.1.64",
46
- "@mirascript/constants": "~0.1.64"
45
+ "@mirascript/constants": "~0.1.65",
46
+ "@mirascript/bindings": "~0.1.65"
47
47
  },
48
48
  "devDependencies": {
49
- "@types/node": "^26.0.1",
49
+ "@types/node": "^26.1.1",
50
50
  "ava": "^8.0.1",
51
51
  "c8": "^11.0.0",
52
52
  "tinybench": "^6.0.2",
53
- "type-fest": "^5.7.0"
53
+ "type-fest": "^5.8.0"
54
54
  },
55
55
  "scripts": {
56
56
  "watch": "pnpm build:ts --watch",
@@ -12,6 +12,13 @@ export const { hasOwn, keys, values, entries, create, fromEntries, definePropert
12
12
  Object;
13
13
  export const { apply, getPrototypeOf } = Reflect;
14
14
 
15
+ // Polyfill for https://github.com/tc39/proposal-object-keys-length
16
+ /** 获取对象的键数量 */
17
+ export const keysLength =
18
+ 'keysLength' in Object && typeof Object.keysLength == 'function'
19
+ ? (Object.keysLength as (o: object) => number)
20
+ : (o: object): number => keys(o).length;
21
+
15
22
  /**
16
23
  * Determines whether an object has an enumerable property with the specified name.
17
24
  */
@@ -6,9 +6,11 @@ export const b_and = VmLib(
6
6
  },
7
7
  {
8
8
  summary: '返回两个数的按位与',
9
- params: { x: '第一个操作数', y: '第二个操作数' },
10
- paramsType: { x: 'number', y: 'number' },
11
- returnsType: 'number',
9
+ params: {
10
+ x: { type: 'number', description: '第一个操作数' },
11
+ y: { type: 'number', description: '第二个操作数' },
12
+ },
13
+ returns: { type: 'number' },
12
14
  examples: ['b_and(6, 3) // 2'],
13
15
  },
14
16
  );
@@ -19,9 +21,11 @@ export const b_or = VmLib(
19
21
  },
20
22
  {
21
23
  summary: '返回两个数的按位或',
22
- params: { x: '第一个操作数', y: '第二个操作数' },
23
- paramsType: { x: 'number', y: 'number' },
24
- returnsType: 'number',
24
+ params: {
25
+ x: { type: 'number', description: '第一个操作数' },
26
+ y: { type: 'number', description: '第二个操作数' },
27
+ },
28
+ returns: { type: 'number' },
25
29
  examples: ['b_or(5, 2) // 7'],
26
30
  },
27
31
  );
@@ -32,9 +36,8 @@ export const b_not = VmLib(
32
36
  },
33
37
  {
34
38
  summary: '返回一个数的按位取反',
35
- params: { x: '操作数' },
36
- paramsType: { x: 'number' },
37
- returnsType: 'number',
39
+ params: { x: { type: 'number', description: '操作数' } },
40
+ returns: { type: 'number' },
38
41
  examples: ['b_not(0) // -1'],
39
42
  },
40
43
  );
@@ -45,9 +48,11 @@ export const b_xor = VmLib(
45
48
  },
46
49
  {
47
50
  summary: '返回两个数的按位异或',
48
- params: { x: '第一个操作数', y: '第二个操作数' },
49
- paramsType: { x: 'number', y: 'number' },
50
- returnsType: 'number',
51
+ params: {
52
+ x: { type: 'number', description: '第一个操作数' },
53
+ y: { type: 'number', description: '第二个操作数' },
54
+ },
55
+ returns: { type: 'number' },
51
56
  examples: ['b_xor(5, 3) // 6'],
52
57
  },
53
58
  );
@@ -58,9 +63,8 @@ export const shl = VmLib(
58
63
  },
59
64
  {
60
65
  summary: '返回第一个操作数左移指定的位数',
61
- params: { x: '第一个操作数', y: '位数' },
62
- paramsType: { x: 'number', y: 'number' },
63
- returnsType: 'number',
66
+ params: { x: { type: 'number', description: '第一个操作数' }, y: { type: 'number', description: '位数' } },
67
+ returns: { type: 'number' },
64
68
  examples: ['shl(3, 2) // 12'],
65
69
  },
66
70
  );
@@ -71,9 +75,8 @@ export const sar = VmLib(
71
75
  },
72
76
  {
73
77
  summary: '返回第一个操作数右移指定的位数',
74
- params: { x: '第一个操作数', y: '位数' },
75
- paramsType: { x: 'number', y: 'number' },
76
- returnsType: 'number',
78
+ params: { x: { type: 'number', description: '第一个操作数' }, y: { type: 'number', description: '位数' } },
79
+ returns: { type: 'number' },
77
80
  examples: ['sar(-8, 1) // -4'],
78
81
  },
79
82
  );
@@ -84,9 +87,8 @@ export const shr = VmLib(
84
87
  },
85
88
  {
86
89
  summary: '返回第一个操作数无符号右移指定的位数',
87
- params: { x: '第一个操作数', y: '位数' },
88
- paramsType: { x: 'number', y: 'number' },
89
- returnsType: 'number',
90
+ params: { x: { type: 'number', description: '第一个操作数' }, y: { type: 'number', description: '位数' } },
91
+ returns: { type: 'number' },
90
92
  examples: ['shr(8, 1) // 4'],
91
93
  },
92
94
  );
@@ -199,9 +199,10 @@ export const debug_print = VmLib(
199
199
  },
200
200
  {
201
201
  summary: '打印调试信息到控制台',
202
- params: { '..args': '要打印的调试信息,可以是任意类型' },
203
- paramsType: { '..args': 'any[]' },
204
- returnsType: 'nil',
202
+ params: {
203
+ '..args': { type: 'any[]', description: '要打印的值,可以是任意类型' },
204
+ },
205
+ returns: { type: 'nil' },
205
206
  examples: ['debug_print("value:", 42);'],
206
207
  },
207
208
  // eslint-disable-next-line no-console
@@ -217,9 +218,8 @@ export const panic = VmLib(
217
218
  },
218
219
  {
219
220
  summary: '产生错误,并打印错误信息到控制台',
220
- params: { message: '要打印的错误信息' },
221
- paramsType: { message: 'string' },
222
- returnsType: 'never',
221
+ params: { message: { type: 'string', description: '要打印的错误信息' } },
222
+ returns: { type: 'never' },
223
223
  examples: ['panic("boom");'],
224
224
  },
225
225
  // eslint-disable-next-line no-console
@@ -17,9 +17,8 @@ export const to_json = VmLib(
17
17
  },
18
18
  {
19
19
  summary: '将数据转换为 JSON 字符串',
20
- params: { data: '要转换为 JSON 的数据' },
21
- paramsType: { data: 'any' },
22
- returnsType: 'string',
20
+ params: { data: { type: 'any', description: '要转换为 JSON 的数据' } },
21
+ returns: { type: 'string' },
23
22
  examples: ['to_json([1, 2, 3]) // "[1,2,3]"'],
24
23
  },
25
24
  );
@@ -36,9 +35,11 @@ export const from_json = VmLib(
36
35
  },
37
36
  {
38
37
  summary: '将 JSON 字符串转换为数据',
39
- params: { json: '要转换的 JSON 字符串', fallback: '如果转换失败,返回的默认值' },
40
- paramsType: { json: 'string', fallback: 'any' },
41
- returnsType: 'any',
38
+ params: {
39
+ json: { type: 'string', description: '要转换的 JSON 字符串' },
40
+ fallback: { type: 'any', description: '如果转换失败,返回的默认值' },
41
+ },
42
+ returns: { type: 'any' },
42
43
  examples: [`from_json('{"a":1}') // (a: 1)`],
43
44
  },
44
45
  );
@@ -11,25 +11,22 @@ function build(f: (...values: readonly number[]) => number): (...values: readonl
11
11
 
12
12
  export const max = VmLib(build(Math.max), {
13
13
  summary: '返回一组数中的最大值',
14
- params: { '..values': '要比较的数值' },
15
- paramsType: { '..values': 'number[]' },
16
- returnsType: 'number',
14
+ params: { '..values': { type: 'number', description: '要比较的数值' } },
15
+ returns: { type: 'number' },
17
16
  examples: ['max(3, 7, 2) // 7'],
18
17
  });
19
18
 
20
19
  export const min = VmLib(build(Math.min), {
21
20
  summary: '返回一组数中的最小值',
22
- params: { '..values': '要比较的数值' },
23
- paramsType: { '..values': 'number[]' },
24
- returnsType: 'number',
21
+ params: { '..values': { type: 'number', description: '要比较的数值' } },
22
+ returns: { type: 'number' },
25
23
  examples: ['min(3, 7, 2) // 2'],
26
24
  });
27
25
 
28
26
  export const hypot = VmLib(build(Math.hypot), {
29
27
  summary: '返回所有参数平方和的平方根',
30
- params: { '..values': '要计算的数值' },
31
- paramsType: { '..values': 'number[]' },
32
- returnsType: 'number',
28
+ params: { '..values': { type: 'number', description: '要计算的数值' } },
29
+ returns: { type: 'number' },
33
30
  examples: ['hypot(3, 4) // 5'],
34
31
  });
35
32
 
@@ -40,9 +37,8 @@ export const sum = VmLib(
40
37
  },
41
38
  {
42
39
  summary: '返回一组数的总和',
43
- params: { '..values': '要计算的数值' },
44
- paramsType: { '..values': 'number[]' },
45
- returnsType: 'number',
40
+ params: { '..values': { type: 'number', description: '要计算的数值' } },
41
+ returns: { type: 'number' },
46
42
  examples: ['sum(1, 2, 3, 4) // 10'],
47
43
  },
48
44
  );
@@ -54,9 +50,8 @@ export const product = VmLib(
54
50
  },
55
51
  {
56
52
  summary: '返回一组数的乘积',
57
- params: { '..values': '要计算的数值' },
58
- paramsType: { '..values': 'number[]' },
59
- returnsType: 'number',
53
+ params: { '..values': { type: 'number', description: '要计算的数值' } },
54
+ returns: { type: 'number' },
60
55
  examples: ['product(2, 3, 4) // 24'],
61
56
  },
62
57
  );
@@ -3,15 +3,12 @@ import { VmLib } from '../../helpers.js';
3
3
 
4
4
  export const PI = VmLib(Math.PI, {
5
5
  summary: '圆周率',
6
- returnsType: 'number',
7
6
  });
8
7
  export const E = VmLib(Math.E, {
9
8
  summary: '自然对数的底数',
10
- returnsType: 'number',
11
9
  });
12
10
  export const pi = VmLib(Math.PI, {
13
11
  summary: '圆周率',
14
- returnsType: 'number',
15
12
  deprecated: {
16
13
  use: 'PI',
17
14
  message: DiagnosticCode.PreferUppercaseConstant,
@@ -19,7 +16,6 @@ export const pi = VmLib(Math.PI, {
19
16
  });
20
17
  export const e = VmLib(Math.E, {
21
18
  summary: '自然对数的底数',
22
- returnsType: 'number',
23
19
  deprecated: {
24
20
  use: 'E',
25
21
  message: DiagnosticCode.PreferUppercaseConstant,
@@ -27,25 +23,19 @@ export const e = VmLib(Math.E, {
27
23
  });
28
24
  export const SQRT1_2 = VmLib(Math.SQRT1_2, {
29
25
  summary: '½ 的平方根',
30
- returnsType: 'number',
31
26
  });
32
27
  export const SQRT2 = VmLib(Math.SQRT2, {
33
28
  summary: '2 的平方根',
34
- returnsType: 'number',
35
29
  });
36
30
  export const LN2 = VmLib(Math.LN2, {
37
31
  summary: '2 的自然对数',
38
- returnsType: 'number',
39
32
  });
40
33
  export const LN10 = VmLib(Math.LN10, {
41
34
  summary: '10 的自然对数',
42
- returnsType: 'number',
43
35
  });
44
36
  export const LOG2E = VmLib(Math.LOG2E, {
45
37
  summary: 'e 以 2 为底的对数',
46
- returnsType: 'number',
47
38
  });
48
39
  export const LOG10E = VmLib(Math.LOG10E, {
49
40
  summary: 'e 以 10 为底的对数',
50
- returnsType: 'number',
51
41
  });
@@ -208,9 +208,8 @@ export const gamma = VmLib(
208
208
  },
209
209
  {
210
210
  summary: '返回 Gamma 函数的值',
211
- params: { x: '要计算 Gamma 函数的数值' },
212
- paramsType: { x: 'number' },
213
- returnsType: 'number',
211
+ params: { x: { type: 'number', description: '要计算 Gamma 函数的数值' } },
212
+ returns: { type: 'number' },
214
213
  examples: ['gamma(5) // 24'],
215
214
  },
216
215
  );
@@ -237,9 +236,8 @@ export const factorial = VmLib(
237
236
  },
238
237
  {
239
238
  summary: '返回一个数的阶乘',
240
- params: { x: '要计算阶乘的数值' },
241
- paramsType: { x: 'number' },
242
- returnsType: 'number',
239
+ params: { x: { type: 'number', description: '要计算阶乘的数值' } },
240
+ returns: { type: 'number' },
243
241
  examples: ['factorial(5) // 120'],
244
242
  },
245
243
  );
@@ -3,21 +3,24 @@ const { atan2: _atan2, pow: _pow, random: _random } = Math;
3
3
 
4
4
  export const atan2 = VmLib((x, y) => _atan2(expectNumber(0, x), expectNumber(1, y)), {
5
5
  summary: '返回从原点到点 (x, y) 的角度(弧度)',
6
- params: { x: 'x 坐标', y: 'y 坐标' },
7
- paramsType: { x: 'number', y: 'number' },
8
- returnsType: 'number',
6
+ params: {
7
+ x: { type: 'number', description: 'x 坐标' },
8
+ y: { type: 'number', description: 'y 坐标' },
9
+ },
10
+ returns: { type: 'number' },
9
11
  });
10
12
  export const pow = VmLib((x, y) => _pow(expectNumber(0, x), expectNumber(1, y)), {
11
13
  summary: '返回 x 的 y 次幂',
12
- params: { x: '底数', y: '指数' },
13
- paramsType: { x: 'number', y: 'number' },
14
- returnsType: 'number',
14
+ params: {
15
+ x: { type: 'number', description: '底数' },
16
+ y: { type: 'number', description: '指数' },
17
+ },
18
+ returns: { type: 'number' },
15
19
  });
16
20
  export const random = VmLib(() => _random(), {
17
21
  summary: '返回 [0, 1) 之间的伪随机数',
18
22
  params: {},
19
- paramsType: {},
20
- returnsType: 'number',
23
+ returns: { type: 'number' },
21
24
  });
22
25
 
23
26
  export * from './arr.js';
@@ -14,21 +14,27 @@ function build(f: (x: number) => number): (x: VmAny, n: VmAny) => number {
14
14
 
15
15
  export const trunc = VmLib(build(Math.trunc), {
16
16
  summary: '向零方向舍入数值',
17
- params: { x: '要舍入的数', n: '小数位数,默认为 0' },
18
- paramsType: { x: 'number', n: 'number | nil' },
19
- returnsType: 'number',
17
+ params: {
18
+ x: { type: 'number', description: '要舍入的数' },
19
+ n: { type: 'number | nil', description: '小数位数,默认为 0' },
20
+ },
21
+ returns: { type: 'number' },
20
22
  });
21
23
  export const floor = VmLib(build(Math.floor), {
22
24
  summary: '向下舍入数值',
23
- params: { x: '要舍入的数', n: '小数位数,默认为 0' },
24
- paramsType: { x: 'number', n: 'number | nil' },
25
- returnsType: 'number',
25
+ params: {
26
+ x: { type: 'number', description: '要舍入的数' },
27
+ n: { type: 'number | nil', description: '小数位数,默认为 0' },
28
+ },
29
+ returns: { type: 'number' },
26
30
  });
27
31
  export const ceil = VmLib(build(Math.ceil), {
28
32
  summary: '向上舍入数值',
29
- params: { x: '要舍入的数', n: '小数位数,默认为 0' },
30
- paramsType: { x: 'number', n: 'number | nil' },
31
- returnsType: 'number',
33
+ params: {
34
+ x: { type: 'number', description: '要舍入的数' },
35
+ n: { type: 'number | nil', description: '小数位数,默认为 0' },
36
+ },
37
+ returns: { type: 'number' },
32
38
  });
33
39
  const _round = Math.round;
34
40
  const _abs = Math.abs;
@@ -44,8 +50,10 @@ export const round = VmLib(
44
50
  }),
45
51
  {
46
52
  summary: '四舍五入数值',
47
- params: { x: '要舍入的数', n: '小数位数,默认为 0' },
48
- paramsType: { x: 'number', n: 'number' },
49
- returnsType: 'number',
53
+ params: {
54
+ x: { type: 'number', description: '要舍入的数' },
55
+ n: { type: 'number | nil', description: '小数位数,默认为 0' },
56
+ },
57
+ returns: { type: 'number' },
50
58
  },
51
59
  );