@cloudbase/cals 0.5.13-alpha.5 → 0.5.13-alpha.7

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.
@@ -19,6 +19,7 @@ export interface IInputDataWidgetItem {
19
19
  idList: string[];
20
20
  }
21
21
  export interface IInputDataRepeaterItem {
22
+ widgetId: string;
22
23
  currentItemAlias: string;
23
24
  currentIndexAlias: string;
24
25
  itemData: IJsonSchemaAny;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/dts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IACpC,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,EAAE,CAAA;CACvF;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AACD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE;QACX,cAAc,EAAE,MAAM,CAAA;QACtB,oBAAoB,EAAE,cAAc,CAAA;KACrC,EAAE,CAAA;CACJ;AAED,MAAM,WAAW,QAAQ;IAEvB,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,oBAAY,cAAc;IACxB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAA;IAChD,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAA;IAC9C,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAA;IAC9C,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAA;IAC/C,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAA;IAC7C,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAA;IACnD,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAA;IAClD,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAA;IAClD,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,iBAAiB,CAAA;IACjD,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1C,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAA;IAC5D,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACrD,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAA;IACzD,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAA;CAC/D;AA6CD;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAa;IAEhC;;OAEG;WACU,SAAS,CAAC,SAAS,GAAE,UAAe,EAAE,OAAO,GAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAyB;IAIhH;;OAEG;WACU,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,GAAG,wBAAwB,EAAE,GAAG,oBAAoB,EAAE,GAAG,sBAAsB,EAAE,GAAG,yBAAyB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,GAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAA+B;IAcnS,MAAM,CAAC,MAAM,CAAC,OAAO,GAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAgF;CAanI;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,GAAE,UAAe,EAAE,OAAO,GAAE,QAA0G,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCzM;AAgUD,eAAO,MAAM,UAAU,6yDA8DtB,CAAA;AAyDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5D;AAID,eAAO,MAAM,mBAAmB,+tBAmB/B,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,KAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/dts/index.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.compileJSONToDTS = exports.jsonToDTSWorkerCode = exports.transpileToDTS = exports.workerCode = exports.generateWeDaAppDTS = exports.WeDaDTS = exports.IInputDataType = void 0;
13
16
  const lodash_1 = require("lodash");
17
+ const json_easy_filter_1 = __importDefault(require("json-easy-filter"));
14
18
  const auto_generated_1 = require("./auto-generated");
15
19
  var IInputDataType;
16
20
  (function (IInputDataType) {
@@ -129,7 +133,10 @@ function generateWeDaAppDTS(inputData = {}, options = { isCompMode: false, needG
129
133
  if (placeholder) {
130
134
  // 防止某项错误导致全部都错误
131
135
  try {
132
- const [dts] = yield _generateOneItemDTS(inputData[key], key);
136
+ const [dts, replaceRules] = yield _generateOneItemDTS(inputData[key], key);
137
+ replaceRules.forEach(rule => {
138
+ resultDts = resultDts.replace(rule.from, rule.to);
139
+ });
133
140
  resultDts = resultDts.replace(placeholder, dts + '\n' + placeholder);
134
141
  }
135
142
  catch (e) {
@@ -163,9 +170,9 @@ exports.generateWeDaAppDTS = generateWeDaAppDTS;
163
170
  /**
164
171
  * 生成 weda 专有的注释信息
165
172
  */
166
- function genWeDaCodeComment({ fieldName, title, description, type, group }) {
167
- const desc = `${title || fieldName}\n${description || ''}`;
168
- return desc + `\n@privateForWeDa\n${JSON.stringify({ group, displayType: type, displayName: title || '' })}`;
173
+ function genWeDaCodeComment({ fieldName, title, description, type, group, schema, subGroup, }) {
174
+ const desc = (title || fieldName) ? `${title || fieldName}\n${description || ''}` : '';
175
+ return desc + `\n@privateForWeDa\n${JSON.stringify({ group, displayType: type, displayName: title || '', schema, subGroup })}`;
169
176
  }
170
177
  /**
171
178
  * 生成指定类型的 DTS
@@ -176,24 +183,32 @@ function _generateOneItemDTS(inputData, itemType) {
176
183
  /**
177
184
  * 处理注释信息
178
185
  */
179
- function _handleComment(inputData, group) {
186
+ function _handleComment(inputData, group, needKeepSchema) {
180
187
  const _inputData = (0, lodash_1.cloneDeep)(inputData);
181
- const schema = JSON.parse(JSON.stringify(_inputData, (key, value) => {
188
+ json_easy_filter_1.default.traverse(_inputData, function (key, value, path) {
182
189
  var _a;
183
190
  if ((value === null || value === void 0 ? void 0 : value.type) && !((_a = value === null || value === void 0 ? void 0 : value.type) === null || _a === void 0 ? void 0 : _a.type)) {
184
191
  // value?.type?.type 有值,则证明 type 是自定义的字段,而非 JSONSchema 中的 type
192
+ let schema = null;
193
+ if (needKeepSchema) {
194
+ const isFirstLevel = path.length === 2 && (path === null || path === void 0 ? void 0 : path[0]) === 'properties';
195
+ if (isFirstLevel) {
196
+ // 只需要第一级属性需要保存,且只保存子信息(对象或数组的子项)
197
+ schema = (value.properties || value.items) ? value : null;
198
+ }
199
+ }
185
200
  value.description = genWeDaCodeComment({
186
201
  fieldName: key,
187
202
  title: value.title,
188
203
  description: value.description,
189
204
  group: group,
190
- type: value.type
205
+ type: value.type,
206
+ schema
191
207
  });
192
208
  }
193
- return value;
194
- }));
195
- schema.description = ''; // 避免第一层出现注释
196
- return schema;
209
+ });
210
+ _inputData.description = ''; // 避免第一层出现注释
211
+ return _inputData;
197
212
  }
198
213
  /**
199
214
  * 获取用于显示的数据类型(仅有 number, string , boolean, array, object 等内置基础类型)
@@ -234,14 +249,14 @@ function _generateOneItemDTS(inputData, itemType) {
234
249
  [IInputDataType.globalState]: function (inputData) {
235
250
  return __awaiter(this, void 0, void 0, function* () {
236
251
  // 完善注释信息
237
- const handledInputData = _handleComment(inputData, GroupEnum.GLOBAL_VAR);
252
+ const handledInputData = _handleComment(inputData, GroupEnum.GLOBAL_VAR, true);
238
253
  return yield _compile(handledInputData);
239
254
  });
240
255
  },
241
256
  [IInputDataType.pageState]: function (inputData) {
242
257
  return __awaiter(this, void 0, void 0, function* () {
243
258
  // 完善注释信息
244
- const handledInputData = _handleComment(inputData, GroupEnum.PAGE_VAR);
259
+ const handledInputData = _handleComment(inputData, GroupEnum.PAGE_VAR, true);
245
260
  return yield _compile(handledInputData);
246
261
  });
247
262
  },
@@ -373,25 +388,37 @@ function _generateOneItemDTS(inputData, itemType) {
373
388
  [IInputDataType.repeaterScope]: function (inputData) {
374
389
  return __awaiter(this, void 0, void 0, function* () {
375
390
  const results = yield Promise.all(inputData.map((item) => __awaiter(this, void 0, void 0, function* () {
376
- let itemDataDTS = yield _compile(item.itemData, true);
391
+ let itemDataDTS = '';
392
+ if (item.itemData.title) {
393
+ // 特殊场景:数据字段
394
+ const handledInputData = _handleComment(item.itemData, GroupEnum.DATA_FIELD);
395
+ itemDataDTS = yield _compile(handledInputData, true);
396
+ }
397
+ else {
398
+ // 普通的循环项数据
399
+ itemDataDTS = yield _compile(item.itemData, true);
400
+ }
377
401
  return `
378
402
  /**
379
403
  ${genWeDaCodeComment({
380
404
  fieldName: item.currentItemAlias,
381
- title: '',
405
+ title: '当前项值',
382
406
  description: '',
383
407
  group: GroupEnum.REPEATER,
384
- type: getDisplayReturnType(itemDataDTS)
408
+ type: getDisplayReturnType(itemDataDTS),
409
+ schema: item.itemData,
410
+ subGroup: item.widgetId
385
411
  }).split('\n').map(item => `* ${item}`).join('\n')}
386
412
  */
387
413
  const ${item.currentItemAlias}: ${itemDataDTS}
388
414
  /**
389
415
  ${genWeDaCodeComment({
390
416
  fieldName: item.currentIndexAlias,
391
- title: '',
417
+ title: '当前下标',
392
418
  description: '',
393
419
  group: GroupEnum.REPEATER,
394
- type: 'number'
420
+ type: 'number',
421
+ subGroup: item.widgetId
395
422
  }).split('\n').map(item => `* ${item}`).join('\n')}
396
423
  */
397
424
  const ${item.currentIndexAlias}: number
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/cals",
3
- "version": "0.5.13-alpha.5",
3
+ "version": "0.5.13-alpha.7",
4
4
  "description": "Common application specifications",
5
5
  "main": "lib/utils/index.js",
6
6
  "source": "src/utils/index.ts",
@@ -30,6 +30,7 @@
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
32
  "acorn": "^8.0.4",
33
+ "json-easy-filter": "^0.3.1",
33
34
  "json-schema-to-typescript-for-browser": "^11.0.3",
34
35
  "lodash": "^4.17.20",
35
36
  "postcss": "^8.4.20",