@rjsf/utils 5.13.0 → 5.13.1
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 +243 -125
- package/dist/index.js.map +4 -4
- package/dist/utils.esm.js +243 -125
- package/dist/utils.esm.js.map +4 -4
- package/dist/utils.umd.js +223 -111
- package/lib/getOptionMatchingSimpleDiscriminator.d.ts +12 -0
- package/lib/getOptionMatchingSimpleDiscriminator.js +36 -0
- package/lib/getOptionMatchingSimpleDiscriminator.js.map +1 -0
- package/lib/getSchemaType.js +7 -2
- package/lib/getSchemaType.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/parser/schemaParser.js +3 -2
- package/lib/parser/schemaParser.js.map +1 -1
- package/lib/schema/getClosestMatchingOption.js +7 -1
- package/lib/schema/getClosestMatchingOption.js.map +1 -1
- package/lib/schema/getDefaultFormState.js +9 -12
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/getMatchingOption.js +6 -0
- package/lib/schema/getMatchingOption.js.map +1 -1
- package/lib/schema/retrieveSchema.d.ts +16 -14
- package/lib/schema/retrieveSchema.js +57 -43
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/types.d.ts +1 -1
- package/package.json +15 -15
- package/src/getOptionMatchingSimpleDiscriminator.ts +46 -0
- package/src/getSchemaType.ts +6 -2
- package/src/index.ts +2 -0
- package/src/parser/schemaParser.ts +3 -2
- package/src/schema/getClosestMatchingOption.ts +9 -1
- package/src/schema/getDefaultFormState.ts +9 -12
- package/src/schema/getMatchingOption.ts +8 -0
- package/src/schema/retrieveSchema.ts +145 -39
- package/src/types.ts +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import get from 'lodash/get';
|
|
3
|
+
import isEqual from 'lodash/isEqual';
|
|
3
4
|
import set from 'lodash/set';
|
|
4
5
|
import times from 'lodash/times';
|
|
5
6
|
import transform from 'lodash/transform';
|
|
@@ -36,29 +37,29 @@ export default function retrieveSchema(validator, schema, rootSchema = {}, rawFo
|
|
|
36
37
|
* @param [formData] - The current formData to assist retrieving a schema
|
|
37
38
|
* @returns - A list of schemas with the appropriate conditions resolved, possibly with all branches expanded
|
|
38
39
|
*/
|
|
39
|
-
export function resolveCondition(validator, schema, rootSchema, expandAllBranches, formData) {
|
|
40
|
+
export function resolveCondition(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
|
|
40
41
|
const { if: expression, then, else: otherwise } = schema, resolvedSchemaLessConditional = __rest(schema, ["if", "then", "else"]);
|
|
41
42
|
const conditionValue = validator.isValid(expression, formData || {}, rootSchema);
|
|
42
43
|
let resolvedSchemas = [resolvedSchemaLessConditional];
|
|
43
44
|
let schemas = [];
|
|
44
45
|
if (expandAllBranches) {
|
|
45
46
|
if (then && typeof then !== 'boolean') {
|
|
46
|
-
schemas = schemas.concat(retrieveSchemaInternal(validator, then, rootSchema, formData, expandAllBranches));
|
|
47
|
+
schemas = schemas.concat(retrieveSchemaInternal(validator, then, rootSchema, formData, expandAllBranches, recurseList));
|
|
47
48
|
}
|
|
48
49
|
if (otherwise && typeof otherwise !== 'boolean') {
|
|
49
|
-
schemas = schemas.concat(retrieveSchemaInternal(validator, otherwise, rootSchema, formData, expandAllBranches));
|
|
50
|
+
schemas = schemas.concat(retrieveSchemaInternal(validator, otherwise, rootSchema, formData, expandAllBranches, recurseList));
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
else {
|
|
53
54
|
const conditionalSchema = conditionValue ? then : otherwise;
|
|
54
55
|
if (conditionalSchema && typeof conditionalSchema !== 'boolean') {
|
|
55
|
-
schemas = schemas.concat(retrieveSchemaInternal(validator, conditionalSchema, rootSchema, formData, expandAllBranches));
|
|
56
|
+
schemas = schemas.concat(retrieveSchemaInternal(validator, conditionalSchema, rootSchema, formData, expandAllBranches, recurseList));
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
if (schemas.length) {
|
|
59
60
|
resolvedSchemas = schemas.map((s) => mergeSchemas(resolvedSchemaLessConditional, s));
|
|
60
61
|
}
|
|
61
|
-
return resolvedSchemas.flatMap((s) => retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches));
|
|
62
|
+
return resolvedSchemas.flatMap((s) => retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList));
|
|
62
63
|
}
|
|
63
64
|
/** Given a list of lists of allOf, anyOf or oneOf values, create a list of lists of all permutations of the values. The
|
|
64
65
|
* `listOfLists` is expected to be all resolved values of the 1st...nth schemas within an `allOf`, `anyOf` or `oneOf`.
|
|
@@ -99,26 +100,30 @@ export function getAllPermutationsOfXxxOf(listOfLists) {
|
|
|
99
100
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
100
101
|
* @returns - The list of schemas having its references, dependencies and allOf schemas resolved
|
|
101
102
|
*/
|
|
102
|
-
export function resolveSchema(validator, schema, rootSchema, expandAllBranches, formData) {
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
export function resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
|
|
104
|
+
const updatedSchemas = resolveReference(validator, schema, rootSchema, expandAllBranches, recurseList, formData);
|
|
105
|
+
if (updatedSchemas.length > 1 || updatedSchemas[0] !== schema) {
|
|
106
|
+
// return the updatedSchemas array if it has either multiple schemas within it
|
|
107
|
+
// OR the first schema is not the same as the original schema
|
|
108
|
+
return updatedSchemas;
|
|
105
109
|
}
|
|
106
110
|
if (DEPENDENCIES_KEY in schema) {
|
|
107
|
-
const resolvedSchemas = resolveDependencies(validator, schema, rootSchema, expandAllBranches, formData);
|
|
111
|
+
const resolvedSchemas = resolveDependencies(validator, schema, rootSchema, expandAllBranches, recurseList, formData);
|
|
108
112
|
return resolvedSchemas.flatMap((s) => {
|
|
109
|
-
return retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches);
|
|
113
|
+
return retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList);
|
|
110
114
|
});
|
|
111
115
|
}
|
|
112
116
|
if (ALL_OF_KEY in schema && Array.isArray(schema.allOf)) {
|
|
113
|
-
const allOfSchemaElements = schema.allOf.map((allOfSubschema) => retrieveSchemaInternal(validator, allOfSubschema, rootSchema, formData, expandAllBranches));
|
|
117
|
+
const allOfSchemaElements = schema.allOf.map((allOfSubschema) => retrieveSchemaInternal(validator, allOfSubschema, rootSchema, formData, expandAllBranches, recurseList));
|
|
114
118
|
const allPermutations = getAllPermutationsOfXxxOf(allOfSchemaElements);
|
|
115
119
|
return allPermutations.map((permutation) => (Object.assign(Object.assign({}, schema), { allOf: permutation })));
|
|
116
120
|
}
|
|
117
121
|
// No $ref or dependencies or allOf attribute was found, returning the original schema.
|
|
118
122
|
return [schema];
|
|
119
123
|
}
|
|
120
|
-
/** Resolves references within a schema and then returns the `retrieveSchemaInternal()`
|
|
121
|
-
* the `expandAllBranches` flag down to the `retrieveSchemaInternal()`
|
|
124
|
+
/** Resolves all references within a schema and then returns the `retrieveSchemaInternal()` if the resolved schema is
|
|
125
|
+
* actually different than the original. Passes the `expandAllBranches` flag down to the `retrieveSchemaInternal()`
|
|
126
|
+
* helper call.
|
|
122
127
|
*
|
|
123
128
|
* @param validator - An implementation of the `ValidatorType` interface that will be forwarded to all the APIs
|
|
124
129
|
* @param schema - The schema for which resolving a reference is desired
|
|
@@ -128,41 +133,50 @@ export function resolveSchema(validator, schema, rootSchema, expandAllBranches,
|
|
|
128
133
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
129
134
|
* @returns - The list schemas retrieved after having all references resolved
|
|
130
135
|
*/
|
|
131
|
-
export function resolveReference(validator, schema, rootSchema, expandAllBranches, formData) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return
|
|
136
|
+
export function resolveReference(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
|
|
137
|
+
const updatedSchema = resolveAllReferences(schema, rootSchema, recurseList);
|
|
138
|
+
if (updatedSchema !== schema) {
|
|
139
|
+
// Only call this if the schema was actually changed by the `resolveAllReferences()` function
|
|
140
|
+
return retrieveSchemaInternal(validator, updatedSchema, rootSchema, formData, expandAllBranches, recurseList);
|
|
141
|
+
}
|
|
142
|
+
return [schema];
|
|
138
143
|
}
|
|
139
|
-
/** Resolves all references within
|
|
144
|
+
/** Resolves all references within the schema itself as well as any of its properties and array items.
|
|
140
145
|
*
|
|
141
146
|
* @param schema - The schema for which resolving all references is desired
|
|
142
147
|
* @param rootSchema - The root schema that will be forwarded to all the APIs
|
|
143
|
-
* @
|
|
148
|
+
* @param recurseList - List of $refs already resolved to prevent recursion
|
|
149
|
+
* @returns - given schema will all references resolved or the original schema if no internal `$refs` were resolved
|
|
144
150
|
*/
|
|
145
|
-
export function resolveAllReferences(schema, rootSchema) {
|
|
151
|
+
export function resolveAllReferences(schema, rootSchema, recurseList) {
|
|
152
|
+
if (!isObject(schema)) {
|
|
153
|
+
return schema;
|
|
154
|
+
}
|
|
146
155
|
let resolvedSchema = schema;
|
|
147
156
|
// resolve top level ref
|
|
148
157
|
if (REF_KEY in resolvedSchema) {
|
|
149
158
|
const { $ref } = resolvedSchema, localSchema = __rest(resolvedSchema, ["$ref"]);
|
|
159
|
+
// Check for a recursive reference and stop the loop
|
|
160
|
+
if (recurseList.includes($ref)) {
|
|
161
|
+
return resolvedSchema;
|
|
162
|
+
}
|
|
163
|
+
recurseList.push($ref);
|
|
150
164
|
// Retrieve the referenced schema definition.
|
|
151
165
|
const refSchema = findSchemaDefinition($ref, rootSchema);
|
|
152
166
|
resolvedSchema = Object.assign(Object.assign({}, refSchema), localSchema);
|
|
153
167
|
}
|
|
154
168
|
if (PROPERTIES_KEY in resolvedSchema) {
|
|
155
169
|
const updatedProps = transform(resolvedSchema[PROPERTIES_KEY], (result, value, key) => {
|
|
156
|
-
result[key] = resolveAllReferences(value, rootSchema);
|
|
170
|
+
result[key] = resolveAllReferences(value, rootSchema, recurseList);
|
|
157
171
|
}, {});
|
|
158
172
|
resolvedSchema = Object.assign(Object.assign({}, resolvedSchema), { [PROPERTIES_KEY]: updatedProps });
|
|
159
173
|
}
|
|
160
174
|
if (ITEMS_KEY in resolvedSchema &&
|
|
161
175
|
!Array.isArray(resolvedSchema.items) &&
|
|
162
176
|
typeof resolvedSchema.items !== 'boolean') {
|
|
163
|
-
resolvedSchema = Object.assign(Object.assign({}, resolvedSchema), { items: resolveAllReferences(resolvedSchema.items, rootSchema) });
|
|
177
|
+
resolvedSchema = Object.assign(Object.assign({}, resolvedSchema), { items: resolveAllReferences(resolvedSchema.items, rootSchema, recurseList) });
|
|
164
178
|
}
|
|
165
|
-
return resolvedSchema;
|
|
179
|
+
return isEqual(schema, resolvedSchema) ? schema : resolvedSchema;
|
|
166
180
|
}
|
|
167
181
|
/** Creates new 'properties' items for each key in the `formData`
|
|
168
182
|
*
|
|
@@ -221,15 +235,15 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
|
|
|
221
235
|
* @returns - The schema(s) resulting from having its conditions, additional properties, references and dependencies
|
|
222
236
|
* resolved. Multiple schemas may be returned if `expandAllBranches` is true.
|
|
223
237
|
*/
|
|
224
|
-
export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expandAllBranches = false) {
|
|
238
|
+
export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expandAllBranches = false, recurseList = []) {
|
|
225
239
|
if (!isObject(schema)) {
|
|
226
240
|
return [{}];
|
|
227
241
|
}
|
|
228
|
-
const resolvedSchemas = resolveSchema(validator, schema, rootSchema, expandAllBranches, rawFormData);
|
|
242
|
+
const resolvedSchemas = resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, rawFormData);
|
|
229
243
|
return resolvedSchemas.flatMap((s) => {
|
|
230
244
|
let resolvedSchema = s;
|
|
231
245
|
if (IF_KEY in resolvedSchema) {
|
|
232
|
-
return resolveCondition(validator, resolvedSchema, rootSchema, expandAllBranches, rawFormData);
|
|
246
|
+
return resolveCondition(validator, resolvedSchema, rootSchema, expandAllBranches, recurseList, rawFormData);
|
|
233
247
|
}
|
|
234
248
|
if (ALL_OF_KEY in resolvedSchema) {
|
|
235
249
|
// resolve allOf schemas
|
|
@@ -267,7 +281,7 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
|
|
|
267
281
|
* @param [rawFormData] - The current formData, if any, to assist retrieving a schema, defaults to an empty object
|
|
268
282
|
* @returns - Either an array containing the best matching option or all options if `expandAllBranches` is true
|
|
269
283
|
*/
|
|
270
|
-
export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAllBranches, rawFormData) {
|
|
284
|
+
export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAllBranches, recurseList, rawFormData) {
|
|
271
285
|
let anyOrOneOf;
|
|
272
286
|
const { oneOf, anyOf } = schema, remaining = __rest(schema, ["oneOf", "anyOf"]);
|
|
273
287
|
if (Array.isArray(oneOf)) {
|
|
@@ -281,7 +295,7 @@ export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAl
|
|
|
281
295
|
const formData = rawFormData === undefined && expandAllBranches ? {} : rawFormData;
|
|
282
296
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
283
297
|
anyOrOneOf = anyOrOneOf.map((s) => {
|
|
284
|
-
return resolveAllReferences(s, rootSchema);
|
|
298
|
+
return resolveAllReferences(s, rootSchema, recurseList);
|
|
285
299
|
});
|
|
286
300
|
// Call this to trigger the set of isValid() calls that the schema parser will need
|
|
287
301
|
const option = getFirstMatchingOption(validator, formData, anyOrOneOf, rootSchema, discriminator);
|
|
@@ -303,11 +317,11 @@ export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAl
|
|
|
303
317
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
304
318
|
* @returns - The list of schemas with their dependencies resolved
|
|
305
319
|
*/
|
|
306
|
-
export function resolveDependencies(validator, schema, rootSchema, expandAllBranches, formData) {
|
|
320
|
+
export function resolveDependencies(validator, schema, rootSchema, expandAllBranches, recurseList, formData) {
|
|
307
321
|
// Drop the dependencies from the source schema.
|
|
308
322
|
const { dependencies } = schema, remainingSchema = __rest(schema, ["dependencies"]);
|
|
309
|
-
const resolvedSchemas = resolveAnyOrOneOfSchemas(validator, remainingSchema, rootSchema, expandAllBranches, formData);
|
|
310
|
-
return resolvedSchemas.flatMap((resolvedSchema) => processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, formData));
|
|
323
|
+
const resolvedSchemas = resolveAnyOrOneOfSchemas(validator, remainingSchema, rootSchema, expandAllBranches, recurseList, formData);
|
|
324
|
+
return resolvedSchemas.flatMap((resolvedSchema) => processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData));
|
|
311
325
|
}
|
|
312
326
|
/** Processes all the `dependencies` recursively into the list of `resolvedSchema`s as needed. Passes the
|
|
313
327
|
* `expandAllBranches` flag down to the `withDependentSchema()` and the recursive `processDependencies()` helper calls.
|
|
@@ -321,7 +335,7 @@ export function resolveDependencies(validator, schema, rootSchema, expandAllBran
|
|
|
321
335
|
* @param [formData] - The current formData, if any, to assist retrieving a schema
|
|
322
336
|
* @returns - The schema with the `dependencies` resolved into it
|
|
323
337
|
*/
|
|
324
|
-
export function processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, formData) {
|
|
338
|
+
export function processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData) {
|
|
325
339
|
let schemas = [resolvedSchema];
|
|
326
340
|
// Process dependencies updating the local schema properties as appropriate.
|
|
327
341
|
for (const dependencyKey in dependencies) {
|
|
@@ -338,9 +352,9 @@ export function processDependencies(validator, dependencies, resolvedSchema, roo
|
|
|
338
352
|
schemas[0] = withDependentProperties(resolvedSchema, dependencyValue);
|
|
339
353
|
}
|
|
340
354
|
else if (isObject(dependencyValue)) {
|
|
341
|
-
schemas = withDependentSchema(validator, resolvedSchema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, formData);
|
|
355
|
+
schemas = withDependentSchema(validator, resolvedSchema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData);
|
|
342
356
|
}
|
|
343
|
-
return schemas.flatMap((schema) => processDependencies(validator, remainingDependencies, schema, rootSchema, expandAllBranches, formData));
|
|
357
|
+
return schemas.flatMap((schema) => processDependencies(validator, remainingDependencies, schema, rootSchema, expandAllBranches, recurseList, formData));
|
|
344
358
|
}
|
|
345
359
|
return schemas;
|
|
346
360
|
}
|
|
@@ -372,8 +386,8 @@ export function withDependentProperties(schema, additionallyRequired) {
|
|
|
372
386
|
* @param [formData]- The current formData to assist retrieving a schema
|
|
373
387
|
* @returns - The list of schemas with the dependent schema resolved into them
|
|
374
388
|
*/
|
|
375
|
-
export function withDependentSchema(validator, schema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, formData) {
|
|
376
|
-
const dependentSchemas = retrieveSchemaInternal(validator, dependencyValue, rootSchema, formData, expandAllBranches);
|
|
389
|
+
export function withDependentSchema(validator, schema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData) {
|
|
390
|
+
const dependentSchemas = retrieveSchemaInternal(validator, dependencyValue, rootSchema, formData, expandAllBranches, recurseList);
|
|
377
391
|
return dependentSchemas.flatMap((dependent) => {
|
|
378
392
|
const { oneOf } = dependent, dependentSchema = __rest(dependent, ["oneOf"]);
|
|
379
393
|
schema = mergeSchemas(schema, dependentSchema);
|
|
@@ -386,10 +400,10 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
|
|
|
386
400
|
if (typeof subschema === 'boolean' || !(REF_KEY in subschema)) {
|
|
387
401
|
return [subschema];
|
|
388
402
|
}
|
|
389
|
-
return resolveReference(validator, subschema, rootSchema, expandAllBranches, formData);
|
|
403
|
+
return resolveReference(validator, subschema, rootSchema, expandAllBranches, recurseList, formData);
|
|
390
404
|
});
|
|
391
405
|
const allPermutations = getAllPermutationsOfXxxOf(resolvedOneOfs);
|
|
392
|
-
return allPermutations.flatMap((resolvedOneOf) => withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, resolvedOneOf, expandAllBranches, formData));
|
|
406
|
+
return allPermutations.flatMap((resolvedOneOf) => withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, resolvedOneOf, expandAllBranches, recurseList, formData));
|
|
393
407
|
});
|
|
394
408
|
}
|
|
395
409
|
/** Returns a list of `schema`s with the best choice from the `oneOf` options merged into it. If `expandAllBranches` is
|
|
@@ -406,7 +420,7 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
|
|
|
406
420
|
* @param [formData] - The current formData to assist retrieving a schema
|
|
407
421
|
* @returns - Either an array containing the best matching option or all options if `expandAllBranches` is true
|
|
408
422
|
*/
|
|
409
|
-
export function withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, oneOf, expandAllBranches, formData) {
|
|
423
|
+
export function withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, oneOf, expandAllBranches, recurseList, formData) {
|
|
410
424
|
const validSubschemas = oneOf.filter((subschema) => {
|
|
411
425
|
if (typeof subschema === 'boolean' || !subschema || !subschema.properties) {
|
|
412
426
|
return false;
|
|
@@ -431,7 +445,7 @@ export function withExactlyOneSubschema(validator, schema, rootSchema, dependenc
|
|
|
431
445
|
const subschema = s;
|
|
432
446
|
const [dependentSubschema] = splitKeyElementFromObject(dependencyKey, subschema.properties);
|
|
433
447
|
const dependentSchema = Object.assign(Object.assign({}, subschema), { properties: dependentSubschema });
|
|
434
|
-
const schemas = retrieveSchemaInternal(validator, dependentSchema, rootSchema, formData, expandAllBranches);
|
|
448
|
+
const schemas = retrieveSchemaInternal(validator, dependentSchema, rootSchema, formData, expandAllBranches, recurseList);
|
|
435
449
|
return schemas.map((s) => mergeSchemas(schema, s));
|
|
436
450
|
});
|
|
437
451
|
}
|
|
@@ -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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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -393,7 +393,7 @@ export type FieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema,
|
|
|
393
393
|
/** The formData for this field */
|
|
394
394
|
formData?: T;
|
|
395
395
|
/** The value change event handler; Can be called with a new value to change the value for this field */
|
|
396
|
-
onChange: FieldProps['onChange'];
|
|
396
|
+
onChange: FieldProps<T, S, F>['onChange'];
|
|
397
397
|
/** The key change event handler; Called when the key associated with a field is changed for an additionalProperty */
|
|
398
398
|
onKeyChange: (value: string) => () => void;
|
|
399
399
|
/** The property drop/removal event handler; Called when a field is removed in an additionalProperty context */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rjsf/utils",
|
|
3
|
-
"version": "5.13.
|
|
3
|
+
"version": "5.13.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -44,28 +44,28 @@
|
|
|
44
44
|
"react-is": "^18.2.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@babel/core": "^7.22.
|
|
47
|
+
"@babel/core": "^7.22.17",
|
|
48
48
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
49
49
|
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
|
50
|
-
"@babel/preset-env": "^7.22.
|
|
51
|
-
"@babel/preset-react": "^7.22.
|
|
52
|
-
"@babel/preset-typescript": "^7.22.
|
|
50
|
+
"@babel/preset-env": "^7.22.15",
|
|
51
|
+
"@babel/preset-react": "^7.22.15",
|
|
52
|
+
"@babel/preset-typescript": "^7.22.15",
|
|
53
53
|
"@types/json-schema": "^7.0.12",
|
|
54
54
|
"@types/json-schema-merge-allof": "^0.6.1",
|
|
55
|
-
"@types/lodash": "^4.14.
|
|
56
|
-
"@types/react": "^17.0.
|
|
55
|
+
"@types/lodash": "^4.14.198",
|
|
56
|
+
"@types/react": "^17.0.65",
|
|
57
57
|
"@types/react-is": "^17.0.4",
|
|
58
|
-
"@types/react-test-renderer": "^17.0.
|
|
59
|
-
"babel-jest": "^29.6.
|
|
58
|
+
"@types/react-test-renderer": "^17.0.3",
|
|
59
|
+
"babel-jest": "^29.6.4",
|
|
60
60
|
"deep-freeze-es6": "^1.4.1",
|
|
61
|
-
"esbuild": "^0.18.
|
|
62
|
-
"eslint": "^8.
|
|
63
|
-
"jest": "^29.6.
|
|
64
|
-
"jest-environment-jsdom": "^29.6.
|
|
61
|
+
"esbuild": "^0.18.20",
|
|
62
|
+
"eslint": "^8.48.0",
|
|
63
|
+
"jest": "^29.6.4",
|
|
64
|
+
"jest-environment-jsdom": "^29.6.4",
|
|
65
65
|
"react": "^17.0.2",
|
|
66
66
|
"react-test-renderer": "^17.0.2",
|
|
67
67
|
"rimraf": "^5.0.1",
|
|
68
|
-
"rollup": "^3.
|
|
68
|
+
"rollup": "^3.29.0",
|
|
69
69
|
"typescript": "^4.9.5"
|
|
70
70
|
},
|
|
71
71
|
"publishConfig": {
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"url": "git+https://github.com/rjsf-team/react-jsonschema-form.git"
|
|
87
87
|
},
|
|
88
88
|
"license": "Apache-2.0",
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "a8039b4b7b872606a14e28885ba4e7faea9e2bfa"
|
|
90
90
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import get from 'lodash/get';
|
|
2
|
+
import { PROPERTIES_KEY } from './constants';
|
|
3
|
+
import { RJSFSchema, StrictRJSFSchema } from './types';
|
|
4
|
+
|
|
5
|
+
/** Compares the value of `discriminatorField` within `formData` against the value of `discriminatorField` within schema for each `option`.
|
|
6
|
+
* Returns index of first `option` whose discriminator matches formData. Returns `undefined` if there is no match.
|
|
7
|
+
* This function does not work with discriminators of `"type": "object"` and `"type": "array"`
|
|
8
|
+
*
|
|
9
|
+
* @param formData - The current formData, if any, used to figure out a match
|
|
10
|
+
* @param options - The list of options to find a matching options from
|
|
11
|
+
* @param [discriminatorField] - The optional name of the field within the options object whose value is used to
|
|
12
|
+
* determine which option is selected
|
|
13
|
+
* @returns - The index of the matched option or undefined if there is no match
|
|
14
|
+
*/
|
|
15
|
+
export default function getOptionMatchingSimpleDiscriminator<T = any, S extends StrictRJSFSchema = RJSFSchema>(
|
|
16
|
+
formData: T | undefined,
|
|
17
|
+
options: S[],
|
|
18
|
+
discriminatorField?: string
|
|
19
|
+
): number | undefined {
|
|
20
|
+
if (formData && discriminatorField) {
|
|
21
|
+
const value = get(formData, discriminatorField);
|
|
22
|
+
|
|
23
|
+
if (value === undefined) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
for (let i = 0; i < options.length; i++) {
|
|
28
|
+
const option = options[i];
|
|
29
|
+
const discriminator = get(option, [PROPERTIES_KEY, discriminatorField], {});
|
|
30
|
+
|
|
31
|
+
if (discriminator.type === 'object' || discriminator.type === 'array') {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (discriminator.const === value) {
|
|
36
|
+
return i;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (discriminator.enum?.includes(value)) {
|
|
40
|
+
return i;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return;
|
|
46
|
+
}
|
package/src/getSchemaType.ts
CHANGED
|
@@ -29,8 +29,12 @@ export default function getSchemaType<S extends StrictRJSFSchema = RJSFSchema>(
|
|
|
29
29
|
return 'object';
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
if (Array.isArray(type)
|
|
33
|
-
|
|
32
|
+
if (Array.isArray(type)) {
|
|
33
|
+
if (type.length === 2 && type.includes('null')) {
|
|
34
|
+
type = type.find((type) => type !== 'null');
|
|
35
|
+
} else {
|
|
36
|
+
type = type[0];
|
|
37
|
+
}
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
return type;
|
package/src/index.ts
CHANGED
|
@@ -49,6 +49,7 @@ import unwrapErrorHandler from './unwrapErrorHandler';
|
|
|
49
49
|
import utcToLocal from './utcToLocal';
|
|
50
50
|
import validationDataMerge from './validationDataMerge';
|
|
51
51
|
import withIdRefPrefix from './withIdRefPrefix';
|
|
52
|
+
import getOptionMatchingSimpleDiscriminator from './getOptionMatchingSimpleDiscriminator';
|
|
52
53
|
|
|
53
54
|
export * from './types';
|
|
54
55
|
export * from './enums';
|
|
@@ -79,6 +80,7 @@ export {
|
|
|
79
80
|
findSchemaDefinition,
|
|
80
81
|
getDiscriminatorFieldFromSchema,
|
|
81
82
|
getInputProps,
|
|
83
|
+
getOptionMatchingSimpleDiscriminator,
|
|
82
84
|
getSchemaType,
|
|
83
85
|
getSubmitButtonOptions,
|
|
84
86
|
getTemplate,
|
|
@@ -22,12 +22,13 @@ function parseSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends
|
|
|
22
22
|
rootSchema: S,
|
|
23
23
|
schema: S
|
|
24
24
|
) {
|
|
25
|
-
const
|
|
25
|
+
const recurseRefs: string[] = [];
|
|
26
|
+
const schemas = retrieveSchemaInternal<T, S, F>(validator, schema, rootSchema, undefined, true, recurseRefs);
|
|
26
27
|
schemas.forEach((schema) => {
|
|
27
28
|
const sameSchemaIndex = recurseList.findIndex((item) => isEqual(item, schema));
|
|
28
29
|
if (sameSchemaIndex === -1) {
|
|
29
30
|
recurseList.push(schema);
|
|
30
|
-
const allOptions = resolveAnyOrOneOfSchemas<T, S, F>(validator, schema, rootSchema, true);
|
|
31
|
+
const allOptions = resolveAnyOrOneOfSchemas<T, S, F>(validator, schema, rootSchema, true, recurseRefs);
|
|
31
32
|
allOptions.forEach((s) => {
|
|
32
33
|
if (PROPERTIES_KEY in s && s[PROPERTIES_KEY]) {
|
|
33
34
|
forEach(schema[PROPERTIES_KEY], (value) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
2
|
import has from 'lodash/has';
|
|
3
|
+
import isNumber from 'lodash/isNumber';
|
|
3
4
|
import isObject from 'lodash/isObject';
|
|
4
5
|
import isString from 'lodash/isString';
|
|
5
6
|
import reduce from 'lodash/reduce';
|
|
@@ -11,6 +12,7 @@ import { ONE_OF_KEY, REF_KEY, JUNK_OPTION_ID, ANY_OF_KEY } from '../constants';
|
|
|
11
12
|
import guessType from '../guessType';
|
|
12
13
|
import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
|
|
13
14
|
import getDiscriminatorFieldFromSchema from '../getDiscriminatorFieldFromSchema';
|
|
15
|
+
import getOptionMatchingSimpleDiscriminator from '../getOptionMatchingSimpleDiscriminator';
|
|
14
16
|
|
|
15
17
|
/** A junk option used to determine when the getFirstMatchingOption call really matches an option rather than returning
|
|
16
18
|
* the first item
|
|
@@ -145,8 +147,14 @@ export default function getClosestMatchingOption<
|
|
|
145
147
|
): number {
|
|
146
148
|
// First resolve any refs in the options
|
|
147
149
|
const resolvedOptions = options.map((option) => {
|
|
148
|
-
return resolveAllReferences(option, rootSchema);
|
|
150
|
+
return resolveAllReferences<S>(option, rootSchema, []);
|
|
149
151
|
});
|
|
152
|
+
|
|
153
|
+
const simpleDiscriminatorMatch = getOptionMatchingSimpleDiscriminator(formData, options, discriminatorField);
|
|
154
|
+
if (isNumber(simpleDiscriminatorMatch)) {
|
|
155
|
+
return simpleDiscriminatorMatch;
|
|
156
|
+
}
|
|
157
|
+
|
|
150
158
|
// Reduce the array of options down to a list of the indexes that are considered matching options
|
|
151
159
|
const allValidIndexes = resolvedOptions.reduce((validList: number[], option, index: number) => {
|
|
152
160
|
const testOptions: S[] = [JUNK_OPTION as S, option];
|
|
@@ -185,7 +185,7 @@ export function computeDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema
|
|
|
185
185
|
schemaToCompute = findSchemaDefinition<S>(refName, rootSchema);
|
|
186
186
|
}
|
|
187
187
|
} else if (DEPENDENCIES_KEY in schema) {
|
|
188
|
-
const resolvedSchema = resolveDependencies<T, S, F>(validator, schema, rootSchema, false, formData);
|
|
188
|
+
const resolvedSchema = resolveDependencies<T, S, F>(validator, schema, rootSchema, false, [], formData);
|
|
189
189
|
schemaToCompute = resolvedSchema[0]; // pick the first element from resolve dependencies
|
|
190
190
|
} else if (isFixedItems(schema)) {
|
|
191
191
|
defaults = (schema.items! as S[]).map((itemSchema: S, idx: number) =>
|
|
@@ -287,16 +287,13 @@ export function computeDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema
|
|
|
287
287
|
.filter((key) => !schema.properties || !schema.properties[key])
|
|
288
288
|
.forEach((key) => keys.add(key));
|
|
289
289
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
.
|
|
295
|
-
.
|
|
296
|
-
|
|
297
|
-
formDataRequired.push(key);
|
|
298
|
-
});
|
|
299
|
-
}
|
|
290
|
+
const formDataRequired: string[] = [];
|
|
291
|
+
Object.keys(formData as GenericObjectType)
|
|
292
|
+
.filter((key) => !schema.properties || !schema.properties[key])
|
|
293
|
+
.forEach((key) => {
|
|
294
|
+
keys.add(key);
|
|
295
|
+
formDataRequired.push(key);
|
|
296
|
+
});
|
|
300
297
|
keys.forEach((key) => {
|
|
301
298
|
const computedDefault = computeDefaults(validator, additionalPropertiesSchema as S, {
|
|
302
299
|
rootSchema,
|
|
@@ -307,7 +304,7 @@ export function computeDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema
|
|
|
307
304
|
rawFormData: get(formData, [key]),
|
|
308
305
|
required: schema.required?.includes(key),
|
|
309
306
|
});
|
|
310
|
-
// Since these are additional properties we don
|
|
307
|
+
// Since these are additional properties we don't need to add the `experimental_defaultFormStateBehavior` prop
|
|
311
308
|
maybeAddDefaultToObject<T>(
|
|
312
309
|
objectDefaults as GenericObjectType,
|
|
313
310
|
key,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
2
|
import has from 'lodash/has';
|
|
3
|
+
import isNumber from 'lodash/isNumber';
|
|
3
4
|
|
|
4
5
|
import { PROPERTIES_KEY } from '../constants';
|
|
5
6
|
import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
|
|
7
|
+
import getOptionMatchingSimpleDiscriminator from '../getOptionMatchingSimpleDiscriminator';
|
|
6
8
|
|
|
7
9
|
/** Given the `formData` and list of `options`, attempts to find the index of the option that best matches the data.
|
|
8
10
|
* Deprecated, use `getFirstMatchingOption()` instead.
|
|
@@ -32,6 +34,12 @@ export default function getMatchingOption<
|
|
|
32
34
|
if (formData === undefined) {
|
|
33
35
|
return 0;
|
|
34
36
|
}
|
|
37
|
+
|
|
38
|
+
const simpleDiscriminatorMatch = getOptionMatchingSimpleDiscriminator(formData, options, discriminatorField);
|
|
39
|
+
if (isNumber(simpleDiscriminatorMatch)) {
|
|
40
|
+
return simpleDiscriminatorMatch;
|
|
41
|
+
}
|
|
42
|
+
|
|
35
43
|
for (let i = 0; i < options.length; i++) {
|
|
36
44
|
const option = options[i];
|
|
37
45
|
|