@rjsf/utils 5.21.2 → 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.
@@ -1,9 +1,10 @@
1
1
  import deepEquals from './deepEquals';
2
2
  import { getDefaultFormState, getDisplayLabel, getClosestMatchingOption, getFirstMatchingOption, getMatchingOption, isFilesArray, isMultiSelect, isSelect, mergeValidationData, retrieveSchema, sanitizeDataForNewSchema, toIdSchema, toPathSchema, } from './schema';
3
3
  /** The `SchemaUtils` class provides a wrapper around the publicly exported APIs in the `utils/schema` directory such
4
- * that one does not have to explicitly pass the `validator`, `rootSchema`, or `experimental_defaultFormStateBehavior` to each method.
5
- * Since these generally do not change across a `Form`, this allows for providing a simplified set of APIs to the
6
- * `@rjsf/core` components and the various themes as well. This class implements the `SchemaUtilsType` interface.
4
+ * that one does not have to explicitly pass the `validator`, `rootSchema`, `experimental_defaultFormStateBehavior` or
5
+ * `experimental_customMergeAllOf` to each method. Since these generally do not change across a `Form`, this allows for
6
+ * providing a simplified set of APIs to the `@rjsf/core` components and the various themes as well. This class
7
+ * implements the `SchemaUtilsType` interface.
7
8
  */
8
9
  class SchemaUtils {
9
10
  /** Constructs the `SchemaUtils` instance with the given `validator` and `rootSchema` stored as instance variables
@@ -11,11 +12,13 @@ class SchemaUtils {
11
12
  * @param validator - An implementation of the `ValidatorType` interface that will be forwarded to all the APIs
12
13
  * @param rootSchema - The root schema that will be forwarded to all the APIs
13
14
  * @param experimental_defaultFormStateBehavior - Configuration flags to allow users to override default form state behavior
15
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
14
16
  */
15
- constructor(validator, rootSchema, experimental_defaultFormStateBehavior) {
17
+ constructor(validator, rootSchema, experimental_defaultFormStateBehavior, experimental_customMergeAllOf) {
16
18
  this.rootSchema = rootSchema;
17
19
  this.validator = validator;
18
20
  this.experimental_defaultFormStateBehavior = experimental_defaultFormStateBehavior;
21
+ this.experimental_customMergeAllOf = experimental_customMergeAllOf;
19
22
  }
20
23
  /** Returns the `ValidatorType` in the `SchemaUtilsType`
21
24
  *
@@ -31,15 +34,17 @@ class SchemaUtils {
31
34
  * @param validator - An implementation of the `ValidatorType` interface that will be compared against the current one
32
35
  * @param rootSchema - The root schema that will be compared against the current one
33
36
  * @param [experimental_defaultFormStateBehavior] Optional configuration object, if provided, allows users to override default form state behavior
37
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
34
38
  * @returns - True if the `SchemaUtilsType` differs from the given `validator` or `rootSchema`
35
39
  */
36
- doesSchemaUtilsDiffer(validator, rootSchema, experimental_defaultFormStateBehavior = {}) {
40
+ doesSchemaUtilsDiffer(validator, rootSchema, experimental_defaultFormStateBehavior = {}, experimental_customMergeAllOf) {
37
41
  if (!validator || !rootSchema) {
38
42
  return false;
39
43
  }
40
44
  return (this.validator !== validator ||
41
45
  !deepEquals(this.rootSchema, rootSchema) ||
42
- !deepEquals(this.experimental_defaultFormStateBehavior, experimental_defaultFormStateBehavior));
46
+ !deepEquals(this.experimental_defaultFormStateBehavior, experimental_defaultFormStateBehavior) ||
47
+ this.experimental_customMergeAllOf !== experimental_customMergeAllOf);
43
48
  }
44
49
  /** Returns the superset of `formData` that includes the given set updated to include any missing fields that have
45
50
  * computed to have defaults provided in the `schema`.
@@ -52,7 +57,7 @@ class SchemaUtils {
52
57
  * @returns - The resulting `formData` with all the defaults provided
53
58
  */
54
59
  getDefaultFormState(schema, formData, includeUndefinedValues = false) {
55
- return getDefaultFormState(this.validator, schema, formData, this.rootSchema, includeUndefinedValues, this.experimental_defaultFormStateBehavior);
60
+ return getDefaultFormState(this.validator, schema, formData, this.rootSchema, includeUndefinedValues, this.experimental_defaultFormStateBehavior, this.experimental_customMergeAllOf);
56
61
  }
57
62
  /** Determines whether the combination of `schema` and `uiSchema` properties indicates that the label for the `schema`
58
63
  * should be displayed in a UI.
@@ -154,7 +159,7 @@ class SchemaUtils {
154
159
  * @returns - The schema having its conditions, additional properties, references and dependencies resolved
155
160
  */
156
161
  retrieveSchema(schema, rawFormData) {
157
- return retrieveSchema(this.validator, schema, this.rootSchema, rawFormData);
162
+ return retrieveSchema(this.validator, schema, this.rootSchema, rawFormData, this.experimental_customMergeAllOf);
158
163
  }
159
164
  /** Sanitize the `data` associated with the `oldSchema` so it is considered appropriate for the `newSchema`. If the
160
165
  * new schema does not contain any properties, then `undefined` is returned to clear all the form data. Due to the
@@ -180,7 +185,7 @@ class SchemaUtils {
180
185
  * @returns - The `IdSchema` object for the `schema`
181
186
  */
182
187
  toIdSchema(schema, id, formData, idPrefix = 'root', idSeparator = '_') {
183
- return toIdSchema(this.validator, schema, id, this.rootSchema, formData, idPrefix, idSeparator);
188
+ return toIdSchema(this.validator, schema, id, this.rootSchema, formData, idPrefix, idSeparator, this.experimental_customMergeAllOf);
184
189
  }
185
190
  /** Generates an `PathSchema` object for the `schema`, recursively
186
191
  *
@@ -199,9 +204,10 @@ class SchemaUtils {
199
204
  * @param validator - an implementation of the `ValidatorType` interface that will be forwarded to all the APIs
200
205
  * @param rootSchema - The root schema that will be forwarded to all the APIs
201
206
  * @param [experimental_defaultFormStateBehavior] Optional configuration object, if provided, allows users to override default form state behavior
207
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
202
208
  * @returns - An implementation of a `SchemaUtilsType` interface
203
209
  */
204
- export default function createSchemaUtils(validator, rootSchema, experimental_defaultFormStateBehavior = {}) {
205
- return new SchemaUtils(validator, rootSchema, experimental_defaultFormStateBehavior);
210
+ export default function createSchemaUtils(validator, rootSchema, experimental_defaultFormStateBehavior = {}, experimental_customMergeAllOf) {
211
+ return new SchemaUtils(validator, rootSchema, experimental_defaultFormStateBehavior, experimental_customMergeAllOf);
206
212
  }
207
213
  //# sourceMappingURL=createSchemaUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSchemaUtils.js","sourceRoot":"","sources":["../src/createSchemaUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSchemaUtils.js","sourceRoot":"","sources":["../src/createSchemaUtils.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,13 @@
7
7
  * are deeply merged; additional entries from the defaults are ignored unless `mergeExtraArrayDefaults` is true, in
8
8
  * which case the extras are appended onto the end of the form data
9
9
  * - when the array is not set in form data, the default is copied over
10
- * - scalars are overwritten/set by form data
10
+ * - scalars are overwritten/set by form data unless undefined and there is a default AND `defaultSupercedesUndefined`
11
+ * is true
11
12
  *
12
13
  * @param [defaults] - The defaults to merge
13
14
  * @param [formData] - The form data into which the defaults will be merged
14
15
  * @param [mergeExtraArrayDefaults=false] - If true, any additional default array entries are appended onto the formData
16
+ * @param [defaultSupercedesUndefined=false] - If true, an explicit undefined value will be overwritten by the default value
15
17
  * @returns - The resulting merged form data with defaults
16
18
  */
17
- export default function mergeDefaultsWithFormData<T = any>(defaults?: T, formData?: T, mergeExtraArrayDefaults?: boolean): T | undefined;
19
+ export default function mergeDefaultsWithFormData<T = any>(defaults?: T, formData?: T, mergeExtraArrayDefaults?: boolean, defaultSupercedesUndefined?: boolean): T | undefined;
@@ -9,19 +9,21 @@ import isObject from './isObject';
9
9
  * are deeply merged; additional entries from the defaults are ignored unless `mergeExtraArrayDefaults` is true, in
10
10
  * which case the extras are appended onto the end of the form data
11
11
  * - when the array is not set in form data, the default is copied over
12
- * - scalars are overwritten/set by form data
12
+ * - scalars are overwritten/set by form data unless undefined and there is a default AND `defaultSupercedesUndefined`
13
+ * is true
13
14
  *
14
15
  * @param [defaults] - The defaults to merge
15
16
  * @param [formData] - The form data into which the defaults will be merged
16
17
  * @param [mergeExtraArrayDefaults=false] - If true, any additional default array entries are appended onto the formData
18
+ * @param [defaultSupercedesUndefined=false] - If true, an explicit undefined value will be overwritten by the default value
17
19
  * @returns - The resulting merged form data with defaults
18
20
  */
19
- export default function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults = false) {
21
+ export default function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults = false, defaultSupercedesUndefined = false) {
20
22
  if (Array.isArray(formData)) {
21
23
  const defaultsArray = Array.isArray(defaults) ? defaults : [];
22
24
  const mapped = formData.map((value, idx) => {
23
25
  if (defaultsArray[idx]) {
24
- return mergeDefaultsWithFormData(defaultsArray[idx], value, mergeExtraArrayDefaults);
26
+ return mergeDefaultsWithFormData(defaultsArray[idx], value, mergeExtraArrayDefaults, defaultSupercedesUndefined);
25
27
  }
26
28
  return value;
27
29
  });
@@ -34,10 +36,13 @@ export default function mergeDefaultsWithFormData(defaults, formData, mergeExtra
34
36
  if (isObject(formData)) {
35
37
  const acc = Object.assign({}, defaults); // Prevent mutation of source object.
36
38
  return Object.keys(formData).reduce((acc, key) => {
37
- acc[key] = mergeDefaultsWithFormData(defaults ? get(defaults, key) : {}, get(formData, key), mergeExtraArrayDefaults);
39
+ acc[key] = mergeDefaultsWithFormData(defaults ? get(defaults, key) : {}, get(formData, key), mergeExtraArrayDefaults, defaultSupercedesUndefined);
38
40
  return acc;
39
41
  }, acc);
40
42
  }
43
+ if (defaultSupercedesUndefined && formData === undefined) {
44
+ return defaults;
45
+ }
41
46
  return formData;
42
47
  }
43
48
  //# sourceMappingURL=mergeDefaultsWithFormData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeDefaultsWithFormData.js","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,QAAY,EACZ,QAAY,EACZ,uBAAuB,GAAG,KAAK;IAE/B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO,yBAAyB,CAAM,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;aAC3F;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,gEAAgE;QAChE,IAAI,uBAAuB,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACpD;QACD,OAAO,MAAsB,CAAC;KAC/B;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,GAAG,GAA8B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,qCAAqC;QACzG,OAAO,MAAM,CAAC,IAAI,CAAC,QAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpE,GAAG,CAAC,GAAc,CAAC,GAAG,yBAAyB,CAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAClB,uBAAuB,CACxB,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,GAAG,CAAC,CAAC;KACT;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"mergeDefaultsWithFormData.js","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,QAAY,EACZ,QAAY,EACZ,uBAAuB,GAAG,KAAK,EAC/B,0BAA0B,GAAG,KAAK;IAElC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO,yBAAyB,CAC9B,aAAa,CAAC,GAAG,CAAC,EAClB,KAAK,EACL,uBAAuB,EACvB,0BAA0B,CAC3B,CAAC;aACH;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,gEAAgE;QAChE,IAAI,uBAAuB,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACpD;QACD,OAAO,MAAsB,CAAC;KAC/B;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,GAAG,GAA8B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,qCAAqC;QACzG,OAAO,MAAM,CAAC,IAAI,CAAC,QAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpE,GAAG,CAAC,GAAc,CAAC,GAAG,yBAAyB,CAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAClB,uBAAuB,EACvB,0BAA0B,CAC3B,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,GAAG,CAAC,CAAC;KACT;IACD,IAAI,0BAA0B,IAAI,QAAQ,KAAK,SAAS,EAAE;QACxD,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -43,7 +43,7 @@ export const JUNK_OPTION = {
43
43
  * @param formData - The form data associated with the schema, used to calculate the score
44
44
  * @returns - The score a schema against the formData
45
45
  */
46
- export function calculateIndexScore(validator, rootSchema, schema, formData = {}) {
46
+ export function calculateIndexScore(validator, rootSchema, schema, formData) {
47
47
  let totalScore = 0;
48
48
  if (schema) {
49
49
  if (isObject(schema.properties)) {
@@ -63,7 +63,11 @@ export function calculateIndexScore(validator, rootSchema, schema, formData = {}
63
63
  getClosestMatchingOption(validator, rootSchema, formValue, get(value, key), -1, discriminator));
64
64
  }
65
65
  if (value.type === 'object') {
66
- return score + calculateIndexScore(validator, rootSchema, value, formValue || {});
66
+ if (isObject(formValue)) {
67
+ // If the structure is matching then give it a little boost in score
68
+ score += 1;
69
+ }
70
+ return score + calculateIndexScore(validator, rootSchema, value, formValue);
67
71
  }
68
72
  if (value.type === guessType(formValue)) {
69
73
  // If the types match, then we bump the score by one
@@ -1 +1 @@
1
- {"version":3,"file":"getClosestMatchingOption.js","sourceRoot":"","sources":["../../src/schema/getClosestMatchingOption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getClosestMatchingOption.js","sourceRoot":"","sources":["../../src/schema/getClosestMatchingOption.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Experimental_DefaultFormStateBehavior, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
1
+ import { Experimental_CustomMergeAllOf, Experimental_DefaultFormStateBehavior, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types';
2
2
  /** Enum that indicates how `schema.additionalItems` should be handled by the `getInnerSchemaForArrayItem()` function.
3
3
  */
4
4
  export declare enum AdditionalItemsHandling {
@@ -38,6 +38,8 @@ interface ComputeDefaultsProps<T = any, S extends StrictRJSFSchema = RJSFSchema>
38
38
  _recurseList?: string[];
39
39
  /** Optional configuration object, if provided, allows users to override default form state behavior */
40
40
  experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior;
41
+ /** Optional function that allows for custom merging of `allOf` schemas */
42
+ experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>;
41
43
  /** Optional flag, if true, indicates this schema was required in the parent schema. */
42
44
  required?: boolean;
43
45
  }
@@ -58,7 +60,7 @@ export declare function computeDefaults<T = any, S extends StrictRJSFSchema = RJ
58
60
  * @param defaults - Optional props for this function
59
61
  * @returns - The default value based on the schema type if they are defined for object or array schemas.
60
62
  */
61
- export declare function getObjectDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rawSchema: S, { rawFormData, rootSchema, includeUndefinedValues, _recurseList, experimental_defaultFormStateBehavior, required, }?: ComputeDefaultsProps<T, S>, defaults?: T | T[] | undefined): T;
63
+ export declare function getObjectDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rawSchema: S, { rawFormData, rootSchema, includeUndefinedValues, _recurseList, experimental_defaultFormStateBehavior, experimental_customMergeAllOf, required, }?: ComputeDefaultsProps<T, S>, defaults?: T | T[] | undefined): T;
62
64
  /** Computes the default value for arrays.
63
65
  *
64
66
  * @param validator - an implementation of the `ValidatorType` interface that will be used when necessary
@@ -88,7 +90,8 @@ export declare function getDefaultBasedOnSchemaType<T = any, S extends StrictRJS
88
90
  * If "excludeObjectChildren", cause undefined values for this object and pass `includeUndefinedValues` as
89
91
  * false when computing defaults for any nested object properties.
90
92
  * @param [experimental_defaultFormStateBehavior] Optional configuration object, if provided, allows users to override default form state behavior
93
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
91
94
  * @returns - The resulting `formData` with all the defaults provided
92
95
  */
93
- export default function getDefaultFormState<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, theSchema: S, formData?: T, rootSchema?: S, includeUndefinedValues?: boolean | 'excludeObjectChildren', experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior): T | T[] | undefined;
96
+ export default function getDefaultFormState<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, theSchema: S, formData?: T, rootSchema?: S, includeUndefinedValues?: boolean | 'excludeObjectChildren', experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): T | T[] | undefined;
94
97
  export {};
@@ -1,6 +1,6 @@
1
1
  import get from 'lodash/get';
2
2
  import isEmpty from 'lodash/isEmpty';
3
- import { ANY_OF_KEY, DEFAULT_KEY, DEPENDENCIES_KEY, PROPERTIES_KEY, ONE_OF_KEY, REF_KEY, ALL_OF_KEY, } from '../constants';
3
+ import { ANY_OF_KEY, CONST_KEY, DEFAULT_KEY, DEPENDENCIES_KEY, PROPERTIES_KEY, ONE_OF_KEY, REF_KEY, ALL_OF_KEY, } from '../constants';
4
4
  import findSchemaDefinition from '../findSchemaDefinition';
5
5
  import getClosestMatchingOption from './getClosestMatchingOption';
6
6
  import getDiscriminatorFieldFromSchema from '../getDiscriminatorFieldFromSchema';
@@ -12,6 +12,7 @@ import mergeObjects from '../mergeObjects';
12
12
  import mergeSchemas from '../mergeSchemas';
13
13
  import isMultiSelect from './isMultiSelect';
14
14
  import retrieveSchema, { resolveDependencies } from './retrieveSchema';
15
+ import isConstant from '../isConstant';
15
16
  /** Enum that indicates how `schema.additionalItems` should be handled by the `getInnerSchemaForArrayItem()` function.
16
17
  */
17
18
  export var AdditionalItemsHandling;
@@ -70,10 +71,13 @@ export function getInnerSchemaForArrayItem(schema, additionalItems = AdditionalI
70
71
  * @param requiredFields - The list of fields that are required
71
72
  * @param experimental_defaultFormStateBehavior - Optional configuration object, if provided, allows users to override
72
73
  * default form state behavior
74
+ * @param isConst - Optional flag, if true, indicates that the schema has a const property defined, thus we should always return the computedDefault since it's coming from the const.
73
75
  */
74
- function maybeAddDefaultToObject(obj, key, computedDefault, includeUndefinedValues, isParentRequired, requiredFields = [], experimental_defaultFormStateBehavior = {}) {
76
+ function maybeAddDefaultToObject(obj, key, computedDefault, includeUndefinedValues, isParentRequired, requiredFields = [], experimental_defaultFormStateBehavior = {}, isConst = false) {
75
77
  const { emptyObjectFields = 'populateAllDefaults' } = experimental_defaultFormStateBehavior;
76
- if (includeUndefinedValues) {
78
+ if (includeUndefinedValues || isConst) {
79
+ // If includeUndefinedValues
80
+ // Or if the schema has a const property defined, then we should always return the computedDefault since it's coming from the const.
77
81
  obj[key] = computedDefault;
78
82
  }
79
83
  else if (emptyObjectFields !== 'skipDefaults') {
@@ -116,7 +120,7 @@ function maybeAddDefaultToObject(obj, key, computedDefault, includeUndefinedValu
116
120
  * @returns - The resulting `formData` with all the defaults provided
117
121
  */
118
122
  export function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
119
- const { parentDefaults, rawFormData, rootSchema = {}, includeUndefinedValues = false, _recurseList = [], experimental_defaultFormStateBehavior = undefined, required, } = computeDefaultsProps;
123
+ const { parentDefaults, rawFormData, rootSchema = {}, includeUndefinedValues = false, _recurseList = [], experimental_defaultFormStateBehavior = undefined, experimental_customMergeAllOf = undefined, required, } = computeDefaultsProps;
120
124
  const formData = (isObject(rawFormData) ? rawFormData : {});
121
125
  const schema = isObject(rawSchema) ? rawSchema : {};
122
126
  // Compute the defaults recursively: give highest priority to deepest nodes.
@@ -124,7 +128,10 @@ export function computeDefaults(validator, rawSchema, computeDefaultsProps = {})
124
128
  // If we get a new schema, then we need to recompute defaults again for the new schema found.
125
129
  let schemaToCompute = null;
126
130
  let updatedRecurseList = _recurseList;
127
- if (isObject(defaults) && isObject(schema.default)) {
131
+ if (isConstant(schema)) {
132
+ defaults = schema.const;
133
+ }
134
+ else if (isObject(defaults) && isObject(schema.default)) {
128
135
  // For object defaults, only override parent defaults that are defined in
129
136
  // schema.default.
130
137
  defaults = mergeObjects(defaults, schema.default);
@@ -146,7 +153,7 @@ export function computeDefaults(validator, rawSchema, computeDefaultsProps = {})
146
153
  ...formData,
147
154
  ...getDefaultBasedOnSchemaType(validator, schema, computeDefaultsProps, defaults),
148
155
  };
149
- const resolvedSchema = resolveDependencies(validator, schema, rootSchema, false, [], defaultFormData);
156
+ const resolvedSchema = resolveDependencies(validator, schema, rootSchema, false, [], defaultFormData, experimental_customMergeAllOf);
150
157
  schemaToCompute = resolvedSchema[0]; // pick the first element from resolve dependencies
151
158
  }
152
159
  else if (isFixedItems(schema)) {
@@ -204,29 +211,35 @@ export function computeDefaults(validator, rawSchema, computeDefaultsProps = {})
204
211
  * @param defaults - Optional props for this function
205
212
  * @returns - The default value based on the schema type if they are defined for object or array schemas.
206
213
  */
207
- export function getObjectDefaults(validator, rawSchema, { rawFormData, rootSchema = {}, includeUndefinedValues = false, _recurseList = [], experimental_defaultFormStateBehavior = undefined, required, } = {}, defaults) {
214
+ export function getObjectDefaults(validator, rawSchema, { rawFormData, rootSchema = {}, includeUndefinedValues = false, _recurseList = [], experimental_defaultFormStateBehavior = undefined, experimental_customMergeAllOf = undefined, required, } = {}, defaults) {
208
215
  {
209
216
  const formData = (isObject(rawFormData) ? rawFormData : {});
210
217
  const schema = rawSchema;
211
218
  // This is a custom addition that fixes this issue:
212
219
  // https://github.com/rjsf-team/react-jsonschema-form/issues/3832
213
220
  const retrievedSchema = (experimental_defaultFormStateBehavior === null || experimental_defaultFormStateBehavior === void 0 ? void 0 : experimental_defaultFormStateBehavior.allOf) === 'populateDefaults' && ALL_OF_KEY in schema
214
- ? retrieveSchema(validator, schema, rootSchema, formData)
221
+ ? retrieveSchema(validator, schema, rootSchema, formData, experimental_customMergeAllOf)
215
222
  : schema;
223
+ const parentConst = retrievedSchema[CONST_KEY];
216
224
  const objectDefaults = Object.keys(retrievedSchema.properties || {}).reduce((acc, key) => {
217
225
  var _a;
226
+ const propertySchema = get(retrievedSchema, [PROPERTIES_KEY, key]);
227
+ // Check if the parent schema has a const property defined, then we should always return the computedDefault since it's coming from the const.
228
+ const hasParentConst = isObject(parentConst) && parentConst[key] !== undefined;
229
+ const hasConst = (isObject(propertySchema) && CONST_KEY in propertySchema) || hasParentConst;
218
230
  // Compute the defaults for this node, with the parent defaults we might
219
231
  // have from a previous run: defaults[key].
220
- const computedDefault = computeDefaults(validator, get(retrievedSchema, [PROPERTIES_KEY, key]), {
232
+ const computedDefault = computeDefaults(validator, propertySchema, {
221
233
  rootSchema,
222
234
  _recurseList,
223
235
  experimental_defaultFormStateBehavior,
236
+ experimental_customMergeAllOf,
224
237
  includeUndefinedValues: includeUndefinedValues === true,
225
238
  parentDefaults: get(defaults, [key]),
226
239
  rawFormData: get(formData, [key]),
227
240
  required: (_a = retrievedSchema.required) === null || _a === void 0 ? void 0 : _a.includes(key),
228
241
  });
229
- maybeAddDefaultToObject(acc, key, computedDefault, includeUndefinedValues, required, retrievedSchema.required, experimental_defaultFormStateBehavior);
242
+ maybeAddDefaultToObject(acc, key, computedDefault, includeUndefinedValues, required, retrievedSchema.required, experimental_defaultFormStateBehavior, hasConst);
230
243
  return acc;
231
244
  }, {});
232
245
  if (retrievedSchema.additionalProperties) {
@@ -313,13 +326,17 @@ export function getArrayDefaults(validator, rawSchema, { rawFormData, rootSchema
313
326
  });
314
327
  }
315
328
  }
316
- if (neverPopulate) {
317
- return defaults !== null && defaults !== void 0 ? defaults : emptyDefault;
318
- }
319
- if (ignoreMinItemsFlagSet && !required) {
320
- // If no form data exists or defaults are set leave the field empty/non-existent, otherwise
321
- // return form data/defaults
322
- return defaults ? defaults : undefined;
329
+ // Check if the schema has a const property defined, then we should always return the computedDefault since it's coming from the const.
330
+ const hasConst = isObject(schema) && CONST_KEY in schema;
331
+ if (hasConst === false) {
332
+ if (neverPopulate) {
333
+ return defaults !== null && defaults !== void 0 ? defaults : emptyDefault;
334
+ }
335
+ if (ignoreMinItemsFlagSet && !required) {
336
+ // If no form data exists or defaults are set leave the field empty/non-existent, otherwise
337
+ // return form data/defaults
338
+ return defaults ? defaults : undefined;
339
+ }
323
340
  }
324
341
  const defaultsLength = Array.isArray(defaults) ? defaults.length : 0;
325
342
  if (!schema.minItems ||
@@ -372,29 +389,33 @@ export function getDefaultBasedOnSchemaType(validator, rawSchema, computeDefault
372
389
  * If "excludeObjectChildren", cause undefined values for this object and pass `includeUndefinedValues` as
373
390
  * false when computing defaults for any nested object properties.
374
391
  * @param [experimental_defaultFormStateBehavior] Optional configuration object, if provided, allows users to override default form state behavior
392
+ * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
375
393
  * @returns - The resulting `formData` with all the defaults provided
376
394
  */
377
- export default function getDefaultFormState(validator, theSchema, formData, rootSchema, includeUndefinedValues = false, experimental_defaultFormStateBehavior) {
395
+ export default function getDefaultFormState(validator, theSchema, formData, rootSchema, includeUndefinedValues = false, experimental_defaultFormStateBehavior, experimental_customMergeAllOf) {
378
396
  if (!isObject(theSchema)) {
379
397
  throw new Error('Invalid schema: ' + theSchema);
380
398
  }
381
- const schema = retrieveSchema(validator, theSchema, rootSchema, formData);
399
+ const schema = retrieveSchema(validator, theSchema, rootSchema, formData, experimental_customMergeAllOf);
382
400
  const defaults = computeDefaults(validator, schema, {
383
401
  rootSchema,
384
402
  includeUndefinedValues,
385
403
  experimental_defaultFormStateBehavior,
404
+ experimental_customMergeAllOf,
386
405
  rawFormData: formData,
387
406
  });
388
407
  if (formData === undefined || formData === null || (typeof formData === 'number' && isNaN(formData))) {
389
408
  // No form data? Use schema defaults.
390
409
  return defaults;
391
410
  }
392
- const { mergeExtraDefaults } = (experimental_defaultFormStateBehavior === null || experimental_defaultFormStateBehavior === void 0 ? void 0 : experimental_defaultFormStateBehavior.arrayMinItems) || {};
411
+ const { mergeDefaultsIntoFormData, arrayMinItems = {} } = experimental_defaultFormStateBehavior || {};
412
+ const { mergeExtraDefaults } = arrayMinItems;
413
+ const defaultSupercedesUndefined = mergeDefaultsIntoFormData === 'useDefaultIfFormDataUndefined';
393
414
  if (isObject(formData)) {
394
- return mergeDefaultsWithFormData(defaults, formData, mergeExtraDefaults);
415
+ return mergeDefaultsWithFormData(defaults, formData, mergeExtraDefaults, defaultSupercedesUndefined);
395
416
  }
396
417
  if (Array.isArray(formData)) {
397
- return mergeDefaultsWithFormData(defaults, formData, mergeExtraDefaults);
418
+ return mergeDefaultsWithFormData(defaults, formData, mergeExtraDefaults, defaultSupercedesUndefined);
398
419
  }
399
420
  return formData;
400
421
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultFormState.js","sourceRoot":"","sources":["../../src/schema/getDefaultFormState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getDefaultFormState.js","sourceRoot":"","sources":["../../src/schema/getDefaultFormState.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
  /** 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[];