@json-layout/vocabulary 0.21.0 → 0.22.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-layout/vocabulary",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "Main JSON Layout vocabulary as JSON schemas and Typescript types. Also contains some small utility functions to validate and normalize annotations.",
5
5
  "type": "module",
6
6
  "exports": {
package/src/normalize.js CHANGED
@@ -165,14 +165,25 @@ function getPartialCompObject (layoutKeyword) {
165
165
  return {}
166
166
  }
167
167
 
168
+ /**
169
+ * @param {import("./index.js").PartialExpression} expression
170
+ * @returns {boolean}
171
+ */
172
+ function looksPure (expression) {
173
+ const expr = typeof expression === 'string' ? expression : expression.expr
174
+ return !expr.includes('rootData.') && !expr.includes('rootData[') && !expr.includes('parent.data') && !expr.includes('parent.parent')
175
+ }
176
+
168
177
  /**
169
178
  * @param {import("./index.js").PartialExpression} expression
170
179
  * @param {Expression['type']} defaultType
180
+ * @param {string} defaultDataAlias
171
181
  * @returns {Expression}
172
182
  */
173
- function normalizeExpression (expression, defaultType = 'js-eval') {
174
- if (typeof expression === 'string') return { type: defaultType, expr: expression, pure: true }
175
- else return { pure: true, type: defaultType, ...expression }
183
+ function normalizeExpression (expression, defaultType = 'js-eval', defaultDataAlias = 'value') {
184
+ const defaultPure = looksPure(expression)
185
+ if (typeof expression === 'string') return { type: defaultType, expr: expression, pure: defaultPure, dataAlias: defaultDataAlias }
186
+ else return { pure: defaultPure, type: defaultType, dataAlias: defaultDataAlias, ...expression }
176
187
  }
177
188
 
178
189
  /**
@@ -363,11 +374,15 @@ function getCompObject (layoutKeyword, schemaFragment, type, nullable, schemaPat
363
374
  if (partial.getItems && isPartialGetItemsExpr(partial.getItems)) partial.getItems = normalizeExpression(partial.getItems)
364
375
  if (partial.getItems && isPartialGetItemsObj(partial.getItems)) {
365
376
  if (type === 'object') partial.getItems.returnObjects = true
366
- if (partial.getItems.itemTitle) partial.getItems.itemTitle = normalizeExpression(partial.getItems.itemTitle)
367
- if (partial.getItems.itemKey) partial.getItems.itemKey = normalizeExpression(partial.getItems.itemKey)
368
- if (partial.getItems.itemValue) partial.getItems.itemValue = normalizeExpression(partial.getItems.itemValue)
369
- if (partial.getItems.itemIcon) partial.getItems.itemIcon = normalizeExpression(partial.getItems.itemIcon)
370
- if (partial.getItems.itemsResults) partial.getItems.itemsResults = normalizeExpression(partial.getItems.itemsResults)
377
+ if (type === 'array') {
378
+ const { type: itemsType } = getSchemaFragmentType(schemaFragment.items)
379
+ if (itemsType === 'object') partial.getItems.returnObjects = true
380
+ }
381
+ if (partial.getItems.itemTitle) partial.getItems.itemTitle = normalizeExpression(partial.getItems.itemTitle, 'js-eval', 'item')
382
+ if (partial.getItems.itemKey) partial.getItems.itemKey = normalizeExpression(partial.getItems.itemKey, 'js-eval', 'item')
383
+ if (partial.getItems.itemValue) partial.getItems.itemValue = normalizeExpression(partial.getItems.itemValue, 'js-eval', 'item')
384
+ if (partial.getItems.itemIcon) partial.getItems.itemIcon = normalizeExpression(partial.getItems.itemIcon, 'js-eval', 'item')
385
+ if (partial.getItems.itemsResults) partial.getItems.itemsResults = normalizeExpression(partial.getItems.itemsResults, 'js-eval', 'body')
371
386
  }
372
387
  if (partial.getItems && isPartialGetItemsFetch(partial.getItems)) {
373
388
  partial.getItems.url = normalizeExpression(partial.getItems.url, 'js-tpl')
@@ -394,7 +394,8 @@ export default {
394
394
  "required": [
395
395
  "type",
396
396
  "expr",
397
- "pure"
397
+ "pure",
398
+ "dataAlias"
398
399
  ],
399
400
  "properties": {
400
401
  "type": {
@@ -411,6 +412,9 @@ export default {
411
412
  "pure": {
412
413
  "type": "boolean"
413
414
  },
415
+ "dataAlias": {
416
+ "type": "string"
417
+ },
414
418
  "ref": {
415
419
  "type": "integer",
416
420
  "readOnly": true
@@ -212,7 +212,7 @@
212
212
  },
213
213
  "expression": {
214
214
  "type": "object",
215
- "required": ["type", "expr", "pure"],
215
+ "required": ["type", "expr", "pure", "dataAlias"],
216
216
  "properties": {
217
217
  "type": {
218
218
  "type": "string",
@@ -224,6 +224,9 @@
224
224
  "pure": {
225
225
  "type": "boolean"
226
226
  },
227
+ "dataAlias": {
228
+ "type": "string"
229
+ },
227
230
  "ref": {
228
231
  "type": "integer",
229
232
  "readOnly": true
@@ -177,6 +177,7 @@ export interface Expression {
177
177
  type: "js-fn" | "js-eval" | "js-tpl";
178
178
  expr: string;
179
179
  pure: boolean;
180
+ dataAlias: string;
180
181
  ref?: number;
181
182
  [k: string]: unknown;
182
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.js"],"names":[],"mappings":"AA8hBA;;;;;;;;;;GAUG;AACH,wDAVW,cAAc,cACd,MAAM,cACN,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,aAAa,CAAC,oBAC3C,MAAM,KAAK,MAAM,oFAGxB,MAAM,GAAG,SAAS;YAEP,gBAAgB;YAAU,MAAM,EAAE;EAuBvD;AArWM,sDAHI,cAAc,GACZ;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CA+BzD;oBAjPY,OAAO,YAAY,EAAE,KAAK;uBAC1B,OAAO,YAAY,EAAE,QAAQ;6BAC7B,OAAO,YAAY,EAAE,cAAc;yBACnC,OAAO,YAAY,EAAE,UAAU;+BAC/B,OAAO,YAAY,EAAE,gBAAgB;4BACrC,OAAO,YAAY,EAAE,aAAa;8BAClC,OAAO,YAAY,EAAE,eAAe;gCACpC,OAAO,YAAY,EAAE,iBAAiB;6BACtC,OAAO,YAAY,EAAE,cAAc"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.js"],"names":[],"mappings":"AA6iBA;;;;;;;;;;GAUG;AACH,wDAVW,cAAc,cACd,MAAM,cACN,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,aAAa,CAAC,oBAC3C,MAAM,KAAK,MAAM,oFAGxB,MAAM,GAAG,SAAS;YAEP,gBAAgB;YAAU,MAAM,EAAE;EAuBvD;AAzWM,sDAHI,cAAc,GACZ;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CA+BzD;oBA5PY,OAAO,YAAY,EAAE,KAAK;uBAC1B,OAAO,YAAY,EAAE,QAAQ;6BAC7B,OAAO,YAAY,EAAE,cAAc;yBACnC,OAAO,YAAY,EAAE,UAAU;+BAC/B,OAAO,YAAY,EAAE,gBAAgB;4BACrC,OAAO,YAAY,EAAE,aAAa;8BAClC,OAAO,YAAY,EAAE,eAAe;gCACpC,OAAO,YAAY,EAAE,iBAAiB;6BACtC,OAAO,YAAY,EAAE,cAAc"}
@@ -345,6 +345,9 @@ declare namespace _default {
345
345
  pure: {
346
346
  type: string;
347
347
  };
348
+ dataAlias: {
349
+ type: string;
350
+ };
348
351
  ref: {
349
352
  type: string;
350
353
  readOnly: boolean;
@@ -173,6 +173,7 @@ export interface Expression {
173
173
  type: "js-fn" | "js-eval" | "js-tpl";
174
174
  expr: string;
175
175
  pure: boolean;
176
+ dataAlias: string;
176
177
  ref?: number;
177
178
  [k: string]: unknown;
178
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,cAAc,CAAC;AAC7D;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IAChD,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACpD,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACpD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GACZ;IACE,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACN;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC9C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;AAC/B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;AACvC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,GAAG,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC;AACjC;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,8CAA8C;IAC7D,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AACD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,iBAAiB,GAAG;QAC1B,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,KAAK,CAAC,EAAE,IAAI,CAAC;QACb,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AACD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AACD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AACD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,UAAU,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QACb,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;KACzB,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/types.ts"],"names":[],"mappings":"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"}