@json-layout/vocabulary 2.3.0 → 2.3.2
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 +7 -1
- package/src/index.js +0 -1
- package/src/layout-keyword/index.js +0 -7
- package/src/layout-keyword/validation.js +6 -0
- package/src/normalize.js +6 -3
- package/src/normalized-layout/index.js +0 -7
- package/src/normalized-layout/validation.js +6 -0
- package/types/index.d.ts +0 -1
- package/types/layout-keyword/index.d.ts +0 -21
- package/types/layout-keyword/index.d.ts.map +1 -1
- package/types/layout-keyword/validation.d.ts +3 -0
- package/types/layout-keyword/validation.d.ts.map +1 -0
- package/types/normalize.d.ts +2 -0
- package/types/normalize.d.ts.map +1 -1
- package/types/normalized-layout/index.d.ts +0 -25
- package/types/normalized-layout/index.d.ts.map +1 -1
- package/types/normalized-layout/validation.d.ts +3 -0
- package/types/normalized-layout/validation.d.ts.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@json-layout/vocabulary",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
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": {
|
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
"types": "./types/index.d.ts",
|
|
10
10
|
"default": "./src/index.js"
|
|
11
11
|
}
|
|
12
|
+
},
|
|
13
|
+
"./normalize": {
|
|
14
|
+
"import": {
|
|
15
|
+
"types": "./types/normalize.d.ts",
|
|
16
|
+
"default": "./src/normalize.js"
|
|
17
|
+
}
|
|
12
18
|
}
|
|
13
19
|
},
|
|
14
20
|
"files": [
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import schema from './schema.js'
|
|
2
|
-
import { ajv } from '../validate.js'
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* @typedef {import('./types.js').LayoutKeyword} LayoutKeyword
|
|
6
3
|
* @typedef {import('./types.js').ComponentName} ComponentName
|
|
@@ -21,10 +18,6 @@ import { ajv } from '../validate.js'
|
|
|
21
18
|
* @typedef {import('./types.js').PartialSelectItem} PartialSelectItem
|
|
22
19
|
*/
|
|
23
20
|
|
|
24
|
-
export const /** @type {import('../types.js').ValidateLayoutKeyword} */ validateLayoutKeyword = /** @type {any} */ (ajv.getSchema(schema.$id))
|
|
25
|
-
|
|
26
|
-
export const layoutKeywordSchema = /** @type {any} */ (schema)
|
|
27
|
-
|
|
28
21
|
/** @type {(layoutKeyword: LayoutKeyword) => layoutKeyword is ComponentName} */
|
|
29
22
|
export function isComponentName (layoutKeyword) {
|
|
30
23
|
return typeof layoutKeyword === 'string'
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import schema from './schema.js'
|
|
2
|
+
import { ajv } from '../validate.js'
|
|
3
|
+
|
|
4
|
+
export const /** @type {import('../types.js').ValidateLayoutKeyword} */ validateLayoutKeyword = /** @type {any} */ (ajv.getSchema(schema.$id))
|
|
5
|
+
|
|
6
|
+
export const layoutKeywordSchema = /** @type {any} */ (schema)
|
package/src/normalize.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isComponentName, isPartialCompObject, isPartialChildren, isPartialSwitch, isPartialGetItemsExpr, isPartialGetItemsObj, isPartialSlotMarkdown, isPartialGetItemsFetch, isPartialChildComposite, isPartialChildSlot, isPartialSlotText, isPartialSlotName } from './layout-keyword/index.js'
|
|
2
|
+
import { validateLayoutKeyword } from './layout-keyword/validation.js'
|
|
3
|
+
import { validateNormalizedLayout } from './normalized-layout/validation.js'
|
|
3
4
|
import { getComponentValidate } from './validate.js'
|
|
4
5
|
import clone from './utils/clone.js'
|
|
5
6
|
|
|
6
7
|
/**
|
|
8
|
+
* @typedef {import("./types.js").NormalizeOptions} NormalizeOptions
|
|
9
|
+
* @typedef {import("./types.js").NormalizeMessages} NormalizeMessages
|
|
7
10
|
* @typedef {import('./index.js').Child} Child
|
|
8
11
|
* @typedef {import('./index.js').Children} Children
|
|
9
12
|
* @typedef {import('./index.js').BaseCompObject} BaseCompObject
|
|
@@ -140,7 +143,7 @@ function getDefaultComp (partial, schemaFragment, type, options, schemaChild) {
|
|
|
140
143
|
if (schemaChild === 'patternProperties') return 'list'
|
|
141
144
|
if (hasSimpleType && schemaFragment.enum) return schemaFragment.enum.length > 20 ? 'autocomplete' : 'select'
|
|
142
145
|
if (hasSimpleType && schemaFragment.oneOf) return schemaFragment.oneOf.length > 20 ? 'autocomplete' : 'select'
|
|
143
|
-
if (hasSimpleType && schemaFragment.examples && options.useExamples === 'items') return type === 'string' ? 'combobox' : 'number-combobox'
|
|
146
|
+
if (hasSimpleType && schemaFragment.examples && options.useExamples === 'items' && !(schemaFragment.format && ['date', 'date-time', 'time'].includes(schemaFragment.format))) return type === 'string' ? 'combobox' : 'number-combobox'
|
|
144
147
|
if (hasSimpleType && schemaFragment.anyOf && schemaFragment.anyOf.length && Object.keys(schemaFragment.anyOf[schemaFragment.anyOf.length - 1]).length === 0) {
|
|
145
148
|
return type === 'string' ? 'combobox' : 'number-combobox'
|
|
146
149
|
}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import schema from './schema.js'
|
|
2
|
-
import { ajv } from '../validate.js'
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* @typedef {import('./types.js').NormalizedLayout} NormalizedLayout
|
|
6
3
|
* @typedef {import('./types.js').SwitchStruct} SwitchStruct
|
|
@@ -25,10 +22,6 @@ import { ajv } from '../validate.js'
|
|
|
25
22
|
* @typedef {import('./types.js').Slots} Slots
|
|
26
23
|
*/
|
|
27
24
|
|
|
28
|
-
export const /** @type {import('../types.js').ValidateNormalizedLayout} */ validateNormalizedLayout = /** @type {any} */ (ajv.getSchema(schema.$id))
|
|
29
|
-
|
|
30
|
-
export const normalizedLayoutSchema = /** @type {any} */ (schema)
|
|
31
|
-
|
|
32
25
|
/** @type {(layout: NormalizedLayout) => layout is SwitchStruct} */
|
|
33
26
|
export function isSwitchStruct (layout) {
|
|
34
27
|
return typeof layout === 'object' && 'switch' in layout
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import schema from './schema.js'
|
|
2
|
+
import { ajv } from '../validate.js'
|
|
3
|
+
|
|
4
|
+
export const /** @type {import('../types.js').ValidateNormalizedLayout} */ validateNormalizedLayout = /** @type {any} */ (ajv.getSchema(schema.$id))
|
|
5
|
+
|
|
6
|
+
export const normalizedLayoutSchema = /** @type {any} */ (schema)
|
package/types/index.d.ts
CHANGED
|
@@ -6,5 +6,4 @@ export type SchemaFragment = import("./types.js").SchemaFragment;
|
|
|
6
6
|
export type ComponentInfo = import("./types.js").ComponentInfo;
|
|
7
7
|
export type NormalizeOptions = import("./types.js").NormalizeOptions;
|
|
8
8
|
export type NormalizeMessages = import("./types.js").NormalizeMessages;
|
|
9
|
-
export { normalizeLayoutFragment, getSchemaFragmentType, mergeNullableSubSchema } from "./normalize.js";
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -10,27 +10,6 @@ export function isPartialGetItemsFetch(getItems: PartialGetItems): getItems is P
|
|
|
10
10
|
export function isPartialSlotMarkdown(partialSlot: PartialSlot): partialSlot is PartialSlotMarkdown;
|
|
11
11
|
export function isPartialSlotText(partialSlot: PartialSlot): partialSlot is PartialSlotText;
|
|
12
12
|
export function isPartialSlotName(partialSlot: PartialSlot): partialSlot is PartialSlotName;
|
|
13
|
-
/**
|
|
14
|
-
* @typedef {import('./types.js').LayoutKeyword} LayoutKeyword
|
|
15
|
-
* @typedef {import('./types.js').ComponentName} ComponentName
|
|
16
|
-
* @typedef {import('./types.js').PartialChildren} PartialChildren
|
|
17
|
-
* @typedef {import('./types.js').PartialChild} PartialChild
|
|
18
|
-
* @typedef {import('./types.js').PartialChildComposite} PartialChildComposite
|
|
19
|
-
* @typedef {import('./types.js').PartialChildSlot} PartialChildSlot
|
|
20
|
-
* @typedef {import('./types.js').PartialSwitch} PartialSwitch
|
|
21
|
-
* @typedef {import('./types.js').PartialCompObject} PartialCompObject
|
|
22
|
-
* @typedef {import('./types.js').PartialGetItems} PartialGetItems
|
|
23
|
-
* @typedef {import('./types.js').PartialGetItemsFetch} PartialGetItemsFetch
|
|
24
|
-
* @typedef {import('./types.js').PartialExpression} PartialExpression
|
|
25
|
-
* @typedef {import('./types.js').PartialGetItemsObj} PartialGetItemsObj
|
|
26
|
-
* @typedef {import('./types.js').PartialSlotMarkdown} PartialSlotMarkdown
|
|
27
|
-
* @typedef {import('./types.js').PartialSlotText} PartialSlotText
|
|
28
|
-
* @typedef {import('./types.js').PartialSlotName} PartialSlotName
|
|
29
|
-
* @typedef {import('./types.js').PartialSlot} PartialSlot
|
|
30
|
-
* @typedef {import('./types.js').PartialSelectItem} PartialSelectItem
|
|
31
|
-
*/
|
|
32
|
-
export const validateLayoutKeyword: import("../types.js").ValidateLayoutKeyword;
|
|
33
|
-
export const layoutKeywordSchema: any;
|
|
34
13
|
export type LayoutKeyword = import("./types.js").LayoutKeyword;
|
|
35
14
|
export type ComponentName = import("./types.js").ComponentName;
|
|
36
15
|
export type PartialChildren = import("./types.js").PartialChildren;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout-keyword/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout-keyword/index.js"],"names":[],"mappings":"AAoBW,+CAAgB,aAAa,GAAK,aAAa,IAAI,aAAa,CAAA;AAKhE,+CAAgB,aAAa,GAAK,aAAa,IAAI,aAAa,CAAA;AAKhE,iDAAgB,aAAa,GAAK,aAAa,IAAI,eAAe,CAAA;AAKlE,sDAAe,YAAY,GAAK,YAAY,IAAI,qBAAqB,CAAA;AAKrE,iDAAe,YAAY,GAAK,YAAY,IAAI,gBAAgB,CAAA;AAKhE,mDAAgB,aAAa,GAAK,aAAa,IAAI,iBAAiB,CAAA;AAKpE,gDAAW,eAAe,GAAK,QAAQ,IAAI,iBAAiB,CAAA;AAK5D,+CAAW,eAAe,GAAK,QAAQ,IAAI,kBAAkB,CAAA;AAK7D,iDAAW,eAAe,GAAK,QAAQ,IAAI,oBAAoB,CAAA;AAK/D,mDAAc,WAAW,GAAK,WAAW,IAAI,mBAAmB,CAAA;AAKhE,+CAAc,WAAW,GAAK,WAAW,IAAI,eAAe,CAAA;AAK5D,+CAAc,WAAW,GAAK,WAAW,IAAI,eAAe,CAAA;4BA1E1D,OAAO,YAAY,EAAE,aAAa;4BAClC,OAAO,YAAY,EAAE,aAAa;8BAClC,OAAO,YAAY,EAAE,eAAe;2BACpC,OAAO,YAAY,EAAE,YAAY;oCACjC,OAAO,YAAY,EAAE,qBAAqB;+BAC1C,OAAO,YAAY,EAAE,gBAAgB;4BACrC,OAAO,YAAY,EAAE,aAAa;gCAClC,OAAO,YAAY,EAAE,iBAAiB;8BACtC,OAAO,YAAY,EAAE,eAAe;mCACpC,OAAO,YAAY,EAAE,oBAAoB;gCACzC,OAAO,YAAY,EAAE,iBAAiB;iCACtC,OAAO,YAAY,EAAE,kBAAkB;kCACvC,OAAO,YAAY,EAAE,mBAAmB;8BACxC,OAAO,YAAY,EAAE,eAAe;8BACpC,OAAO,YAAY,EAAE,eAAe;0BACpC,OAAO,YAAY,EAAE,WAAW;gCAChC,OAAO,YAAY,EAAE,iBAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/layout-keyword/validation.js"],"names":[],"mappings":"AAGA,oCAAwB,OAAO,aAAa,EAAE,qBAAqB,CAA2E;AAE9I,kCAA8C,GAAG,CAAa"}
|
package/types/normalize.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export function getSchemaFragmentType(schemaFragment: SchemaFragment): {
|
|
|
17
17
|
type: string | undefined;
|
|
18
18
|
nullable: boolean;
|
|
19
19
|
};
|
|
20
|
+
export type NormalizeOptions = import("./types.js").NormalizeOptions;
|
|
21
|
+
export type NormalizeMessages = import("./types.js").NormalizeMessages;
|
|
20
22
|
export type Child = import("./index.js").Child;
|
|
21
23
|
export type Children = import("./index.js").Children;
|
|
22
24
|
export type BaseCompObject = import("./index.js").BaseCompObject;
|
package/types/normalize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.js"],"names":[],"mappings":"AA4uBA;;;;;;;;;GASG;AACH,6CATW,MAAM,GAAG,MAAM,kBACf,cAAc,cACd,MAAM,WACL,OAAO,YAAY,EAAE,gBAAgB,gBACtC,OAAO,GAAG,mBAAmB,cAC7B,MAAM,GAAG,SAAS,kBAClB,OAAO,GACL;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAC,CAwBxD;AA9dM,uDAHI,cAAc,GACZ,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,SAAS,CA6BhD;AAMM,sDAHI,cAAc,GACZ;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CAkCzD;+BAxWY,OAAO,YAAY,EAAE,gBAAgB;gCACrC,OAAO,YAAY,EAAE,iBAAiB;oBACtC,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"}
|
|
@@ -17,31 +17,6 @@ export function isMarkdownSlot(slot: Slot): slot is {
|
|
|
17
17
|
export function isNameSlot(slot: Slot): slot is {
|
|
18
18
|
name: string;
|
|
19
19
|
};
|
|
20
|
-
/**
|
|
21
|
-
* @typedef {import('./types.js').NormalizedLayout} NormalizedLayout
|
|
22
|
-
* @typedef {import('./types.js').SwitchStruct} SwitchStruct
|
|
23
|
-
* @typedef {import('./types.js').BaseCompObject} BaseCompObject
|
|
24
|
-
* @typedef {import('./types.js').SelectItem} SelectItem
|
|
25
|
-
* @typedef {import('./types.js').SelectItems} SelectItems
|
|
26
|
-
* @typedef {import('./types.js').GetItemsFetch} GetItemsFetch
|
|
27
|
-
* @typedef {import('./types.js').Child} Child
|
|
28
|
-
* @typedef {import('./types.js').Children} Children
|
|
29
|
-
* @typedef {import('./types.js').ChildSlot} ChildSlot
|
|
30
|
-
* @typedef {import('./types.js').CompositeCompObject} CompositeCompObject
|
|
31
|
-
* @typedef {import('./types.js').SlotCompObject} SlotCompObject
|
|
32
|
-
* @typedef {import('./types.js').ItemsBasedCompObject} ItemsBasedCompObject
|
|
33
|
-
* @typedef {import('./types.js').FocusableCompObject} FocusableCompObject
|
|
34
|
-
* @typedef {import('./types.js').GetItems} GetItems
|
|
35
|
-
* @typedef {import('./types.js').Expression} Expression
|
|
36
|
-
* @typedef {import('./types.js').Cols} Cols
|
|
37
|
-
* @typedef {import('./types.js').ColsObj} ColsObj
|
|
38
|
-
* @typedef {import('./types.js').StateNodeOptionsBase} StateNodeOptionsBase
|
|
39
|
-
* @typedef {import('./types.js').StateNodePropsLib} StateNodePropsLib
|
|
40
|
-
* @typedef {import('./types.js').Slot} Slot
|
|
41
|
-
* @typedef {import('./types.js').Slots} Slots
|
|
42
|
-
*/
|
|
43
|
-
export const validateNormalizedLayout: import("../types.js").ValidateNormalizedLayout;
|
|
44
|
-
export const normalizedLayoutSchema: any;
|
|
45
20
|
export type NormalizedLayout = import("./types.js").NormalizedLayout;
|
|
46
21
|
export type SwitchStruct = import("./types.js").SwitchStruct;
|
|
47
22
|
export type BaseCompObject = import("./types.js").BaseCompObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/index.js"],"names":[],"mappings":"AAwBW,uCAAS,gBAAgB,GAAK,MAAM,IAAI,YAAY,CAAA;AAKpD,qCAAS,gBAAgB,GAAK,MAAM,IAAI,cAAc,CAAA;AAKtD,kDAAQ,KAAK,GAAK,KAAK,IAAI,KAAK,GAAG,mBAAmB,CAAA;AAKtD,6CAAQ,KAAK,GAAK,KAAK,IAAI,KAAK,GAAG,cAAc,CAAA;AAKjD,0CAAS,cAAc,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC,GAAK,MAAM,IAAI,mBAAmB,CAAA;AAK1H,qCAAS,cAAc,GAAK,MAAM,IAAI,OAAO,wBAAwB,EAAE,IAAI,CAAA;AAK3E,0CAAS,cAAc,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC,GAAK,MAAM,IAAI,mBAAmB,CAAA;AAK1H,sCAAS,cAAc,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC,GAAK,MAAM,IAAI,oBAAoB,CAAA;AAK3H,+CAAW,QAAQ,GAAK,QAAQ,IAAI,UAAU,CAAA;AAK9C,0CAAW,QAAQ,GAAK,QAAQ,IAAI,aAAa,CAAA;AAKjD,iCAAO,IAAI,GAAK,IAAI,IAAI;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAA;AAMtC,qCAAO,IAAI,GAAK,IAAI,IAAI;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAA;AAM1C,iCAAO,IAAI,GAAK,IAAI,IAAI;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAA;+BArFpC,OAAO,YAAY,EAAE,gBAAgB;2BACrC,OAAO,YAAY,EAAE,YAAY;6BACjC,OAAO,YAAY,EAAE,cAAc;yBACnC,OAAO,YAAY,EAAE,UAAU;0BAC/B,OAAO,YAAY,EAAE,WAAW;4BAChC,OAAO,YAAY,EAAE,aAAa;oBAClC,OAAO,YAAY,EAAE,KAAK;uBAC1B,OAAO,YAAY,EAAE,QAAQ;wBAC7B,OAAO,YAAY,EAAE,SAAS;kCAC9B,OAAO,YAAY,EAAE,mBAAmB;6BACxC,OAAO,YAAY,EAAE,cAAc;mCACnC,OAAO,YAAY,EAAE,oBAAoB;kCACzC,OAAO,YAAY,EAAE,mBAAmB;uBACxC,OAAO,YAAY,EAAE,QAAQ;yBAC7B,OAAO,YAAY,EAAE,UAAU;mBAC/B,OAAO,YAAY,EAAE,IAAI;sBACzB,OAAO,YAAY,EAAE,OAAO;mCAC5B,OAAO,YAAY,EAAE,oBAAoB;gCACzC,OAAO,YAAY,EAAE,iBAAiB;mBACtC,OAAO,YAAY,EAAE,IAAI;oBACzB,OAAO,YAAY,EAAE,KAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/validation.js"],"names":[],"mappings":"AAGA,uCAAwB,OAAO,aAAa,EAAE,wBAAwB,CAA8E;AAEpJ,qCAAiD,GAAG,CAAa"}
|