@cloudpss/expression 0.6.0-alpha.14 → 0.6.0-alpha.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/definitions/argument.d.ts +1 -1
- package/dist/definitions/argument.d.ts.map +1 -1
- package/dist/definitions/parameter.d.ts.map +1 -1
- package/dist/definitions/parameter.js.map +1 -1
- package/dist/definitions/utils.d.ts +2 -1
- package/dist/definitions/utils.d.ts.map +1 -1
- package/dist/definitions/utils.js +24 -7
- package/dist/definitions/utils.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +25 -17
- package/dist/main.js.map +1 -1
- package/dist/migrator/access.d.ts.map +1 -1
- package/dist/migrator/access.js +3 -3
- package/dist/migrator/access.js.map +1 -1
- package/dist/migrator/call.d.ts.map +1 -1
- package/dist/migrator/call.js +39 -13
- package/dist/migrator/call.js.map +1 -1
- package/dist/migrator/node.d.ts.map +1 -1
- package/dist/migrator/node.js +23 -3
- package/dist/migrator/node.js.map +1 -1
- package/dist/migrator/operator.d.ts.map +1 -1
- package/dist/migrator/operator.js +56 -26
- package/dist/migrator/operator.js.map +1 -1
- package/dist/migrator/state.d.ts.map +1 -1
- package/dist/migrator/state.js +20 -5
- package/dist/migrator/state.js.map +1 -1
- package/dist/migrator/symbol.js +2 -2
- package/dist/migrator/symbol.js.map +1 -1
- package/dist/migrator/to-type.js +2 -2
- package/dist/migrator/to-type.js.map +1 -1
- package/dist/re-exports.d.ts +3 -3
- package/dist/re-exports.d.ts.map +1 -1
- package/dist/re-exports.js +2 -2
- package/dist/re-exports.js.map +1 -1
- package/dist/scope.d.ts +0 -2
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +3 -3
- package/dist/scope.js.map +1 -1
- package/dist/type.d.ts +22 -10
- package/dist/type.d.ts.map +1 -1
- package/dist/type.js +19 -26
- package/dist/type.js.map +1 -1
- package/package.json +3 -3
- package/src/definitions/argument.ts +1 -1
- package/src/definitions/parameter.ts +15 -8
- package/src/definitions/utils.ts +29 -13
- package/src/main.ts +21 -14
- package/src/migrator/access.ts +3 -3
- package/src/migrator/call.ts +37 -15
- package/src/migrator/node.ts +24 -3
- package/src/migrator/operator.ts +55 -26
- package/src/migrator/state.ts +19 -4
- package/src/migrator/symbol.ts +2 -2
- package/src/migrator/to-type.ts +2 -2
- package/src/re-exports.ts +20 -1
- package/src/scope.ts +3 -3
- package/src/type.ts +36 -27
- package/tests/condition.ts +20 -12
- package/tests/definition.ts +12 -10
- package/tests/import.ts +3 -3
- package/tests/migrate.ts +52 -9
- package/tests/scope.ts +3 -3
|
@@ -20,6 +20,6 @@ export type ConditionFunction<in V extends VmValue = ArgumentValue> = ArgumentFu
|
|
|
20
20
|
export type ArgumentValue = NonNullable<VmConst>;
|
|
21
21
|
/** 未求值的参数表 */
|
|
22
22
|
export type ArgumentMap<T extends Record<string, ArgumentValue> = Record<string, ArgumentValue>> = {
|
|
23
|
-
[K in keyof T
|
|
23
|
+
[K in keyof T]?: ExpressionOrValue<NonNullable<T[K]>>;
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=argument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument.d.ts","sourceRoot":"","sources":["../../src/definitions/argument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,IAAI;AACxE,cAAc;AACd,KAAK,EAAE,CAAC;AACR,YAAY;AACZ,KAAK,EAAE,KAAK;AACZ,YAAY;AACZ,SAAS,EAAE,SAAS,KACnB,CAAC,CAAC;AAEP,YAAY;AACZ,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEtE,WAAW;AACX,MAAM,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAEnG,UAAU;AACV,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEjD,cAAc;AACd,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI;KAC9F,CAAC,IAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"argument.d.ts","sourceRoot":"","sources":["../../src/definitions/argument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,IAAI;AACxE,cAAc;AACd,KAAK,EAAE,CAAC;AACR,YAAY;AACZ,KAAK,EAAE,KAAK;AACZ,YAAY;AACZ,SAAS,EAAE,SAAS,KACnB,CAAC,CAAC;AAEP,YAAY;AACZ,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEtE,WAAW;AACX,MAAM,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAEnG,UAAU;AACV,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEjD,cAAc;AACd,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI;KAC9F,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../src/definitions/parameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,WAAW;AACX,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa;IACpE,WAAW;IACX,IAAI,EAAE,CAAC,CAAC;IACR,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,iBAAiB;IACjB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,gBAAgB;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS;IACT,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS;IACT,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,wBAAwB,wDAAwE,CAAC;AAC9G;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IAChF,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AAEH,MAAM,WAAW,aAAc,SAAQ,gBAAgB,CAAC,MAAM,CAAC;CAAG;AAElE;;GAEG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,SAAS,CAAC;CAAG;AAExE,cAAc;AACd,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAE3D,aAAa;AACb,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IAAI;IACtE,gCAAgC;IAChC,GAAG,EAAE,CAAC,CAAC;IACP,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEF,YAAY;AACZ,wBAAgB,QAAQ,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAUhH;AACD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../src/definitions/parameter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../src/definitions/parameter.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC,CAAC;AA+C9G,YAAY;AACZ,MAAM,UAAU,QAAQ,CAAsD,KAAc;IACxF,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,CAAC,GAAG,KAAkB,CAAC;IAC7B,OAAO,CACH,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,WAAW,IAAI,QAAQ;QAChC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CACjB,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../src/definitions/parameter.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC,CAAC;AA+C9G,YAAY;AACZ,MAAM,UAAU,QAAQ,CAAsD,KAAc;IACxF,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,CAAC,GAAG,KAAkB,CAAC;IAC7B,OAAO,CACH,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,WAAW,IAAI,QAAQ;QAChC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CACjB,CAAC;AACN,CAAC;AAiED,mBAAmB;AACnB,MAAM,UAAU,eAAe;IAC3B,wBAAwB;IACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC;AACvD,CAAC;AA8GD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACtC,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,CAAC,GAAG,KAAkB,CAAC;IAC7B,OAAO,CACH,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,OAAO,CAAC,CAAC,IAAI,IAAI,QAAQ;QACzB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACjB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,WAAW,IAAI,QAAQ;QAChC,OAAO,IAAI,CAAC,CACf,CAAC;AACN,CAAC"}
|
|
@@ -7,8 +7,9 @@ import type { ParameterGroup } from './parameter-group.js';
|
|
|
7
7
|
export declare function enumType(definition: Pick<ParameterMap[ChoiceParameterType], 'type' | 'choices'>): TypeInfo | null;
|
|
8
8
|
/**
|
|
9
9
|
* 转换参数值的类型,不回退到 {@link Parameter.value} 提供的默认值
|
|
10
|
+
* 转换失败时返回 null
|
|
10
11
|
*/
|
|
11
|
-
export declare function toArgumentValue<V extends ArgumentValue>(value: VmValue, definition: Parameter): V;
|
|
12
|
+
export declare function toArgumentValue<V extends ArgumentValue>(value: VmValue | null | undefined, definition: Parameter): V | null;
|
|
12
13
|
/** 参数定义数组 */
|
|
13
14
|
type ParameterDefinitions = ReadonlyArray<Pick<ParameterGroup, 'items'>>;
|
|
14
15
|
/** 查找指定参数 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/definitions/utils.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/definitions/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAA2C,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,aAAa;AACb,wBAAgB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,GAAG,IAAI,CAiCjH;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,aAAa,EACnD,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACjC,UAAU,EAAE,SAAS,GACtB,CAAC,GAAG,IAAI,CAqDV;AAED,aAAa;AACb,KAAK,oBAAoB,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAgBzE,aAAa;AACb,wBAAgB,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAQ9G;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACnE,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAC7B,WAAW,CAAC,CAAC,CAAC,CAmDhB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { klona } from 'klona';
|
|
2
|
-
import { isVmArray } from '@mirascript/mirascript';
|
|
2
|
+
import { isVmArray, isVmRecord } from '@mirascript/mirascript';
|
|
3
3
|
import { Expression, isExpression } from '../expression.js';
|
|
4
4
|
import { TypeInfo } from '../type.js';
|
|
5
5
|
const { isArray } = Array;
|
|
@@ -8,7 +8,9 @@ export function enumType(definition) {
|
|
|
8
8
|
const { choices } = definition;
|
|
9
9
|
if (typeof choices == 'function' || isExpression(choices))
|
|
10
10
|
return null;
|
|
11
|
+
// 首先根据参数类型确定默认类型
|
|
11
12
|
let defaultType = definition.type === 'logical' ? 'boolean' : 'number';
|
|
13
|
+
// 然后根据默认值调整默认类型
|
|
12
14
|
if ('value' in definition) {
|
|
13
15
|
const { value } = definition;
|
|
14
16
|
if (typeof value == 'boolean')
|
|
@@ -23,6 +25,7 @@ export function enumType(definition) {
|
|
|
23
25
|
let type = null;
|
|
24
26
|
for (const choice of choices) {
|
|
25
27
|
const v = choice?.key;
|
|
28
|
+
// 选项值为空时,使用默认类型
|
|
26
29
|
const t = v == null ? defaultType : typeof v;
|
|
27
30
|
if (t === 'string') {
|
|
28
31
|
if (type == null)
|
|
@@ -50,6 +53,7 @@ export function enumType(definition) {
|
|
|
50
53
|
}
|
|
51
54
|
/**
|
|
52
55
|
* 转换参数值的类型,不回退到 {@link Parameter.value} 提供的默认值
|
|
56
|
+
* 转换失败时返回 null
|
|
53
57
|
*/
|
|
54
58
|
export function toArgumentValue(value, definition) {
|
|
55
59
|
// 避免无效的 VmValue 导致错误
|
|
@@ -57,7 +61,7 @@ export function toArgumentValue(value, definition) {
|
|
|
57
61
|
switch (definition.type) {
|
|
58
62
|
case 'real':
|
|
59
63
|
case 'integer':
|
|
60
|
-
return TypeInfo.toNumber(value);
|
|
64
|
+
return TypeInfo.toNumber(value, null);
|
|
61
65
|
case 'text':
|
|
62
66
|
case 'file':
|
|
63
67
|
case 'code':
|
|
@@ -65,7 +69,7 @@ export function toArgumentValue(value, definition) {
|
|
|
65
69
|
case 'cssColor':
|
|
66
70
|
case 'cssBackground':
|
|
67
71
|
case 'resourceId':
|
|
68
|
-
return TypeInfo.toString(value);
|
|
72
|
+
return TypeInfo.toString(value, null);
|
|
69
73
|
case 'choice':
|
|
70
74
|
case 'logical': {
|
|
71
75
|
if (value == null && Array.isArray(definition.choices) && definition.choices.length > 0) {
|
|
@@ -74,7 +78,7 @@ export function toArgumentValue(value, definition) {
|
|
|
74
78
|
const type = enumType(definition);
|
|
75
79
|
if (!type)
|
|
76
80
|
return value;
|
|
77
|
-
return TypeInfo.to(value, type);
|
|
81
|
+
return TypeInfo.to(value, type, null);
|
|
78
82
|
}
|
|
79
83
|
case 'multiSelect': {
|
|
80
84
|
const v = isVmArray(value) ? value : value != null ? [value] : [];
|
|
@@ -83,14 +87,25 @@ export function toArgumentValue(value, definition) {
|
|
|
83
87
|
const type = enumType(definition);
|
|
84
88
|
if (!type)
|
|
85
89
|
return v;
|
|
86
|
-
|
|
90
|
+
const to = TypeInfo.converter(type);
|
|
91
|
+
const ret = [];
|
|
92
|
+
for (const x of v) {
|
|
93
|
+
const r = to(x, null);
|
|
94
|
+
if (r != null)
|
|
95
|
+
ret.push(r);
|
|
96
|
+
}
|
|
97
|
+
return ret;
|
|
87
98
|
}
|
|
88
99
|
case 'table': {
|
|
89
100
|
const v = isVmArray(value) ? value : value != null ? [value] : [];
|
|
90
101
|
return v;
|
|
91
102
|
}
|
|
92
103
|
case 'grouped':
|
|
93
|
-
case 'record':
|
|
104
|
+
case 'record': {
|
|
105
|
+
if (!isVmRecord(value))
|
|
106
|
+
return null;
|
|
107
|
+
return value;
|
|
108
|
+
}
|
|
94
109
|
default:
|
|
95
110
|
return value;
|
|
96
111
|
}
|
|
@@ -145,7 +160,7 @@ export function fillArgumentMap(definition, args) {
|
|
|
145
160
|
}
|
|
146
161
|
else {
|
|
147
162
|
const value = defaultValue != null && typeof defaultValue == 'object' ? klona(defaultValue) : defaultValue;
|
|
148
|
-
args[key] = toArgumentValue(value, param);
|
|
163
|
+
args[key] = toArgumentValue(value, param) ?? value;
|
|
149
164
|
}
|
|
150
165
|
}
|
|
151
166
|
else {
|
|
@@ -167,6 +182,8 @@ export function fillArgumentMap(definition, args) {
|
|
|
167
182
|
// 删除多余的参数
|
|
168
183
|
for (const key of keys) {
|
|
169
184
|
// 保留特殊参数和私有字段
|
|
185
|
+
if (typeof key != 'string')
|
|
186
|
+
continue;
|
|
170
187
|
const k0 = key[0];
|
|
171
188
|
if (k0 === '_' || k0 === '$' || k0 === '@' || k0 === 'ɵ')
|
|
172
189
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/definitions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAkC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/definitions/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VmValue } from '@mirascript/mirascript';
|
|
2
2
|
import { type Logger, type Options } from './interface.js';
|
|
3
3
|
import { type AccessChain } from './analyze.js';
|
|
4
|
-
import { type CompiledExpression, Expression, type ExpressionFunction, type ExpressionOrValue, type ExpressionSource } from './expression.js';
|
|
4
|
+
import { type CompiledExpression, type Expression, type ExpressionFunction, type ExpressionOrValue, type ExpressionSource } from './expression.js';
|
|
5
5
|
import { Scope } from './scope.js';
|
|
6
6
|
import { type ArgumentMap, type ArgumentValue, type ChoiceParameterType, type ConditionExpression, type Parameter, type ParameterGroup, type ParameterMap } from './definitions.js';
|
|
7
7
|
/** 选项类型 */
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAElG,OAAO,EAAkB,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACH,KAAK,kBAAkB,EACvB,UAAU,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { isVmFunction, isVmPrimitive, wrapToVmValue } from '@mirascript/mirascript';
|
|
2
|
-
import {
|
|
2
|
+
import { serialize } from '@mirascript/mirascript/subtle';
|
|
3
3
|
import { defaultOptions } from './interface.js';
|
|
4
4
|
import { parse } from './parser.js';
|
|
5
5
|
import { analyze } from './analyze.js';
|
|
6
|
-
import {
|
|
6
|
+
import { ExpressionTag, isExpression, } from './expression.js';
|
|
7
7
|
import { evaluate } from './eval.js';
|
|
8
8
|
import { TypeInfo } from './type.js';
|
|
9
9
|
import { Scope } from './scope.js';
|
|
10
10
|
import { enumType, fillArgumentMap, toArgumentValue, } from './definitions.js';
|
|
11
11
|
const { isArray } = Array;
|
|
12
12
|
const { defineProperty } = Object;
|
|
13
|
-
const { to_string } = lib;
|
|
14
13
|
/**
|
|
15
14
|
* 表达式求值
|
|
16
15
|
*/
|
|
@@ -49,14 +48,19 @@ export class Evaluator {
|
|
|
49
48
|
const value = parse(this, expression.source, throws, false);
|
|
50
49
|
const tag = expression[ExpressionTag];
|
|
51
50
|
const type = tag ? TypeInfo.parse(tag) : '';
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
let compiled;
|
|
52
|
+
if (!type) {
|
|
53
|
+
compiled = (scope, evaluator) => evaluate(evaluator, value, scope);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const to = TypeInfo.converter(type);
|
|
57
|
+
compiled = (scope, evaluator) => {
|
|
58
|
+
const ret = evaluate(evaluator, value, scope);
|
|
59
|
+
if (ret == null)
|
|
60
|
+
return null;
|
|
61
|
+
return to(ret);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
60
64
|
defineProperty(compiled, ExpressionTag, { value: type, enumerable: true });
|
|
61
65
|
defineProperty(compiled, 'source', { value: value.source, enumerable: true });
|
|
62
66
|
return compiled;
|
|
@@ -70,7 +74,7 @@ export class Evaluator {
|
|
|
70
74
|
const result = evaluate(this, value, scope ?? this.scope) ?? template;
|
|
71
75
|
if (typeof result == 'string')
|
|
72
76
|
return result;
|
|
73
|
-
return
|
|
77
|
+
return TypeInfo.toString(result);
|
|
74
78
|
}
|
|
75
79
|
/** 求值 */
|
|
76
80
|
evaluate(expression, scope, defaults = null) {
|
|
@@ -117,11 +121,10 @@ export class Evaluator {
|
|
|
117
121
|
}
|
|
118
122
|
/** 求条件 */
|
|
119
123
|
evaluateCondition(condition, scope, defaults = true) {
|
|
120
|
-
if (typeof condition == 'boolean')
|
|
121
|
-
return condition;
|
|
122
124
|
if (condition == null)
|
|
123
125
|
return defaults;
|
|
124
|
-
condition
|
|
126
|
+
if (typeof condition == 'boolean')
|
|
127
|
+
return condition;
|
|
125
128
|
if (condition === '')
|
|
126
129
|
return defaults;
|
|
127
130
|
if (condition === 'true')
|
|
@@ -129,7 +132,10 @@ export class Evaluator {
|
|
|
129
132
|
if (condition === 'false')
|
|
130
133
|
return false;
|
|
131
134
|
try {
|
|
132
|
-
|
|
135
|
+
const result = this.evaluateSource(condition, scope, defaults);
|
|
136
|
+
if (typeof result == 'boolean')
|
|
137
|
+
return result;
|
|
138
|
+
throw new Error(`Condition evaluates to \`${serialize(result)}\``);
|
|
133
139
|
}
|
|
134
140
|
catch (ex) {
|
|
135
141
|
if (scope?.throws) {
|
|
@@ -198,8 +204,10 @@ export class Evaluator {
|
|
|
198
204
|
evaluateArg(expression, scope, definition) {
|
|
199
205
|
// 默认值有可能为表达式,因此需要先填充再求值
|
|
200
206
|
expression ??= definition.value;
|
|
207
|
+
// 求值失败时返回默认值
|
|
201
208
|
const result = this.evaluate(expression, scope, definition.value);
|
|
202
|
-
|
|
209
|
+
// 转换失败时返回转换前的值
|
|
210
|
+
return toArgumentValue(result, definition) ?? result;
|
|
203
211
|
}
|
|
204
212
|
/** 求参数表的所有参数值 */
|
|
205
213
|
evaluateArgs(args, scope, definition) {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/migrator/access.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/migrator/access.ts"],"names":[],"mappings":"AAEA,OAAO,EAIH,KAAK,YAAY,EAMjB,KAAK,cAAc,EACtB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAiMxC,WAAW;AACX,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CAOvF"}
|
package/dist/migrator/access.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { isVmPrimitive } from '@mirascript/mirascript';
|
|
2
|
+
import { operations, serialize, serializeRecordKey } from '@mirascript/mirascript/subtle';
|
|
1
3
|
import { isConstantNode, isRangeNode, isFunctionNode, isSymbolNode, isAccessorNode, isAssignmentNode, } from 'mathjs';
|
|
2
4
|
import { migrateAtomic, migrateExpr } from './node.js';
|
|
3
5
|
import { len, unsupportedNode } from './utils.js';
|
|
4
|
-
import { isVmPrimitive } from '@mirascript/mirascript';
|
|
5
|
-
import { operations, serialize, serializePropName } from '@mirascript/mirascript/subtle';
|
|
6
6
|
/** 常量访问 */
|
|
7
7
|
function constIndexing(node) {
|
|
8
8
|
const { value } = node;
|
|
@@ -39,7 +39,7 @@ function accessChain(state, object, index, assignment) {
|
|
|
39
39
|
const chain = index.map((i) => {
|
|
40
40
|
if (typeof i == 'number')
|
|
41
41
|
return `[${i}]`;
|
|
42
|
-
const s =
|
|
42
|
+
const s = serializeRecordKey(i);
|
|
43
43
|
if (s !== i)
|
|
44
44
|
return `[${s}]`;
|
|
45
45
|
return `.${s}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/migrator/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EACd,WAAW,EAGX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,gBAAgB,GAEnB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/migrator/access.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/migrator/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,KAAK,YAAY,EACjB,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/migrator/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,KAAK,YAAY,EACjB,KAAK,QAAQ,EAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAoTxC,aAAa;AACb,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CA8IhG"}
|
package/dist/migrator/call.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { isAccessorNode, isArrayNode, isConstantNode, isObjectNode,
|
|
1
|
+
import { isAccessorNode, isArrayNode, isConstantNode, isObjectNode, } from 'mathjs';
|
|
2
2
|
import { constantValue, equalText, globalFnName, len, symbolName } from './utils.js';
|
|
3
3
|
import { migrateAtomic, migrateExpr, migrateNode } from './node.js';
|
|
4
4
|
import { concat } from './concat.js';
|
|
5
5
|
import { toNumber, toString } from './to-type.js';
|
|
6
|
+
import { isVmArray, isVmPrimitive } from '@mirascript/mirascript';
|
|
6
7
|
const EXACT_UNARY_FUNCTION = new Map([
|
|
7
8
|
// 只支持标量的 mathjs 函数
|
|
8
9
|
['sin', 'number'],
|
|
@@ -49,6 +50,12 @@ function migrateFunctionCall(state, node, fnName, args, options) {
|
|
|
49
50
|
code: `${fnName}(${arg.code})`,
|
|
50
51
|
};
|
|
51
52
|
}
|
|
53
|
+
else if (fnName === 'random' && args.length === 0) {
|
|
54
|
+
return {
|
|
55
|
+
type: 'number',
|
|
56
|
+
code: `${globalFnName(state, 'random')}()`,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
52
59
|
else if (fnName === 're' || fnName === 'im') {
|
|
53
60
|
const m = migrateAtomic(state, args[0]);
|
|
54
61
|
state.err(`不支持复数`);
|
|
@@ -264,23 +271,42 @@ function migrateFunctionCall(state, node, fnName, args, options) {
|
|
|
264
271
|
code: `${g('to_string')}(${inner.code})`,
|
|
265
272
|
};
|
|
266
273
|
}
|
|
267
|
-
else if (fnName === 'sum'
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
const
|
|
276
|
-
|
|
274
|
+
else if (fnName === 'sum' || fnName === 'prod') {
|
|
275
|
+
const newFnName = fnName === 'sum' ? 'sum' : 'product';
|
|
276
|
+
if (args.length !== 1) {
|
|
277
|
+
return {
|
|
278
|
+
type: 'number',
|
|
279
|
+
code: `${g(newFnName)}(${args.map((a) => migrateAtomic(state, a).code).join(', ')})`,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
const arg = migrateAtomic(state, args[0]);
|
|
283
|
+
if (arg.literal) {
|
|
284
|
+
if (isVmPrimitive(arg.literal)) {
|
|
285
|
+
return {
|
|
286
|
+
type: 'number',
|
|
287
|
+
code: `${g(newFnName)}(${arg.code})`,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
if (isVmArray(arg.literal) && arg.literal.every((v) => isVmPrimitive(v))) {
|
|
291
|
+
return {
|
|
292
|
+
type: 'number',
|
|
293
|
+
code: `${g(newFnName)}(${arg.code})`,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (arg.type === 'array' || !arg.type) {
|
|
298
|
+
return {
|
|
299
|
+
type: 'number',
|
|
300
|
+
code: `${g(newFnName)}(${arg.code}::${g('flatten')}())`,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
277
303
|
return {
|
|
278
304
|
type: 'number',
|
|
279
|
-
code: `${g(
|
|
305
|
+
code: `${g(newFnName)}(${arg.code})`,
|
|
280
306
|
};
|
|
281
307
|
}
|
|
282
308
|
return call(state, node, (fn, args) => {
|
|
283
|
-
const fun = state.globals.get(fnName);
|
|
309
|
+
const fun = state.globals.has(fnName) ? state.globals.get(fnName) : undefined;
|
|
284
310
|
if (typeof fun === 'function') {
|
|
285
311
|
if (args.some((a) => a.type !== 'number' && a.type !== 'boolean' && a.type !== 'string')) {
|
|
286
312
|
state.warn(`函数行为可能不一致: ${fnName}`);
|