@rjsf/utils 5.21.1 → 5.22.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.
Files changed (36) hide show
  1. package/dist/index.js +201 -62
  2. package/dist/index.js.map +3 -3
  3. package/dist/utils.esm.js +201 -62
  4. package/dist/utils.esm.js.map +2 -2
  5. package/dist/utils.umd.js +199 -69
  6. package/lib/ErrorSchemaBuilder.d.ts +3 -3
  7. package/lib/ErrorSchemaBuilder.js +2 -1
  8. package/lib/ErrorSchemaBuilder.js.map +1 -1
  9. package/lib/createSchemaUtils.d.ts +3 -2
  10. package/lib/createSchemaUtils.js +17 -11
  11. package/lib/createSchemaUtils.js.map +1 -1
  12. package/lib/mergeDefaultsWithFormData.d.ts +4 -2
  13. package/lib/mergeDefaultsWithFormData.js +9 -4
  14. package/lib/mergeDefaultsWithFormData.js.map +1 -1
  15. package/lib/schema/getClosestMatchingOption.js +6 -2
  16. package/lib/schema/getClosestMatchingOption.js.map +1 -1
  17. package/lib/schema/getDefaultFormState.d.ts +6 -3
  18. package/lib/schema/getDefaultFormState.js +43 -22
  19. package/lib/schema/getDefaultFormState.js.map +1 -1
  20. package/lib/schema/retrieveSchema.d.ts +19 -10
  21. package/lib/schema/retrieveSchema.js +54 -26
  22. package/lib/schema/retrieveSchema.js.map +1 -1
  23. package/lib/schema/toIdSchema.d.ts +3 -2
  24. package/lib/schema/toIdSchema.js +8 -6
  25. package/lib/schema/toIdSchema.js.map +1 -1
  26. package/lib/tsconfig.tsbuildinfo +1 -1
  27. package/lib/types.d.ts +19 -3
  28. package/package.json +2 -2
  29. package/src/ErrorSchemaBuilder.ts +6 -5
  30. package/src/createSchemaUtils.ts +43 -11
  31. package/src/mergeDefaultsWithFormData.ts +16 -4
  32. package/src/schema/getClosestMatchingOption.ts +6 -2
  33. package/src/schema/getDefaultFormState.ts +58 -19
  34. package/src/schema/retrieveSchema.ts +125 -28
  35. package/src/schema/toIdSchema.ts +32 -7
  36. package/src/types.ts +20 -2
@@ -1,4 +1,4 @@
1
- import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
1
+ import { Experimental_CustomMergeAllOf, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
2
2
  /** Retrieves an expanded schema that has had all of its conditions, additional properties, references and dependencies
3
3
  * resolved and merged into the `schema` given a `validator`, `rootSchema` and `rawFormData` that is used to do the
4
4
  * potentially recursive resolution.
@@ -7,9 +7,10 @@ import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '..
7
7
  * @param schema - The schema for which retrieving a schema is desired
8
8
  * @param [rootSchema={}] - The root schema that will be forwarded to all the APIs
9
9
  * @param [rawFormData] - The current formData, if any, to assist retrieving a schema
10
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
10
11
  * @returns - The schema having its conditions, additional properties, references and dependencies resolved
11
12
  */
12
- export default function retrieveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema?: S, rawFormData?: T): S;
13
+ export default function retrieveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema?: S, rawFormData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S;
13
14
  /** Resolves a conditional block (if/else/then) by removing the condition and merging the appropriate conditional branch
14
15
  * with the rest of the schema. If `expandAllBranches` is true, then the `retrieveSchemaInteral()` results for both
15
16
  * conditions will be returned.
@@ -21,9 +22,10 @@ export default function retrieveSchema<T = any, S extends StrictRJSFSchema = RJS
21
22
  * dependencies as a list of schemas
22
23
  * @param recurseList - The list of recursive references already processed
23
24
  * @param [formData] - The current formData to assist retrieving a schema
25
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
24
26
  * @returns - A list of schemas with the appropriate conditions resolved, possibly with all branches expanded
25
27
  */
26
- export declare function resolveCondition<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
28
+ export declare function resolveCondition<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
27
29
  /** Given a list of lists of allOf, anyOf or oneOf values, create a list of lists of all permutations of the values. The
28
30
  * `listOfLists` is expected to be all resolved values of the 1st...nth schemas within an `allOf`, `anyOf` or `oneOf`.
29
31
  * From those lists, build a matrix for each `xxxOf` where there is more than one schema for a row in the list of lists.
@@ -50,9 +52,10 @@ export declare function getAllPermutationsOfXxxOf<S extends StrictRJSFSchema = R
50
52
  * as a list of schemas
51
53
  * @param recurseList - The list of recursive references already processed
52
54
  * @param [formData] - The current formData, if any, to assist retrieving a schema
55
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
53
56
  * @returns - The list of schemas having its references, dependencies and allOf schemas resolved
54
57
  */
55
- export declare function resolveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
58
+ export declare function resolveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
56
59
  /** Resolves all references within a schema and then returns the `retrieveSchemaInternal()` if the resolved schema is
57
60
  * actually different than the original. Passes the `expandAllBranches` flag down to the `retrieveSchemaInternal()`
58
61
  * helper call.
@@ -64,9 +67,10 @@ export declare function resolveSchema<T = any, S extends StrictRJSFSchema = RJSF
64
67
  * as a list of schemas
65
68
  * @param recurseList - The list of recursive references already processed
66
69
  * @param [formData] - The current formData, if any, to assist retrieving a schema
70
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
67
71
  * @returns - The list schemas retrieved after having all references resolved
68
72
  */
69
- export declare function resolveReference<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
73
+ export declare function resolveReference<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
70
74
  /** Resolves all references within the schema itself as well as any of its properties and array items.
71
75
  *
72
76
  * @param schema - The schema for which resolving all references is desired
@@ -96,10 +100,11 @@ export declare function stubExistingAdditionalProperties<T = any, S extends Stri
96
100
  * @param [expandAllBranches=false] - Flag, if true, will return all possible branches of conditions, any/oneOf and
97
101
  * dependencies as a list of schemas
98
102
  * @param [recurseList=[]] - The optional, list of recursive references already processed
103
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
99
104
  * @returns - The schema(s) resulting from having its conditions, additional properties, references and dependencies
100
105
  * resolved. Multiple schemas may be returned if `expandAllBranches` is true.
101
106
  */
102
- export declare function retrieveSchemaInternal<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, rawFormData?: T, expandAllBranches?: boolean, recurseList?: string[]): S[];
107
+ export declare function retrieveSchemaInternal<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, rawFormData?: T, expandAllBranches?: boolean, recurseList?: string[], experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
103
108
  /** Resolves an `anyOf` or `oneOf` within a schema (if present) to the list of schemas returned from
104
109
  * `retrieveSchemaInternal()` for the best matching option. If `expandAllBranches` is true, then a list of schemas for ALL
105
110
  * options are retrieved and returned.
@@ -123,9 +128,10 @@ export declare function resolveAnyOrOneOfSchemas<T = any, S extends StrictRJSFSc
123
128
  * as a list of schemas
124
129
  * @param recurseList - The list of recursive references already processed
125
130
  * @param [formData] - The current formData, if any, to assist retrieving a schema
131
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
126
132
  * @returns - The list of schemas with their dependencies resolved
127
133
  */
128
- export declare function resolveDependencies<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
134
+ export declare function resolveDependencies<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
129
135
  /** Processes all the `dependencies` recursively into the list of `resolvedSchema`s as needed. Passes the
130
136
  * `expandAllBranches` flag down to the `withDependentSchema()` and the recursive `processDependencies()` helper calls.
131
137
  *
@@ -137,9 +143,10 @@ export declare function resolveDependencies<T = any, S extends StrictRJSFSchema
137
143
  * as a list of schemas
138
144
  * @param recurseList - The list of recursive references already processed
139
145
  * @param [formData] - The current formData, if any, to assist retrieving a schema
146
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
140
147
  * @returns - The schema with the `dependencies` resolved into it
141
148
  */
142
- export declare function processDependencies<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, dependencies: S['dependencies'], resolvedSchema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
149
+ export declare function processDependencies<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, dependencies: S['dependencies'], resolvedSchema: S, rootSchema: S, expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
143
150
  /** Updates a schema with additionally required properties added
144
151
  *
145
152
  * @param schema - The schema for which resolving a dependent properties is desired
@@ -159,9 +166,10 @@ export declare function withDependentProperties<S extends StrictRJSFSchema = RJS
159
166
  * as a list of schemas
160
167
  * @param recurseList - The list of recursive references already processed
161
168
  * @param [formData]- The current formData to assist retrieving a schema
169
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
162
170
  * @returns - The list of schemas with the dependent schema resolved into them
163
171
  */
164
- export declare function withDependentSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, dependencyKey: string, dependencyValue: S, expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
172
+ export declare function withDependentSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, dependencyKey: string, dependencyValue: S, expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
165
173
  /** Returns a list of `schema`s with the best choice from the `oneOf` options merged into it. If `expandAllBranches` is
166
174
  * true, then a list of schemas for ALL options are retrieved and returned. Passes the `expandAllBranches` flag down to
167
175
  * the `retrieveSchemaInternal()` helper call.
@@ -175,6 +183,7 @@ export declare function withDependentSchema<T = any, S extends StrictRJSFSchema
175
183
  * as a list of schemas
176
184
  * @param recurseList - The list of recursive references already processed
177
185
  * @param [formData] - The current formData to assist retrieving a schema
186
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
178
187
  * @returns - Either an array containing the best matching option or all options if `expandAllBranches` is true
179
188
  */
180
- export declare function withExactlyOneSubschema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, dependencyKey: string, oneOf: S['oneOf'], expandAllBranches: boolean, recurseList: string[], formData?: T): S[];
189
+ export declare function withExactlyOneSubschema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, dependencyKey: string, oneOf: S['oneOf'], expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
@@ -22,10 +22,11 @@ import getFirstMatchingOption from './getFirstMatchingOption';
22
22
  * @param schema - The schema for which retrieving a schema is desired
23
23
  * @param [rootSchema={}] - The root schema that will be forwarded to all the APIs
24
24
  * @param [rawFormData] - The current formData, if any, to assist retrieving a schema
25
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
25
26
  * @returns - The schema having its conditions, additional properties, references and dependencies resolved
26
27
  */
27
- export default function retrieveSchema(validator, schema, rootSchema = {}, rawFormData) {
28
- return retrieveSchemaInternal(validator, schema, rootSchema, rawFormData)[0];
28
+ export default function retrieveSchema(validator, schema, rootSchema = {}, rawFormData, experimental_customMergeAllOf) {
29
+ return retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, undefined, undefined, experimental_customMergeAllOf)[0];
29
30
  }
30
31
  /** Resolves a conditional block (if/else/then) by removing the condition and merging the appropriate conditional branch
31
32
  * with the rest of the schema. If `expandAllBranches` is true, then the `retrieveSchemaInteral()` results for both
@@ -38,31 +39,32 @@ export default function retrieveSchema(validator, schema, rootSchema = {}, rawFo
38
39
  * dependencies as a list of schemas
39
40
  * @param recurseList - The list of recursive references already processed
40
41
  * @param [formData] - The current formData to assist retrieving a schema
42
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
41
43
  * @returns - A list of schemas with the appropriate conditions resolved, possibly with all branches expanded
42
44
  */
43
- export function resolveCondition(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
45
+ export function resolveCondition(validator, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
44
46
  const { if: expression, then, else: otherwise, ...resolvedSchemaLessConditional } = schema;
45
47
  const conditionValue = validator.isValid(expression, formData || {}, rootSchema);
46
48
  let resolvedSchemas = [resolvedSchemaLessConditional];
47
49
  let schemas = [];
48
50
  if (expandAllBranches) {
49
51
  if (then && typeof then !== 'boolean') {
50
- schemas = schemas.concat(retrieveSchemaInternal(validator, then, rootSchema, formData, expandAllBranches, recurseList));
52
+ schemas = schemas.concat(retrieveSchemaInternal(validator, then, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
51
53
  }
52
54
  if (otherwise && typeof otherwise !== 'boolean') {
53
- schemas = schemas.concat(retrieveSchemaInternal(validator, otherwise, rootSchema, formData, expandAllBranches, recurseList));
55
+ schemas = schemas.concat(retrieveSchemaInternal(validator, otherwise, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
54
56
  }
55
57
  }
56
58
  else {
57
59
  const conditionalSchema = conditionValue ? then : otherwise;
58
60
  if (conditionalSchema && typeof conditionalSchema !== 'boolean') {
59
- schemas = schemas.concat(retrieveSchemaInternal(validator, conditionalSchema, rootSchema, formData, expandAllBranches, recurseList));
61
+ schemas = schemas.concat(retrieveSchemaInternal(validator, conditionalSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
60
62
  }
61
63
  }
62
64
  if (schemas.length) {
63
65
  resolvedSchemas = schemas.map((s) => mergeSchemas(resolvedSchemaLessConditional, s));
64
66
  }
65
- return resolvedSchemas.flatMap((s) => retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList));
67
+ return resolvedSchemas.flatMap((s) => retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
66
68
  }
67
69
  /** Given a list of lists of allOf, anyOf or oneOf values, create a list of lists of all permutations of the values. The
68
70
  * `listOfLists` is expected to be all resolved values of the 1st...nth schemas within an `allOf`, `anyOf` or `oneOf`.
@@ -102,9 +104,10 @@ export function getAllPermutationsOfXxxOf(listOfLists) {
102
104
  * as a list of schemas
103
105
  * @param recurseList - The list of recursive references already processed
104
106
  * @param [formData] - The current formData, if any, to assist retrieving a schema
107
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
105
108
  * @returns - The list of schemas having its references, dependencies and allOf schemas resolved
106
109
  */
107
- export function resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
110
+ export function resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
108
111
  const updatedSchemas = resolveReference(validator, schema, rootSchema, expandAllBranches, recurseList, formData);
109
112
  if (updatedSchemas.length > 1 || updatedSchemas[0] !== schema) {
110
113
  // return the updatedSchemas array if it has either multiple schemas within it
@@ -114,11 +117,11 @@ export function resolveSchema(validator, schema, rootSchema, expandAllBranches,
114
117
  if (DEPENDENCIES_KEY in schema) {
115
118
  const resolvedSchemas = resolveDependencies(validator, schema, rootSchema, expandAllBranches, recurseList, formData);
116
119
  return resolvedSchemas.flatMap((s) => {
117
- return retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList);
120
+ return retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
118
121
  });
119
122
  }
120
123
  if (ALL_OF_KEY in schema && Array.isArray(schema.allOf)) {
121
- const allOfSchemaElements = schema.allOf.map((allOfSubschema) => retrieveSchemaInternal(validator, allOfSubschema, rootSchema, formData, expandAllBranches, recurseList));
124
+ const allOfSchemaElements = schema.allOf.map((allOfSubschema) => retrieveSchemaInternal(validator, allOfSubschema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
122
125
  const allPermutations = getAllPermutationsOfXxxOf(allOfSchemaElements);
123
126
  return allPermutations.map((permutation) => ({ ...schema, allOf: permutation }));
124
127
  }
@@ -136,13 +139,14 @@ export function resolveSchema(validator, schema, rootSchema, expandAllBranches,
136
139
  * as a list of schemas
137
140
  * @param recurseList - The list of recursive references already processed
138
141
  * @param [formData] - The current formData, if any, to assist retrieving a schema
142
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
139
143
  * @returns - The list schemas retrieved after having all references resolved
140
144
  */
141
- export function resolveReference(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
145
+ export function resolveReference(validator, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
142
146
  const updatedSchema = resolveAllReferences(schema, rootSchema, recurseList);
143
147
  if (updatedSchema !== schema) {
144
148
  // Only call this if the schema was actually changed by the `resolveAllReferences()` function
145
- return retrieveSchemaInternal(validator, updatedSchema, rootSchema, formData, expandAllBranches, recurseList);
149
+ return retrieveSchemaInternal(validator, updatedSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
146
150
  }
147
151
  return [schema];
148
152
  }
@@ -251,18 +255,20 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
251
255
  * @param [expandAllBranches=false] - Flag, if true, will return all possible branches of conditions, any/oneOf and
252
256
  * dependencies as a list of schemas
253
257
  * @param [recurseList=[]] - The optional, list of recursive references already processed
258
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
254
259
  * @returns - The schema(s) resulting from having its conditions, additional properties, references and dependencies
255
260
  * resolved. Multiple schemas may be returned if `expandAllBranches` is true.
256
261
  */
257
- export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expandAllBranches = false, recurseList = []) {
262
+ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expandAllBranches = false, recurseList = [], experimental_customMergeAllOf) {
258
263
  if (!isObject(schema)) {
259
264
  return [{}];
260
265
  }
261
266
  const resolvedSchemas = resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, rawFormData);
262
267
  return resolvedSchemas.flatMap((s) => {
268
+ var _a;
263
269
  let resolvedSchema = s;
264
270
  if (IF_KEY in resolvedSchema) {
265
- return resolveCondition(validator, resolvedSchema, rootSchema, expandAllBranches, recurseList, rawFormData);
271
+ return resolveCondition(validator, resolvedSchema, rootSchema, expandAllBranches, recurseList, rawFormData, experimental_customMergeAllOf);
266
272
  }
267
273
  if (ALL_OF_KEY in resolvedSchema) {
268
274
  // resolve allOf schemas
@@ -271,9 +277,27 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
271
277
  return [...allOf, restOfSchema];
272
278
  }
273
279
  try {
274
- resolvedSchema = mergeAllOf(resolvedSchema, {
275
- deep: false,
280
+ const withContainsSchemas = [];
281
+ const withoutContainsSchemas = [];
282
+ (_a = resolvedSchema.allOf) === null || _a === void 0 ? void 0 : _a.forEach((s) => {
283
+ if (typeof s === 'object' && s.contains) {
284
+ withContainsSchemas.push(s);
285
+ }
286
+ else {
287
+ withoutContainsSchemas.push(s);
288
+ }
276
289
  });
290
+ if (withContainsSchemas.length) {
291
+ resolvedSchema = { ...resolvedSchema, allOf: withoutContainsSchemas };
292
+ }
293
+ resolvedSchema = experimental_customMergeAllOf
294
+ ? experimental_customMergeAllOf(resolvedSchema)
295
+ : mergeAllOf(resolvedSchema, {
296
+ deep: false,
297
+ });
298
+ if (withContainsSchemas.length) {
299
+ resolvedSchema.allOf = withContainsSchemas;
300
+ }
277
301
  }
278
302
  catch (e) {
279
303
  console.warn('could not merge subschemas in allOf:\n', e);
@@ -337,13 +361,14 @@ export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAl
337
361
  * as a list of schemas
338
362
  * @param recurseList - The list of recursive references already processed
339
363
  * @param [formData] - The current formData, if any, to assist retrieving a schema
364
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
340
365
  * @returns - The list of schemas with their dependencies resolved
341
366
  */
342
- export function resolveDependencies(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
367
+ export function resolveDependencies(validator, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
343
368
  // Drop the dependencies from the source schema.
344
369
  const { dependencies, ...remainingSchema } = schema;
345
370
  const resolvedSchemas = resolveAnyOrOneOfSchemas(validator, remainingSchema, rootSchema, expandAllBranches, formData);
346
- return resolvedSchemas.flatMap((resolvedSchema) => processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData));
371
+ return resolvedSchemas.flatMap((resolvedSchema) => processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
347
372
  }
348
373
  /** Processes all the `dependencies` recursively into the list of `resolvedSchema`s as needed. Passes the
349
374
  * `expandAllBranches` flag down to the `withDependentSchema()` and the recursive `processDependencies()` helper calls.
@@ -356,9 +381,10 @@ export function resolveDependencies(validator, schema, rootSchema, expandAllBran
356
381
  * as a list of schemas
357
382
  * @param recurseList - The list of recursive references already processed
358
383
  * @param [formData] - The current formData, if any, to assist retrieving a schema
384
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
359
385
  * @returns - The schema with the `dependencies` resolved into it
360
386
  */
361
- export function processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData) {
387
+ export function processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
362
388
  let schemas = [resolvedSchema];
363
389
  // Process dependencies updating the local schema properties as appropriate.
364
390
  for (const dependencyKey in dependencies) {
@@ -375,9 +401,9 @@ export function processDependencies(validator, dependencies, resolvedSchema, roo
375
401
  schemas[0] = withDependentProperties(resolvedSchema, dependencyValue);
376
402
  }
377
403
  else if (isObject(dependencyValue)) {
378
- schemas = withDependentSchema(validator, resolvedSchema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData);
404
+ schemas = withDependentSchema(validator, resolvedSchema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData, experimental_customMergeAllOf);
379
405
  }
380
- return schemas.flatMap((schema) => processDependencies(validator, remainingDependencies, schema, rootSchema, expandAllBranches, recurseList, formData));
406
+ return schemas.flatMap((schema) => processDependencies(validator, remainingDependencies, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
381
407
  }
382
408
  return schemas;
383
409
  }
@@ -408,10 +434,11 @@ export function withDependentProperties(schema, additionallyRequired) {
408
434
  * as a list of schemas
409
435
  * @param recurseList - The list of recursive references already processed
410
436
  * @param [formData]- The current formData to assist retrieving a schema
437
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
411
438
  * @returns - The list of schemas with the dependent schema resolved into them
412
439
  */
413
- export function withDependentSchema(validator, schema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData) {
414
- const dependentSchemas = retrieveSchemaInternal(validator, dependencyValue, rootSchema, formData, expandAllBranches, recurseList);
440
+ export function withDependentSchema(validator, schema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
441
+ const dependentSchemas = retrieveSchemaInternal(validator, dependencyValue, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
415
442
  return dependentSchemas.flatMap((dependent) => {
416
443
  const { oneOf, ...dependentSchema } = dependent;
417
444
  schema = mergeSchemas(schema, dependentSchema);
@@ -427,7 +454,7 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
427
454
  return resolveReference(validator, subschema, rootSchema, expandAllBranches, recurseList, formData);
428
455
  });
429
456
  const allPermutations = getAllPermutationsOfXxxOf(resolvedOneOfs);
430
- return allPermutations.flatMap((resolvedOneOf) => withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, resolvedOneOf, expandAllBranches, recurseList, formData));
457
+ return allPermutations.flatMap((resolvedOneOf) => withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, resolvedOneOf, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
431
458
  });
432
459
  }
433
460
  /** Returns a list of `schema`s with the best choice from the `oneOf` options merged into it. If `expandAllBranches` is
@@ -443,9 +470,10 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
443
470
  * as a list of schemas
444
471
  * @param recurseList - The list of recursive references already processed
445
472
  * @param [formData] - The current formData to assist retrieving a schema
473
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
446
474
  * @returns - Either an array containing the best matching option or all options if `expandAllBranches` is true
447
475
  */
448
- export function withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, oneOf, expandAllBranches, recurseList, formData) {
476
+ export function withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, oneOf, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
449
477
  const validSubschemas = oneOf.filter((subschema) => {
450
478
  if (typeof subschema === 'boolean' || !subschema || !subschema.properties) {
451
479
  return false;
@@ -470,7 +498,7 @@ export function withExactlyOneSubschema(validator, schema, rootSchema, dependenc
470
498
  const subschema = s;
471
499
  const [dependentSubschema] = splitKeyElementFromObject(dependencyKey, subschema.properties);
472
500
  const dependentSchema = { ...subschema, properties: dependentSubschema };
473
- const schemas = retrieveSchemaInternal(validator, dependentSchema, rootSchema, formData, expandAllBranches, recurseList);
501
+ const schemas = retrieveSchemaInternal(validator, dependentSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
474
502
  return schemas.map((s) => mergeSchemas(schema, s));
475
503
  });
476
504
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrieveSchema.js","sourceRoot":"","sources":["../../src/schema/retrieveSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,UAAuB,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,OAAO,EACP,cAAc,EACd,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,oBAAoB,EAAE,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,+BAA+B,MAAM,oCAAoC,CAAC;AACjF,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAE3C,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,SAAiC,EAAE,MAAS,EAAE,aAAgB,EAAO,EAAE,WAAe;IACtF,OAAO,sBAAsB,CAAU,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,6BAA6B,EAAE,GAAG,MAAM,CAAC;IAE3F,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,UAAe,EAAE,QAAQ,IAAK,EAAQ,EAAE,UAAU,CAAC,CAAC;IAC7F,IAAI,eAAe,GAAG,CAAC,6BAAkC,CAAC,CAAC;IAC3D,IAAI,OAAO,GAAQ,EAAE,CAAC;IACtB,IAAI,iBAAiB,EAAE;QACrB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE;YACrC,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,sBAAsB,CAAU,SAAS,EAAE,IAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAC5G,CAAC;SACH;QACD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;YAC/C,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,sBAAsB,CAAU,SAAS,EAAE,SAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CACjH,CAAC;SACH;KACF;SAAM;QACL,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,IAAI,iBAAiB,IAAI,OAAO,iBAAiB,KAAK,SAAS,EAAE;YAC/D,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,sBAAsB,CACpB,SAAS,EACT,iBAAsB,EACtB,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,WAAW,CACZ,CACF,CAAC;SACH;KACF;IACD,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,6BAA6B,EAAE,CAAC,CAAM,CAAC,CAAC;KAC3F;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,sBAAsB,CAAU,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CACpG,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CAA0C,WAAkB;IACnG,MAAM,eAAe,GAAU,WAAW,CAAC,MAAM,CAC/C,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE;QACrB,iHAAiH;QACjH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3G;QACD,+EAA+E;QAC/E,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO,YAAY,CAAC;IACtB,CAAC,EACD,CAAC,EAAE,CAAU,CAAC,2BAA2B;KAC1C,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,MAAM,cAAc,GAAG,gBAAgB,CACrC,SAAS,EACT,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,QAAQ,CACT,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;QAC7D,8EAA8E;QAC9E,6DAA6D;QAC7D,OAAO,cAAc,CAAC;KACvB;IACD,IAAI,gBAAgB,IAAI,MAAM,EAAE;QAC9B,MAAM,eAAe,GAAG,mBAAmB,CACzC,SAAS,EACT,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,QAAQ,CACT,CAAC;QACF,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,OAAO,sBAAsB,CAAU,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;KACJ;IACD,IAAI,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACvD,MAAM,mBAAmB,GAAU,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CACrE,sBAAsB,CACpB,SAAS,EACT,cAAmB,EACnB,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,WAAW,CACZ,CACF,CAAC;QACF,MAAM,eAAe,GAAG,yBAAyB,CAAI,mBAAmB,CAAC,CAAC;QAC1E,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;KAClF;IACD,uFAAuF;IACvF,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,MAAM,aAAa,GAAG,oBAAoB,CAAI,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC/E,IAAI,aAAa,KAAK,MAAM,EAAE;QAC5B,6FAA6F;QAC7F,OAAO,sBAAsB,CAC3B,SAAS,EACT,aAAa,EACb,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,WAAW,CACZ,CAAC;KACH;IACD,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAS,EACT,UAAa,EACb,WAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC;KACf;IACD,IAAI,cAAc,GAAM,MAAM,CAAC;IAC/B,wBAAwB;IACxB,IAAI,OAAO,IAAI,cAAc,EAAE;QAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC;QAChD,oDAAoD;QACpD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAK,CAAC,EAAE;YAC/B,OAAO,cAAc,CAAC;SACvB;QACD,WAAW,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC;QACxB,6CAA6C;QAC7C,MAAM,SAAS,GAAG,oBAAoB,CAAI,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,cAAc,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;KACnD;IAED,IAAI,cAAc,IAAI,cAAc,EAAE;QACpC,MAAM,aAAa,GAAe,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,SAAS,CAC5B,cAAc,CAAC,cAAc,CAAE,EAC/B,CAAC,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAa,CAAC,GAAG,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACtE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,EACD,EAAgB,CACjB,CAAC;QACF,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrD,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;KACxE;IAED,IACE,SAAS,IAAI,cAAc;QAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC;QACpC,OAAO,cAAc,CAAC,KAAK,KAAK,SAAS,EACzC;QACA,cAAc,GAAG;YACf,GAAG,cAAc;YACjB,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,KAAU,EAAE,UAAU,EAAE,WAAW,CAAC;SAChF,CAAC;KACH;IAED,OAAO,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAI9C,SAAiC,EAAE,SAAY,EAAE,UAAc,EAAE,SAAa;IAC9E,iEAAiE;IACjE,MAAM,MAAM,GAAG;QACb,GAAG,SAAS;QACZ,UAAU,EAAE,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE;KACxC,CAAC;IAEF,kCAAkC;IAClC,MAAM,QAAQ,GAAsB,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE;YAC5B,uDAAuD;YACvD,OAAO;SACR;QAED,IAAI,oBAAoB,GAA8B,EAAE,CAAC;QACzD,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE;YACpD,IAAI,OAAO,IAAI,MAAM,CAAC,oBAAqB,EAAE;gBAC3C,oBAAoB,GAAG,cAAc,CACnC,SAAS,EACT,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,EAAO,EAC1D,UAAU,EACV,QAAa,CACd,CAAC;aACH;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,oBAAqB,EAAE;gBACjD,oBAAoB,GAAG,EAAE,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;aAC3D;iBAAM,IAAI,UAAU,IAAI,MAAM,CAAC,oBAAqB,IAAI,UAAU,IAAI,MAAM,CAAC,oBAAqB,EAAE;gBACnG,oBAAoB,GAAG;oBACrB,IAAI,EAAE,QAAQ;oBACd,GAAG,MAAM,CAAC,oBAAoB;iBAC/B,CAAC;aACH;iBAAM;gBACL,oBAAoB,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;SACF;aAAM;YACL,oBAAoB,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE;QAED,uEAAuE;QACvE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;QAC9C,uEAAuE;QACvE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CAKpC,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,WAAe,EACf,iBAAiB,GAAG,KAAK,EACzB,cAAwB,EAAE;IAE1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,CAAC,EAAO,CAAC,CAAC;KAClB;IACD,MAAM,eAAe,GAAG,aAAa,CACnC,SAAS,EACT,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAW,CACZ,CAAC;IACF,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAI,EAAE,EAAE;QACtC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,MAAM,IAAI,cAAc,EAAE;YAC5B,OAAO,gBAAgB,CACrB,SAAS,EACT,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAgB,CACjB,CAAC;SACH;QACD,IAAI,UAAU,IAAI,cAAc,EAAE;YAChC,wBAAwB;YACxB,IAAI,iBAAiB,EAAE;gBACrB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;gBAClD,OAAO,CAAC,GAAI,KAAa,EAAE,YAAiB,CAAC,CAAC;aAC/C;YACD,IAAI;gBACF,cAAc,GAAG,UAAU,CAAC,cAAc,EAAE;oBAC1C,IAAI,EAAE,KAAK;iBACD,CAAM,CAAC;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,0BAA0B,EAAE,GAAG,cAAc,CAAC;gBAChE,OAAO,0BAA+B,CAAC;aACxC;SACF;QACD,MAAM,uBAAuB,GAC3B,yBAAyB,IAAI,cAAc,IAAI,cAAc,CAAC,oBAAoB,KAAK,KAAK,CAAC;QAC/F,IAAI,uBAAuB,EAAE;YAC3B,OAAO,gCAAgC,CAAU,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,WAAgB,CAAC,CAAC;SAC3G;QAED,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAItC,SAAiC,EAAE,MAAS,EAAE,UAAa,EAAE,iBAA0B,EAAE,WAAe;IACxG,IAAI,UAA2B,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,UAAU,GAAG,KAAY,CAAC;KAC3B;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC/B,UAAU,GAAG,KAAY,CAAC;KAC3B;IACD,IAAI,UAAU,EAAE;QACd,sHAAsH;QACtH,MAAM,QAAQ,GAAG,WAAW,KAAK,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAE,EAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1F,MAAM,aAAa,GAAG,+BAA+B,CAAI,MAAM,CAAC,CAAC;QACjE,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,gHAAgH;YAChH,iDAAiD;YACjD,OAAO,oBAAoB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,mFAAmF;QACnF,MAAM,MAAM,GAAG,sBAAsB,CAAU,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3G,IAAI,iBAAiB,EAAE;YACrB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAM,CAAC,CAAC;SACrE;QACD,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAM,CAAC;KAC3D;IACD,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,gDAAgD;IAChD,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,eAAe,GAAG,wBAAwB,CAC9C,SAAS,EACT,eAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,QAAQ,CACT,CAAC;IACF,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAChD,mBAAmB,CACjB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,QAAQ,CACT,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiC,EACjC,YAA+B,EAC/B,cAAiB,EACjB,UAAa,EACb,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,IAAI,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/B,4EAA4E;IAC5E,KAAK,MAAM,aAAa,IAAI,YAAY,EAAE;QACxC,+DAA+D;QAC/D,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,KAAK,SAAS,EAAE;YACtE,SAAS;SACV;QACD,uHAAuH;QACvH,IAAI,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE;YAC9E,SAAS;SACV;QACD,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC,GAAG,yBAAyB,CACxE,aAAa,EACb,YAAiC,CAClC,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAClC,OAAO,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAI,cAAc,EAAE,eAAe,CAAC,CAAC;SAC1E;aAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,EAAE;YACpC,OAAO,GAAG,mBAAmB,CAC3B,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,QAAQ,CACT,CAAC;SACH;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,mBAAmB,CACjB,SAAS,EACT,qBAAqB,EACrB,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,QAAQ,CACT,CACF,CAAC;KACH;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAS,EACT,oBAA+B;IAE/B,IAAI,CAAC,oBAAoB,EAAE;QACzB,OAAO,MAAM,CAAC;KACf;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,oBAAoB,CAAC;IACzB,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,aAAqB,EACrB,eAAkB,EAClB,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,SAAS,EACT,eAAe,EACf,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,WAAW,CACZ,CAAC;IACF,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC;QAChD,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAM,CAAC;QACpD,kEAAkE;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,MAAM,CAAC;SACf;QACD,8BAA8B;QAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7C,IAAI,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE;gBAC7D,OAAO,CAAC,SAAc,CAAC,CAAC;aACzB;YACD,OAAO,gBAAgB,CAAU,SAAS,EAAE,SAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAClE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,CAC/C,uBAAuB,CACrB,SAAS,EACT,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,QAAQ,CACT,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAKrC,SAAiC,EACjC,MAAS,EACT,UAAa,EACb,aAAqB,EACrB,KAAiB,EACjB,iBAA0B,EAC1B,WAAqB,EACrB,QAAY;IAEZ,MAAM,eAAe,GAAG,KAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QAClD,IAAI,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YACzE,OAAO,KAAK,CAAC;SACd;QACD,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,uBAAuB,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1E,IAAI,uBAAuB,EAAE;YAC3B,MAAM,eAAe,GAAM;gBACzB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,CAAC,aAAa,CAAC,EAAE,uBAAuB;iBACzC;aACG,CAAC;YACP,OAAO,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,iBAAiB,CAAC;SACtF;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,IAAI,eAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QACvD,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACvG,OAAO,CAAC,MAAM,CAAC,CAAC;KACjB;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,MAAM,SAAS,GAAM,CAAM,CAAC;QAC5B,MAAM,CAAC,kBAAkB,CAAC,GAAG,yBAAyB,CAAC,aAAa,EAAE,SAAS,CAAC,UAA+B,CAAC,CAAC;QACjH,MAAM,eAAe,GAAG,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,sBAAsB,CACpC,SAAS,EACT,eAAe,EACf,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,WAAW,CACZ,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAM,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC"}
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, IdSchema, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
1
+ import { Experimental_CustomMergeAllOf, FormContextType, IdSchema, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
2
2
  /** Generates an `IdSchema` object for the `schema`, recursively
3
3
  *
4
4
  * @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
@@ -8,6 +8,7 @@ import { FormContextType, IdSchema, RJSFSchema, StrictRJSFSchema, ValidatorType
8
8
  * @param [formData] - The current formData, if any, to assist retrieving a schema
9
9
  * @param [idPrefix='root'] - The prefix to use for the id
10
10
  * @param [idSeparator='_'] - The separator to use for the path segments in the id
11
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
11
12
  * @returns - The `IdSchema` object for the `schema`
12
13
  */
13
- export default function toIdSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, id?: string | null, rootSchema?: S, formData?: T, idPrefix?: string, idSeparator?: string): IdSchema<T>;
14
+ export default function toIdSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, id?: string | null, rootSchema?: S, formData?: T, idPrefix?: string, idSeparator?: string, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): IdSchema<T>;
@@ -15,18 +15,19 @@ import getSchemaType from '../getSchemaType';
15
15
  * @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
16
16
  * @param [formData] - The current formData, if any, to assist retrieving a schema
17
17
  * @param [_recurseList=[]] - The list of retrieved schemas currently being recursed, used to prevent infinite recursion
18
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
18
19
  * @returns - The `IdSchema` object for the `schema`
19
20
  */
20
- function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList = []) {
21
+ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
21
22
  if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
22
23
  const _schema = retrieveSchema(validator, schema, rootSchema, formData);
23
24
  const sameSchemaIndex = _recurseList.findIndex((item) => isEqual(item, _schema));
24
25
  if (sameSchemaIndex === -1) {
25
- return toIdSchemaInternal(validator, _schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList.concat(_schema));
26
+ return toIdSchemaInternal(validator, _schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList.concat(_schema), experimental_customMergeAllOf);
26
27
  }
27
28
  }
28
29
  if (ITEMS_KEY in schema && !get(schema, [ITEMS_KEY, REF_KEY])) {
29
- return toIdSchemaInternal(validator, get(schema, ITEMS_KEY), idPrefix, idSeparator, id, rootSchema, formData, _recurseList);
30
+ return toIdSchemaInternal(validator, get(schema, ITEMS_KEY), idPrefix, idSeparator, id, rootSchema, formData, _recurseList, experimental_customMergeAllOf);
30
31
  }
31
32
  const $id = id || idPrefix;
32
33
  const idSchema = { $id };
@@ -37,7 +38,7 @@ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSc
37
38
  idSchema[name] = toIdSchemaInternal(validator, isObject(field) ? field : {}, idPrefix, idSeparator, fieldId, rootSchema,
38
39
  // It's possible that formData is not an object -- this can happen if an
39
40
  // array item has just been added, but not populated with data yet
40
- get(formData, [name]), _recurseList);
41
+ get(formData, [name]), _recurseList, experimental_customMergeAllOf);
41
42
  }
42
43
  }
43
44
  return idSchema;
@@ -51,9 +52,10 @@ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSc
51
52
  * @param [formData] - The current formData, if any, to assist retrieving a schema
52
53
  * @param [idPrefix='root'] - The prefix to use for the id
53
54
  * @param [idSeparator='_'] - The separator to use for the path segments in the id
55
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
54
56
  * @returns - The `IdSchema` object for the `schema`
55
57
  */
56
- export default function toIdSchema(validator, schema, id, rootSchema, formData, idPrefix = 'root', idSeparator = '_') {
57
- return toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData);
58
+ export default function toIdSchema(validator, schema, id, rootSchema, formData, idPrefix = 'root', idSeparator = '_', experimental_customMergeAllOf) {
59
+ return toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, undefined, experimental_customMergeAllOf);
58
60
  }
59
61
  //# sourceMappingURL=toIdSchema.js.map
@@ -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;AAEnC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CACzB,SAAiC,EACjC,MAAS,EACT,QAAgB,EAChB,WAAmB,EACnB,EAAkB,EAClB,UAAc,EACd,QAAY,EACZ,eAAoB,EAAE;IAEtB,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;QACjF,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,CAC7B,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,CACb,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,CACb,CAAC;SACH;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,SAAiC,EACjC,MAAS,EACT,EAAkB,EAClB,UAAc,EACd,QAAY,EACZ,QAAQ,GAAG,MAAM,EACjB,WAAW,GAAG,GAAG;IAEjB,OAAO,kBAAkB,CAAU,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACzG,CAAC"}
1
+ {"version":3,"file":"toIdSchema.js","sourceRoot":"","sources":["../../src/schema/toIdSchema.ts"],"names":[],"mappings":"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"}