@cloudpss/expression 0.6.4 → 0.6.5
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/migrator/access.d.ts.map +1 -1
- package/dist/migrator/access.js +11 -4
- package/dist/migrator/access.js.map +1 -1
- package/dist/migrator/utils.js +1 -1
- package/dist/migrator/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/migrator/access.ts +11 -4
- package/src/migrator/utils.ts +1 -1
- package/tests/migrate.ts +11 -0
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAqNxC,WAAW;AACX,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CAOvF"}
|
package/dist/migrator/access.js
CHANGED
|
@@ -110,11 +110,18 @@ function access(state, node, assignment) {
|
|
|
110
110
|
const dim0 = index.dimensions[0];
|
|
111
111
|
if (isRangeNode(dim0)) {
|
|
112
112
|
const obj = migrateExpr(state, object);
|
|
113
|
-
if (obj.type === 'array'
|
|
114
|
-
const start =
|
|
115
|
-
|
|
113
|
+
if (obj.type === 'array') {
|
|
114
|
+
const start = isConstantNode(dim0.start)
|
|
115
|
+
? constIndexing(dim0.start)
|
|
116
|
+
: { code: `(${migrateExpr(state, dim0.start).code} - 1)` };
|
|
117
|
+
const end = isConstantNode(dim0.end)
|
|
118
|
+
? constIndexing(dim0.end)
|
|
119
|
+
: { code: `(${migrateExpr(state, dim0.end).code} - 1)` };
|
|
116
120
|
const step = dim0.step == null ? 1 : constantValue(dim0.step);
|
|
117
|
-
if (start.type === 'number' && end.type === 'number') {
|
|
121
|
+
if ((!start.type || start.type === 'number') && (!end.type || end.type === 'number')) {
|
|
122
|
+
if (!start.type || !end.type) {
|
|
123
|
+
state.loose();
|
|
124
|
+
}
|
|
118
125
|
if (step === 1) {
|
|
119
126
|
return {
|
|
120
127
|
type: 'array',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/migrator/access.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/migrator/access.ts"],"names":[],"mappings":"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"}
|
package/dist/migrator/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,KAAY,EAAE,MAAc;IACrD,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,UAAU,CAAC,IAAc;IACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAc;IAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK;QAAE,OAAO,KAAK,IAAI,IAAI,CAAC;IAChC,OAAO,UAAU,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,aAAa,CAAC,IAAc;IACxC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED,aAAa;AACb,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,IAAc;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;IAC5C,OAAO;QACH,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/migrator/access.ts
CHANGED
|
@@ -133,11 +133,18 @@ function access(
|
|
|
133
133
|
|
|
134
134
|
if (isRangeNode(dim0)) {
|
|
135
135
|
const obj = migrateExpr(state, object);
|
|
136
|
-
if (obj.type === 'array'
|
|
137
|
-
const start =
|
|
138
|
-
|
|
136
|
+
if (obj.type === 'array') {
|
|
137
|
+
const start = isConstantNode(dim0.start)
|
|
138
|
+
? constIndexing(dim0.start)
|
|
139
|
+
: { code: `(${migrateExpr(state, dim0.start).code} - 1)` };
|
|
140
|
+
const end = isConstantNode(dim0.end)
|
|
141
|
+
? constIndexing(dim0.end)
|
|
142
|
+
: { code: `(${migrateExpr(state, dim0.end).code} - 1)` };
|
|
139
143
|
const step = dim0.step == null ? 1 : constantValue(dim0.step);
|
|
140
|
-
if (start.type === 'number' && end.type === 'number') {
|
|
144
|
+
if ((!start.type || start.type === 'number') && (!end.type || end.type === 'number')) {
|
|
145
|
+
if (!start.type || !end.type) {
|
|
146
|
+
state.loose();
|
|
147
|
+
}
|
|
141
148
|
if (step === 1) {
|
|
142
149
|
return {
|
|
143
150
|
type: 'array',
|
package/src/migrator/utils.ts
CHANGED
package/tests/migrate.ts
CHANGED
|
@@ -326,6 +326,17 @@ describe('migrate', () => {
|
|
|
326
326
|
`,
|
|
327
327
|
1,
|
|
328
328
|
],
|
|
329
|
+
[
|
|
330
|
+
`[1,2,3,4][1:count([1,2,3,4])-1]`,
|
|
331
|
+
dedent`
|
|
332
|
+
[1, 2, 3, 4][0..(len([1, 2, 3, 4]) - 1 - 1)]
|
|
333
|
+
// # 转换日志
|
|
334
|
+
// - W: 函数行为可能不一致: count
|
|
335
|
+
// - W: 使用了非精确转换的语法或函数,结果可能不准确
|
|
336
|
+
// # 原始 math.js 表达式
|
|
337
|
+
// [1,2,3,4][1:count([1,2,3,4])-1]`,
|
|
338
|
+
[1, 2, 3],
|
|
339
|
+
],
|
|
329
340
|
])('should migrate expression: %s', (f, t, r) => {
|
|
330
341
|
const migrated = migrateMathJs(f as ExpressionSource, false, s);
|
|
331
342
|
expect(migrated).toBe(t);
|