@rjsf/utils 5.22.3 → 5.23.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/dist/index.js +175 -59
- package/dist/index.js.map +2 -2
- package/dist/utils.esm.js +175 -59
- package/dist/utils.esm.js.map +2 -2
- package/dist/utils.umd.js +187 -63
- package/lib/ErrorSchemaBuilder.js +3 -3
- package/lib/ErrorSchemaBuilder.js.map +1 -1
- package/lib/createSchemaUtils.js +7 -7
- package/lib/createSchemaUtils.js.map +1 -1
- package/lib/schema/getClosestMatchingOption.d.ts +5 -3
- package/lib/schema/getClosestMatchingOption.js +11 -7
- package/lib/schema/getClosestMatchingOption.js.map +1 -1
- package/lib/schema/getDefaultFormState.d.ts +1 -1
- package/lib/schema/getDefaultFormState.js +40 -16
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/getDisplayLabel.d.ts +3 -2
- package/lib/schema/getDisplayLabel.js +4 -3
- package/lib/schema/getDisplayLabel.js.map +1 -1
- package/lib/schema/isFilesArray.d.ts +3 -2
- package/lib/schema/isFilesArray.js +3 -2
- package/lib/schema/isFilesArray.js.map +1 -1
- package/lib/schema/isMultiSelect.d.ts +3 -2
- package/lib/schema/isMultiSelect.js +3 -2
- package/lib/schema/isMultiSelect.js.map +1 -1
- package/lib/schema/isSelect.d.ts +3 -2
- package/lib/schema/isSelect.js +3 -2
- package/lib/schema/isSelect.js.map +1 -1
- package/lib/schema/retrieveSchema.d.ts +2 -1
- package/lib/schema/retrieveSchema.js +5 -4
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/schema/sanitizeDataForNewSchema.d.ts +3 -2
- package/lib/schema/sanitizeDataForNewSchema.js +8 -7
- package/lib/schema/sanitizeDataForNewSchema.js.map +1 -1
- package/lib/schema/toIdSchema.js +1 -1
- package/lib/schema/toIdSchema.js.map +1 -1
- package/lib/schema/toPathSchema.d.ts +3 -2
- package/lib/schema/toPathSchema.js +13 -11
- package/lib/schema/toPathSchema.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +12 -0
- package/package.json +2 -2
- package/src/ErrorSchemaBuilder.ts +3 -3
- package/src/createSchemaUtils.ts +29 -7
- package/src/schema/getClosestMatchingOption.ts +31 -8
- package/src/schema/getDefaultFormState.ts +48 -15
- package/src/schema/getDisplayLabel.ts +6 -3
- package/src/schema/isFilesArray.ts +18 -3
- package/src/schema/isMultiSelect.ts +9 -3
- package/src/schema/isSelect.ts +5 -3
- package/src/schema/retrieveSchema.ts +19 -4
- package/src/schema/sanitizeDataForNewSchema.ts +49 -8
- package/src/schema/toIdSchema.ts +1 -1
- package/src/schema/toPathSchema.ts +45 -12
- package/src/types.ts +12 -0
|
@@ -85,9 +85,10 @@ export declare function resolveAllReferences<S extends StrictRJSFSchema = RJSFSc
|
|
|
85
85
|
* @param theSchema - The schema for which the existing additional properties is desired
|
|
86
86
|
* @param [rootSchema] - The root schema, used to primarily to look up `$ref`s * @param validator
|
|
87
87
|
* @param [aFormData] - The current formData, if any, to assist retrieving a schema
|
|
88
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
88
89
|
* @returns - The updated schema with additional properties stubbed
|
|
89
90
|
*/
|
|
90
|
-
export declare function stubExistingAdditionalProperties<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, theSchema: S, rootSchema?: S, aFormData?: T): S;
|
|
91
|
+
export declare function stubExistingAdditionalProperties<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, theSchema: S, rootSchema?: S, aFormData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S;
|
|
91
92
|
/** Internal handler that retrieves an expanded schema that has had all of its conditions, additional properties,
|
|
92
93
|
* references and dependencies resolved and merged into the `schema` given a `validator`, `rootSchema` and `rawFormData`
|
|
93
94
|
* that is used to do the potentially recursive resolution. If `expandAllBranches` is true, then all possible branches
|
|
@@ -200,9 +200,10 @@ export function resolveAllReferences(schema, rootSchema, recurseList) {
|
|
|
200
200
|
* @param theSchema - The schema for which the existing additional properties is desired
|
|
201
201
|
* @param [rootSchema] - The root schema, used to primarily to look up `$ref`s * @param validator
|
|
202
202
|
* @param [aFormData] - The current formData, if any, to assist retrieving a schema
|
|
203
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
203
204
|
* @returns - The updated schema with additional properties stubbed
|
|
204
205
|
*/
|
|
205
|
-
export function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFormData) {
|
|
206
|
+
export function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFormData, experimental_customMergeAllOf) {
|
|
206
207
|
// Clone the schema so that we don't ruin the consumer's original
|
|
207
208
|
const schema = {
|
|
208
209
|
...theSchema,
|
|
@@ -218,7 +219,7 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
|
|
|
218
219
|
let additionalProperties = {};
|
|
219
220
|
if (typeof schema.additionalProperties !== 'boolean') {
|
|
220
221
|
if (REF_KEY in schema.additionalProperties) {
|
|
221
|
-
additionalProperties = retrieveSchema(validator, { $ref: get(schema.additionalProperties, [REF_KEY]) }, rootSchema, formData);
|
|
222
|
+
additionalProperties = retrieveSchema(validator, { $ref: get(schema.additionalProperties, [REF_KEY]) }, rootSchema, formData, experimental_customMergeAllOf);
|
|
222
223
|
}
|
|
223
224
|
else if ('type' in schema.additionalProperties) {
|
|
224
225
|
additionalProperties = { ...schema.additionalProperties };
|
|
@@ -263,7 +264,7 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
|
|
|
263
264
|
if (!isObject(schema)) {
|
|
264
265
|
return [{}];
|
|
265
266
|
}
|
|
266
|
-
const resolvedSchemas = resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, rawFormData);
|
|
267
|
+
const resolvedSchemas = resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, rawFormData, experimental_customMergeAllOf);
|
|
267
268
|
return resolvedSchemas.flatMap((s) => {
|
|
268
269
|
var _a;
|
|
269
270
|
let resolvedSchema = s;
|
|
@@ -307,7 +308,7 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
|
|
|
307
308
|
}
|
|
308
309
|
const hasAdditionalProperties = ADDITIONAL_PROPERTIES_KEY in resolvedSchema && resolvedSchema.additionalProperties !== false;
|
|
309
310
|
if (hasAdditionalProperties) {
|
|
310
|
-
return stubExistingAdditionalProperties(validator, resolvedSchema, rootSchema, rawFormData);
|
|
311
|
+
return stubExistingAdditionalProperties(validator, resolvedSchema, rootSchema, rawFormData, experimental_customMergeAllOf);
|
|
311
312
|
}
|
|
312
313
|
return resolvedSchema;
|
|
313
314
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieveSchema.js","sourceRoot":"","sources":["../../src/schema/retrieveSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"retrieveSchema.js","sourceRoot":"","sources":["../../src/schema/retrieveSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
|
|
1
|
+
import { Experimental_CustomMergeAllOf, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
|
|
2
2
|
/** Sanitize the `data` associated with the `oldSchema` so it is considered appropriate for the `newSchema`. If the new
|
|
3
3
|
* schema does not contain any properties, then `undefined` is returned to clear all the form data. Due to the nature
|
|
4
4
|
* of schemas, this sanitization happens recursively for nested objects of data. Also, any properties in the old schema
|
|
@@ -43,7 +43,8 @@ import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '..
|
|
|
43
43
|
* @param [newSchema] - The new schema for which the data is being sanitized
|
|
44
44
|
* @param [oldSchema] - The old schema from which the data originated
|
|
45
45
|
* @param [data={}] - The form data associated with the schema, defaulting to an empty object when undefined
|
|
46
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
46
47
|
* @returns - The new form data, with all the fields uniquely associated with the old schema set
|
|
47
48
|
* to `undefined`. Will return `undefined` if the new schema is not an object containing properties.
|
|
48
49
|
*/
|
|
49
|
-
export default function sanitizeDataForNewSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rootSchema: S, newSchema?: S, oldSchema?: S, data?: any): T;
|
|
50
|
+
export default function sanitizeDataForNewSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rootSchema: S, newSchema?: S, oldSchema?: S, data?: any, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): T;
|
|
@@ -47,10 +47,11 @@ const NO_VALUE = Symbol('no Value');
|
|
|
47
47
|
* @param [newSchema] - The new schema for which the data is being sanitized
|
|
48
48
|
* @param [oldSchema] - The old schema from which the data originated
|
|
49
49
|
* @param [data={}] - The form data associated with the schema, defaulting to an empty object when undefined
|
|
50
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
50
51
|
* @returns - The new form data, with all the fields uniquely associated with the old schema set
|
|
51
52
|
* to `undefined`. Will return `undefined` if the new schema is not an object containing properties.
|
|
52
53
|
*/
|
|
53
|
-
export default function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, data = {}) {
|
|
54
|
+
export default function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, data = {}, experimental_customMergeAllOf) {
|
|
54
55
|
// By default, we will clear the form data
|
|
55
56
|
let newFormData;
|
|
56
57
|
// If the new schema is of type object and that object contains a list of properties
|
|
@@ -74,10 +75,10 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
74
75
|
let newKeyedSchema = get(newSchema, [PROPERTIES_KEY, key], {});
|
|
75
76
|
// Resolve the refs if they exist
|
|
76
77
|
if (has(oldKeyedSchema, REF_KEY)) {
|
|
77
|
-
oldKeyedSchema = retrieveSchema(validator, oldKeyedSchema, rootSchema, formValue);
|
|
78
|
+
oldKeyedSchema = retrieveSchema(validator, oldKeyedSchema, rootSchema, formValue, experimental_customMergeAllOf);
|
|
78
79
|
}
|
|
79
80
|
if (has(newKeyedSchema, REF_KEY)) {
|
|
80
|
-
newKeyedSchema = retrieveSchema(validator, newKeyedSchema, rootSchema, formValue);
|
|
81
|
+
newKeyedSchema = retrieveSchema(validator, newKeyedSchema, rootSchema, formValue, experimental_customMergeAllOf);
|
|
81
82
|
}
|
|
82
83
|
// Now get types and see if they are the same
|
|
83
84
|
const oldSchemaTypeForKey = get(oldKeyedSchema, 'type');
|
|
@@ -91,7 +92,7 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
91
92
|
// If it is an object, we'll recurse and store the resulting sanitized data for the key
|
|
92
93
|
if (newSchemaTypeForKey === 'object' || (newSchemaTypeForKey === 'array' && Array.isArray(formValue))) {
|
|
93
94
|
// SIDE-EFFECT: process the new schema type of object recursively to save iterations
|
|
94
|
-
const itemData = sanitizeDataForNewSchema(validator, rootSchema, newKeyedSchema, oldKeyedSchema, formValue);
|
|
95
|
+
const itemData = sanitizeDataForNewSchema(validator, rootSchema, newKeyedSchema, oldKeyedSchema, formValue, experimental_customMergeAllOf);
|
|
95
96
|
if (itemData !== undefined || newSchemaTypeForKey === 'array') {
|
|
96
97
|
// only put undefined values for the array type and not the object type
|
|
97
98
|
nestedData[key] = itemData;
|
|
@@ -139,10 +140,10 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
139
140
|
!Array.isArray(oldSchemaItems) &&
|
|
140
141
|
!Array.isArray(newSchemaItems)) {
|
|
141
142
|
if (has(oldSchemaItems, REF_KEY)) {
|
|
142
|
-
oldSchemaItems = retrieveSchema(validator, oldSchemaItems, rootSchema, data);
|
|
143
|
+
oldSchemaItems = retrieveSchema(validator, oldSchemaItems, rootSchema, data, experimental_customMergeAllOf);
|
|
143
144
|
}
|
|
144
145
|
if (has(newSchemaItems, REF_KEY)) {
|
|
145
|
-
newSchemaItems = retrieveSchema(validator, newSchemaItems, rootSchema, data);
|
|
146
|
+
newSchemaItems = retrieveSchema(validator, newSchemaItems, rootSchema, data, experimental_customMergeAllOf);
|
|
146
147
|
}
|
|
147
148
|
// Now get types and see if they are the same
|
|
148
149
|
const oldSchemaType = get(oldSchemaItems, 'type');
|
|
@@ -152,7 +153,7 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
152
153
|
const maxItems = get(newSchema, 'maxItems', -1);
|
|
153
154
|
if (newSchemaType === 'object') {
|
|
154
155
|
newFormData = data.reduce((newValue, aValue) => {
|
|
155
|
-
const itemValue = sanitizeDataForNewSchema(validator, rootSchema, newSchemaItems, oldSchemaItems, aValue);
|
|
156
|
+
const itemValue = sanitizeDataForNewSchema(validator, rootSchema, newSchemaItems, oldSchemaItems, aValue, experimental_customMergeAllOf);
|
|
156
157
|
if (itemValue !== undefined && (maxItems < 0 || newValue.length < maxItems)) {
|
|
157
158
|
newValue.push(itemValue);
|
|
158
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeDataForNewSchema.js","sourceRoot":"","sources":["../../src/schema/sanitizeDataForNewSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,GAAG,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sanitizeDataForNewSchema.js","sourceRoot":"","sources":["../../src/schema/sanitizeDataForNewSchema.ts"],"names":[],"mappings":"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"}
|
package/lib/schema/toIdSchema.js
CHANGED
|
@@ -20,7 +20,7 @@ import getSchemaType from '../getSchemaType';
|
|
|
20
20
|
*/
|
|
21
21
|
function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
|
|
22
22
|
if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
|
|
23
|
-
const _schema = retrieveSchema(validator, schema, rootSchema, formData);
|
|
23
|
+
const _schema = retrieveSchema(validator, schema, rootSchema, formData, experimental_customMergeAllOf);
|
|
24
24
|
const sameSchemaIndex = _recurseList.findIndex((item) => isEqual(item, _schema));
|
|
25
25
|
if (sameSchemaIndex === -1) {
|
|
26
26
|
return toIdSchemaInternal(validator, _schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList.concat(_schema), experimental_customMergeAllOf);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toIdSchema.js","sourceRoot":"","sources":["../../src/schema/toIdSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,QAAQ,MAAM,aAAa,CAAC;AAUnC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,SAAiC,EACjC,MAAS,EACT,QAAgB,EAChB,WAAmB,EACnB,EAAkB,EAClB,UAAc,EACd,QAAY,EACZ,eAAoB,EAAE,EACtB,6BAAgE;IAEhE,IAAI,OAAO,IAAI,MAAM,IAAI,gBAAgB,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,EAAE;QAC3E,MAAM,OAAO,GAAG,cAAc,CAAU,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"toIdSchema.js","sourceRoot":"","sources":["../../src/schema/toIdSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,QAAQ,MAAM,aAAa,CAAC;AAUnC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,SAAiC,EACjC,MAAS,EACT,QAAgB,EAChB,WAAmB,EACnB,EAAkB,EAClB,UAAc,EACd,QAAY,EACZ,eAAoB,EAAE,EACtB,6BAAgE;IAEhE,IAAI,OAAO,IAAI,MAAM,IAAI,gBAAgB,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,EAAE;QAC3E,MAAM,OAAO,GAAG,cAAc,CAAU,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QAChH,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;YAC1B,OAAO,kBAAkB,CACvB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,WAAW,EACX,EAAE,EACF,UAAU,EACV,QAAQ,EACR,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAC5B,6BAA6B,CAC9B,CAAC;SACH;KACF;IACD,IAAI,SAAS,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE;QAC7D,OAAO,kBAAkB,CACvB,SAAS,EACT,GAAG,CAAC,MAAM,EAAE,SAAS,CAAM,EAC3B,QAAQ,EACR,WAAW,EACX,EAAE,EACF,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,6BAA6B,CAC9B,CAAC;KACH;IACD,MAAM,GAAG,GAAG,EAAE,IAAI,QAAQ,CAAC;IAC3B,MAAM,QAAQ,GAAgB,EAAE,GAAG,EAAiB,CAAC;IACrD,IAAI,aAAa,CAAI,MAAM,CAAC,KAAK,QAAQ,IAAI,cAAc,IAAI,MAAM,EAAE;QACrE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;YACrD,QAAwC,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAClE,SAAS,EACT,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAC5B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,UAAU;YACV,wEAAwE;YACxE,kEAAkE;YAClE,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,EACrB,YAAY,EACZ,6BAA6B,CAC9B,CAAC;SACH;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,SAAiC,EACjC,MAAS,EACT,EAAkB,EAClB,UAAc,EACd,QAAY,EACZ,QAAQ,GAAG,MAAM,EACjB,WAAW,GAAG,GAAG,EACjB,6BAAgE;IAEhE,OAAO,kBAAkB,CACvB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,WAAW,EACX,EAAE,EACF,UAAU,EACV,QAAQ,EACR,SAAS,EACT,6BAA6B,CAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormContextType, PathSchema, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
|
|
1
|
+
import { Experimental_CustomMergeAllOf, FormContextType, PathSchema, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
|
|
2
2
|
/** Generates an `PathSchema` object for the `schema`, recursively
|
|
3
3
|
*
|
|
4
4
|
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
@@ -6,6 +6,7 @@ import { FormContextType, PathSchema, RJSFSchema, StrictRJSFSchema, ValidatorTyp
|
|
|
6
6
|
* @param [name=''] - The base name for the schema
|
|
7
7
|
* @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
|
|
8
8
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
9
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
9
10
|
* @returns - The `PathSchema` object for the `schema`
|
|
10
11
|
*/
|
|
11
|
-
export default function toPathSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, name?: string, rootSchema?: S, formData?: T): PathSchema<T>;
|
|
12
|
+
export default function toPathSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, name?: string, rootSchema?: S, formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): PathSchema<T>;
|
|
@@ -14,14 +14,15 @@ import retrieveSchema from './retrieveSchema';
|
|
|
14
14
|
* @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
|
|
15
15
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
16
16
|
* @param [_recurseList=[]] - The list of retrieved schemas currently being recursed, used to prevent infinite recursion
|
|
17
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
17
18
|
* @returns - The `PathSchema` object for the `schema`
|
|
18
19
|
*/
|
|
19
|
-
function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _recurseList = []) {
|
|
20
|
+
function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
|
|
20
21
|
if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
|
|
21
|
-
const _schema = retrieveSchema(validator, schema, rootSchema, formData);
|
|
22
|
+
const _schema = retrieveSchema(validator, schema, rootSchema, formData, experimental_customMergeAllOf);
|
|
22
23
|
const sameSchemaIndex = _recurseList.findIndex((item) => isEqual(item, _schema));
|
|
23
24
|
if (sameSchemaIndex === -1) {
|
|
24
|
-
return toPathSchemaInternal(validator, _schema, name, rootSchema, formData, _recurseList.concat(_schema));
|
|
25
|
+
return toPathSchemaInternal(validator, _schema, name, rootSchema, formData, _recurseList.concat(_schema), experimental_customMergeAllOf);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
let pathSchema = {
|
|
@@ -30,11 +31,11 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
30
31
|
if (ONE_OF_KEY in schema || ANY_OF_KEY in schema) {
|
|
31
32
|
const xxxOf = ONE_OF_KEY in schema ? schema.oneOf : schema.anyOf;
|
|
32
33
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
33
|
-
const index = getClosestMatchingOption(validator, rootSchema, formData, xxxOf, 0, discriminator);
|
|
34
|
+
const index = getClosestMatchingOption(validator, rootSchema, formData, xxxOf, 0, discriminator, experimental_customMergeAllOf);
|
|
34
35
|
const _schema = xxxOf[index];
|
|
35
36
|
pathSchema = {
|
|
36
37
|
...pathSchema,
|
|
37
|
-
...toPathSchemaInternal(validator, _schema, name, rootSchema, formData, _recurseList),
|
|
38
|
+
...toPathSchemaInternal(validator, _schema, name, rootSchema, formData, _recurseList, experimental_customMergeAllOf),
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
if (ADDITIONAL_PROPERTIES_KEY in schema && schema[ADDITIONAL_PROPERTIES_KEY] !== false) {
|
|
@@ -45,10 +46,10 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
45
46
|
if (Array.isArray(schemaItems)) {
|
|
46
47
|
formData.forEach((element, i) => {
|
|
47
48
|
if (schemaItems[i]) {
|
|
48
|
-
pathSchema[i] = toPathSchemaInternal(validator, schemaItems[i], `${name}.${i}`, rootSchema, element, _recurseList);
|
|
49
|
+
pathSchema[i] = toPathSchemaInternal(validator, schemaItems[i], `${name}.${i}`, rootSchema, element, _recurseList, experimental_customMergeAllOf);
|
|
49
50
|
}
|
|
50
51
|
else if (schemaAdditionalItems) {
|
|
51
|
-
pathSchema[i] = toPathSchemaInternal(validator, schemaAdditionalItems, `${name}.${i}`, rootSchema, element, _recurseList);
|
|
52
|
+
pathSchema[i] = toPathSchemaInternal(validator, schemaAdditionalItems, `${name}.${i}`, rootSchema, element, _recurseList, experimental_customMergeAllOf);
|
|
52
53
|
}
|
|
53
54
|
else {
|
|
54
55
|
console.warn(`Unable to generate path schema for "${name}.${i}". No schema defined for it`);
|
|
@@ -57,7 +58,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
57
58
|
}
|
|
58
59
|
else {
|
|
59
60
|
formData.forEach((element, i) => {
|
|
60
|
-
pathSchema[i] = toPathSchemaInternal(validator, schemaItems, `${name}.${i}`, rootSchema, element, _recurseList);
|
|
61
|
+
pathSchema[i] = toPathSchemaInternal(validator, schemaItems, `${name}.${i}`, rootSchema, element, _recurseList, experimental_customMergeAllOf);
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
}
|
|
@@ -67,7 +68,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
67
68
|
pathSchema[property] = toPathSchemaInternal(validator, field, `${name}.${property}`, rootSchema,
|
|
68
69
|
// It's possible that formData is not an object -- this can happen if an
|
|
69
70
|
// array item has just been added, but not populated with data yet
|
|
70
|
-
get(formData, [property]), _recurseList);
|
|
71
|
+
get(formData, [property]), _recurseList, experimental_customMergeAllOf);
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
return pathSchema;
|
|
@@ -79,9 +80,10 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
79
80
|
* @param [name=''] - The base name for the schema
|
|
80
81
|
* @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
|
|
81
82
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
83
|
+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
|
|
82
84
|
* @returns - The `PathSchema` object for the `schema`
|
|
83
85
|
*/
|
|
84
|
-
export default function toPathSchema(validator, schema, name = '', rootSchema, formData) {
|
|
85
|
-
return toPathSchemaInternal(validator, schema, name, rootSchema, formData);
|
|
86
|
+
export default function toPathSchema(validator, schema, name = '', rootSchema, formData, experimental_customMergeAllOf) {
|
|
87
|
+
return toPathSchemaInternal(validator, schema, name, rootSchema, formData, undefined, experimental_customMergeAllOf);
|
|
86
88
|
}
|
|
87
89
|
//# sourceMappingURL=toPathSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toPathSchema.js","sourceRoot":"","sources":["../../src/schema/toPathSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EACL,UAAU,EACV,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,OAAO,EACP,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,+BAA+B,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"toPathSchema.js","sourceRoot":"","sources":["../../src/schema/toPathSchema.ts"],"names":[],"mappings":"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"}
|