@squiz/dx-json-schema-lib 1.76.3 → 1.78.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.
@@ -12,6 +12,18 @@ export type DxComponentInputSchema = CoreSchemaMetaSchema & {
12
12
  [k: string]: unknown;
13
13
  };
14
14
  export type CoreSchemaMetaSchema = CoreSchemaMetaSchema1 & CoreSchemaMetaSchema2;
15
+ export type UiMetadata = {
16
+ /**
17
+ * Whether the component should automatically reload when the input is changed
18
+ */
19
+ autoReload?: boolean;
20
+ [k: string]: unknown;
21
+ } & ({
22
+ collapsedByDefault?: boolean;
23
+ } | {
24
+ inlineEditable?: boolean;
25
+ quickOption?: boolean;
26
+ });
15
27
  export type CoreSchemaMetaSchema2 = {
16
28
  $id?: string;
17
29
  'ui:metadata'?: {
@@ -25,26 +37,26 @@ export type CoreSchemaMetaSchema2 = {
25
37
  $comment?: string;
26
38
  title?: string;
27
39
  description?: string;
28
- default?: true;
40
+ default?: unknown;
29
41
  readOnly?: boolean;
30
42
  writeOnly?: boolean;
31
- examples?: true[];
43
+ examples?: unknown[];
32
44
  multipleOf?: number;
33
45
  maximum?: number;
34
46
  exclusiveMaximum?: number;
35
47
  minimum?: number;
36
48
  exclusiveMinimum?: number;
37
49
  maxLength?: number;
38
- minLength?: number & number;
50
+ minLength?: number;
39
51
  pattern?: string;
40
52
  additionalItems?: CoreSchemaMetaSchema2;
41
53
  items?: CoreSchemaMetaSchema2 | SchemaArray;
42
54
  maxItems?: number;
43
- minItems?: number & number;
55
+ minItems?: number;
44
56
  uniqueItems?: boolean;
45
57
  contains?: CoreSchemaMetaSchema2;
46
58
  maxProperties?: number;
47
- minProperties?: number & number;
59
+ minProperties?: number;
48
60
  required?: StringArray;
49
61
  additionalProperties?: CoreSchemaMetaSchema2;
50
62
  definitions?: {
@@ -60,11 +72,11 @@ export type CoreSchemaMetaSchema2 = {
60
72
  [k: string]: CoreSchemaMetaSchema2 | StringArray;
61
73
  };
62
74
  propertyNames?: CoreSchemaMetaSchema2;
63
- const?: true;
75
+ const?: unknown;
64
76
  /**
65
77
  * @minItems 1
66
78
  */
67
- enum?: true[];
79
+ enum?: unknown[];
68
80
  type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink')[];
69
81
  format?: 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'json-pointer' | 'matrix-asset-uri' | 'multi-line' | 'password' | 'phone' | 'regex' | 'relative-json-pointer' | 'uri-reference' | 'uri-template' | 'uri' | 'uuid';
70
82
  matrixAssetTypes?: ('audioFile' | 'bodycopyContainer' | 'bodycopyDiv' | 'calendarEventsSearchPage' | 'contentContainerTemplate' | 'contentTypeMarkdown' | 'contentTypeNestContent' | 'contentTypeRawHtml' | 'contentTypeSnippet' | 'contentTypeWysiwyg' | 'cssFileFolder' | 'cssFile' | 'customForm' | 'dataRecord' | 'designAreaAssetLineage' | 'designAreaBody' | 'designAreaMenuNormal' | 'designAreaNestContent' | 'designCssCustomisation' | 'designCss' | 'designCustomisation' | 'designScss' | 'design' | 'docx' | 'excelDoc' | 'file' | 'folder' | 'gitBridge' | 'googleAnalyticsConnector' | 'googleAnalyticsView' | 'image' | 'jsFileFolder' | 'jsFile' | 'jsonWebToken' | 'layoutManager' | 'layout' | 'link' | 'metadataFieldDate' | 'metadataFieldRelatedAsset' | 'metadataFieldSelect' | 'metadataFieldText' | 'metadataFieldWysiwyg' | 'metadataSchema' | 'metadataSection' | 'newsItem' | 'oauthAccountManager' | 'pageAccountManager' | 'pageAssetListing' | 'pageCalendarEventsSearch' | 'pageCalendar' | 'pagePasswordReset' | 'pageRemoteContent' | 'pageRestResourceJs' | 'pageRestResourceOauthSession' | 'pageRestResourceOauthTwoLegged' | 'pageRestResource' | 'pageSiteMap' | 'pageStandard' | 'paintLayoutBodycopy' | 'paintLayoutPage' | 'pdfFile' | 'pdf' | 'persona' | 'powerpointDoc' | 'pptx' | 'redirectPage' | 'regex' | 'regularExpression' | 'rtfFile' | 'samlAccountManager' | 'saml2Acs' | 'saml2Sls' | 'searchPage' | 'site' | 'textFile' | 'TriggerTypes?' | 'userGroup' | 'wordDoc' | 'workflowSchema' | 'workflowStepCondition' | 'workflowStep' | 'workflowStream' | 'xlsx' | 'xmlFile')[];
@@ -138,37 +150,32 @@ export interface JobFunction {
138
150
  }
139
151
  export interface CoreSchemaMetaSchema1 {
140
152
  $id?: string;
141
- 'ui:metadata'?: {
142
- collapsedByDefault?: boolean;
143
- } | {
144
- inlineEditable?: boolean;
145
- quickOption?: boolean;
146
- };
153
+ 'ui:metadata'?: UiMetadata;
147
154
  $schema?: string;
148
155
  $ref?: string;
149
156
  $comment?: string;
150
157
  title?: string;
151
158
  description?: string;
152
- default?: true;
159
+ default?: unknown;
153
160
  readOnly?: boolean;
154
161
  writeOnly?: boolean;
155
- examples?: true[];
162
+ examples?: unknown[];
156
163
  multipleOf?: number;
157
164
  maximum?: number;
158
165
  exclusiveMaximum?: number;
159
166
  minimum?: number;
160
167
  exclusiveMinimum?: number;
161
168
  maxLength?: number;
162
- minLength?: number & number;
169
+ minLength?: number;
163
170
  pattern?: string;
164
171
  additionalItems?: CoreSchemaMetaSchema2;
165
172
  items?: CoreSchemaMetaSchema2 | SchemaArray;
166
173
  maxItems?: number;
167
- minItems?: number & number;
174
+ minItems?: number;
168
175
  uniqueItems?: boolean;
169
176
  contains?: CoreSchemaMetaSchema2;
170
177
  maxProperties?: number;
171
- minProperties?: number & number;
178
+ minProperties?: number;
172
179
  required?: StringArray;
173
180
  additionalProperties?: CoreSchemaMetaSchema2;
174
181
  definitions?: {
@@ -184,11 +191,11 @@ export interface CoreSchemaMetaSchema1 {
184
191
  [k: string]: CoreSchemaMetaSchema2 | StringArray;
185
192
  };
186
193
  propertyNames?: CoreSchemaMetaSchema2;
187
- const?: true;
194
+ const?: unknown;
188
195
  /**
189
196
  * @minItems 1
190
197
  */
191
- enum?: true[];
198
+ enum?: unknown[];
192
199
  type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink')[];
193
200
  format?: 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'json-pointer' | 'matrix-asset-uri' | 'multi-line' | 'password' | 'phone' | 'regex' | 'relative-json-pointer' | 'uri-reference' | 'uri-template' | 'uri' | 'uuid';
194
201
  matrixAssetTypes?: ('audioFile' | 'bodycopyContainer' | 'bodycopyDiv' | 'calendarEventsSearchPage' | 'contentContainerTemplate' | 'contentTypeMarkdown' | 'contentTypeNestContent' | 'contentTypeRawHtml' | 'contentTypeSnippet' | 'contentTypeWysiwyg' | 'cssFileFolder' | 'cssFile' | 'customForm' | 'dataRecord' | 'designAreaAssetLineage' | 'designAreaBody' | 'designAreaMenuNormal' | 'designAreaNestContent' | 'designCssCustomisation' | 'designCss' | 'designCustomisation' | 'designScss' | 'design' | 'docx' | 'excelDoc' | 'file' | 'folder' | 'gitBridge' | 'googleAnalyticsConnector' | 'googleAnalyticsView' | 'image' | 'jsFileFolder' | 'jsFile' | 'jsonWebToken' | 'layoutManager' | 'layout' | 'link' | 'metadataFieldDate' | 'metadataFieldRelatedAsset' | 'metadataFieldSelect' | 'metadataFieldText' | 'metadataFieldWysiwyg' | 'metadataSchema' | 'metadataSection' | 'newsItem' | 'oauthAccountManager' | 'pageAccountManager' | 'pageAssetListing' | 'pageCalendarEventsSearch' | 'pageCalendar' | 'pagePasswordReset' | 'pageRemoteContent' | 'pageRestResourceJs' | 'pageRestResourceOauthSession' | 'pageRestResourceOauthTwoLegged' | 'pageRestResource' | 'pageSiteMap' | 'pageStandard' | 'paintLayoutBodycopy' | 'paintLayoutPage' | 'pdfFile' | 'pdf' | 'persona' | 'powerpointDoc' | 'pptx' | 'redirectPage' | 'regex' | 'regularExpression' | 'rtfFile' | 'samlAccountManager' | 'saml2Acs' | 'saml2Sls' | 'searchPage' | 'site' | 'textFile' | 'TriggerTypes?' | 'userGroup' | 'wordDoc' | 'workflowSchema' | 'workflowStepCondition' | 'workflowStep' | 'workflowStream' | 'xlsx' | 'xmlFile')[];
@@ -12,6 +12,18 @@ export type DxComponentInputSchema = CoreSchemaMetaSchema & {
12
12
  [k: string]: unknown;
13
13
  };
14
14
  export type CoreSchemaMetaSchema = CoreSchemaMetaSchema1 & CoreSchemaMetaSchema2;
15
+ export type UiMetadata = {
16
+ /**
17
+ * Whether the component should automatically reload when the input is changed
18
+ */
19
+ autoReload?: boolean;
20
+ [k: string]: unknown;
21
+ } & ({
22
+ collapsedByDefault?: boolean;
23
+ } | {
24
+ inlineEditable?: boolean;
25
+ quickOption?: boolean;
26
+ });
15
27
  export type CoreSchemaMetaSchema2 = {
16
28
  $id?: string;
17
29
  'ui:metadata'?: {
@@ -25,26 +37,26 @@ export type CoreSchemaMetaSchema2 = {
25
37
  $comment?: string;
26
38
  title?: string;
27
39
  description?: string;
28
- default?: true;
40
+ default?: unknown;
29
41
  readOnly?: boolean;
30
42
  writeOnly?: boolean;
31
- examples?: true[];
43
+ examples?: unknown[];
32
44
  multipleOf?: number;
33
45
  maximum?: number;
34
46
  exclusiveMaximum?: number;
35
47
  minimum?: number;
36
48
  exclusiveMinimum?: number;
37
49
  maxLength?: number;
38
- minLength?: number & number;
50
+ minLength?: number;
39
51
  pattern?: string;
40
52
  additionalItems?: CoreSchemaMetaSchema2;
41
53
  items?: CoreSchemaMetaSchema2 | SchemaArray;
42
54
  maxItems?: number;
43
- minItems?: number & number;
55
+ minItems?: number;
44
56
  uniqueItems?: boolean;
45
57
  contains?: CoreSchemaMetaSchema2;
46
58
  maxProperties?: number;
47
- minProperties?: number & number;
59
+ minProperties?: number;
48
60
  required?: StringArray;
49
61
  additionalProperties?: CoreSchemaMetaSchema2;
50
62
  definitions?: {
@@ -60,11 +72,11 @@ export type CoreSchemaMetaSchema2 = {
60
72
  [k: string]: CoreSchemaMetaSchema2 | StringArray;
61
73
  };
62
74
  propertyNames?: CoreSchemaMetaSchema2;
63
- const?: true;
75
+ const?: unknown;
64
76
  /**
65
77
  * @minItems 1
66
78
  */
67
- enum?: true[];
79
+ enum?: unknown[];
68
80
  type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink')[];
69
81
  format?: 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'json-pointer' | 'matrix-asset-uri' | 'multi-line' | 'password' | 'phone' | 'regex' | 'relative-json-pointer' | 'uri-reference' | 'uri-template' | 'uri' | 'uuid';
70
82
  matrixAssetTypes?: ('audioFile' | 'bodycopyContainer' | 'bodycopyDiv' | 'calendarEventsSearchPage' | 'contentContainerTemplate' | 'contentTypeMarkdown' | 'contentTypeNestContent' | 'contentTypeRawHtml' | 'contentTypeSnippet' | 'contentTypeWysiwyg' | 'cssFileFolder' | 'cssFile' | 'customForm' | 'dataRecord' | 'designAreaAssetLineage' | 'designAreaBody' | 'designAreaMenuNormal' | 'designAreaNestContent' | 'designCssCustomisation' | 'designCss' | 'designCustomisation' | 'designScss' | 'design' | 'docx' | 'excelDoc' | 'file' | 'folder' | 'gitBridge' | 'googleAnalyticsConnector' | 'googleAnalyticsView' | 'image' | 'jsFileFolder' | 'jsFile' | 'jsonWebToken' | 'layoutManager' | 'layout' | 'link' | 'metadataFieldDate' | 'metadataFieldRelatedAsset' | 'metadataFieldSelect' | 'metadataFieldText' | 'metadataFieldWysiwyg' | 'metadataSchema' | 'metadataSection' | 'newsItem' | 'oauthAccountManager' | 'pageAccountManager' | 'pageAssetListing' | 'pageCalendarEventsSearch' | 'pageCalendar' | 'pagePasswordReset' | 'pageRemoteContent' | 'pageRestResourceJs' | 'pageRestResourceOauthSession' | 'pageRestResourceOauthTwoLegged' | 'pageRestResource' | 'pageSiteMap' | 'pageStandard' | 'paintLayoutBodycopy' | 'paintLayoutPage' | 'pdfFile' | 'pdf' | 'persona' | 'powerpointDoc' | 'pptx' | 'redirectPage' | 'regex' | 'regularExpression' | 'rtfFile' | 'samlAccountManager' | 'saml2Acs' | 'saml2Sls' | 'searchPage' | 'site' | 'textFile' | 'TriggerTypes?' | 'userGroup' | 'wordDoc' | 'workflowSchema' | 'workflowStepCondition' | 'workflowStep' | 'workflowStream' | 'xlsx' | 'xmlFile')[];
@@ -91,26 +103,26 @@ export type CoreSchemaMetaSchema5 = {
91
103
  $comment?: string;
92
104
  title?: string;
93
105
  description?: string;
94
- default?: true;
106
+ default?: unknown;
95
107
  readOnly?: boolean;
96
108
  writeOnly?: boolean;
97
- examples?: true[];
109
+ examples?: unknown[];
98
110
  multipleOf?: number;
99
111
  maximum?: number;
100
112
  exclusiveMaximum?: number;
101
113
  minimum?: number;
102
114
  exclusiveMinimum?: number;
103
115
  maxLength?: number;
104
- minLength?: number & number;
116
+ minLength?: number;
105
117
  pattern?: string;
106
118
  additionalItems?: CoreSchemaMetaSchema5;
107
119
  items?: CoreSchemaMetaSchema5 | SchemaArray1;
108
120
  maxItems?: number;
109
- minItems?: number & number;
121
+ minItems?: number;
110
122
  uniqueItems?: boolean;
111
123
  contains?: CoreSchemaMetaSchema5;
112
124
  maxProperties?: number;
113
- minProperties?: number & number;
125
+ minProperties?: number;
114
126
  required?: StringArray1;
115
127
  additionalProperties?: CoreSchemaMetaSchema5;
116
128
  definitions?: {
@@ -126,11 +138,11 @@ export type CoreSchemaMetaSchema5 = {
126
138
  [k: string]: CoreSchemaMetaSchema5 | StringArray1;
127
139
  };
128
140
  propertyNames?: CoreSchemaMetaSchema5;
129
- const?: true;
141
+ const?: unknown;
130
142
  /**
131
143
  * @minItems 1
132
144
  */
133
- enum?: true[];
145
+ enum?: unknown[];
134
146
  type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string')[];
135
147
  format?: string;
136
148
  contentMediaType?: string;
@@ -231,6 +243,10 @@ export interface ComponentManifest {
231
243
  [k: string]: unknown;
232
244
  };
233
245
  };
246
+ 'ui:metadata'?: {
247
+ autoReload: boolean & string;
248
+ [k: string]: unknown;
249
+ };
234
250
  }
235
251
  /**
236
252
  * Icon for the component in Matrix and the DXP
@@ -268,37 +284,32 @@ export interface ComponentFunction {
268
284
  }
269
285
  export interface CoreSchemaMetaSchema1 {
270
286
  $id?: string;
271
- 'ui:metadata'?: {
272
- collapsedByDefault?: boolean;
273
- } | {
274
- inlineEditable?: boolean;
275
- quickOption?: boolean;
276
- };
287
+ 'ui:metadata'?: UiMetadata;
277
288
  $schema?: string;
278
289
  $ref?: string;
279
290
  $comment?: string;
280
291
  title?: string;
281
292
  description?: string;
282
- default?: true;
293
+ default?: unknown;
283
294
  readOnly?: boolean;
284
295
  writeOnly?: boolean;
285
- examples?: true[];
296
+ examples?: unknown[];
286
297
  multipleOf?: number;
287
298
  maximum?: number;
288
299
  exclusiveMaximum?: number;
289
300
  minimum?: number;
290
301
  exclusiveMinimum?: number;
291
302
  maxLength?: number;
292
- minLength?: number & number;
303
+ minLength?: number;
293
304
  pattern?: string;
294
305
  additionalItems?: CoreSchemaMetaSchema2;
295
306
  items?: CoreSchemaMetaSchema2 | SchemaArray;
296
307
  maxItems?: number;
297
- minItems?: number & number;
308
+ minItems?: number;
298
309
  uniqueItems?: boolean;
299
310
  contains?: CoreSchemaMetaSchema2;
300
311
  maxProperties?: number;
301
- minProperties?: number & number;
312
+ minProperties?: number;
302
313
  required?: StringArray;
303
314
  additionalProperties?: CoreSchemaMetaSchema2;
304
315
  definitions?: {
@@ -314,11 +325,11 @@ export interface CoreSchemaMetaSchema1 {
314
325
  [k: string]: CoreSchemaMetaSchema2 | StringArray;
315
326
  };
316
327
  propertyNames?: CoreSchemaMetaSchema2;
317
- const?: true;
328
+ const?: unknown;
318
329
  /**
319
330
  * @minItems 1
320
331
  */
321
- enum?: true[];
332
+ enum?: unknown[];
322
333
  type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'FormattedText' | 'SquizImage' | 'SquizLink')[];
323
334
  format?: 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'json-pointer' | 'matrix-asset-uri' | 'multi-line' | 'password' | 'phone' | 'regex' | 'relative-json-pointer' | 'uri-reference' | 'uri-template' | 'uri' | 'uuid';
324
335
  matrixAssetTypes?: ('audioFile' | 'bodycopyContainer' | 'bodycopyDiv' | 'calendarEventsSearchPage' | 'contentContainerTemplate' | 'contentTypeMarkdown' | 'contentTypeNestContent' | 'contentTypeRawHtml' | 'contentTypeSnippet' | 'contentTypeWysiwyg' | 'cssFileFolder' | 'cssFile' | 'customForm' | 'dataRecord' | 'designAreaAssetLineage' | 'designAreaBody' | 'designAreaMenuNormal' | 'designAreaNestContent' | 'designCssCustomisation' | 'designCss' | 'designCustomisation' | 'designScss' | 'design' | 'docx' | 'excelDoc' | 'file' | 'folder' | 'gitBridge' | 'googleAnalyticsConnector' | 'googleAnalyticsView' | 'image' | 'jsFileFolder' | 'jsFile' | 'jsonWebToken' | 'layoutManager' | 'layout' | 'link' | 'metadataFieldDate' | 'metadataFieldRelatedAsset' | 'metadataFieldSelect' | 'metadataFieldText' | 'metadataFieldWysiwyg' | 'metadataSchema' | 'metadataSection' | 'newsItem' | 'oauthAccountManager' | 'pageAccountManager' | 'pageAssetListing' | 'pageCalendarEventsSearch' | 'pageCalendar' | 'pagePasswordReset' | 'pageRemoteContent' | 'pageRestResourceJs' | 'pageRestResourceOauthSession' | 'pageRestResourceOauthTwoLegged' | 'pageRestResource' | 'pageSiteMap' | 'pageStandard' | 'paintLayoutBodycopy' | 'paintLayoutPage' | 'pdfFile' | 'pdf' | 'persona' | 'powerpointDoc' | 'pptx' | 'redirectPage' | 'regex' | 'regularExpression' | 'rtfFile' | 'samlAccountManager' | 'saml2Acs' | 'saml2Sls' | 'searchPage' | 'site' | 'textFile' | 'TriggerTypes?' | 'userGroup' | 'wordDoc' | 'workflowSchema' | 'workflowStepCondition' | 'workflowStep' | 'workflowStream' | 'xlsx' | 'xmlFile')[];
@@ -384,26 +395,26 @@ export interface CoreSchemaMetaSchema4 {
384
395
  $comment?: string;
385
396
  title?: string;
386
397
  description?: string;
387
- default?: true;
398
+ default?: unknown;
388
399
  readOnly?: boolean;
389
400
  writeOnly?: boolean;
390
- examples?: true[];
401
+ examples?: unknown[];
391
402
  multipleOf?: number;
392
403
  maximum?: number;
393
404
  exclusiveMaximum?: number;
394
405
  minimum?: number;
395
406
  exclusiveMinimum?: number;
396
407
  maxLength?: number;
397
- minLength?: number & number;
408
+ minLength?: number;
398
409
  pattern?: string;
399
410
  additionalItems?: CoreSchemaMetaSchema5;
400
411
  items?: CoreSchemaMetaSchema5 | SchemaArray1;
401
412
  maxItems?: number;
402
- minItems?: number & number;
413
+ minItems?: number;
403
414
  uniqueItems?: boolean;
404
415
  contains?: CoreSchemaMetaSchema5;
405
416
  maxProperties?: number;
406
- minProperties?: number & number;
417
+ minProperties?: number;
407
418
  required?: StringArray1;
408
419
  additionalProperties?: CoreSchemaMetaSchema5;
409
420
  definitions?: {
@@ -419,11 +430,11 @@ export interface CoreSchemaMetaSchema4 {
419
430
  [k: string]: CoreSchemaMetaSchema5 | StringArray1;
420
431
  };
421
432
  propertyNames?: CoreSchemaMetaSchema5;
422
- const?: true;
433
+ const?: unknown;
423
434
  /**
424
435
  * @minItems 1
425
436
  */
426
- enum?: true[];
437
+ enum?: unknown[];
427
438
  type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string')[];
428
439
  format?: string;
429
440
  contentMediaType?: string;
@@ -449,6 +449,15 @@
449
449
  }
450
450
  ]
451
451
  }
452
+ },
453
+ "ui:metadata": {
454
+ "properties": {
455
+ "autoReload": {
456
+ "type": "boolean",
457
+ "default": "false"
458
+ }
459
+ },
460
+ "required": ["autoReload"]
452
461
  }
453
462
  },
454
463
  "required": ["name", "namespace", "displayName", "description", "version", "functions", "$schema", "mainFunction"],
@@ -275,6 +275,24 @@ describe('manifest/v1', () => {
275
275
  }, 'v1');
276
276
  }, SchemaValidationError_1.SchemaValidationError, 'failed validation: Value `{"collapsedByDefault":true,"quickOption":false,"inlineEditable":true}` in `#/functions/0/input/properties/users-contact/ui:metadata` does not match any given oneof schema');
277
277
  });
278
+ it('should allow the autoReload field on the manifest', async () => {
279
+ const manifest = await fetchTestManifest('validComponent.json');
280
+ expect(validationService.validateManifest({
281
+ ...manifest,
282
+ 'ui:metadata': {
283
+ autoReload: false,
284
+ },
285
+ }, 'v1')).toEqual(true);
286
+ });
287
+ it('autoReload is required if ui:metadata is specified on the root of the manifest', async () => {
288
+ const manifest = await fetchTestManifest('validComponent.json');
289
+ expectToThrowErrorMatchingTypeAndMessage(() => {
290
+ validationService.validateManifest({
291
+ ...manifest,
292
+ 'ui:metadata': {},
293
+ }, 'v1');
294
+ }, SchemaValidationError_1.SchemaValidationError, 'failed validation: The required property `autoReload` is missing at `#/ui:metadata`');
295
+ });
278
296
  it('should fail if ui:metadata property on object with type string has collapsedByDefault flag', async () => {
279
297
  const manifest = await fetchTestManifest('validComponent.json');
280
298
  expectToThrowErrorMatchingTypeAndMessage(() => {
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squiz/dx-json-schema-lib",
3
- "version": "1.76.3",
3
+ "version": "1.78.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -23,7 +23,7 @@
23
23
  "@types/node": "20.12.12",
24
24
  "dotenv": "16.0.3",
25
25
  "jest": "29.4.1",
26
- "json-schema-to-typescript": "11.0.3",
26
+ "json-schema-to-typescript": "14.1.0",
27
27
  "rimraf": "5.0.7",
28
28
  "ts-jest": "29.0.5",
29
29
  "ts-loader": "9.3.1",
@@ -1060,6 +1060,178 @@ describe('JsonSchemaService', () => {
1060
1060
 
1061
1061
  expect(jsonSchemaService.validateInput({ 'my-input': [] }, schema)).toEqual(true);
1062
1062
  });
1063
+
1064
+ it.each([
1065
+ ['with attributes', { title: 'Link title' }],
1066
+ ['without attributes', undefined],
1067
+ ])('should validate link-to-matrix-asset - %s', (_: string, attributes?: Record<string, string>) => {
1068
+ const formattedText: FormattedText = [
1069
+ {
1070
+ type: 'link-to-matrix-asset',
1071
+ matrixIdentifier: 'matrix-identifier',
1072
+ matrixDomain: 'https://matrix-api-url',
1073
+ target: '_blank',
1074
+ matrixAssetId: '12345',
1075
+ children: [{ type: 'text', value: 'hello' }],
1076
+ attributes,
1077
+ },
1078
+ ];
1079
+ const schema = {
1080
+ type: 'object',
1081
+ properties: {
1082
+ myInput: {
1083
+ type: 'FormattedText',
1084
+ },
1085
+ },
1086
+ };
1087
+ const value = {
1088
+ myInput: formattedText,
1089
+ };
1090
+
1091
+ expect(jsonSchemaService.validateInput(value, schema)).toBe(true);
1092
+ });
1093
+
1094
+ it('should throw if link-to-matrix-asset contains a reserved attribute', () => {
1095
+ const formattedText: FormattedText = [
1096
+ {
1097
+ type: 'link-to-matrix-asset',
1098
+ matrixIdentifier: 'matrix-identifier',
1099
+ matrixDomain: 'https://matrix-api-url',
1100
+ target: '_blank',
1101
+ matrixAssetId: '12345',
1102
+ children: [{ type: 'text', value: 'hello' }],
1103
+ attributes: {
1104
+ // href is reserved (resolved from the selected Matrix asset)
1105
+ href: 'https://www.my-matrix.squiz.net',
1106
+ } as any,
1107
+ },
1108
+ ];
1109
+ const schema = {
1110
+ type: 'object',
1111
+ properties: {
1112
+ myInput: {
1113
+ type: 'FormattedText',
1114
+ },
1115
+ },
1116
+ };
1117
+ const value = {
1118
+ myInput: formattedText,
1119
+ };
1120
+
1121
+ expect(() => jsonSchemaService.validateInput(value, schema)).toThrow(/does not match any given oneof schema/);
1122
+ });
1123
+
1124
+ it.each([
1125
+ ['with attributes', { title: 'Link title' }],
1126
+ ['without attributes', undefined],
1127
+ ])('should validate matrix-image - %s', (_: string, attributes?: Record<string, string>) => {
1128
+ const formattedText: FormattedText = [
1129
+ {
1130
+ type: 'matrix-image',
1131
+ matrixIdentifier: 'matrix-identifier',
1132
+ matrixDomain: 'https://matrix-api-url',
1133
+ matrixAssetId: '12345',
1134
+ attributes,
1135
+ },
1136
+ ];
1137
+ const schema = {
1138
+ type: 'object',
1139
+ properties: {
1140
+ myInput: {
1141
+ type: 'FormattedText',
1142
+ },
1143
+ },
1144
+ };
1145
+ const value = {
1146
+ myInput: formattedText,
1147
+ };
1148
+
1149
+ expect(jsonSchemaService.validateInput(value, schema)).toBe(true);
1150
+ });
1151
+
1152
+ it('should throw if matrix-image contains a reserved attribute', () => {
1153
+ const formattedText: FormattedText = [
1154
+ {
1155
+ type: 'matrix-image',
1156
+ matrixIdentifier: 'matrix-identifier',
1157
+ matrixDomain: 'https://matrix-api-url',
1158
+ matrixAssetId: '12345',
1159
+ attributes: {
1160
+ // src is reserved (resolved from the selected Matrix asset)
1161
+ src: 'https://www.my-matrix.squiz.net/image.png',
1162
+ } as any,
1163
+ },
1164
+ ];
1165
+ const schema = {
1166
+ type: 'object',
1167
+ properties: {
1168
+ myInput: {
1169
+ type: 'FormattedText',
1170
+ },
1171
+ },
1172
+ };
1173
+ const value = {
1174
+ myInput: formattedText,
1175
+ };
1176
+
1177
+ expect(() => jsonSchemaService.validateInput(value, schema)).toThrow(/does not match any given oneof schema/);
1178
+ });
1179
+
1180
+ it.each([
1181
+ ['with attributes', { title: 'Link title' }],
1182
+ ['without attributes', undefined],
1183
+ ])('should validate dam-image - %s', (_: string, attributes?: Record<string, string>) => {
1184
+ const formattedText: FormattedText = [
1185
+ {
1186
+ type: 'dam-image',
1187
+ damSystemIdentifier: 'dam-identifier',
1188
+ damObjectId: '12345',
1189
+ damSystemType: 'bynder',
1190
+ attributes,
1191
+ },
1192
+ ];
1193
+ const schema = {
1194
+ type: 'object',
1195
+ properties: {
1196
+ myInput: {
1197
+ type: 'FormattedText',
1198
+ },
1199
+ },
1200
+ };
1201
+ const value = {
1202
+ myInput: formattedText,
1203
+ };
1204
+
1205
+ expect(jsonSchemaService.validateInput(value, schema)).toBe(true);
1206
+ });
1207
+
1208
+ it('should throw if dam-image contains a reserved attribute', () => {
1209
+ const formattedText: FormattedText = [
1210
+ {
1211
+ type: 'dam-image',
1212
+ damSystemIdentifier: 'dam-identifier',
1213
+ damObjectId: '12345',
1214
+ damSystemType: 'bynder',
1215
+ attributes: {
1216
+ // src is reserved (resolved from the selected DAM asset)
1217
+ src: 'https://www.my-matrix.squiz.net/image.png',
1218
+ } as any,
1219
+ },
1220
+ ];
1221
+ const schema = {
1222
+ type: 'object',
1223
+ properties: {
1224
+ myInput: {
1225
+ type: 'FormattedText',
1226
+ },
1227
+ },
1228
+ };
1229
+ const value = {
1230
+ myInput: formattedText,
1231
+ };
1232
+
1233
+ expect(() => jsonSchemaService.validateInput(value, schema)).toThrow(/does not match any given oneof schema/);
1234
+ });
1063
1235
  });
1064
1236
 
1065
1237
  describe('standard inputs', () => {