@cloudpss/expression 0.6.0-alpha.10 → 0.6.0-alpha.11

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.
@@ -1,5 +1,5 @@
1
1
  import { isFunctionNode, isSymbolNode, isOperatorNode, isNode, } from 'mathjs';
2
- import { symbolName, constantValue, equalText, scalar } from './utils.js';
2
+ import { symbolName, constantValue, equalText, scalar, globalFnName } from './utils.js';
3
3
  import { migrateAtomic, migrateExpr } from './node.js';
4
4
  import { toBoolean, toNumber } from './to-type.js';
5
5
  import { migrateSymbol } from './symbol.js';
@@ -7,52 +7,52 @@ import { operations, serialize } from '@mirascript/mirascript/subtle';
7
7
  const BINARY_MATH_OPERATORS = {
8
8
  add: [
9
9
  ' + ',
10
- (l, r) => ({
10
+ (state, l, r) => ({
11
11
  type: l.type === 'array' || r.type === 'array' ? 'array' : l.type && r.type ? 'number' : undefined,
12
- code: `matrix.add(${l.code}, ${r.code})`,
12
+ code: `${globalFnName(state, 'matrix')}.add(${l.code}, ${r.code})`,
13
13
  }),
14
14
  ],
15
15
  subtract: [
16
16
  ' - ',
17
- (l, r) => ({
17
+ (state, l, r) => ({
18
18
  type: l.type === 'array' || r.type === 'array' ? 'array' : l.type && r.type ? 'number' : undefined,
19
- code: `matrix.subtract(${l.code}, ${r.code})`,
19
+ code: `${globalFnName(state, 'matrix')}.subtract(${l.code}, ${r.code})`,
20
20
  }),
21
21
  ],
22
22
  multiply: [
23
23
  ' * ',
24
- (l, r) => ({
24
+ (state, l, r) => ({
25
25
  type: l.type === 'array' || r.type === 'array' ? 'array' : l.type && r.type ? 'number' : undefined,
26
- code: `matrix.multiply(${l.code}, ${r.code})`,
26
+ code: `${globalFnName(state, 'matrix')}.multiply(${l.code}, ${r.code})`,
27
27
  }),
28
28
  ],
29
29
  dotMultiply: [
30
30
  ' * ',
31
- (l, r) => ({
31
+ (state, l, r) => ({
32
32
  type: l.type === 'array' || r.type === 'array' ? 'array' : l.type && r.type ? 'number' : undefined,
33
- code: `matrix.entrywise_multiply(${l.code}, ${r.code})`,
33
+ code: `${globalFnName(state, 'matrix')}.entrywise_multiply(${l.code}, ${r.code})`,
34
34
  }),
35
35
  ],
36
36
  divide: [
37
37
  ' / ',
38
- (l, r) => {
38
+ (state, l, r) => {
39
39
  if (r.type === 'array' || !r.type) {
40
40
  return {
41
41
  type: l.type === 'array' || r.type === 'array' ? 'array' : l.type && r.type ? 'number' : undefined,
42
- code: `matrix.multiply(${l.code}, matrix.invert(${r.code}))`,
42
+ code: `${globalFnName(state, 'matrix')}.multiply(${l.code}, ${globalFnName(state, 'matrix')}.invert(${r.code}))`,
43
43
  };
44
44
  }
45
45
  return {
46
46
  type: l.type === 'array' ? 'array' : l.type ? 'number' : undefined,
47
- code: `matrix.entrywise_divide(${l.code}, ${r.code})`,
47
+ code: `${globalFnName(state, 'matrix')}.entrywise_divide(${l.code}, ${r.code})`,
48
48
  };
49
49
  },
50
50
  ],
51
51
  dotDivide: [
52
52
  ' / ',
53
- (l, r) => ({
53
+ (state, l, r) => ({
54
54
  type: l.type === 'array' || r.type === 'array' ? 'array' : l.type && r.type ? 'number' : undefined,
55
- code: `matrix.entrywise_divide(${l.code}, ${r.code})`,
55
+ code: `${globalFnName(state, 'matrix')}.entrywise_divide(${l.code}, ${r.code})`,
56
56
  }),
57
57
  ],
58
58
  mod: [' % '],
@@ -88,42 +88,42 @@ function b(op, state, node) {
88
88
  /** 二元操作 */
89
89
  function binary(state, l, r, op, alt) {
90
90
  if (l.type && r.type && l.type !== 'array' && r.type !== 'array') {
91
- return op(l, r);
91
+ return op(state, l, r);
92
92
  }
93
93
  if (Array.isArray(l.literal) && l.literal.every((e) => !Array.isArray(e))) {
94
94
  return {
95
95
  type: 'array',
96
- code: `${l.code}::map(fn { ${op({ code: 'it' }, r).code} })`,
96
+ code: `${l.code}::${globalFnName(state, 'map')}(fn { ${op(state, { code: 'it' }, r).code} })`,
97
97
  };
98
98
  }
99
99
  if (Array.isArray(r.literal) && r.literal.every((e) => !Array.isArray(e))) {
100
100
  return {
101
101
  type: 'array',
102
- code: `${r.code}::map(fn { ${op(l, { code: 'it' }).code} })`,
102
+ code: `${r.code}::${globalFnName(state, 'map')}(fn { ${op(state, l, { code: 'it' }).code} })`,
103
103
  };
104
104
  }
105
105
  if (alt) {
106
- return alt(l, r);
106
+ return alt(state, l, r);
107
107
  }
108
108
  return {
109
109
  type: l.type === 'array' || r.type === 'array' ? 'array' : undefined,
110
- code: `matrix.entrywise(${l.code}, ${r.code}, fn (a, b) { ${op({ code: 'a' }, { code: 'b' }).code} })`,
110
+ code: `${globalFnName(state, 'matrix')}.entrywise(${l.code}, ${r.code}, fn (a, b) { ${op(state, { code: 'a' }, { code: 'b' }).code} })`,
111
111
  };
112
112
  }
113
113
  /** 一元操作 */
114
114
  function unary(state, v, op) {
115
115
  if (v.type && v.type !== 'array') {
116
- return op(v);
116
+ return op(state, v);
117
117
  }
118
118
  if (Array.isArray(v.literal) && v.literal.every((e) => !Array.isArray(e))) {
119
119
  return {
120
120
  type: 'array',
121
- code: `${v.code}::map(fn { ${op({ code: 'it' }).code} })`,
121
+ code: `${v.code}::${globalFnName(state, 'map')}(fn { ${op(state, { code: 'it' }).code} })`,
122
122
  };
123
123
  }
124
124
  return {
125
125
  type: 'array',
126
- code: `matrix.entrywise(${v.code}, nil, fn { ${op({ code: 'it' }).code} })`,
126
+ code: `${globalFnName(state, 'matrix')}.entrywise(${v.code}, nil, fn { ${op(state, { code: 'it' }).code} })`,
127
127
  };
128
128
  }
129
129
  /** 转换 AST */
@@ -145,13 +145,13 @@ export function migrateOperator(state, node, options) {
145
145
  case 'dotDivide':
146
146
  case 'dotPow': {
147
147
  const [op, alt] = BINARY_MATH_OPERATORS[fn];
148
- return binary(state, migrateExpr(state, a0), migrateExpr(state, a1), (l, r) => ({
148
+ return binary(state, migrateExpr(state, a0), migrateExpr(state, a1), (state, l, r) => ({
149
149
  type: 'number',
150
150
  code: `${l.code}${op}${r.code}`,
151
151
  }), alt === false
152
- ? (l, r) => {
152
+ ? (state, l, r) => {
153
153
  state.warn(`'${op.trim()}' 不支持矩阵,计算结果可能不一致`);
154
- return { code: `${l.code} ^ ${r.code}` };
154
+ return { code: `${l.code}${op}${r.code}` };
155
155
  }
156
156
  : alt);
157
157
  }
@@ -168,7 +168,7 @@ export function migrateOperator(state, node, options) {
168
168
  code: serialize(v),
169
169
  };
170
170
  }
171
- return unary(state, migrateExpr(state, a0), (v) => ({
171
+ return unary(state, migrateExpr(state, a0), (state, v) => ({
172
172
  type: 'number',
173
173
  code: `${op}${v.code}`,
174
174
  }));
@@ -274,7 +274,7 @@ export function migrateOperator(state, node, options) {
274
274
  }
275
275
  return r;
276
276
  };
277
- return binary(state, a(a0), a(a1), (l, r) => {
277
+ return binary(state, a(a0), a(a1), (state, l, r) => {
278
278
  if (l.type === 'boolean' && r.type === 'boolean') {
279
279
  return {
280
280
  type: 'boolean',
@@ -1 +1 @@
1
- {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../src/migrator/operator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../src/migrator/operator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"to-type.d.ts","sourceRoot":"","sources":["../../src/migrator/to-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,aAAa;AACb,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CA6BvE;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAiCtE;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAiCtE"}
1
+ {"version":3,"file":"to-type.d.ts","sourceRoot":"","sources":["../../src/migrator/to-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,aAAa;AACb,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CA+BvE;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAiCtE;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAiCtE"}
@@ -1,10 +1,11 @@
1
1
  import { isConstantNode, isNode } from 'mathjs';
2
2
  import { serialize } from '@mirascript/mirascript/subtle';
3
3
  import { migrateNode } from './node.js';
4
+ import { globalFnName } from './utils.js';
4
5
  /** 转换 AST */
5
6
  export function toBoolean(state, node) {
6
7
  const helper = () => {
7
- state.helper("fn @@to_boolean { it != '' && it != 0 && it is not nan && !!it }");
8
+ state.helper("fn @@to_boolean { if it is nil { return nil; } it != '' && it != '0' && it != 0 && it is not nan && !!it }");
8
9
  };
9
10
  if (!isNode(node)) {
10
11
  if (node.type === 'boolean')
@@ -53,7 +54,7 @@ export function toString(state, node) {
53
54
  }
54
55
  return {
55
56
  type: 'string',
56
- code: `to_string(${node.code})`,
57
+ code: `${globalFnName(state, 'to_string')}(${node.code})`,
57
58
  };
58
59
  }
59
60
  if (isConstantNode(node)) {
@@ -88,7 +89,7 @@ export function toNumber(state, node) {
88
89
  }
89
90
  return {
90
91
  type: 'number',
91
- code: `to_number(${node.code})`,
92
+ code: `${globalFnName(state, 'to_number')}(${node.code})`,
92
93
  };
93
94
  }
94
95
  if (isConstantNode(node)) {
@@ -1 +1 @@
1
- {"version":3,"file":"to-type.js","sourceRoot":"","sources":["../../src/migrator/to-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-type.js","sourceRoot":"","sources":["../../src/migrator/to-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,aAAa;AACb,MAAM,UAAU,SAAS,CAAC,KAAY,EAAE,IAAuB;IAC3D,MAAM,MAAM,GAAG,GAAS,EAAE;QACtB,KAAK,CAAC,MAAM,CACR,4GAA4G,CAC/G,CAAC;IACN,CAAC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;gBACH,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,IAAI,CAAC,UAAU;aACxB,CAAC;QACN,CAAC;QACD,MAAM,EAAE,CAAC;QACT,OAAO;YACH,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,gBAAgB,IAAI,CAAC,IAAI,GAAG;SACrC,CAAC;IACN,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;SACvB,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,aAAa;AACb,MAAM,UAAU,QAAQ,CAAC,KAAY,EAAE,IAAuB;IAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS;aACvB,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;aACvB,CAAC;QACN,CAAC;QACD,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG;SAC5D,CAAC;IACN,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;SACvB,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,aAAa;AACb,MAAM,UAAU,QAAQ,CAAC,KAAY,EAAE,IAAuB;IAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS;aACvB,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;aACvB,CAAC;QACN,CAAC;QACD,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG;SAC5D,CAAC;IACN,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;SACvB,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { type MathNode } from 'mathjs';
2
2
  import type { Result } from './interface.js';
3
3
  import type { State } from './state.js';
4
+ /** 获取全局函数的名字 */
5
+ export declare function globalFnName(state: State, fnName: string): string;
4
6
  /** 获取 symbol name */
5
7
  export declare function symbolName(node: MathNode): string | undefined;
6
8
  /** 获取 constant value */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgC,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,qBAAqB;AACrB,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAG7D;AAED,wBAAwB;AACxB,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAG1F;AAED,aAAa;AACb,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMpE;AAED,eAAe;AACf,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAOnE;AAaD,YAAY;AACZ,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAiBzF;AAED,WAAW;AACX,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBrD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgC,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,qBAAqB;AACrB,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAG7D;AAED,wBAAwB;AACxB,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAG1F;AAED,aAAa;AACb,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMpE;AAED,eAAe;AACf,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAOnE;AAaD,YAAY;AACZ,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAiBzF;AAED,WAAW;AACX,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBrD"}
@@ -1,6 +1,13 @@
1
1
  import { isSymbolNode, isConstantNode } from 'mathjs';
2
2
  import { toString } from './to-type.js';
3
3
  import { migrateExpr } from './node.js';
4
+ /** 获取全局函数的名字 */
5
+ export function globalFnName(state, fnName) {
6
+ if (state.locals.has(fnName)) {
7
+ return `global.${fnName}`;
8
+ }
9
+ return fnName;
10
+ }
4
11
  /** 获取 symbol name */
5
12
  export function symbolName(node) {
6
13
  if (!isSymbolNode(node))
@@ -73,7 +80,7 @@ export function len(state, obj) {
73
80
  type: 'number',
74
81
  code: `len(${obj.code})`,
75
82
  };
76
- state.helper(`fn @@length(x) { if type(x) == 'string' { len(chars(x)) } else if type(x) == 'array' { len(x) } } else { x.length } }`);
83
+ state.helper(`fn @@length(x) { if type(x) == 'string' { len(chars(x)) } else if type(x) == 'array' { len(x) } else { x.length } }`);
77
84
  return {
78
85
  type: 'number',
79
86
  code: `@@length(${obj.code})`,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudpss/expression",
3
- "version": "0.6.0-alpha.10",
3
+ "version": "0.6.0-alpha.11",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -12,12 +12,15 @@
12
12
  "./*": "./dist/*.js"
13
13
  },
14
14
  "dependencies": {
15
- "@mirascript/mirascript": "^0.1.7",
15
+ "@mirascript/mirascript": "^0.1.9",
16
16
  "klona": "^2.0.6",
17
17
  "lru-cache": "^11.2.2",
18
18
  "mathjs": "^15.1.0",
19
19
  "type-fest": "^5.2.0"
20
20
  },
21
+ "devDependencies": {
22
+ "dedent": "^1.7.0"
23
+ },
21
24
  "scripts": {
22
25
  "build": "pnpm clean && tsc --build --force",
23
26
  "clean": "rimraf dist",
package/src/analyze.ts CHANGED
@@ -14,15 +14,15 @@ export type AccessChain = readonly [string, ...ReadonlyArray<string | number>];
14
14
 
15
15
  const config: TranspileOptions = Object.freeze({
16
16
  input_mode: 'Script',
17
- track_references: false,
18
17
  diagnostic_position_encoding: 'Utf16',
19
18
  diagnostic_error: false,
20
19
  diagnostic_warning: false,
21
20
  diagnostic_info: false,
22
21
  diagnostic_hint: false,
23
- diagnostic_other: true,
22
+ diagnostic_reference: false,
23
+ diagnostic_tag: true,
24
24
  trivia: false,
25
- });
25
+ } satisfies TranspileOptions);
26
26
 
27
27
  /**
28
28
  * 分析依赖
package/src/migrate.ts CHANGED
@@ -19,6 +19,21 @@ export function migrateMathJs<const T extends VmValue>(
19
19
  if (expr === 'null') return 'nil' as ExpressionSource<T>;
20
20
  if (expr === 'true') return 'true' as ExpressionSource<T>;
21
21
  if (expr === 'false') return 'false' as ExpressionSource<T>;
22
+ if (condition) {
23
+ // 兼容旧的 evaluateCondition 的宽容处理
24
+ if (expr === 'True' || expr === 'TRUE' || expr === '1' || expr === '"1"' || expr === "'1'")
25
+ return 'true' as ExpressionSource<T>;
26
+ if (
27
+ expr === 'False' ||
28
+ expr === 'FALSE' ||
29
+ expr === '0' ||
30
+ expr === '"0"' ||
31
+ expr === "'0'" ||
32
+ expr === '""' ||
33
+ expr === "''"
34
+ )
35
+ return 'false' as ExpressionSource<T>;
36
+ }
22
37
  if (/^[-+]?(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)$/.test(expr)) {
23
38
  return expr;
24
39
  }
@@ -18,14 +18,14 @@ import { isVmPrimitive, type VmValue } from '@mirascript/mirascript';
18
18
  import { operations, serialize, serializePropName } from '@mirascript/mirascript/subtle';
19
19
 
20
20
  /** 常量访问 */
21
- function constIndexing(node: ConstantNode): Result {
21
+ function constIndexing(node: ConstantNode) {
22
22
  const { value } = node as ConstantNode<string | number>;
23
23
  if (typeof value == 'string') {
24
- return { type: 'string', literal: value, code: serialize(value) };
24
+ return { type: 'string', literal: value, code: serialize(value) } satisfies Result;
25
25
  } else if (typeof value == 'number' && Number.isInteger(value) && value > 0) {
26
- return { type: 'number', literal: value - 1, code: serialize(value - 1) };
26
+ return { type: 'number', literal: value - 1, code: serialize(value - 1) } satisfies Result;
27
27
  } else {
28
- return { code: serialize(value) };
28
+ return { code: serialize(value) } satisfies Result;
29
29
  }
30
30
  }
31
31
 
@@ -73,6 +73,12 @@ function accessChain(
73
73
  }
74
74
  }
75
75
  if (!assignment && typeof index.at(-1) == 'number') {
76
+ if (chain.length === 1) {
77
+ return {
78
+ type,
79
+ code: `${stringToArray(state, obj).code}${chain[0]}`,
80
+ };
81
+ }
76
82
  const prev = chain.slice(0, -1).join('');
77
83
  return {
78
84
  type,
@@ -99,9 +105,25 @@ function access(
99
105
  return [node, []];
100
106
  }
101
107
  const { object, index } = node;
102
- if (index?.dimensions.length !== 1 || !index.dimensions[0]) {
108
+ if (!index?.dimensions[0]) {
103
109
  return unsupportedNode(state, node);
104
110
  }
111
+ if (index.dimensions.length > 1) {
112
+ state.warn('多维索引已拆分为多次单维索引');
113
+ const indices = index.dimensions.map((dim) => {
114
+ if (isConstantNode(dim)) {
115
+ const idx = constIndexing(dim);
116
+ if (idx.type === 'number') {
117
+ return idx;
118
+ }
119
+ }
120
+ return { code: `${migrateAtomic(state, dim).code} - 1` };
121
+ });
122
+ const obj = migrateExpr(state, object);
123
+ return {
124
+ code: `${obj.code}${indices.map((idx) => `[${idx.code}]`).join('')}`,
125
+ };
126
+ }
105
127
  const dim0 = index.dimensions[0];
106
128
 
107
129
  if (isRangeNode(dim0)) {
@@ -142,7 +164,7 @@ function access(
142
164
  if (index.type === 'string') {
143
165
  const obj = access(state, object, assignment);
144
166
  if (Array.isArray(obj)) {
145
- return [obj[0], [...obj[1], index.literal as string]];
167
+ return [obj[0], [...obj[1], index.literal]];
146
168
  }
147
169
  return { code: `${obj.code}[${index.code}]` };
148
170
  } else if (index.type === 'number') {
@@ -160,7 +182,7 @@ function access(
160
182
  }
161
183
  const obj = access(state, object, assignment);
162
184
  if (Array.isArray(obj)) {
163
- return [obj[0], [...obj[1], index.literal as number]];
185
+ return [obj[0], [...obj[1], index.literal]];
164
186
  }
165
187
  return { code: `${stringToArray(state, obj).code}[${index.code}]` };
166
188
  } else {