@squiz/dx-json-schema-lib 1.87.0 → 1.89.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/CHANGELOG.md +14 -0
- package/lib/browser.d.ts +21 -0
- package/lib/browser.js +61 -0
- package/lib/browser.js.map +1 -0
- package/lib/formatted-text/v1/resolveFormattedTextNodes.d.ts +5 -2
- package/lib/formatted-text/v1/resolveFormattedTextNodes.js +12 -6
- package/lib/formatted-text/v1/resolveFormattedTextNodes.js.map +1 -1
- package/lib/formatted-text/v1/resolveFormattedTextNodes.spec.js +58 -0
- package/lib/formatted-text/v1/resolveFormattedTextNodes.spec.js.map +1 -1
- package/lib/index.d.ts +1 -15
- package/lib/index.js +4 -38
- package/lib/index.js.map +1 -1
- package/lib/primitiveTypes/FormattedText.js +36 -3
- package/lib/primitiveTypes/FormattedText.js.map +1 -1
- package/lib/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.js +93 -0
- package/lib/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.js.map +1 -0
- package/lib/utils/jsonBreakDetector/checks/findConstChanges.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/checks/findConstChanges.js +75 -0
- package/lib/utils/jsonBreakDetector/checks/findConstChanges.js.map +1 -0
- package/lib/utils/jsonBreakDetector/checks/findEnumNarrowing.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/checks/findEnumNarrowing.js +90 -0
- package/lib/utils/jsonBreakDetector/checks/findEnumNarrowing.js.map +1 -0
- package/lib/utils/jsonBreakDetector/checks/findFieldTypeChanges.d.ts +8 -0
- package/lib/utils/jsonBreakDetector/checks/findFieldTypeChanges.js +86 -0
- package/lib/utils/jsonBreakDetector/checks/findFieldTypeChanges.js.map +1 -0
- package/lib/utils/jsonBreakDetector/checks/findNewRequiredFields.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/checks/findNewRequiredFields.js +68 -0
- package/lib/utils/jsonBreakDetector/checks/findNewRequiredFields.js.map +1 -0
- package/lib/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.js +179 -0
- package/lib/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.js.map +1 -0
- package/lib/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.js +106 -0
- package/lib/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.js.map +1 -0
- package/lib/utils/jsonBreakDetector/compareSubschemas.d.ts +9 -0
- package/lib/utils/jsonBreakDetector/compareSubschemas.js +49 -0
- package/lib/utils/jsonBreakDetector/compareSubschemas.js.map +1 -0
- package/lib/utils/jsonBreakDetector/dereference/dereference.d.ts +6 -0
- package/lib/utils/jsonBreakDetector/dereference/dereference.js +52 -0
- package/lib/utils/jsonBreakDetector/dereference/dereference.js.map +1 -0
- package/lib/utils/jsonBreakDetector/dereference/dereference.spec.d.ts +1 -0
- package/lib/utils/jsonBreakDetector/dereference/dereference.spec.js +225 -0
- package/lib/utils/jsonBreakDetector/dereference/dereference.spec.js.map +1 -0
- package/lib/utils/jsonBreakDetector/jsonBreakDetector.d.ts +8 -0
- package/lib/utils/jsonBreakDetector/jsonBreakDetector.js +35 -0
- package/lib/utils/jsonBreakDetector/jsonBreakDetector.js.map +1 -0
- package/lib/utils/jsonBreakDetector/jsonBreakDetector.spec.d.ts +1 -0
- package/lib/utils/jsonBreakDetector/jsonBreakDetector.spec.js +2761 -0
- package/lib/utils/jsonBreakDetector/jsonBreakDetector.spec.js.map +1 -0
- package/lib/utils/jsonBreakDetector/types.d.ts +25 -0
- package/lib/utils/jsonBreakDetector/types.js +28 -0
- package/lib/utils/jsonBreakDetector/types.js.map +1 -0
- package/package.json +10 -1
- package/src/browser.ts +27 -0
- package/src/formatted-text/v1/resolveFormattedTextNodes.spec.ts +70 -0
- package/src/formatted-text/v1/resolveFormattedTextNodes.ts +19 -4
- package/src/index.ts +4 -20
- package/src/primitiveTypes/FormattedText.ts +1 -1
- package/src/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.ts +121 -0
- package/src/utils/jsonBreakDetector/checks/findConstChanges.ts +97 -0
- package/src/utils/jsonBreakDetector/checks/findEnumNarrowing.ts +124 -0
- package/src/utils/jsonBreakDetector/checks/findFieldTypeChanges.ts +105 -0
- package/src/utils/jsonBreakDetector/checks/findNewRequiredFields.ts +97 -0
- package/src/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.ts +243 -0
- package/src/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.ts +139 -0
- package/src/utils/jsonBreakDetector/compareSubschemas.ts +67 -0
- package/src/utils/jsonBreakDetector/dereference/dereference.spec.ts +245 -0
- package/src/utils/jsonBreakDetector/dereference/dereference.ts +65 -0
- package/src/utils/jsonBreakDetector/jsonBreakDetector.spec.ts +3041 -0
- package/src/utils/jsonBreakDetector/jsonBreakDetector.ts +36 -0
- package/src/utils/jsonBreakDetector/types.ts +29 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonBreakDetector.spec.js","sourceRoot":"","sources":["../../../src/utils/jsonBreakDetector/jsonBreakDetector.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface JsonBreak {
|
|
2
|
+
location: string;
|
|
3
|
+
message: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const BREAK_MESSAGES: {
|
|
6
|
+
readonly required: "New required field";
|
|
7
|
+
readonly dependentRequired: "New dependent required field";
|
|
8
|
+
readonly type: "Field type changed";
|
|
9
|
+
readonly enum: "Enum options removed";
|
|
10
|
+
readonly enumAdded: "Enum added";
|
|
11
|
+
readonly const: "Const value changed";
|
|
12
|
+
readonly minItems: "Array minItems increased";
|
|
13
|
+
readonly maxItems: "Array maxItems lowered";
|
|
14
|
+
readonly uniqueItems: "Array uniqueItems added";
|
|
15
|
+
readonly minimum: "Numeric minimum increased";
|
|
16
|
+
readonly exclusiveMinimum: "Numeric exclusiveMinimum increased";
|
|
17
|
+
readonly maximum: "Numeric maximum lowered";
|
|
18
|
+
readonly exclusiveMaximum: "Numeric exclusiveMaximum lowered";
|
|
19
|
+
readonly multipleOf: "Numeric multipleOf narrowed";
|
|
20
|
+
readonly minLength: "String minLength increased";
|
|
21
|
+
readonly maxLength: "String maxLength lowered";
|
|
22
|
+
readonly format: "String format changed";
|
|
23
|
+
readonly pattern: "String pattern changed";
|
|
24
|
+
};
|
|
25
|
+
export declare function pushBreak(breaks: JsonBreak[], location: string, message: string): void;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BREAK_MESSAGES = void 0;
|
|
4
|
+
exports.pushBreak = pushBreak;
|
|
5
|
+
exports.BREAK_MESSAGES = {
|
|
6
|
+
required: 'New required field',
|
|
7
|
+
dependentRequired: 'New dependent required field',
|
|
8
|
+
type: 'Field type changed',
|
|
9
|
+
enum: 'Enum options removed',
|
|
10
|
+
enumAdded: 'Enum added',
|
|
11
|
+
const: 'Const value changed',
|
|
12
|
+
minItems: 'Array minItems increased',
|
|
13
|
+
maxItems: 'Array maxItems lowered',
|
|
14
|
+
uniqueItems: 'Array uniqueItems added',
|
|
15
|
+
minimum: 'Numeric minimum increased',
|
|
16
|
+
exclusiveMinimum: 'Numeric exclusiveMinimum increased',
|
|
17
|
+
maximum: 'Numeric maximum lowered',
|
|
18
|
+
exclusiveMaximum: 'Numeric exclusiveMaximum lowered',
|
|
19
|
+
multipleOf: 'Numeric multipleOf narrowed',
|
|
20
|
+
minLength: 'String minLength increased',
|
|
21
|
+
maxLength: 'String maxLength lowered',
|
|
22
|
+
format: 'String format changed',
|
|
23
|
+
pattern: 'String pattern changed',
|
|
24
|
+
};
|
|
25
|
+
function pushBreak(breaks, location, message) {
|
|
26
|
+
breaks.push({ location, message });
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/jsonBreakDetector/types.ts"],"names":[],"mappings":";;;AA0BA,8BAEC;AAvBY,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,oBAAoB;IAC9B,iBAAiB,EAAE,8BAA8B;IACjD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,sBAAsB;IAC5B,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,qBAAqB;IAC5B,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,wBAAwB;IAClC,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,2BAA2B;IACpC,gBAAgB,EAAE,oCAAoC;IACtD,OAAO,EAAE,yBAAyB;IAClC,gBAAgB,EAAE,kCAAkC;IACpD,UAAU,EAAE,6BAA6B;IACzC,SAAS,EAAE,4BAA4B;IACvC,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,uBAAuB;IAC/B,OAAO,EAAE,wBAAwB;CACzB,CAAC;AAEX,SAAgB,SAAS,CAAC,MAAmB,EAAE,QAAgB,EAAE,OAAe;IAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@squiz/dx-json-schema-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.89.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
|
+
"browser": "./lib/browser.js",
|
|
6
7
|
"exports": {
|
|
7
8
|
".": {
|
|
8
9
|
"types": "./lib/index.d.ts",
|
|
10
|
+
"browser": {
|
|
11
|
+
"types": "./lib/browser.d.ts",
|
|
12
|
+
"default": "./lib/browser.js"
|
|
13
|
+
},
|
|
9
14
|
"default": "./lib/index.js"
|
|
10
15
|
},
|
|
16
|
+
"./browser": {
|
|
17
|
+
"types": "./lib/browser.d.ts",
|
|
18
|
+
"default": "./lib/browser.js"
|
|
19
|
+
},
|
|
11
20
|
"./lib/*": "./lib/*",
|
|
12
21
|
"./src/*": "./src/*",
|
|
13
22
|
"./package.json": "./package.json"
|
package/src/browser.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe public API. Omits User API manifest validation (`fs` / `path`).
|
|
3
|
+
* Node consumers should import the package root, which re-exports this module
|
|
4
|
+
* plus `./manifest/userApi/v1`.
|
|
5
|
+
*/
|
|
6
|
+
export * as MANIFEST_MODELS from './manifest/v1/manifestModels';
|
|
7
|
+
export * as MANIFEST_SCHEMAS from './manifest/v1/manifestSchemas';
|
|
8
|
+
|
|
9
|
+
export * as FORMATTED_TEXT_MODELS from './formatted-text/v1/formattedTextModels';
|
|
10
|
+
export * as FORMATTED_TEXT_SCHEMAS from './formatted-text/v1/formattedTextSchemas';
|
|
11
|
+
export * from './formatted-text/v1/resolveFormattedTextNodes';
|
|
12
|
+
|
|
13
|
+
export * as SUB_SCHEMAS from './manifest/v1/subSchemas';
|
|
14
|
+
|
|
15
|
+
export * from './JsonSchemaService';
|
|
16
|
+
export * from './JsonValidationService';
|
|
17
|
+
export * from './errors/SchemaValidationError';
|
|
18
|
+
export * from './errors/JsonResolutionError';
|
|
19
|
+
|
|
20
|
+
export * from './validators/utils/matrixAssetValidator';
|
|
21
|
+
|
|
22
|
+
export * from './jsonTypeResolution/TypeResolver';
|
|
23
|
+
export * from './jsonTypeResolution/TypeResolverBuilder';
|
|
24
|
+
export * from './primitiveTypes';
|
|
25
|
+
export * from './resolvableTypes';
|
|
26
|
+
|
|
27
|
+
export * from './utils/jsonBreakDetector/jsonBreakDetector';
|
|
@@ -747,6 +747,76 @@ describe('resolveFormattedNodes', () => {
|
|
|
747
747
|
expect(result).toEqual(expectedItem);
|
|
748
748
|
});
|
|
749
749
|
|
|
750
|
+
it('should not join formatted text when shouldJoinFormattedText returns false', async () => {
|
|
751
|
+
const testSchema = {
|
|
752
|
+
type: 'object',
|
|
753
|
+
properties: {
|
|
754
|
+
myProp: { type: 'FormattedText' },
|
|
755
|
+
},
|
|
756
|
+
required: ['myProp'],
|
|
757
|
+
};
|
|
758
|
+
const testItem = {
|
|
759
|
+
myProp: [{ type: 'text', value: 'hello' }],
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
const result = await resolveFormattedTextNodes(testItem, testSchema, testResolverMap, {
|
|
763
|
+
withJoin: '',
|
|
764
|
+
shouldJoinFormattedText: () => false,
|
|
765
|
+
});
|
|
766
|
+
|
|
767
|
+
expect(result).toEqual({
|
|
768
|
+
myProp: [{ type: 'text', value: 'hello' }],
|
|
769
|
+
});
|
|
770
|
+
});
|
|
771
|
+
|
|
772
|
+
it('should use selectResolvers to choose resolvers per formatted text field', async () => {
|
|
773
|
+
const testSchema = {
|
|
774
|
+
type: 'object',
|
|
775
|
+
properties: {
|
|
776
|
+
plainText: { type: 'FormattedText' },
|
|
777
|
+
dynamicText: { type: 'FormattedText' },
|
|
778
|
+
},
|
|
779
|
+
required: ['plainText', 'dynamicText'],
|
|
780
|
+
};
|
|
781
|
+
const testItem = {
|
|
782
|
+
plainText: [{ type: 'text', value: 'plain' }],
|
|
783
|
+
dynamicText: [
|
|
784
|
+
{
|
|
785
|
+
type: 'matrix-image',
|
|
786
|
+
matrixIdentifier: 'matrix-id',
|
|
787
|
+
matrixAssetId: '123',
|
|
788
|
+
matrixDomain: 'https://matrix.example.com',
|
|
789
|
+
},
|
|
790
|
+
],
|
|
791
|
+
};
|
|
792
|
+
const htmlResolvers = {
|
|
793
|
+
text: async (node: { value: string }) => `html:${node.value}`,
|
|
794
|
+
default: async (node: { type: string }) => `html:${node.type}`,
|
|
795
|
+
};
|
|
796
|
+
const structuredResolvers = {
|
|
797
|
+
'matrix-image': async (node: { matrixAssetId: string }) => ({
|
|
798
|
+
type: 'text',
|
|
799
|
+
value: `matrix:${node.matrixAssetId}`,
|
|
800
|
+
}),
|
|
801
|
+
};
|
|
802
|
+
|
|
803
|
+
const result = await resolveFormattedTextNodes(
|
|
804
|
+
testItem,
|
|
805
|
+
testSchema,
|
|
806
|
+
htmlResolvers as any,
|
|
807
|
+
{
|
|
808
|
+
withJoin: '',
|
|
809
|
+
selectResolvers: (formattedText: any) =>
|
|
810
|
+
formattedText.some((node: any) => node.type === 'matrix-image') ? structuredResolvers : htmlResolvers,
|
|
811
|
+
} as any,
|
|
812
|
+
);
|
|
813
|
+
|
|
814
|
+
expect(result).toEqual({
|
|
815
|
+
plainText: 'html:plain',
|
|
816
|
+
dynamicText: [{ type: 'text', value: 'matrix:123' }],
|
|
817
|
+
});
|
|
818
|
+
});
|
|
819
|
+
|
|
750
820
|
it('should resolve a FormattedText value which is an empty array', async () => {
|
|
751
821
|
const testSchema = {
|
|
752
822
|
type: 'object',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import JSONQuery from '@sagold/json-query';
|
|
2
2
|
import { JSONSchema } from '@squiz/json-schema-library';
|
|
3
|
-
import { ComponentInputSchema } from '
|
|
3
|
+
import { ComponentInputSchema } from '../../JsonValidationService';
|
|
4
4
|
import {
|
|
5
5
|
BaseFormattedNodes,
|
|
6
6
|
ComponentNode,
|
|
@@ -49,14 +49,24 @@ export type FullyResolvedNodesMap = ResolverConfig<FullyResolvedNodes, string>;
|
|
|
49
49
|
|
|
50
50
|
interface ResolveOptions<O extends ResolutionOutput<FormattedNode>> {
|
|
51
51
|
withJoin?: string;
|
|
52
|
+
shouldJoinFormattedText?: (formattedText: FormattedText) => boolean;
|
|
53
|
+
selectResolvers?: (
|
|
54
|
+
formattedText: FormattedText,
|
|
55
|
+
resolvers: Partial<ResolverConfig<any, O>>,
|
|
56
|
+
) => Partial<ResolverConfig<any, O>>;
|
|
52
57
|
handleError?: (error: unknown, pointer: string) => O | never;
|
|
53
58
|
}
|
|
54
59
|
|
|
60
|
+
export type FormattedTextResolveOptions<O extends ResolutionOutput<FormattedNode> = string> = Pick<
|
|
61
|
+
ResolveOptions<O>,
|
|
62
|
+
'shouldJoinFormattedText' | 'selectResolvers'
|
|
63
|
+
>;
|
|
64
|
+
|
|
55
65
|
export async function resolveFormattedTextNodes<O extends ResolutionOutput<FormattedNode>>(
|
|
56
66
|
contentItem: any,
|
|
57
67
|
contentSchema: JSONSchema,
|
|
58
68
|
resolvers: Partial<ResolverConfig<any, O>>,
|
|
59
|
-
{ withJoin, handleError }: ResolveOptions<O> = {},
|
|
69
|
+
{ withJoin, shouldJoinFormattedText, selectResolvers, handleError }: ResolveOptions<O> = {},
|
|
60
70
|
) {
|
|
61
71
|
const resolvedDataSetters: Promise<(newItem: typeof contentItem) => typeof contentItem>[] = [];
|
|
62
72
|
ComponentInputSchema.each(
|
|
@@ -67,7 +77,8 @@ export async function resolveFormattedTextNodes<O extends ResolutionOutput<Forma
|
|
|
67
77
|
return;
|
|
68
78
|
}
|
|
69
79
|
const formattedText = data as FormattedText;
|
|
70
|
-
const
|
|
80
|
+
const fieldResolvers = selectResolvers?.(formattedText, resolvers) ?? resolvers;
|
|
81
|
+
const textResolvers = formattedText.map((t) => resolveFormattedText(t, fieldResolvers));
|
|
71
82
|
|
|
72
83
|
const resolvedItem = Promise.all(textResolvers)
|
|
73
84
|
.catch((error) => {
|
|
@@ -78,7 +89,11 @@ export async function resolveFormattedTextNodes<O extends ResolutionOutput<Forma
|
|
|
78
89
|
})
|
|
79
90
|
.then((resolvedData: unknown[]) => (newItem: typeof contentItem) => {
|
|
80
91
|
let joinedData: string | null = null;
|
|
81
|
-
|
|
92
|
+
const canJoin =
|
|
93
|
+
resolvedData.every((d): d is string => typeof d === 'string') &&
|
|
94
|
+
typeof withJoin === 'string' &&
|
|
95
|
+
(shouldJoinFormattedText?.(formattedText) ?? true);
|
|
96
|
+
if (canJoin) {
|
|
82
97
|
joinedData = resolvedData.join(withJoin);
|
|
83
98
|
}
|
|
84
99
|
return JSONQuery.set(newItem, pointer, joinedData ?? resolvedData);
|
package/src/index.ts
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export * as FORMATTED_TEXT_MODELS from './formatted-text/v1/formattedTextModels';
|
|
5
|
-
export * as FORMATTED_TEXT_SCHEMAS from './formatted-text/v1/formattedTextSchemas';
|
|
6
|
-
export * from './formatted-text/v1/resolveFormattedTextNodes';
|
|
7
|
-
|
|
8
|
-
export * as SUB_SCHEMAS from './manifest/v1/subSchemas';
|
|
9
|
-
|
|
10
|
-
export * from './JsonSchemaService';
|
|
11
|
-
export * from './JsonValidationService';
|
|
12
|
-
export * from './errors/SchemaValidationError';
|
|
13
|
-
export * from './errors/JsonResolutionError';
|
|
14
|
-
|
|
15
|
-
export * from './validators/utils/matrixAssetValidator';
|
|
16
|
-
|
|
17
|
-
export * from './jsonTypeResolution/TypeResolver';
|
|
18
|
-
export * from './jsonTypeResolution/TypeResolverBuilder';
|
|
19
|
-
export * from './primitiveTypes';
|
|
20
|
-
export * from './resolvableTypes';
|
|
1
|
+
// This is split into a browser safe version and a node version
|
|
2
|
+
// The browser version is used in the dxp-component-dev-ui component editing UI
|
|
3
|
+
export * from './browser';
|
|
21
4
|
|
|
5
|
+
// Export that need to use node only functionality should be exported below
|
|
22
6
|
export * from './manifest/userApi/v1';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FORMATTED_TEXT_SCHEMAS } from '..';
|
|
2
1
|
import { BaseFormattedNodes, FormattedText } from '../formatted-text/v1/formattedText';
|
|
2
|
+
import * as FORMATTED_TEXT_SCHEMAS from '../formatted-text/v1/formattedTextSchemas';
|
|
3
3
|
import { PrimitiveType } from '../jsonTypeResolution/TypeResolver';
|
|
4
4
|
|
|
5
5
|
export const FormattedTextType = PrimitiveType<FormattedText, 'FormattedText'>({
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { compareContainsSubschemas } from '../compareSubschemas';
|
|
2
|
+
import { BREAK_MESSAGES, JsonBreak, pushBreak } from '../types';
|
|
3
|
+
import { JSONSchema } from '@squiz/json-schema-library';
|
|
4
|
+
|
|
5
|
+
/** Recursively detects narrowed array constraints at each schema level, accumulating dotted paths. */
|
|
6
|
+
export function findArrayConstraintNarrowing(
|
|
7
|
+
beforeSchema: JSONSchema,
|
|
8
|
+
afterSchema: JSONSchema,
|
|
9
|
+
path: string,
|
|
10
|
+
breaks: JsonBreak[],
|
|
11
|
+
): void {
|
|
12
|
+
const beforeProperties = beforeSchema.properties ?? {};
|
|
13
|
+
const afterProperties = afterSchema.properties ?? {};
|
|
14
|
+
|
|
15
|
+
// Recurse into latest nested object properties.
|
|
16
|
+
for (const [key, afterPropertySchema] of Object.entries(afterProperties)) {
|
|
17
|
+
// Skip if the property is not an object.
|
|
18
|
+
if (!afterPropertySchema || typeof afterPropertySchema !== 'object') {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const beforePropertySchema = beforeProperties[key];
|
|
23
|
+
const childPath = path ? `${path}.${key}` : key;
|
|
24
|
+
|
|
25
|
+
// Only compare array constraints on fields that existed in the before schema. New fields are skipped.
|
|
26
|
+
if (beforePropertySchema && typeof beforePropertySchema === 'object') {
|
|
27
|
+
checkArrayConstraintNarrowing(beforePropertySchema, afterPropertySchema, childPath, breaks);
|
|
28
|
+
findArrayConstraintNarrowing(beforePropertySchema, afterPropertySchema, childPath, breaks);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const beforeItems = beforeSchema.items;
|
|
33
|
+
const afterItems = afterSchema.items;
|
|
34
|
+
|
|
35
|
+
// Recurse into latest nested array items.
|
|
36
|
+
if (afterItems && typeof afterItems === 'object' && !Array.isArray(afterItems)) {
|
|
37
|
+
const itemsPath = path ? `${path}[]` : '[]';
|
|
38
|
+
const beforeItemSchema =
|
|
39
|
+
beforeItems && typeof beforeItems === 'object' && !Array.isArray(beforeItems) ? beforeItems : undefined;
|
|
40
|
+
|
|
41
|
+
// Only compare array constraints on items that existed in the before schema. New items are skipped.
|
|
42
|
+
if (beforeItemSchema) {
|
|
43
|
+
checkArrayConstraintNarrowing(beforeItemSchema, afterItems, itemsPath, breaks);
|
|
44
|
+
findArrayConstraintNarrowing(beforeItemSchema, afterItems, itemsPath, breaks);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** Returns true when a schema represents an array field. */
|
|
50
|
+
function isArrayFieldSchema(schema: JSONSchema): boolean {
|
|
51
|
+
const type = schema.type;
|
|
52
|
+
if (type === 'array') {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Type can be defined as a union of strings e.g. ['array', 'string'], so check if 'array' is included.
|
|
57
|
+
if (Array.isArray(type) && type.includes('array')) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
schema.minItems !== undefined ||
|
|
63
|
+
schema.maxItems !== undefined ||
|
|
64
|
+
schema.uniqueItems !== undefined ||
|
|
65
|
+
schema.contains !== undefined
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Returns true when afterSchema requires more array items than beforeSchema. */
|
|
70
|
+
function hasMinItemsIncreased(beforeSchema: JSONSchema, afterSchema: JSONSchema): boolean {
|
|
71
|
+
const beforeMinItems = beforeSchema.minItems ?? 0;
|
|
72
|
+
const afterMinItems = afterSchema.minItems ?? 0;
|
|
73
|
+
return afterMinItems > beforeMinItems;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** Returns true when afterSchema allows fewer array items than beforeSchema. */
|
|
77
|
+
function hasMaxItemsLowered(beforeSchema: JSONSchema, afterSchema: JSONSchema): boolean {
|
|
78
|
+
const beforeMaxItems = beforeSchema.maxItems;
|
|
79
|
+
const afterMaxItems = afterSchema.maxItems;
|
|
80
|
+
|
|
81
|
+
if (afterMaxItems === undefined) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (beforeMaxItems === undefined) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return afterMaxItems < beforeMaxItems;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** Returns true when afterSchema adds a uniqueItems requirement. */
|
|
93
|
+
function hasUniqueItemsAdded(beforeSchema: JSONSchema, afterSchema: JSONSchema): boolean {
|
|
94
|
+
return afterSchema.uniqueItems === true && beforeSchema.uniqueItems !== true;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Checks array constraint keywords on a single schema for narrowing changes. */
|
|
98
|
+
export function checkArrayConstraintNarrowing(
|
|
99
|
+
beforeSchema: JSONSchema,
|
|
100
|
+
afterSchema: JSONSchema,
|
|
101
|
+
path: string,
|
|
102
|
+
breaks: JsonBreak[],
|
|
103
|
+
): void {
|
|
104
|
+
if (!isArrayFieldSchema(beforeSchema) && !isArrayFieldSchema(afterSchema)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (hasMinItemsIncreased(beforeSchema, afterSchema)) {
|
|
109
|
+
pushBreak(breaks, path, BREAK_MESSAGES.minItems);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (hasMaxItemsLowered(beforeSchema, afterSchema)) {
|
|
113
|
+
pushBreak(breaks, path, BREAK_MESSAGES.maxItems);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (hasUniqueItemsAdded(beforeSchema, afterSchema)) {
|
|
117
|
+
pushBreak(breaks, path, BREAK_MESSAGES.uniqueItems);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
compareContainsSubschemas(beforeSchema, afterSchema, path, breaks);
|
|
121
|
+
}
|