@steedos/service-metadata-objects 3.0.0-beta.29 → 3.0.0-beta.32

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.
@@ -10,29 +10,48 @@ const isAmisFormula = (formula) => {
10
10
  return /\$\{.+\}/.test(formula);
11
11
  };
12
12
  function extractAmisFormulaVariableNames(data) {
13
- let variables = [];
14
- if (data.type === "variable" && !data._isGetterHost) {
15
- variables.push(data.name);
16
- }
17
- else if (data.type === "getter") {
18
- data.host._isGetterHost = true;
19
- variables.push(`${data.host.name}.${data.key.name}`);
20
- }
21
- if (Array.isArray(data)) {
22
- for (const item of data) {
23
- if (typeof item === "object" && item !== null) {
24
- variables = variables.concat(extractAmisFormulaVariableNames(item));
13
+ const variables = new Set();
14
+ function traverse(node) {
15
+ if (!node || typeof node !== "object")
16
+ return;
17
+ if (node.type === "variable" && !isGetterHost(node)) {
18
+ variables.add(node.name);
19
+ }
20
+ else if (node.type === "getter" && !isGetterHost(node)) {
21
+ const path = getFullGetterPath(node);
22
+ if (path)
23
+ variables.add(path);
24
+ }
25
+ for (const key in node) {
26
+ if (key !== "parent" && typeof node[key] === "object") {
27
+ node[key].parent = node;
28
+ traverse(node[key]);
25
29
  }
26
30
  }
27
31
  }
28
- else if (typeof data === "object" && data !== null) {
29
- for (const key in data) {
30
- if (typeof data[key] === "object" && data[key] !== null) {
31
- variables = variables.concat(extractAmisFormulaVariableNames(data[key]));
32
+ function isGetterHost(node) {
33
+ return (node.parent && node.parent.type === "getter" && node.parent.host === node);
34
+ }
35
+ function getFullGetterPath(getterNode) {
36
+ const parts = [getterNode.key.name];
37
+ let current = getterNode.host;
38
+ while (current) {
39
+ if (current.type === "getter") {
40
+ parts.unshift(current.key.name);
41
+ current = current.host;
42
+ }
43
+ else if (current.type === "variable") {
44
+ parts.unshift(current.name);
45
+ return parts.join(".");
46
+ }
47
+ else {
48
+ break;
32
49
  }
33
50
  }
51
+ return null;
34
52
  }
35
- return variables;
53
+ traverse(data);
54
+ return Array.from(variables);
36
55
  }
37
56
  const pickFormulaVars = (formula) => {
38
57
  if (isAmisFormula(formula)) {
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/formula/core.ts"],"names":[],"mappings":";;;;AAAA,8CAA2C;AAC3C,mDAA+D;AAC/D,iCAAoE;AAEpE,+CAAqC;AAErC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IAExC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC;AAkBF,SAAS,+BAA+B,CAAC,IAAI;IAC3C,IAAI,SAAS,GAAG,EAAE,CAAC;IAGnB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAEpD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;SAEI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAGD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxD,SAAS,GAAG,SAAS,CAAC,MAAM,CAC1B,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAMM,MAAM,eAAe,GAAG,CAAC,OAAe,EAAiB,EAAE;IAChE,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,+BAA+B,CAAC,IAAA,oBAAK,EAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;AAC1B,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AASK,MAAM,oCAAoC,GAAG,CAClD,iBAAyB,EACzB,gBAAwB,EACxB,UAAkB,EAClB,UAA0B,EACR,EAAE;IACpB,MAAM,OAAO,GACX,MAAM,IAAA,4CAA4B,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC1E,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAA,iDAA0C,EAC/C,OAAO,CAAC,CAAC,CAAC,EACV,UAAU,EACV,UAAU,CACX,CAAC;IACJ,CAAC;SAAM,CAAC;QAEN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAA,CAAC;AAlBW,QAAA,oCAAoC,wCAkB/C"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/formula/core.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SteedosFieldFormulaTypeConfig, SteedosFieldFormulaQuoteTypeConfig, SteedosFormulaVarTypeConfig } from './type';
1
+ import { SteedosFieldFormulaTypeConfig, SteedosFieldFormulaQuoteTypeConfig, SteedosFormulaVarTypeConfig } from "./type";
2
2
  export declare class FormulaActionHandler {
3
3
  broker: any;
4
4
  constructor(broker: any);
@@ -6,11 +6,11 @@ const type_1 = require("./type");
6
6
  const core_1 = require("./core");
7
7
  const metadata_registrar_1 = require("@steedos/metadata-registrar");
8
8
  const _ = require("lodash");
9
- const clone = require('clone');
9
+ const clone = require("clone");
10
10
  const isCodeObject = (objectApiName) => {
11
11
  return objectApiName ? false : true;
12
12
  };
13
- const refMapName = '$formula_ref_maps';
13
+ const refMapName = "$formula_ref_maps";
14
14
  function getDynamicCalcMapCacherKey(objectApiName, mainObjectApiName) {
15
15
  return `$dynamic_calc_map.${objectApiName}.${mainObjectApiName}`;
16
16
  }
@@ -36,7 +36,9 @@ class FormulaActionHandler {
36
36
  }
37
37
  getObjectConfig(objectApiName) {
38
38
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
39
- const data = yield this.broker.call('objects.get', { objectApiName: objectApiName });
39
+ const data = yield this.broker.call("objects.get", {
40
+ objectApiName: objectApiName,
41
+ });
40
42
  return data ? data.metadata : null;
41
43
  });
42
44
  }
@@ -45,7 +47,8 @@ class FormulaActionHandler {
45
47
  return;
46
48
  }
47
49
  let existQuote = quotes.find((item) => {
48
- return item.field_name === quote.field_name && item.object_name === quote.object_name;
50
+ return (item.field_name === quote.field_name &&
51
+ item.object_name === quote.object_name);
49
52
  });
50
53
  if (!existQuote) {
51
54
  quotes.push(quote);
@@ -55,13 +58,17 @@ class FormulaActionHandler {
55
58
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
59
  var _a, e_1, _b, _c;
57
60
  let isSimpleVar = objectConfig === null;
61
+ let isAmisGlobalVar = /^global\./.test(formulaVar);
62
+ if (isAmisGlobalVar) {
63
+ return;
64
+ }
58
65
  let isUserVar = new RegExp(`^${type_1.FormulaUserKey.replace("$", "\\$")}\\b`).test(formulaVar);
59
66
  let isUserSessionVar = new RegExp(`^${type_1.FormulaUserSessionKey.replace("$", "\\$")}\\b`).test(formulaVar);
60
67
  let varItems = formulaVar.split(".");
61
68
  let paths = [];
62
69
  let formulaVarItem = {
63
70
  key: formulaVar,
64
- paths: paths
71
+ paths: paths,
65
72
  };
66
73
  if (isUserVar || isUserSessionVar) {
67
74
  isSimpleVar = false;
@@ -101,14 +108,14 @@ class FormulaActionHandler {
101
108
  if (varItem === "_id") {
102
109
  tempFieldConfig = {
103
110
  name: varItem,
104
- type: "text"
111
+ type: "text",
105
112
  };
106
113
  }
107
114
  else if (isUserKey) {
108
115
  tempFieldConfig = {
109
116
  name: varItem,
110
117
  type: "lookup",
111
- reference_to: "space_users"
118
+ reference_to: "space_users",
112
119
  };
113
120
  }
114
121
  else {
@@ -121,7 +128,7 @@ class FormulaActionHandler {
121
128
  if (!isUserKey) {
122
129
  let tempFieldFormulaVarPath = {
123
130
  field_name: varItem,
124
- reference_from: tempObjectConfig.name
131
+ reference_from: tempObjectConfig.name,
125
132
  };
126
133
  if (isFormulaType) {
127
134
  tempFieldFormulaVarPath.is_formula = true;
@@ -131,7 +138,7 @@ class FormulaActionHandler {
131
138
  if (!isUserVar) {
132
139
  let tempFieldFormulaQuote = {
133
140
  object_name: tempObjectConfig.name,
134
- field_name: tempFieldConfig.name
141
+ field_name: tempFieldConfig.name,
135
142
  };
136
143
  if (i === 0 && i === varItems.length - 1) {
137
144
  tempFieldFormulaQuote.is_own = true;
@@ -141,12 +148,14 @@ class FormulaActionHandler {
141
148
  }
142
149
  this.addFieldFormulaQuotesConfig(tempFieldFormulaQuote, quotes);
143
150
  }
144
- if (tempFieldConfig.type === "lookup" || tempFieldConfig.type === "master_detail") {
151
+ if (tempFieldConfig.type === "lookup" ||
152
+ tempFieldConfig.type === "master_detail") {
145
153
  if (tempFieldConfig.multiple) {
146
154
  throw new Error(`computeFormulaVarAndQuotes:The field '${tempFieldConfig.name}' for the formula var '${formulaVar}' is a multiple ${tempFieldConfig.type} type, it is not supported yet.`);
147
155
  }
148
156
  if (tempFieldConfig.reference_to_field && paths.length) {
149
- paths[paths.length - 1].reference_to_field = tempFieldConfig.reference_to_field;
157
+ paths[paths.length - 1].reference_to_field =
158
+ tempFieldConfig.reference_to_field;
150
159
  }
151
160
  }
152
161
  else {
@@ -164,7 +173,10 @@ class FormulaActionHandler {
164
173
  throw new Error(`computeFormulaVarAndQuotes:Can't find the object reference_to '${tempFieldConfig.reference_to}' by the field '${tempFieldConfig.name}' for the formula var '${formulaVar}'`);
165
174
  }
166
175
  else {
167
- yield metadata_registrar_1.Register.add(this.broker, { key: this.cacherKey(getDynamicCalcMapCacherKey(tempFieldConfig.reference_to, objectConfig.name)), data: { objectApiName: objectConfig.name } }, {});
176
+ yield metadata_registrar_1.Register.add(this.broker, {
177
+ key: this.cacherKey(getDynamicCalcMapCacherKey(tempFieldConfig.reference_to, objectConfig.name)),
178
+ data: { objectApiName: objectConfig.name },
179
+ }, {});
168
180
  return;
169
181
  }
170
182
  }
@@ -223,9 +235,9 @@ class FormulaActionHandler {
223
235
  field_name: fieldConfig.name,
224
236
  formula: formula,
225
237
  data_type: fieldConfig.data_type,
226
- formula_blank_value: fieldConfig.formula_blank_value,
238
+ formula_blank_value: (fieldConfig.formula_blank_value),
227
239
  quotes: result.quotes,
228
- vars: result.vars
240
+ vars: result.vars,
229
241
  };
230
242
  return formulaConfig;
231
243
  });
@@ -271,7 +283,9 @@ class FormulaActionHandler {
271
283
  });
272
284
  }
273
285
  checkInfiniteLoop(data.key);
274
- if (_.find(refs, function (ref) { return ref === data.value; })) {
286
+ if (_.find(refs, function (ref) {
287
+ return ref === data.value;
288
+ })) {
275
289
  throw new Error(`Infinite Loop: ${JSON.stringify(data)}`);
276
290
  }
277
291
  }
@@ -279,7 +293,8 @@ class FormulaActionHandler {
279
293
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
280
294
  var _a, e_4, _b, _c;
281
295
  const maps = [];
282
- let records = (yield metadata_registrar_1.Register.filter(this.broker, this.cacherKey(`${refMapName}.*`))) || {};
296
+ let records = (yield metadata_registrar_1.Register.filter(this.broker, this.cacherKey(`${refMapName}.*`))) ||
297
+ {};
283
298
  try {
284
299
  for (var _d = true, records_1 = tslib_1.__asyncValues(records), records_1_1; records_1_1 = yield records_1.next(), _a = records_1_1.done, !_a; _d = true) {
285
300
  _c = records_1_1.value;
@@ -310,7 +325,7 @@ class FormulaActionHandler {
310
325
  }
311
326
  let data = {
312
327
  key: key,
313
- value: value
328
+ value: value,
314
329
  };
315
330
  this.checkRefMapData(maps, data);
316
331
  yield metadata_registrar_1.Register.add(this.broker, { key: this.cacherKey(`${refMapName}.${key}.${value}`), data: data }, {});
@@ -320,9 +335,11 @@ class FormulaActionHandler {
320
335
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
321
336
  var _a, e_5, _b, _c, _d, e_6, _e, _f;
322
337
  const objectFieldsFormulaConfig = yield this.getObjectFieldsFormulaConfig(config, datasource);
323
- const objectFormulas = yield this.filter({ params: { objectApiName: config.name } });
324
- const formulaFieldsName = _.map(objectFormulas, 'field_name');
325
- const objectFields = _.map(config.fields, 'name');
338
+ const objectFormulas = yield this.filter({
339
+ params: { objectApiName: config.name },
340
+ });
341
+ const formulaFieldsName = _.map(objectFormulas, "field_name");
342
+ const objectFields = _.map(config.fields, "name");
326
343
  const diff = _.difference(formulaFieldsName, objectFields);
327
344
  try {
328
345
  for (var _g = true, objectFieldsFormulaConfig_1 = tslib_1.__asyncValues(objectFieldsFormulaConfig), objectFieldsFormulaConfig_1_1; objectFieldsFormulaConfig_1_1 = yield objectFieldsFormulaConfig_1.next(), _a = objectFieldsFormulaConfig_1_1.done, !_a; _g = true) {
@@ -364,7 +381,7 @@ class FormulaActionHandler {
364
381
  }
365
382
  getObjectDynamicCalcFormulaMap(objectApiName) {
366
383
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
367
- return yield metadata_registrar_1.Register.filter(this.broker, this.cacherKey(getDynamicCalcMapCacherKey(objectApiName, '*')));
384
+ return yield metadata_registrar_1.Register.filter(this.broker, this.cacherKey(getDynamicCalcMapCacherKey(objectApiName, "*")));
368
385
  });
369
386
  }
370
387
  recalcObjectsFormulaMap(objectConfig) {
@@ -458,7 +475,7 @@ class FormulaActionHandler {
458
475
  const quote = _c;
459
476
  let data = {
460
477
  key: fieldFormula._id,
461
- value: `${quote.object_name}.${quote.field_name}`
478
+ value: `${quote.object_name}.${quote.field_name}`,
462
479
  };
463
480
  this.checkRefMapData(maps, data);
464
481
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formulaActionHandler.js","sourceRoot":"","sources":["../../src/formula/formulaActionHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formulaActionHandler.js","sourceRoot":"","sources":["../../src/formula/formulaActionHandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-objects",
3
- "version": "3.0.0-beta.29",
3
+ "version": "3.0.0-beta.32",
4
4
  "description": "",
5
5
  "main": "lib/objects.service.js",
6
6
  "scripts": {
@@ -20,9 +20,9 @@
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
22
  "@salesforce/ts-types": "1.1.2",
23
- "@steedos/formula": "3.0.0-beta.29",
24
- "@steedos/i18n": "3.0.0-beta.29",
25
- "@steedos/metadata-registrar": "3.0.0-beta.29",
23
+ "@steedos/formula": "3.0.0-beta.32",
24
+ "@steedos/i18n": "3.0.0-beta.32",
25
+ "@steedos/metadata-registrar": "3.0.0-beta.32",
26
26
  "dotenv-flow": "^3.1.0",
27
27
  "ioredis": "^4.22.0",
28
28
  "lodash": "^4.17.21",
@@ -37,5 +37,5 @@
37
37
  "publishConfig": {
38
38
  "access": "public"
39
39
  },
40
- "gitHead": "9a9a8b8bbab234f5d6666ca88063d53ad0cd2c4f"
40
+ "gitHead": "fcff940305b05294cce7c852009c04a769ae0df7"
41
41
  }
@@ -26,38 +26,59 @@ const isAmisFormula = (formula: string) => {
26
26
  // }
27
27
 
28
28
  function extractAmisFormulaVariableNames(data) {
29
- let variables = [];
29
+ const variables = new Set();
30
30
 
31
- // 检查当前节点是否是变量(但不是getter的host)
32
- if (data.type === "variable" && !data._isGetterHost) {
33
- // 添加标记避免重复收集
34
- variables.push(data.name);
35
- }
36
- // 检查当前节点是否是getter
37
- else if (data.type === "getter") {
38
- // 标记host节点,避免重复收集
39
- data.host._isGetterHost = true;
40
- variables.push(`${data.host.name}.${data.key.name}`);
41
- }
31
+ function traverse(node) {
32
+ if (!node || typeof node !== "object") return;
33
+
34
+ // 处理普通变量(排除作为getter host的情况)
35
+ if (node.type === "variable" && !isGetterHost(node)) {
36
+ variables.add(node.name);
37
+ }
38
+ // 处理最外层的getter(不处理嵌套的getter host
39
+ else if (node.type === "getter" && !isGetterHost(node)) {
40
+ const path = getFullGetterPath(node);
41
+ if (path) variables.add(path);
42
+ }
42
43
 
43
- // 递归检查所有子节点
44
- if (Array.isArray(data)) {
45
- for (const item of data) {
46
- if (typeof item === "object" && item !== null) {
47
- variables = variables.concat(extractAmisFormulaVariableNames(item));
44
+ // 递归遍历所有子节点
45
+ for (const key in node) {
46
+ if (key !== "parent" && typeof node[key] === "object") {
47
+ // 设置父节点引用
48
+ node[key].parent = node;
49
+ traverse(node[key]);
48
50
  }
49
51
  }
50
- } else if (typeof data === "object" && data !== null) {
51
- for (const key in data) {
52
- if (typeof data[key] === "object" && data[key] !== null) {
53
- variables = variables.concat(
54
- extractAmisFormulaVariableNames(data[key]),
55
- );
52
+ }
53
+
54
+ function isGetterHost(node) {
55
+ return (
56
+ node.parent && node.parent.type === "getter" && node.parent.host === node
57
+ );
58
+ }
59
+
60
+ function getFullGetterPath(getterNode) {
61
+ const parts = [getterNode.key.name];
62
+ let current = getterNode.host;
63
+
64
+ // 向上追溯host
65
+ while (current) {
66
+ if (current.type === "getter") {
67
+ parts.unshift(current.key.name);
68
+ current = current.host;
69
+ } else if (current.type === "variable") {
70
+ parts.unshift(current.name);
71
+ return parts.join(".");
72
+ } else {
73
+ break;
56
74
  }
57
75
  }
76
+
77
+ return null;
58
78
  }
59
79
 
60
- return variables;
80
+ traverse(data);
81
+ return Array.from(variables);
61
82
  }
62
83
 
63
84
  /**
@@ -67,7 +88,8 @@ function extractAmisFormulaVariableNames(data) {
67
88
  export const pickFormulaVars = (formula: string): Array<string> => {
68
89
  if (isAmisFormula(formula)) {
69
90
  const result = extractAmisFormulaVariableNames(parse(formula));
70
- return result;
91
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
+ return result as any;
71
93
  }
72
94
  return extract(formula);
73
95
  };