@squiz/dx-json-schema-lib 1.79.0 → 1.80.1

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/jest.config.ts +13 -2
  3. package/lib/JsonSchemaService.d.ts +34 -0
  4. package/lib/JsonSchemaService.js +140 -0
  5. package/lib/JsonSchemaService.js.map +1 -0
  6. package/lib/JsonSchemaService.spec.d.ts +1 -0
  7. package/lib/JsonSchemaService.spec.js +1807 -0
  8. package/lib/JsonSchemaService.spec.js.map +1 -0
  9. package/lib/JsonValidationService.d.ts +11 -33
  10. package/lib/JsonValidationService.js +43 -194
  11. package/lib/JsonValidationService.js.map +1 -1
  12. package/lib/JsonValidationService.spec.js +19 -1800
  13. package/lib/JsonValidationService.spec.js.map +1 -1
  14. package/lib/index.d.ts +1 -0
  15. package/lib/index.js +1 -0
  16. package/lib/index.js.map +1 -1
  17. package/lib/jsonTypeResolution/TypeResolver.d.ts +4 -2
  18. package/lib/jsonTypeResolution/TypeResolver.js +0 -3
  19. package/lib/jsonTypeResolution/TypeResolver.js.map +1 -1
  20. package/lib/jsonTypeResolution/TypeResolver.spec.js +10 -0
  21. package/lib/jsonTypeResolution/TypeResolver.spec.js.map +1 -1
  22. package/lib/manifest/v1/DxComponentInputSchema.spec.js +18 -0
  23. package/lib/manifest/v1/DxComponentInputSchema.spec.js.map +1 -1
  24. package/lib/manifest/v1/DxContentMetaSchema.json +24 -32
  25. package/lib/manifest/v1/JobV1.d.ts +23 -18
  26. package/lib/manifest/v1/__test__/schemas/invalidUiMetadata.json +31 -0
  27. package/lib/manifest/v1/v1.d.ts +23 -18
  28. package/lib/manifest/v1/v1.spec.js +3 -66
  29. package/lib/manifest/v1/v1.spec.js.map +1 -1
  30. package/lib/primitiveTypes/SquizImage.d.ts +2 -1
  31. package/lib/primitiveTypes/SquizImage.js.map +1 -1
  32. package/lib/processValidationResult.d.ts +2 -0
  33. package/lib/processValidationResult.js +24 -0
  34. package/lib/processValidationResult.js.map +1 -0
  35. package/lib/validators/customKeywordValidators.d.ts +2 -0
  36. package/lib/validators/customKeywordValidators.js +47 -0
  37. package/lib/validators/customKeywordValidators.js.map +1 -0
  38. package/lib/validators/customKeywordValidators.spec.d.ts +1 -0
  39. package/lib/validators/customKeywordValidators.spec.js +100 -0
  40. package/lib/validators/customKeywordValidators.spec.js.map +1 -0
  41. package/package.json +2 -5
  42. package/src/JsonSchemaService.spec.ts +2198 -0
  43. package/src/JsonSchemaService.ts +159 -0
  44. package/src/JsonValidationService.spec.ts +26 -2195
  45. package/src/JsonValidationService.ts +64 -226
  46. package/src/index.ts +1 -0
  47. package/src/jsonTypeResolution/TypeResolver.spec.ts +12 -0
  48. package/src/jsonTypeResolution/TypeResolver.ts +5 -5
  49. package/src/manifest/v1/DxComponentInputSchema.spec.ts +21 -0
  50. package/src/manifest/v1/DxContentMetaSchema.json +24 -32
  51. package/src/manifest/v1/JobV1.ts +23 -23
  52. package/src/manifest/v1/__test__/schemas/invalidUiMetadata.json +31 -0
  53. package/src/manifest/v1/v1.spec.ts +3 -73
  54. package/src/manifest/v1/v1.ts +23 -23
  55. package/src/primitiveTypes/SquizImage.ts +2 -1
  56. package/src/processValidationResult.ts +20 -0
  57. package/src/validators/customKeywordValidators.spec.ts +171 -0
  58. package/src/validators/customKeywordValidators.ts +53 -0
  59. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"v1.spec.js","sourceRoot":"","sources":["../../../src/manifest/v1/v1.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v1.spec.js","sourceRoot":"","sources":["../../../src/manifest/v1/v1.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { PrimitiveType } from '../jsonTypeResolution/TypeResolver';
2
+ import type { ExifData } from 'exif';
2
3
  interface SquizImageData {
3
4
  width: number;
4
5
  height: number;
@@ -12,7 +13,7 @@ interface SquizImageShape {
12
13
  name: string;
13
14
  alt?: string;
14
15
  caption?: string;
15
- exif?: import('exif').ExifData;
16
+ exif?: ExifData;
16
17
  imageVariations: {
17
18
  original: SquizImageData;
18
19
  small?: SquizImageData[];
@@ -1 +1 @@
1
- {"version":3,"file":"SquizImage.js","sourceRoot":"","sources":["../../src/primitiveTypes/SquizImage.ts"],"names":[],"mappings":";;;AAAA,qEAAmE;AA2BtD,QAAA,cAAc,GAAG,IAAA,4BAAa,EAAgC;IACzE,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;iBACf;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACf;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,CAAC;SACjF;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE;gBAClD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACrC,WAAW,EAAE;QACX,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;iBACf;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;SACxF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"SquizImage.js","sourceRoot":"","sources":["../../src/primitiveTypes/SquizImage.ts"],"names":[],"mappings":";;;AAAA,qEAAmE;AA4BtD,QAAA,cAAc,GAAG,IAAA,4BAAa,EAAgC;IACzE,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;iBACf;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACf;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,CAAC;SACjF;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE;gBAClD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;qBACrC;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACrC,WAAW,EAAE;QACX,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;iBACf;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;SACxF;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { JSONError } from '@squiz/json-schema-library';
2
+ export declare function processValidationResult(errors: JSONError[]): true;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processValidationResult = void 0;
4
+ const SchemaValidationError_1 = require("./errors/SchemaValidationError");
5
+ function processValidationResult(errors) {
6
+ if (errors.length > 0) {
7
+ const ValidationDataMap = errors.reduce((acc, error) => {
8
+ var _a;
9
+ const pointer = (_a = error === null || error === void 0 ? void 0 : error.data) === null || _a === void 0 ? void 0 : _a.pointer;
10
+ const validationData = {
11
+ message: error.message,
12
+ data: error.data,
13
+ };
14
+ Object.keys(acc).includes(pointer) && Array.isArray(acc[pointer])
15
+ ? acc[pointer].push(validationData)
16
+ : (acc[pointer] = [validationData]);
17
+ return acc;
18
+ }, {});
19
+ throw new SchemaValidationError_1.SchemaValidationError(errors.map((a) => a.message).join(',\n'), undefined, ValidationDataMap);
20
+ }
21
+ return true;
22
+ }
23
+ exports.processValidationResult = processValidationResult;
24
+ //# sourceMappingURL=processValidationResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processValidationResult.js","sourceRoot":"","sources":["../src/processValidationResult.ts"],"names":[],"mappings":";;;AACA,0EAA0G;AAE1G,SAAgB,uBAAuB,CAAC,MAAmB;IACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,iBAAiB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAsB,EAAE,KAAgB,EAAE,EAAE;;YACtG,MAAM,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,OAAO,CAAC;YACrC,MAAM,cAAc,GAAmB;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/D,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;gBACnC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,IAAI,6CAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;KACzG;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,0DAgBC"}
@@ -0,0 +1,2 @@
1
+ import { Draft, JSONError, JSONSchema } from '@squiz/json-schema-library';
2
+ export declare const customKeywordValidators: Record<string, (draft: Draft, schema: JSONSchema, value: unknown, pointer: string) => undefined | JSONError | JSONError[]>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customKeywordValidators = void 0;
4
+ exports.customKeywordValidators = {
5
+ 'ui:metadata': (core, schema, value, pointer) => {
6
+ const fieldValue = value;
7
+ const uiMetadata = fieldValue['ui:metadata'];
8
+ if (uiMetadata === null || uiMetadata === void 0 ? void 0 : uiMetadata.quickOption) {
9
+ if (!fieldValue.enum) {
10
+ const error = {
11
+ name: 'uiMetadataError',
12
+ code: 'uiMetadata-error',
13
+ type: 'error',
14
+ message: `ui:metadata property quickOption is only valid for enum based properties.`,
15
+ data: { expected: 'enum', pointer: pointer, received: typeof value, value: value },
16
+ };
17
+ return [error];
18
+ }
19
+ }
20
+ if (uiMetadata === null || uiMetadata === void 0 ? void 0 : uiMetadata.enumWidget) {
21
+ if (!fieldValue.enum) {
22
+ const error = {
23
+ name: 'uiMetadataError',
24
+ code: 'uiMetadata-error',
25
+ type: 'error',
26
+ message: `ui:metadata property enumWidget is only valid for enum based properties.`,
27
+ data: { expected: 'enum', pointer: pointer, received: typeof value, value: value },
28
+ };
29
+ return [error];
30
+ }
31
+ }
32
+ if (uiMetadata === null || uiMetadata === void 0 ? void 0 : uiMetadata.collapsedByDefault) {
33
+ if (fieldValue.type !== 'object') {
34
+ const error = {
35
+ name: 'uiMetadataError',
36
+ code: 'uiMetadata-error',
37
+ type: 'error',
38
+ message: `ui:metadata property collapsedByDefault is only valid for object properties.`,
39
+ data: { expected: 'object', pointer: pointer, received: typeof value, value: value },
40
+ };
41
+ return [error];
42
+ }
43
+ }
44
+ return undefined;
45
+ },
46
+ };
47
+ //# sourceMappingURL=customKeywordValidators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customKeywordValidators.js","sourceRoot":"","sources":["../../src/validators/customKeywordValidators.ts"],"names":[],"mappings":";;;AAGa,QAAA,uBAAuB,GAGhC;IACF,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAA2B,EAAE;QACvE,MAAM,UAAU,GAAG,KAA6B,CAAC;QACjD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7C,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACpB,MAAM,KAAK,GAAc;oBACvB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,2EAA2E;oBACpF,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;iBACnF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;SACF;QAED,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACpB,MAAM,KAAK,GAAc;oBACvB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,0EAA0E;oBACnF,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;iBACnF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;SACF;QAED,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,EAAE;YAClC,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,MAAM,KAAK,GAAc;oBACvB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,8EAA8E;oBACvF,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;iBACrF,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const customKeywordValidators_1 = require("./customKeywordValidators");
4
+ describe('customKeywordValidators', () => {
5
+ describe('ui:metadata', () => {
6
+ it('no ui:metadata is valid', () => {
7
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
8
+ // eslint-disable-next-line
9
+ // @ts-ignore - the null properties aren't used in this keyword validation
10
+ null, null, {}, '#/functions/0/input/properties/users-contact');
11
+ expect(result).toBe(undefined);
12
+ });
13
+ it('no quickOption without enum is valid', () => {
14
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
15
+ // eslint-disable-next-line
16
+ // @ts-ignore - the null properties aren't used in this keyword validation
17
+ null, null, { 'ui:metadata': {} }, '#/functions/0/input/properties/users-contact');
18
+ expect(result).toBe(undefined);
19
+ });
20
+ it('quickOption is valid on enum', () => {
21
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
22
+ // eslint-disable-next-line
23
+ // @ts-ignore - the null properties aren't used in this keyword validation
24
+ null, null, { enum: ['north', 'south'], 'ui:metadata': { quickOption: true } }, '#/functions/0/input/properties/users-contact');
25
+ expect(result).toBe(undefined);
26
+ });
27
+ it('quickOption:false is valid without enum', () => {
28
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
29
+ // eslint-disable-next-line
30
+ // @ts-ignore - the null properties aren't used in this keyword validation
31
+ null, null, { 'ui:metadata': { quickOption: false } }, '#/functions/0/input/properties/users-contact');
32
+ expect(result).toBe(undefined);
33
+ });
34
+ it('quickOption:false is valid with enum', () => {
35
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
36
+ // eslint-disable-next-line
37
+ // @ts-ignore - the null properties aren't used in this keyword validation
38
+ null, null, { enum: ['north', 'south'], 'ui:metadata': { quickOption: false } }, '#/functions/0/input/properties/users-contact');
39
+ expect(result).toBe(undefined);
40
+ });
41
+ it('quickOption:true is not valid without enum', () => {
42
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
43
+ // eslint-disable-next-line
44
+ // @ts-ignore - the null properties aren't used in this keyword validation
45
+ null, null, { 'ui:metadata': { quickOption: true } }, '#/functions/0/input/properties/users-contact');
46
+ const error = Array.isArray(result) ? result[0] : result;
47
+ expect(result).not.toEqual(undefined);
48
+ expect(error).toEqual(expect.objectContaining({
49
+ name: 'uiMetadataError',
50
+ code: 'uiMetadata-error',
51
+ type: 'error',
52
+ }));
53
+ });
54
+ it('quickOption:true is valid with empty enum', () => {
55
+ // Enums being empty is a separate JSON schema rule / validation issue
56
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
57
+ // eslint-disable-next-line
58
+ // @ts-ignore - the null properties aren't used in this keyword validation
59
+ null, null, { enum: [], 'ui:metadata': { quickOption: true } }, '#/functions/0/input/properties/users-contact');
60
+ expect(result).toEqual(undefined);
61
+ });
62
+ it.each(['radio', 'dropdown'])('enumWidget:%s is valid with enum', (enumWidget) => {
63
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
64
+ // eslint-disable-next-line
65
+ // @ts-ignore - the null properties aren't used in this keyword validation
66
+ null, null, { enum: [], 'ui:metadata': { enumWidget } }, '#/functions/0/input/properties/users-contact');
67
+ expect(result).toEqual(undefined);
68
+ });
69
+ it('enumWidget is invalid without enum', () => {
70
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
71
+ // eslint-disable-next-line
72
+ // @ts-ignore - the null properties aren't used in this keyword validation
73
+ null, null, { 'ui:metadata': { enumWidget: 'radio' } }, '#/functions/0/input/properties/users-contact');
74
+ expect(result).toContainEqual(expect.objectContaining({
75
+ name: 'uiMetadataError',
76
+ code: 'uiMetadata-error',
77
+ type: 'error',
78
+ }));
79
+ });
80
+ it('collapsedByDefault is valid with object property', () => {
81
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
82
+ // eslint-disable-next-line
83
+ // @ts-ignore - the null properties aren't used in this keyword validation
84
+ null, null, { type: 'object', 'ui:metadata': { collapsedByDefault: true } }, '#/functions/0/input/properties/users-contact');
85
+ expect(result).toEqual(undefined);
86
+ });
87
+ it('collapsedByDefault is invalid for non-object properties', () => {
88
+ const result = customKeywordValidators_1.customKeywordValidators['ui:metadata'](
89
+ // eslint-disable-next-line
90
+ // @ts-ignore - the null properties aren't used in this keyword validation
91
+ null, null, { type: 'string', 'ui:metadata': { collapsedByDefault: true } }, '#/functions/0/input/properties/users-contact');
92
+ expect(result).toContainEqual(expect.objectContaining({
93
+ name: 'uiMetadataError',
94
+ code: 'uiMetadata-error',
95
+ type: 'error',
96
+ }));
97
+ });
98
+ });
99
+ });
100
+ //# sourceMappingURL=customKeywordValidators.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customKeywordValidators.spec.js","sourceRoot":"","sources":["../../src/validators/customKeywordValidators.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squiz/dx-json-schema-lib",
3
- "version": "1.79.0",
3
+ "version": "1.80.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -17,22 +17,19 @@
17
17
  "author": "",
18
18
  "license": "ISC",
19
19
  "devDependencies": {
20
- "@types/exif": "0.6.3",
21
- "@types/express": "4.17.17",
22
20
  "@types/jest": "28.1.8",
23
21
  "@types/node": "20.12.12",
24
22
  "dotenv": "16.0.3",
25
23
  "jest": "29.4.1",
26
24
  "json-schema-to-typescript": "14.1.0",
27
- "rimraf": "5.0.7",
28
25
  "ts-jest": "29.0.5",
29
- "ts-loader": "9.3.1",
30
26
  "ts-node": "10.9.2",
31
27
  "typescript": "4.9.4"
32
28
  },
33
29
  "dependencies": {
34
30
  "@sagold/json-query": "^6.2.0",
35
31
  "@squiz/json-schema-library": "^7.4.7",
32
+ "@types/exif": "^0.6.5",
36
33
  "ts-brand": "0.0.2"
37
34
  }
38
35
  }