@squiz/dx-json-schema-lib 1.33.1-alpha.4 → 1.33.1-alpha.5

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.
@@ -1,11 +1,11 @@
1
1
  0 verbose cli /usr/local/bin/node /usr/local/bin/npm
2
2
  1 info using npm@9.5.0
3
3
  2 info using node@v18.15.0
4
- 3 timing npm:load:whichnode Completed in 2ms
4
+ 3 timing npm:load:whichnode Completed in 1ms
5
5
  4 timing config:load:defaults Completed in 2ms
6
- 5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 1ms
7
- 6 timing config:load:builtin Completed in 1ms
8
- 7 timing config:load:cli Completed in 1ms
6
+ 5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 0ms
7
+ 6 timing config:load:builtin Completed in 0ms
8
+ 7 timing config:load:cli Completed in 3ms
9
9
  8 timing config:load:env Completed in 1ms
10
10
  9 info found workspace root at /builds/developer-experience/cmp
11
11
  10 timing config:load:file:/builds/developer-experience/cmp/.npmrc Completed in 0ms
@@ -15,8 +15,8 @@
15
15
  14 timing config:load:file:/usr/local/etc/npmrc Completed in 0ms
16
16
  15 timing config:load:global Completed in 0ms
17
17
  16 timing config:load:setEnvs Completed in 1ms
18
- 17 timing config:load Completed in 30ms
19
- 18 timing npm:load:configload Completed in 30ms
18
+ 17 timing config:load Completed in 31ms
19
+ 18 timing npm:load:configload Completed in 31ms
20
20
  19 timing npm:load:mkdirpcache Completed in 1ms
21
21
  20 timing npm:load:mkdirplogs Completed in 0ms
22
22
  21 verbose title npm run compile
@@ -24,14 +24,14 @@
24
24
  23 timing npm:load:setTitle Completed in 1ms
25
25
  24 timing config:load:flatten Completed in 4ms
26
26
  25 timing npm:load:display Completed in 6ms
27
- 26 verbose logfile logs-max:10 dir:/builds/developer-experience/cmp/packages/dx-json-schema-lib/.npm/_logs/2023-05-12T02_45_11_782Z-
28
- 27 verbose logfile /builds/developer-experience/cmp/packages/dx-json-schema-lib/.npm/_logs/2023-05-12T02_45_11_782Z-debug-0.log
27
+ 26 verbose logfile logs-max:10 dir:/builds/developer-experience/cmp/packages/dx-json-schema-lib/.npm/_logs/2023-05-12T05_00_21_808Z-
28
+ 27 verbose logfile /builds/developer-experience/cmp/packages/dx-json-schema-lib/.npm/_logs/2023-05-12T05_00_21_808Z-debug-0.log
29
29
  28 timing npm:load:logFile Completed in 4ms
30
30
  29 timing npm:load:timers Completed in 0ms
31
31
  30 timing npm:load:configScope Completed in 0ms
32
- 31 timing npm:load Completed in 44ms
32
+ 31 timing npm:load Completed in 45ms
33
33
  32 silly logfile done cleaning log files
34
- 33 timing command:run Completed in 6766ms
34
+ 33 timing command:run Completed in 7108ms
35
35
  34 verbose exit 0
36
- 35 timing npm Completed in 6822ms
36
+ 35 timing npm Completed in 7166ms
37
37
  36 info ok
@@ -24,7 +24,6 @@ export declare class JSONSchemaService<P extends AnyPrimitiveType, R extends Any
24
24
  * @returns true if the input is valid
25
25
  */
26
26
  validateInput(input: unknown, inputSchema?: JSONSchema): true | never;
27
- private processValidationResult;
28
27
  /**
29
28
  * Resolve an input object by replacing all resolvable shapes with their resolved values
30
29
  * @param input any input object which matches the input schema
@@ -38,6 +37,5 @@ export declare class JsonValidationService {
38
37
  validateContentSchema(contentSchema: JSONSchema): true;
39
38
  validateComponentInput(functionInputSchema: JSONSchema, inputValue: unknown): true;
40
39
  validateRenderInput(functionInputSchema: JSONSchema, inputValue: unknown): true;
41
- private processValidationResult;
42
40
  }
43
41
  export {};
@@ -60,6 +60,23 @@ const defaultConfig = {
60
60
  data,
61
61
  };
62
62
  },
63
+ typeError(data) {
64
+ let value = `${data.value}`;
65
+ if (data.received == 'object') {
66
+ value = `Object ${JSON.stringify(data.value)}`;
67
+ }
68
+ if (data.received == 'array') {
69
+ value = `Array ${JSON.stringify(data.value)}`;
70
+ }
71
+ const expected = JSON.stringify(data.expected).replace(/"/g, '`');
72
+ return {
73
+ type: 'error',
74
+ name: 'TypeError',
75
+ code: 'type-error',
76
+ message: `Expected \`${value}\` (${data.received}) in \`${data.pointer}\` to be of type ${expected}`,
77
+ data,
78
+ };
79
+ },
63
80
  },
64
81
  };
65
82
  const FTSchema = new json_schema_library_1.Draft07(formattedText_json_1.default, defaultConfig);
@@ -176,13 +193,7 @@ class JSONSchemaService {
176
193
  validateInput(input, inputSchema = this.schema.rootSchema) {
177
194
  inputSchema = this.schema.compileSchema(inputSchema);
178
195
  const errors = this.schema.validate(input, inputSchema);
179
- return this.processValidationResult(errors);
180
- }
181
- processValidationResult(errors) {
182
- if (errors.length > 0) {
183
- throw new SchemaValidationError_1.SchemaValidationError(errors.map((a) => a.message).join(',\n'));
184
- }
185
- return true;
196
+ return processValidationResult(errors);
186
197
  }
187
198
  /**
188
199
  * Resolve an input object by replacing all resolvable shapes with their resolved values
@@ -231,43 +242,43 @@ class JsonValidationService {
231
242
  switch (version) {
232
243
  case 'v1': {
233
244
  const validationResult = v1Schema.validate(manifest);
234
- return this.processValidationResult(validationResult);
245
+ return processValidationResult(validationResult);
235
246
  }
236
247
  default:
237
248
  throw new SchemaValidationError_1.SchemaValidationError('Invalid manifest version');
238
249
  }
239
250
  }
240
251
  validateContentSchema(contentSchema) {
241
- return this.processValidationResult(exports.ComponentInputSchema.validate(contentSchema));
252
+ return processValidationResult(exports.ComponentInputSchema.validate(contentSchema));
242
253
  }
243
254
  validateComponentInput(functionInputSchema, inputValue) {
244
255
  const inputSchema = exports.ComponentInputSchema.compileSchema(functionInputSchema);
245
256
  const errors = exports.ComponentInputSchema.validate(inputValue, inputSchema);
246
- return this.processValidationResult(errors);
257
+ return processValidationResult(errors);
247
258
  }
248
259
  validateRenderInput(functionInputSchema, inputValue) {
249
260
  const inputSchema = exports.RenderInputSchema.compileSchema(functionInputSchema);
250
261
  const errors = exports.RenderInputSchema.validate(inputValue, inputSchema);
251
- return this.processValidationResult(errors);
252
- }
253
- processValidationResult(errors) {
254
- if (errors.length > 0) {
255
- const ValidationDataMap = errors.reduce((acc, error) => {
256
- var _a;
257
- const pointer = (_a = error === null || error === void 0 ? void 0 : error.data) === null || _a === void 0 ? void 0 : _a.pointer;
258
- const validationData = {
259
- message: error.message,
260
- data: error.data,
261
- };
262
- Object.keys(acc).includes(pointer) && Array.isArray(acc[pointer])
263
- ? acc[pointer].push(validationData)
264
- : (acc[pointer] = [validationData]);
265
- return acc;
266
- }, {});
267
- throw new SchemaValidationError_1.SchemaValidationError(errors.map((a) => a.message).join(',\n'), undefined, ValidationDataMap);
268
- }
269
- return true;
262
+ return processValidationResult(errors);
270
263
  }
271
264
  }
272
265
  exports.JsonValidationService = JsonValidationService;
266
+ function processValidationResult(errors) {
267
+ if (errors.length > 0) {
268
+ const ValidationDataMap = errors.reduce((acc, error) => {
269
+ var _a;
270
+ const pointer = (_a = error === null || error === void 0 ? void 0 : error.data) === null || _a === void 0 ? void 0 : _a.pointer;
271
+ const validationData = {
272
+ message: error.message,
273
+ data: error.data,
274
+ };
275
+ Object.keys(acc).includes(pointer) && Array.isArray(acc[pointer])
276
+ ? acc[pointer].push(validationData)
277
+ : (acc[pointer] = [validationData]);
278
+ return acc;
279
+ }, {});
280
+ throw new SchemaValidationError_1.SchemaValidationError(errors.map((a) => a.message).join(',\n'), undefined, ValidationDataMap);
281
+ }
282
+ return true;
283
+ }
273
284
  //# sourceMappingURL=JsonValidationService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonValidationService.js","sourceRoot":"","sources":["../src/JsonValidationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonValidationService.js","sourceRoot":"","sources":["../src/JsonValidationService.ts"],"names":[],"mappings":"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"}
@@ -106,12 +106,25 @@ describe('JsonValidationService', () => {
106
106
  })).toEqual(true);
107
107
  });
108
108
  it('should throw error for invalid matrix-asset-uri format', () => {
109
- const invalidMatrixAssetUri = 'not-valid://canary.uat.matrix.squiz.cloud//abc123';
109
+ const invalidMatrixAssetUri = 'not-valid://canary uat matrix.squiz.cloud//abc123';
110
110
  expectToThrowErrorMatchingTypeAndMessage(() => {
111
111
  jsonValidationService.validateRenderInput(functionInputSchema, {
112
112
  'matrix-asset': invalidMatrixAssetUri,
113
113
  });
114
- }, SchemaValidationError_1.SchemaValidationError, `failed validation: value "not-valid://canary.uat.matrix.squiz.cloud//abc123" isn't a valid matrix asset uri`, undefined);
114
+ }, SchemaValidationError_1.SchemaValidationError, `failed validation: matrix asset uri "not-valid://canary uat matrix.squiz.cloud//abc123" isn't a valid matrix asset uri`, {
115
+ assetId: {
116
+ data: { expected: /^\d+(?::.+)?$/, received: '/abc123' },
117
+ message: 'Matrix Asset Id has invalid format, must match /^d+(?::.+)?$/',
118
+ },
119
+ identifier: {
120
+ data: { expected: /^[a-zA-Z0-9.-]+$/, received: 'canary uat matrix.squiz.cloud' },
121
+ message: 'Matrix Identifier has invalid format, must match /^[a-zA-Z0-9.-]+$/',
122
+ },
123
+ scheme: {
124
+ data: { expected: 'matrix-asset', received: 'not-valid' },
125
+ message: 'Uri scheme is invalid, must match "matrix-asset"',
126
+ },
127
+ });
115
128
  });
116
129
  it('should throw error for invalid matrix-asset-uri type number', () => {
117
130
  const invalidMatrixAssetUri = 1234;
@@ -134,7 +147,20 @@ describe('JsonValidationService', () => {
134
147
  jsonValidationService.validateRenderInput(functionInputSchema, {
135
148
  'matrix-asset': invalidMatrixAssetUri,
136
149
  });
137
- }, SchemaValidationError_1.SchemaValidationError, `failed validation: value "matrix://" isn't a valid matrix asset uri`);
150
+ }, SchemaValidationError_1.SchemaValidationError, `failed validation: matrix asset uri "matrix://" isn't a valid matrix asset uri`, {
151
+ assetId: {
152
+ data: { expected: /^\d+(?::.+)?$/, received: '' },
153
+ message: 'Matrix Asset Id has invalid format, must match /^d+(?::.+)?$/',
154
+ },
155
+ identifier: {
156
+ data: { expected: /^[a-zA-Z0-9.-]+$/, received: '' },
157
+ message: 'Matrix Identifier has invalid format, must match /^[a-zA-Z0-9.-]+$/',
158
+ },
159
+ scheme: {
160
+ data: { expected: 'matrix-asset', received: 'matrix' },
161
+ message: 'Uri scheme is invalid, must match "matrix-asset"',
162
+ },
163
+ });
138
164
  });
139
165
  });
140
166
  it('should validate a property with type FormattedText as string', () => {
@@ -164,10 +190,10 @@ describe('JsonValidationService', () => {
164
190
  };
165
191
  expectToThrowErrorMatchingTypeAndMessage(() => {
166
192
  jsonValidationService.validateRenderInput(schema, value);
167
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Expected `[object Object]` (array) in `#/my-input` to be of type `string`', {
193
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Expected `Array [{"type":"text","value":"hello"}]` (array) in `#/my-input` to be of type `string`', {
168
194
  '#/my-input': [
169
195
  {
170
- message: 'Expected `[object Object]` (array) in `#/my-input` to be of type `string`',
196
+ message: 'Expected `Array [{"type":"text","value":"hello"}]` (array) in `#/my-input` to be of type `string`',
171
197
  data: {
172
198
  received: 'array',
173
199
  expected: 'string',
@@ -276,7 +302,14 @@ describe('JsonSchemaService', () => {
276
302
  };
277
303
  expectToThrowErrorMatchingTypeAndMessage(() => {
278
304
  jsonSchemaService.validateInput(contentSchema);
279
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: The required property `required` is missing at `#/properties/my-input`');
305
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: The required property `required` is missing at `#/properties/my-input`', {
306
+ '#/properties/my-input': [
307
+ {
308
+ data: { key: 'required', pointer: '#/properties/my-input' },
309
+ message: 'The required property `required` is missing at `#/properties/my-input`',
310
+ },
311
+ ],
312
+ });
280
313
  });
281
314
  it('should throw a SchemaValidationError for an invalid content schema, top level type must be object', () => {
282
315
  const contentSchema = {
@@ -291,7 +324,14 @@ describe('JsonSchemaService', () => {
291
324
  };
292
325
  expectToThrowErrorMatchingTypeAndMessage(() => {
293
326
  jsonSchemaService.validateInput(contentSchema);
294
- }, SchemaValidationError_1.SchemaValidationError, `failed validation: Expected value at \`#/type\` to be \`object\`, but value given is \`array\``);
327
+ }, SchemaValidationError_1.SchemaValidationError, `failed validation: Expected value at \`#/type\` to be \`object\`, but value given is \`array\``, {
328
+ '#/type': [
329
+ {
330
+ data: { expected: 'object', pointer: '#/type', value: 'array' },
331
+ message: 'Expected value at `#/type` to be `object`, but value given is `array`',
332
+ },
333
+ ],
334
+ });
295
335
  });
296
336
  it('should throw a SchemaValidationError for an invalid content schema missing the required property', () => {
297
337
  const contentSchema = {
@@ -302,7 +342,73 @@ describe('JsonSchemaService', () => {
302
342
  };
303
343
  expectToThrowErrorMatchingTypeAndMessage(() => {
304
344
  jsonSchemaService.validateInput(contentSchema);
305
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: The required property `required` is missing at `#`');
345
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: The required property `required` is missing at `#`', {
346
+ '#': [
347
+ { data: { key: 'required', pointer: '#' }, message: 'The required property `required` is missing at `#`' },
348
+ ],
349
+ });
350
+ });
351
+ });
352
+ describe('SquizImage input', () => {
353
+ it('should validate a squizImage input', () => {
354
+ const schema = {
355
+ type: 'object',
356
+ properties: {
357
+ image: {
358
+ type: 'SquizImage',
359
+ },
360
+ },
361
+ };
362
+ const value = {
363
+ name: 'My Image',
364
+ alt: 'My Image that did not load',
365
+ caption: 'This above is a loaded image',
366
+ imageVariations: {
367
+ original: {
368
+ url: 'https://picsum.photos/200/300',
369
+ width: 100,
370
+ height: 100,
371
+ byteSize: 1000,
372
+ mimeType: 'image/jpeg',
373
+ aspectRatio: '1:1',
374
+ sha1Hash: '1234567890abcdef1234567890abcdef12345678',
375
+ },
376
+ },
377
+ };
378
+ expect(jsonSchemaService.validateInput(value, schema)).toEqual(true);
379
+ });
380
+ it('should error if SquizImage type is missing required properties', async () => {
381
+ const schema = {
382
+ type: 'object',
383
+ properties: {
384
+ myProp: {
385
+ type: 'SquizImage',
386
+ },
387
+ },
388
+ };
389
+ const value = {
390
+ // @ts-expect-error - missing required properties
391
+ myProp: {
392
+ alt: 'alt',
393
+ caption: 'caption',
394
+ name: 'name',
395
+ },
396
+ };
397
+ expectToThrowErrorMatchingTypeAndMessage(() => {
398
+ jsonSchemaService.validateInput(value, schema);
399
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Expected `Object {"alt":"alt","caption":"caption","name":"name"}` (object) in `#/myProp` to be of type `SquizImage`', {
400
+ '#/myProp': [
401
+ {
402
+ data: {
403
+ expected: 'SquizImage',
404
+ pointer: '#/myProp',
405
+ received: 'object',
406
+ value: { alt: 'alt', caption: 'caption', name: 'name' },
407
+ },
408
+ message: 'Expected `Object {"alt":"alt","caption":"caption","name":"name"}` (object) in `#/myProp` to be of type `SquizImage`',
409
+ },
410
+ ],
411
+ });
306
412
  });
307
413
  });
308
414
  describe('FormattedText input', () => {
@@ -386,7 +492,27 @@ describe('JsonSchemaService', () => {
386
492
  };
387
493
  expectToThrowErrorMatchingTypeAndMessage(() => {
388
494
  jsonSchemaService.validateInput(inputValue, functionInputSchema);
389
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `123` in `#/my-input` does not match any given oneof schema');
495
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `123` in `#/my-input` does not match any given oneof schema', {
496
+ '#/my-input': [
497
+ {
498
+ data: {
499
+ errors: [
500
+ {
501
+ code: 'type-error',
502
+ data: { expected: 'array', pointer: '#/my-input', received: 'number', value: 123 },
503
+ message: 'Expected `123` (number) in `#/my-input` to be of type `array`',
504
+ name: 'TypeError',
505
+ type: 'error',
506
+ },
507
+ ],
508
+ oneOf: [{ $ref: 'FormattedText.json' }],
509
+ pointer: '#/my-input',
510
+ value: '123',
511
+ },
512
+ message: 'Value `123` in `#/my-input` does not match any given oneof schema',
513
+ },
514
+ ],
515
+ });
390
516
  });
391
517
  it('should throw an error if the FormattedText input is invalid formatted text', () => {
392
518
  const functionInputSchema = {
@@ -403,7 +529,27 @@ describe('JsonSchemaService', () => {
403
529
  };
404
530
  expectToThrowErrorMatchingTypeAndMessage(() => {
405
531
  jsonSchemaService.validateInput(inputValue, functionInputSchema);
406
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"something":"aa"}` in `#/my-input` does not match any given oneof schema');
532
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"something":"aa"}` in `#/my-input` does not match any given oneof schema', {
533
+ '#/my-input': [
534
+ {
535
+ data: {
536
+ errors: [
537
+ {
538
+ code: 'type-error',
539
+ data: { expected: 'array', pointer: '#/my-input', received: 'object', value: { something: 'aa' } },
540
+ message: 'Expected `Object {"something":"aa"}` (object) in `#/my-input` to be of type `array`',
541
+ name: 'TypeError',
542
+ type: 'error',
543
+ },
544
+ ],
545
+ oneOf: [{ $ref: 'FormattedText.json' }],
546
+ pointer: '#/my-input',
547
+ value: '{"something":"aa"}',
548
+ },
549
+ message: 'Value `{"something":"aa"}` in `#/my-input` does not match any given oneof schema',
550
+ },
551
+ ],
552
+ });
407
553
  });
408
554
  it('should throw an error if the FormattedText input is invalid formatted text (deeply nested)', () => {
409
555
  const functionInputSchema = {
@@ -431,7 +577,44 @@ describe('JsonSchemaService', () => {
431
577
  };
432
578
  expectToThrowErrorMatchingTypeAndMessage(() => {
433
579
  jsonSchemaService.validateInput(inputValue, functionInputSchema);
434
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `[{"tag":"p","type":"tag","children":[{"type":"text","value":"This is some "},{"type":"text","value":"Link to asset 12345"},{"type":"text","value":" with an image "},{"type":"text","value":123},{"type":"text","value":"."}]}]` in `#/my-input` does not match any given oneof schema');
580
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `[{"tag":"p","type":"tag","children":[{"type":"text","value":"This is some "},{"type":"text","value":"Link to asset 12345"},{"type":"text","value":" with an image "},{"type":"text","value":123},{"type":"text","value":"."}]}]` in `#/my-input` does not match any given oneof schema', {
581
+ '#/my-input': [
582
+ {
583
+ data: {
584
+ errors: [
585
+ {
586
+ code: 'any-of-error',
587
+ data: {
588
+ anyOf: [
589
+ { $ref: '#/definitions/HigherOrderFormattedNodes' },
590
+ { $ref: '#/definitions/BaseFormattedNodes' },
591
+ ],
592
+ pointer: '#/my-input/0',
593
+ value: {
594
+ children: [
595
+ { type: 'text', value: 'This is some ' },
596
+ { type: 'text', value: 'Link to asset 12345' },
597
+ { type: 'text', value: ' with an image ' },
598
+ { type: 'text', value: 123 },
599
+ { type: 'text', value: '.' },
600
+ ],
601
+ tag: 'p',
602
+ type: 'tag',
603
+ },
604
+ },
605
+ message: 'Object at `#/my-input/0` does not match any schema',
606
+ name: 'AnyOfError',
607
+ type: 'error',
608
+ },
609
+ ],
610
+ oneOf: [{ $ref: 'FormattedText.json' }],
611
+ pointer: '#/my-input',
612
+ value: '[{"tag":"p","type":"tag","children":[{"type":"text","value":"This is some "},{"type":"text","value":"Link to asset 12345"},{"type":"text","value":" with an image "},{"type":"text","value":123},{"type":"text","value":"."}]}]',
613
+ },
614
+ message: 'Value `[{"tag":"p","type":"tag","children":[{"type":"text","value":"This is some "},{"type":"text","value":"Link to asset 12345"},{"type":"text","value":" with an image "},{"type":"text","value":123},{"type":"text","value":"."}]}]` in `#/my-input` does not match any given oneof schema',
615
+ },
616
+ ],
617
+ });
435
618
  });
436
619
  it('should validate an array of formatted texts', () => {
437
620
  const formattedText = [
@@ -505,7 +688,32 @@ describe('JsonSchemaService', () => {
505
688
  };
506
689
  expectToThrowErrorMatchingTypeAndMessage(() => {
507
690
  jsonSchemaService.validateInput(inputValue, functionInputSchema);
508
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"bad":"data"}` in `#/deep/arr/0/formattedTextArray/2` does not match any given oneof schema');
691
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"bad":"data"}` in `#/deep/arr/0/formattedTextArray/2` does not match any given oneof schema', {
692
+ '#/deep/arr/0/formattedTextArray/2': [
693
+ {
694
+ data: {
695
+ errors: [
696
+ {
697
+ code: 'type-error',
698
+ data: {
699
+ expected: 'array',
700
+ pointer: '#/deep/arr/0/formattedTextArray/2',
701
+ received: 'object',
702
+ value: { bad: 'data' },
703
+ },
704
+ message: 'Expected `Object {"bad":"data"}` (object) in `#/deep/arr/0/formattedTextArray/2` to be of type `array`',
705
+ name: 'TypeError',
706
+ type: 'error',
707
+ },
708
+ ],
709
+ oneOf: [{ $ref: 'FormattedText.json' }],
710
+ pointer: '#/deep/arr/0/formattedTextArray/2',
711
+ value: '{"bad":"data"}',
712
+ },
713
+ message: 'Value `{"bad":"data"}` in `#/deep/arr/0/formattedTextArray/2` does not match any given oneof schema',
714
+ },
715
+ ],
716
+ });
509
717
  });
510
718
  it('should validate a FormattedText value when the schema is a $ref', async () => {
511
719
  const formattedText = [
@@ -546,7 +754,27 @@ describe('JsonSchemaService', () => {
546
754
  };
547
755
  expectToThrowErrorMatchingTypeAndMessage(() => {
548
756
  jsonSchemaService.validateInput(value, schema);
549
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"bad":"data"}` in `#/my-input` does not match any given oneof schema');
757
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"bad":"data"}` in `#/my-input` does not match any given oneof schema', {
758
+ '#/my-input': [
759
+ {
760
+ data: {
761
+ errors: [
762
+ {
763
+ code: 'type-error',
764
+ data: { expected: 'array', pointer: '#/my-input', received: 'object', value: { bad: 'data' } },
765
+ message: 'Expected `Object {"bad":"data"}` (object) in `#/my-input` to be of type `array`',
766
+ name: 'TypeError',
767
+ type: 'error',
768
+ },
769
+ ],
770
+ oneOf: [{ $ref: 'FormattedText.json' }],
771
+ pointer: '#/my-input',
772
+ value: '{"bad":"data"}',
773
+ },
774
+ message: 'Value `{"bad":"data"}` in `#/my-input` does not match any given oneof schema',
775
+ },
776
+ ],
777
+ });
550
778
  });
551
779
  it('should validate a FormattedText value when the schema is a $ref to a $ref', async () => {
552
780
  const formattedText = [
@@ -618,18 +846,36 @@ describe('JsonSchemaService', () => {
618
846
  };
619
847
  expectToThrowErrorMatchingTypeAndMessage(() => {
620
848
  jsonSchemaService.validateInput(inputValue, functionInputSchema);
621
- }, SchemaValidationError_1.SchemaValidationError, `failed validation: Expected \`123\` (string) in \`#/my-input\` to be of type \`number\``);
849
+ }, SchemaValidationError_1.SchemaValidationError, `failed validation: Expected \`123\` (string) in \`#/my-input\` to be of type \`number\``, {
850
+ '#/my-input': [
851
+ {
852
+ data: { expected: 'number', pointer: '#/my-input', received: 'string', value: '123' },
853
+ message: 'Expected `123` (string) in `#/my-input` to be of type `number`',
854
+ },
855
+ ],
856
+ });
622
857
  });
623
858
  it('should throw a SchemaValidationError for invalid input missing properties', () => {
624
859
  const inputValue = {};
625
860
  expectToThrowErrorMatchingTypeAndMessage(() => {
626
861
  jsonSchemaService.validateInput(inputValue, functionInputSchema);
627
- }, SchemaValidationError_1.SchemaValidationError, `failed validation: The required property \`my-input\` is missing at \`#\``);
862
+ }, SchemaValidationError_1.SchemaValidationError, `failed validation: The required property \`my-input\` is missing at \`#\``, {
863
+ '#': [
864
+ { data: { key: 'my-input', pointer: '#' }, message: 'The required property `my-input` is missing at `#`' },
865
+ ],
866
+ });
628
867
  });
629
868
  it('should throw a SchemaValidationError with a truncated enum value list if there are more than 5 enum options', () => {
630
869
  expectToThrowErrorMatchingTypeAndMessage(() => {
631
870
  jsonSchemaService.validateInput({ enum: 'z' }, { type: 'object', properties: { enum: { type: 'string', enum: ['a', 'b', 'c', 'd', 'e', 'f', 'g'] } } });
632
- }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Expected given value `z` in #/enum` to be one of `[a, b, c, d, e, ... 2 more]`');
871
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Expected given value `z` in #/enum` to be one of `[a, b, c, d, e, ... 2 more]`', {
872
+ '#/enum': [
873
+ {
874
+ data: { pointer: '#/enum', value: 'z', values: ['a', 'b', 'c', 'd', 'e', 'f', 'g'] },
875
+ message: 'Expected given value `z` in #/enum` to be one of `[a, b, c, d, e, ... 2 more]`',
876
+ },
877
+ ],
878
+ });
633
879
  });
634
880
  // TODO DEVX-658
635
881
  it.skip('should throw a SchemaValidationError for invalid input additional properties', () => {