@rjsf/utils 6.0.0-beta.7 → 6.0.0-beta.8
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 +85 -81
- package/dist/index.js.map +3 -3
- package/dist/utils.esm.js +85 -81
- package/dist/utils.esm.js.map +3 -3
- package/dist/utils.umd.js +66 -63
- package/lib/canExpand.d.ts +1 -1
- package/lib/findSchemaDefinition.d.ts +1 -1
- package/lib/findSchemaDefinition.js +4 -3
- package/lib/findSchemaDefinition.js.map +1 -1
- package/lib/schema/getDefaultFormState.js +7 -1
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/retrieveSchema.d.ts +1 -1
- package/lib/schema/retrieveSchema.js +3 -3
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +3 -2
- package/package.json +1 -1
- package/src/findSchemaDefinition.ts +4 -3
- package/src/schema/getDefaultFormState.ts +8 -2
- package/src/schema/retrieveSchema.ts +3 -3
- package/src/types.ts +3 -2
package/dist/index.js
CHANGED
|
@@ -299,15 +299,15 @@ function deepEquals(a, b) {
|
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
// src/schema/findFieldInSchema.ts
|
|
302
|
-
var
|
|
302
|
+
var import_get8 = __toESM(require("lodash/get"), 1);
|
|
303
303
|
var import_has3 = __toESM(require("lodash/has"), 1);
|
|
304
304
|
|
|
305
305
|
// src/schema/findSelectedOptionInXxxOf.ts
|
|
306
|
-
var
|
|
306
|
+
var import_get6 = __toESM(require("lodash/get"), 1);
|
|
307
307
|
var import_isEqual = __toESM(require("lodash/isEqual"), 1);
|
|
308
308
|
|
|
309
309
|
// src/schema/retrieveSchema.ts
|
|
310
|
-
var
|
|
310
|
+
var import_get5 = __toESM(require("lodash/get"), 1);
|
|
311
311
|
var import_set = __toESM(require("lodash/set"), 1);
|
|
312
312
|
var import_times = __toESM(require("lodash/times"), 1);
|
|
313
313
|
var import_transform = __toESM(require("lodash/transform"), 1);
|
|
@@ -322,6 +322,7 @@ var import_omit = __toESM(require("lodash/omit"), 1);
|
|
|
322
322
|
var import_isObject3 = __toESM(require("lodash/isObject"), 1);
|
|
323
323
|
var import_isEmpty = __toESM(require("lodash/isEmpty"), 1);
|
|
324
324
|
var import_fast_uri = __toESM(require("fast-uri"), 1);
|
|
325
|
+
var import_get = __toESM(require("lodash/get"), 1);
|
|
325
326
|
function findEmbeddedSchemaRecursive(schema, ref) {
|
|
326
327
|
if (ID_KEY in schema && import_fast_uri.default.equal(schema[ID_KEY], ref)) {
|
|
327
328
|
return schema;
|
|
@@ -341,7 +342,7 @@ function splitKeyElementFromObject(key, object) {
|
|
|
341
342
|
const remaining = (0, import_omit.default)(object, [key]);
|
|
342
343
|
return [remaining, value];
|
|
343
344
|
}
|
|
344
|
-
function findSchemaDefinitionRecursive($ref, rootSchema = {}, recurseList = [], baseURI =
|
|
345
|
+
function findSchemaDefinitionRecursive($ref, rootSchema = {}, recurseList = [], baseURI = (0, import_get.default)(rootSchema, [ID_KEY])) {
|
|
345
346
|
const ref = $ref || "";
|
|
346
347
|
let current = void 0;
|
|
347
348
|
if (ref.startsWith("#")) {
|
|
@@ -387,17 +388,17 @@ function findSchemaDefinitionRecursive($ref, rootSchema = {}, recurseList = [],
|
|
|
387
388
|
}
|
|
388
389
|
return current;
|
|
389
390
|
}
|
|
390
|
-
function findSchemaDefinition($ref, rootSchema = {}, baseURI =
|
|
391
|
+
function findSchemaDefinition($ref, rootSchema = {}, baseURI = (0, import_get.default)(rootSchema, [ID_KEY])) {
|
|
391
392
|
const recurseList = [];
|
|
392
393
|
return findSchemaDefinitionRecursive($ref, rootSchema, recurseList, baseURI);
|
|
393
394
|
}
|
|
394
395
|
|
|
395
396
|
// src/getDiscriminatorFieldFromSchema.ts
|
|
396
|
-
var
|
|
397
|
+
var import_get2 = __toESM(require("lodash/get"), 1);
|
|
397
398
|
var import_isString = __toESM(require("lodash/isString"), 1);
|
|
398
399
|
function getDiscriminatorFieldFromSchema(schema) {
|
|
399
400
|
let discriminator;
|
|
400
|
-
const maybeString = (0,
|
|
401
|
+
const maybeString = (0, import_get2.default)(schema, DISCRIMINATOR_PATH);
|
|
401
402
|
if ((0, import_isString.default)(maybeString)) {
|
|
402
403
|
discriminator = maybeString;
|
|
403
404
|
} else if (maybeString !== void 0) {
|
|
@@ -471,21 +472,21 @@ function mergeSchemas(obj1, obj2) {
|
|
|
471
472
|
}
|
|
472
473
|
|
|
473
474
|
// src/schema/getFirstMatchingOption.ts
|
|
474
|
-
var
|
|
475
|
+
var import_get4 = __toESM(require("lodash/get"), 1);
|
|
475
476
|
var import_has = __toESM(require("lodash/has"), 1);
|
|
476
477
|
var import_isNumber = __toESM(require("lodash/isNumber"), 1);
|
|
477
478
|
|
|
478
479
|
// src/getOptionMatchingSimpleDiscriminator.ts
|
|
479
|
-
var
|
|
480
|
+
var import_get3 = __toESM(require("lodash/get"), 1);
|
|
480
481
|
function getOptionMatchingSimpleDiscriminator(formData, options, discriminatorField) {
|
|
481
482
|
if (formData && discriminatorField) {
|
|
482
|
-
const value = (0,
|
|
483
|
+
const value = (0, import_get3.default)(formData, discriminatorField);
|
|
483
484
|
if (value === void 0) {
|
|
484
485
|
return;
|
|
485
486
|
}
|
|
486
487
|
for (let i = 0; i < options.length; i++) {
|
|
487
488
|
const option = options[i];
|
|
488
|
-
const discriminator = (0,
|
|
489
|
+
const discriminator = (0, import_get3.default)(option, [PROPERTIES_KEY, discriminatorField], {});
|
|
489
490
|
if (discriminator.type === "object" || discriminator.type === "array") {
|
|
490
491
|
continue;
|
|
491
492
|
}
|
|
@@ -512,8 +513,8 @@ function getFirstMatchingOption(validator, formData, options, rootSchema, discri
|
|
|
512
513
|
for (let i = 0; i < options.length; i++) {
|
|
513
514
|
const option = options[i];
|
|
514
515
|
if (discriminatorField && (0, import_has.default)(option, [PROPERTIES_KEY, discriminatorField])) {
|
|
515
|
-
const value = (0,
|
|
516
|
-
const discriminator = (0,
|
|
516
|
+
const value = (0, import_get4.default)(formData, discriminatorField);
|
|
517
|
+
const discriminator = (0, import_get4.default)(option, [PROPERTIES_KEY, discriminatorField], {});
|
|
517
518
|
if (validator.isValid(discriminator, value, rootSchema)) {
|
|
518
519
|
return i;
|
|
519
520
|
}
|
|
@@ -770,7 +771,7 @@ function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFor
|
|
|
770
771
|
validator,
|
|
771
772
|
{ allOf: Object.values(matchingProperties) },
|
|
772
773
|
rootSchema,
|
|
773
|
-
formData,
|
|
774
|
+
(0, import_get5.default)(formData, [key]),
|
|
774
775
|
experimental_customMergeAllOf
|
|
775
776
|
);
|
|
776
777
|
(0, import_set.default)(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
|
|
@@ -783,7 +784,7 @@ function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFor
|
|
|
783
784
|
if (REF_KEY in schema.additionalProperties) {
|
|
784
785
|
additionalProperties = retrieveSchema(
|
|
785
786
|
validator,
|
|
786
|
-
{ $ref: (0,
|
|
787
|
+
{ $ref: (0, import_get5.default)(schema.additionalProperties, [REF_KEY]) },
|
|
787
788
|
rootSchema,
|
|
788
789
|
formData,
|
|
789
790
|
experimental_customMergeAllOf
|
|
@@ -796,10 +797,10 @@ function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFor
|
|
|
796
797
|
...schema.additionalProperties
|
|
797
798
|
};
|
|
798
799
|
} else {
|
|
799
|
-
additionalProperties = { type: guessType((0,
|
|
800
|
+
additionalProperties = { type: guessType((0, import_get5.default)(formData, [key])) };
|
|
800
801
|
}
|
|
801
802
|
} else {
|
|
802
|
-
additionalProperties = { type: guessType((0,
|
|
803
|
+
additionalProperties = { type: guessType((0, import_get5.default)(formData, [key])) };
|
|
803
804
|
}
|
|
804
805
|
schema.properties[key] = additionalProperties;
|
|
805
806
|
(0, import_set.default)(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
|
|
@@ -878,7 +879,7 @@ function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expa
|
|
|
878
879
|
validator,
|
|
879
880
|
{ allOf: [schema2.properties[key], ...Object.values(matchingProperties)] },
|
|
880
881
|
rootSchema,
|
|
881
|
-
rawFormData,
|
|
882
|
+
(0, import_get5.default)(rawFormData, [key]),
|
|
882
883
|
experimental_customMergeAllOf
|
|
883
884
|
);
|
|
884
885
|
}
|
|
@@ -950,7 +951,7 @@ function resolveDependencies(validator, schema, rootSchema, expandAllBranches, r
|
|
|
950
951
|
function processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
|
|
951
952
|
let schemas = [resolvedSchema];
|
|
952
953
|
for (const dependencyKey in dependencies) {
|
|
953
|
-
if (!expandAllBranches && (0,
|
|
954
|
+
if (!expandAllBranches && (0, import_get5.default)(formData, [dependencyKey]) === void 0) {
|
|
954
955
|
continue;
|
|
955
956
|
}
|
|
956
957
|
if (resolvedSchema.properties && !(dependencyKey in resolvedSchema.properties)) {
|
|
@@ -1081,11 +1082,11 @@ function findSelectedOptionInXxxOf(validator, rootSchema, schema, fallbackField,
|
|
|
1081
1082
|
const xxxOfs = schema[xxx].map(
|
|
1082
1083
|
(xxxOf) => retrieveSchema(validator, xxxOf, rootSchema, formData, experimental_customMergeAllOf)
|
|
1083
1084
|
);
|
|
1084
|
-
const data = (0,
|
|
1085
|
+
const data = (0, import_get6.default)(formData, selectorField);
|
|
1085
1086
|
if (data !== void 0) {
|
|
1086
1087
|
return xxxOfs.find((xxx2) => {
|
|
1087
1088
|
return (0, import_isEqual.default)(
|
|
1088
|
-
(0,
|
|
1089
|
+
(0, import_get6.default)(xxx2, [PROPERTIES_KEY, selectorField, DEFAULT_KEY], (0, import_get6.default)(xxx2, [PROPERTIES_KEY, selectorField, CONST_KEY])),
|
|
1089
1090
|
data
|
|
1090
1091
|
);
|
|
1091
1092
|
});
|
|
@@ -1095,7 +1096,7 @@ function findSelectedOptionInXxxOf(validator, rootSchema, schema, fallbackField,
|
|
|
1095
1096
|
}
|
|
1096
1097
|
|
|
1097
1098
|
// src/schema/getFromSchema.ts
|
|
1098
|
-
var
|
|
1099
|
+
var import_get7 = __toESM(require("lodash/get"), 1);
|
|
1099
1100
|
var import_has2 = __toESM(require("lodash/has"), 1);
|
|
1100
1101
|
var import_isEmpty3 = __toESM(require("lodash/isEmpty"), 1);
|
|
1101
1102
|
function getFromSchemaInternal(validator, rootSchema, schema, path, experimental_customMergeAllOf) {
|
|
@@ -1109,7 +1110,7 @@ function getFromSchemaInternal(validator, rootSchema, schema, path, experimental
|
|
|
1109
1110
|
const pathList = Array.isArray(path) ? path : path.split(".");
|
|
1110
1111
|
const [part, ...nestedPath] = pathList;
|
|
1111
1112
|
if (part && (0, import_has2.default)(fieldSchema, part)) {
|
|
1112
|
-
fieldSchema = (0,
|
|
1113
|
+
fieldSchema = (0, import_get7.default)(fieldSchema, part);
|
|
1113
1114
|
return getFromSchemaInternal(
|
|
1114
1115
|
validator,
|
|
1115
1116
|
rootSchema,
|
|
@@ -1151,7 +1152,7 @@ function findFieldInSchema(validator, rootSchema, schema, path, formData = {}, e
|
|
|
1151
1152
|
parentField,
|
|
1152
1153
|
fieldName,
|
|
1153
1154
|
ONE_OF_KEY,
|
|
1154
|
-
(0,
|
|
1155
|
+
(0, import_get8.default)(formData, subPath),
|
|
1155
1156
|
experimental_customMergeAllOf
|
|
1156
1157
|
);
|
|
1157
1158
|
} else if ((0, import_has3.default)(parentField, ANY_OF_KEY)) {
|
|
@@ -1161,7 +1162,7 @@ function findFieldInSchema(validator, rootSchema, schema, path, formData = {}, e
|
|
|
1161
1162
|
parentField,
|
|
1162
1163
|
fieldName,
|
|
1163
1164
|
ANY_OF_KEY,
|
|
1164
|
-
(0,
|
|
1165
|
+
(0, import_get8.default)(formData, subPath),
|
|
1165
1166
|
experimental_customMergeAllOf
|
|
1166
1167
|
);
|
|
1167
1168
|
}
|
|
@@ -1215,11 +1216,11 @@ function findFieldInSchema(validator, rootSchema, schema, path, formData = {}, e
|
|
|
1215
1216
|
}
|
|
1216
1217
|
|
|
1217
1218
|
// src/schema/getDefaultFormState.ts
|
|
1218
|
-
var
|
|
1219
|
+
var import_get12 = __toESM(require("lodash/get"), 1);
|
|
1219
1220
|
var import_isEmpty4 = __toESM(require("lodash/isEmpty"), 1);
|
|
1220
1221
|
|
|
1221
1222
|
// src/schema/getClosestMatchingOption.ts
|
|
1222
|
-
var
|
|
1223
|
+
var import_get9 = __toESM(require("lodash/get"), 1);
|
|
1223
1224
|
var import_has4 = __toESM(require("lodash/has"), 1);
|
|
1224
1225
|
var import_isNumber2 = __toESM(require("lodash/isNumber"), 1);
|
|
1225
1226
|
var import_isObject6 = __toESM(require("lodash/isObject"), 1);
|
|
@@ -1242,7 +1243,7 @@ function calculateIndexScore(validator, rootSchema, schema, formData, experiment
|
|
|
1242
1243
|
totalScore += (0, import_reduce.default)(
|
|
1243
1244
|
schema.properties,
|
|
1244
1245
|
(score, value, key) => {
|
|
1245
|
-
const formValue = (0,
|
|
1246
|
+
const formValue = (0, import_get9.default)(formData, key);
|
|
1246
1247
|
if (typeof value === "boolean") {
|
|
1247
1248
|
return score;
|
|
1248
1249
|
}
|
|
@@ -1269,7 +1270,7 @@ function calculateIndexScore(validator, rootSchema, schema, formData, experiment
|
|
|
1269
1270
|
validator,
|
|
1270
1271
|
rootSchema,
|
|
1271
1272
|
formValue,
|
|
1272
|
-
(0,
|
|
1273
|
+
(0, import_get9.default)(value, key2),
|
|
1273
1274
|
-1,
|
|
1274
1275
|
discriminator,
|
|
1275
1276
|
experimental_customMergeAllOf
|
|
@@ -1348,7 +1349,7 @@ function isFixedItems(schema) {
|
|
|
1348
1349
|
}
|
|
1349
1350
|
|
|
1350
1351
|
// src/mergeDefaultsWithFormData.ts
|
|
1351
|
-
var
|
|
1352
|
+
var import_get10 = __toESM(require("lodash/get"), 1);
|
|
1352
1353
|
var import_isNil = __toESM(require("lodash/isNil"), 1);
|
|
1353
1354
|
function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults = false, defaultSupercedesUndefined = false, overrideFormDataWithDefaults = false) {
|
|
1354
1355
|
if (Array.isArray(formData)) {
|
|
@@ -1375,11 +1376,11 @@ function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults =
|
|
|
1375
1376
|
if (isObject(formData)) {
|
|
1376
1377
|
const acc = Object.assign({}, defaults);
|
|
1377
1378
|
return Object.keys(formData).reduce((acc2, key) => {
|
|
1378
|
-
const keyValue = (0,
|
|
1379
|
+
const keyValue = (0, import_get10.default)(formData, key);
|
|
1379
1380
|
const keyExistsInDefaults = isObject(defaults) && key in defaults;
|
|
1380
1381
|
const keyExistsInFormData = key in formData;
|
|
1381
1382
|
acc2[key] = mergeDefaultsWithFormData(
|
|
1382
|
-
defaults ? (0,
|
|
1383
|
+
defaults ? (0, import_get10.default)(defaults, key) : {},
|
|
1383
1384
|
keyValue,
|
|
1384
1385
|
mergeExtraArrayDefaults,
|
|
1385
1386
|
defaultSupercedesUndefined,
|
|
@@ -1458,7 +1459,7 @@ function constIsAjvDataReference(schema) {
|
|
|
1458
1459
|
}
|
|
1459
1460
|
|
|
1460
1461
|
// src/optionsList.ts
|
|
1461
|
-
var
|
|
1462
|
+
var import_get11 = __toESM(require("lodash/get"), 1);
|
|
1462
1463
|
|
|
1463
1464
|
// src/toConstant.ts
|
|
1464
1465
|
function toConstant(schema) {
|
|
@@ -1504,8 +1505,8 @@ function optionsList(schema, uiSchema) {
|
|
|
1504
1505
|
let value;
|
|
1505
1506
|
let label = title;
|
|
1506
1507
|
if (selectorField) {
|
|
1507
|
-
const innerSchema = (0,
|
|
1508
|
-
value = (0,
|
|
1508
|
+
const innerSchema = (0, import_get11.default)(aSchema, [PROPERTIES_KEY, selectorField], {});
|
|
1509
|
+
value = (0, import_get11.default)(innerSchema, DEFAULT_KEY, (0, import_get11.default)(innerSchema, CONST_KEY));
|
|
1509
1510
|
label = label || innerSchema?.title || aSchema.title || String(value);
|
|
1510
1511
|
} else {
|
|
1511
1512
|
value = toConstant(aSchema);
|
|
@@ -1574,7 +1575,7 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
|
|
|
1574
1575
|
required,
|
|
1575
1576
|
shouldMergeDefaultsIntoFormData = false
|
|
1576
1577
|
} = computeDefaultsProps;
|
|
1577
|
-
|
|
1578
|
+
let formData = isObject(rawFormData) ? rawFormData : {};
|
|
1578
1579
|
const schema = isObject(rawSchema) ? rawSchema : {};
|
|
1579
1580
|
let defaults = parentDefaults;
|
|
1580
1581
|
let schemaToCompute = null;
|
|
@@ -1595,6 +1596,9 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
|
|
|
1595
1596
|
if (schemaToCompute && !defaults) {
|
|
1596
1597
|
defaults = schema.default;
|
|
1597
1598
|
}
|
|
1599
|
+
if (shouldMergeDefaultsIntoFormData && schemaToCompute && !isObject(rawFormData)) {
|
|
1600
|
+
formData = rawFormData;
|
|
1601
|
+
}
|
|
1598
1602
|
} else if (DEPENDENCIES_KEY in schema) {
|
|
1599
1603
|
const defaultFormData = {
|
|
1600
1604
|
...getDefaultBasedOnSchemaType(validator, schema, computeDefaultsProps, defaults),
|
|
@@ -1735,7 +1739,7 @@ function getObjectDefaults(validator, rawSchema, {
|
|
|
1735
1739
|
const parentConst = retrievedSchema[CONST_KEY];
|
|
1736
1740
|
const objectDefaults = Object.keys(retrievedSchema.properties || {}).reduce(
|
|
1737
1741
|
(acc, key) => {
|
|
1738
|
-
const propertySchema = (0,
|
|
1742
|
+
const propertySchema = (0, import_get12.default)(retrievedSchema, [PROPERTIES_KEY, key], {});
|
|
1739
1743
|
const hasParentConst = isObject(parentConst) && parentConst[key] !== void 0;
|
|
1740
1744
|
const hasConst = (isObject(propertySchema) && CONST_KEY in propertySchema || hasParentConst) && experimental_defaultFormStateBehavior?.constAsDefaults !== "never" && !constIsAjvDataReference(propertySchema);
|
|
1741
1745
|
const computedDefault = computeDefaults(validator, propertySchema, {
|
|
@@ -1744,8 +1748,8 @@ function getObjectDefaults(validator, rawSchema, {
|
|
|
1744
1748
|
experimental_defaultFormStateBehavior,
|
|
1745
1749
|
experimental_customMergeAllOf,
|
|
1746
1750
|
includeUndefinedValues: includeUndefinedValues === true,
|
|
1747
|
-
parentDefaults: (0,
|
|
1748
|
-
rawFormData: (0,
|
|
1751
|
+
parentDefaults: (0, import_get12.default)(defaults, [key]),
|
|
1752
|
+
rawFormData: (0, import_get12.default)(formData, [key]),
|
|
1749
1753
|
required: retrievedSchema.required?.includes(key),
|
|
1750
1754
|
shouldMergeDefaultsIntoFormData
|
|
1751
1755
|
});
|
|
@@ -1781,8 +1785,8 @@ function getObjectDefaults(validator, rawSchema, {
|
|
|
1781
1785
|
experimental_defaultFormStateBehavior,
|
|
1782
1786
|
experimental_customMergeAllOf,
|
|
1783
1787
|
includeUndefinedValues: includeUndefinedValues === true,
|
|
1784
|
-
parentDefaults: (0,
|
|
1785
|
-
rawFormData: (0,
|
|
1788
|
+
parentDefaults: (0, import_get12.default)(defaults, [key]),
|
|
1789
|
+
rawFormData: (0, import_get12.default)(formData, [key]),
|
|
1786
1790
|
required: retrievedSchema.required?.includes(key),
|
|
1787
1791
|
shouldMergeDefaultsIntoFormData
|
|
1788
1792
|
});
|
|
@@ -1843,7 +1847,7 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1843
1847
|
experimental_defaultFormStateBehavior,
|
|
1844
1848
|
experimental_customMergeAllOf,
|
|
1845
1849
|
rawFormData: item,
|
|
1846
|
-
parentDefaults: (0,
|
|
1850
|
+
parentDefaults: (0, import_get12.default)(defaults, [idx]),
|
|
1847
1851
|
required,
|
|
1848
1852
|
shouldMergeDefaultsIntoFormData
|
|
1849
1853
|
});
|
|
@@ -1971,7 +1975,7 @@ function getDisplayLabel(validator, schema, uiSchema = {}, rootSchema, globalOpt
|
|
|
1971
1975
|
}
|
|
1972
1976
|
|
|
1973
1977
|
// src/schema/sanitizeDataForNewSchema.ts
|
|
1974
|
-
var
|
|
1978
|
+
var import_get13 = __toESM(require("lodash/get"), 1);
|
|
1975
1979
|
var import_has5 = __toESM(require("lodash/has"), 1);
|
|
1976
1980
|
var NO_VALUE = Symbol("no Value");
|
|
1977
1981
|
function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, data = {}, experimental_customMergeAllOf) {
|
|
@@ -1979,19 +1983,19 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
1979
1983
|
if ((0, import_has5.default)(newSchema, PROPERTIES_KEY)) {
|
|
1980
1984
|
const removeOldSchemaData = {};
|
|
1981
1985
|
if ((0, import_has5.default)(oldSchema, PROPERTIES_KEY)) {
|
|
1982
|
-
const properties = (0,
|
|
1986
|
+
const properties = (0, import_get13.default)(oldSchema, PROPERTIES_KEY, {});
|
|
1983
1987
|
Object.keys(properties).forEach((key) => {
|
|
1984
1988
|
if ((0, import_has5.default)(data, key)) {
|
|
1985
1989
|
removeOldSchemaData[key] = void 0;
|
|
1986
1990
|
}
|
|
1987
1991
|
});
|
|
1988
1992
|
}
|
|
1989
|
-
const keys2 = Object.keys((0,
|
|
1993
|
+
const keys2 = Object.keys((0, import_get13.default)(newSchema, PROPERTIES_KEY, {}));
|
|
1990
1994
|
const nestedData = {};
|
|
1991
1995
|
keys2.forEach((key) => {
|
|
1992
|
-
const formValue = (0,
|
|
1993
|
-
let oldKeyedSchema = (0,
|
|
1994
|
-
let newKeyedSchema = (0,
|
|
1996
|
+
const formValue = (0, import_get13.default)(data, key);
|
|
1997
|
+
let oldKeyedSchema = (0, import_get13.default)(oldSchema, [PROPERTIES_KEY, key], {});
|
|
1998
|
+
let newKeyedSchema = (0, import_get13.default)(newSchema, [PROPERTIES_KEY, key], {});
|
|
1995
1999
|
if ((0, import_has5.default)(oldKeyedSchema, REF_KEY)) {
|
|
1996
2000
|
oldKeyedSchema = retrieveSchema(
|
|
1997
2001
|
validator,
|
|
@@ -2010,8 +2014,8 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
2010
2014
|
experimental_customMergeAllOf
|
|
2011
2015
|
);
|
|
2012
2016
|
}
|
|
2013
|
-
const oldSchemaTypeForKey = (0,
|
|
2014
|
-
const newSchemaTypeForKey = (0,
|
|
2017
|
+
const oldSchemaTypeForKey = (0, import_get13.default)(oldKeyedSchema, "type");
|
|
2018
|
+
const newSchemaTypeForKey = (0, import_get13.default)(newKeyedSchema, "type");
|
|
2015
2019
|
if (!oldSchemaTypeForKey || oldSchemaTypeForKey === newSchemaTypeForKey) {
|
|
2016
2020
|
if ((0, import_has5.default)(removeOldSchemaData, key)) {
|
|
2017
2021
|
delete removeOldSchemaData[key];
|
|
@@ -2029,17 +2033,17 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
2029
2033
|
nestedData[key] = itemData;
|
|
2030
2034
|
}
|
|
2031
2035
|
} else {
|
|
2032
|
-
const newOptionDefault = (0,
|
|
2033
|
-
const oldOptionDefault = (0,
|
|
2036
|
+
const newOptionDefault = (0, import_get13.default)(newKeyedSchema, "default", NO_VALUE);
|
|
2037
|
+
const oldOptionDefault = (0, import_get13.default)(oldKeyedSchema, "default", NO_VALUE);
|
|
2034
2038
|
if (newOptionDefault !== NO_VALUE && newOptionDefault !== formValue) {
|
|
2035
2039
|
if (oldOptionDefault === formValue) {
|
|
2036
2040
|
removeOldSchemaData[key] = newOptionDefault;
|
|
2037
|
-
} else if ((0,
|
|
2041
|
+
} else if ((0, import_get13.default)(newKeyedSchema, "readOnly") === true) {
|
|
2038
2042
|
removeOldSchemaData[key] = void 0;
|
|
2039
2043
|
}
|
|
2040
2044
|
}
|
|
2041
|
-
const newOptionConst = (0,
|
|
2042
|
-
const oldOptionConst = (0,
|
|
2045
|
+
const newOptionConst = (0, import_get13.default)(newKeyedSchema, "const", NO_VALUE);
|
|
2046
|
+
const oldOptionConst = (0, import_get13.default)(oldKeyedSchema, "const", NO_VALUE);
|
|
2043
2047
|
if (newOptionConst !== NO_VALUE && newOptionConst !== formValue) {
|
|
2044
2048
|
removeOldSchemaData[key] = oldOptionConst === formValue ? newOptionConst : void 0;
|
|
2045
2049
|
}
|
|
@@ -2051,9 +2055,9 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
2051
2055
|
...removeOldSchemaData,
|
|
2052
2056
|
...nestedData
|
|
2053
2057
|
};
|
|
2054
|
-
} else if ((0,
|
|
2055
|
-
let oldSchemaItems = (0,
|
|
2056
|
-
let newSchemaItems = (0,
|
|
2058
|
+
} else if ((0, import_get13.default)(oldSchema, "type") === "array" && (0, import_get13.default)(newSchema, "type") === "array" && Array.isArray(data)) {
|
|
2059
|
+
let oldSchemaItems = (0, import_get13.default)(oldSchema, "items");
|
|
2060
|
+
let newSchemaItems = (0, import_get13.default)(newSchema, "items");
|
|
2057
2061
|
if (typeof oldSchemaItems === "object" && typeof newSchemaItems === "object" && !Array.isArray(oldSchemaItems) && !Array.isArray(newSchemaItems)) {
|
|
2058
2062
|
if ((0, import_has5.default)(oldSchemaItems, REF_KEY)) {
|
|
2059
2063
|
oldSchemaItems = retrieveSchema(
|
|
@@ -2073,10 +2077,10 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
2073
2077
|
experimental_customMergeAllOf
|
|
2074
2078
|
);
|
|
2075
2079
|
}
|
|
2076
|
-
const oldSchemaType = (0,
|
|
2077
|
-
const newSchemaType = (0,
|
|
2080
|
+
const oldSchemaType = (0, import_get13.default)(oldSchemaItems, "type");
|
|
2081
|
+
const newSchemaType = (0, import_get13.default)(newSchemaItems, "type");
|
|
2078
2082
|
if (!oldSchemaType || oldSchemaType === newSchemaType) {
|
|
2079
|
-
const maxItems = (0,
|
|
2083
|
+
const maxItems = (0, import_get13.default)(newSchema, "maxItems", -1);
|
|
2080
2084
|
if (newSchemaType === "object") {
|
|
2081
2085
|
newFormData = data.reduce((newValue, aValue) => {
|
|
2082
2086
|
const itemValue = sanitizeDataForNewSchema(
|
|
@@ -2104,7 +2108,7 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
2104
2108
|
}
|
|
2105
2109
|
|
|
2106
2110
|
// src/schema/toIdSchema.ts
|
|
2107
|
-
var
|
|
2111
|
+
var import_get14 = __toESM(require("lodash/get"), 1);
|
|
2108
2112
|
function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
|
|
2109
2113
|
const $id = id || idPrefix;
|
|
2110
2114
|
const idSchema = { $id };
|
|
@@ -2126,10 +2130,10 @@ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSc
|
|
|
2126
2130
|
);
|
|
2127
2131
|
}
|
|
2128
2132
|
}
|
|
2129
|
-
if (ITEMS_KEY in schema && !(0,
|
|
2133
|
+
if (ITEMS_KEY in schema && !(0, import_get14.default)(schema, [ITEMS_KEY, REF_KEY])) {
|
|
2130
2134
|
return toIdSchemaInternal(
|
|
2131
2135
|
validator,
|
|
2132
|
-
(0,
|
|
2136
|
+
(0, import_get14.default)(schema, ITEMS_KEY),
|
|
2133
2137
|
idPrefix,
|
|
2134
2138
|
idSeparator,
|
|
2135
2139
|
id,
|
|
@@ -2152,7 +2156,7 @@ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSc
|
|
|
2152
2156
|
rootSchema,
|
|
2153
2157
|
// It's possible that formData is not an object -- this can happen if an
|
|
2154
2158
|
// array item has just been added, but not populated with data yet
|
|
2155
|
-
(0,
|
|
2159
|
+
(0, import_get14.default)(formData, [name]),
|
|
2156
2160
|
_recurseList,
|
|
2157
2161
|
experimental_customMergeAllOf
|
|
2158
2162
|
);
|
|
@@ -2176,7 +2180,7 @@ function toIdSchema(validator, schema, id, rootSchema, formData, idPrefix = "roo
|
|
|
2176
2180
|
}
|
|
2177
2181
|
|
|
2178
2182
|
// src/schema/toPathSchema.ts
|
|
2179
|
-
var
|
|
2183
|
+
var import_get15 = __toESM(require("lodash/get"), 1);
|
|
2180
2184
|
var import_set2 = __toESM(require("lodash/set"), 1);
|
|
2181
2185
|
function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
|
|
2182
2186
|
if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
|
|
@@ -2269,7 +2273,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
2269
2273
|
}
|
|
2270
2274
|
} else if (PROPERTIES_KEY in schema) {
|
|
2271
2275
|
for (const property in schema.properties) {
|
|
2272
|
-
const field = (0,
|
|
2276
|
+
const field = (0, import_get15.default)(schema, [PROPERTIES_KEY, property], {});
|
|
2273
2277
|
pathSchema[property] = toPathSchemaInternal(
|
|
2274
2278
|
validator,
|
|
2275
2279
|
field,
|
|
@@ -2277,7 +2281,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
2277
2281
|
rootSchema,
|
|
2278
2282
|
// It's possible that formData is not an object -- this can happen if an
|
|
2279
2283
|
// array item has just been added, but not populated with data yet
|
|
2280
|
-
(0,
|
|
2284
|
+
(0, import_get15.default)(formData, [property]),
|
|
2281
2285
|
_recurseList,
|
|
2282
2286
|
experimental_customMergeAllOf
|
|
2283
2287
|
);
|
|
@@ -2695,7 +2699,7 @@ function enumOptionsSelectValue(valueIndex, selected, allEnumOptions = []) {
|
|
|
2695
2699
|
|
|
2696
2700
|
// src/ErrorSchemaBuilder.ts
|
|
2697
2701
|
var import_cloneDeep = __toESM(require("lodash/cloneDeep"), 1);
|
|
2698
|
-
var
|
|
2702
|
+
var import_get16 = __toESM(require("lodash/get"), 1);
|
|
2699
2703
|
var import_set3 = __toESM(require("lodash/set"), 1);
|
|
2700
2704
|
var import_setWith = __toESM(require("lodash/setWith"), 1);
|
|
2701
2705
|
var ErrorSchemaBuilder = class {
|
|
@@ -2724,7 +2728,7 @@ var ErrorSchemaBuilder = class {
|
|
|
2724
2728
|
*/
|
|
2725
2729
|
getOrCreateErrorBlock(pathOfError) {
|
|
2726
2730
|
const hasPath = Array.isArray(pathOfError) && pathOfError.length > 0 || typeof pathOfError === "string";
|
|
2727
|
-
let errorBlock = hasPath ? (0,
|
|
2731
|
+
let errorBlock = hasPath ? (0, import_get16.default)(this.errorSchema, pathOfError) : this.errorSchema;
|
|
2728
2732
|
if (!errorBlock && pathOfError) {
|
|
2729
2733
|
errorBlock = {};
|
|
2730
2734
|
(0, import_setWith.default)(this.errorSchema, pathOfError, errorBlock, Object);
|
|
@@ -2750,7 +2754,7 @@ var ErrorSchemaBuilder = class {
|
|
|
2750
2754
|
*/
|
|
2751
2755
|
addErrors(errorOrList, pathOfError) {
|
|
2752
2756
|
const errorBlock = this.getOrCreateErrorBlock(pathOfError);
|
|
2753
|
-
let errorsList = (0,
|
|
2757
|
+
let errorsList = (0, import_get16.default)(errorBlock, ERRORS_KEY);
|
|
2754
2758
|
if (!Array.isArray(errorsList)) {
|
|
2755
2759
|
errorsList = [];
|
|
2756
2760
|
errorBlock[ERRORS_KEY] = errorsList;
|
|
@@ -2899,9 +2903,9 @@ function getTemplate(name, registry, uiOptions = {}) {
|
|
|
2899
2903
|
|
|
2900
2904
|
// src/getTestIds.ts
|
|
2901
2905
|
var import_nanoid = require("nanoid");
|
|
2902
|
-
var
|
|
2906
|
+
var import_get17 = __toESM(require("lodash/get"), 1);
|
|
2903
2907
|
function getTestIds() {
|
|
2904
|
-
if (typeof process === "undefined" || (0,
|
|
2908
|
+
if (typeof process === "undefined" || (0, import_get17.default)(process, "env.NODE_ENV") !== "test") {
|
|
2905
2909
|
return {};
|
|
2906
2910
|
}
|
|
2907
2911
|
const ids = /* @__PURE__ */ new Map();
|
|
@@ -2921,7 +2925,7 @@ function getTestIds() {
|
|
|
2921
2925
|
// src/getWidget.tsx
|
|
2922
2926
|
var import_react = require("react");
|
|
2923
2927
|
var import_react_is = __toESM(require("react-is"), 1);
|
|
2924
|
-
var
|
|
2928
|
+
var import_get18 = __toESM(require("lodash/get"), 1);
|
|
2925
2929
|
var import_set4 = __toESM(require("lodash/set"), 1);
|
|
2926
2930
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
2927
2931
|
var widgetMap = {
|
|
@@ -2977,7 +2981,7 @@ var widgetMap = {
|
|
|
2977
2981
|
}
|
|
2978
2982
|
};
|
|
2979
2983
|
function mergeWidgetOptions(AWidget) {
|
|
2980
|
-
let MergedWidget = (0,
|
|
2984
|
+
let MergedWidget = (0, import_get18.default)(AWidget, "MergedWidget");
|
|
2981
2985
|
if (!MergedWidget) {
|
|
2982
2986
|
const defaultOptions = AWidget.defaultProps && AWidget.defaultProps.options || {};
|
|
2983
2987
|
MergedWidget = ({ options, ...props }) => {
|
|
@@ -3090,14 +3094,14 @@ function localToUTC(dateString) {
|
|
|
3090
3094
|
}
|
|
3091
3095
|
|
|
3092
3096
|
// src/lookupFromFormContext.ts
|
|
3093
|
-
var
|
|
3097
|
+
var import_get19 = __toESM(require("lodash/get"), 1);
|
|
3094
3098
|
var import_has6 = __toESM(require("lodash/has"), 1);
|
|
3095
3099
|
function lookupFromFormContext(regOrFc, toLookup, fallback) {
|
|
3096
3100
|
const lookupPath = [LOOKUP_MAP_NAME];
|
|
3097
3101
|
if ((0, import_has6.default)(regOrFc, FORM_CONTEXT_NAME)) {
|
|
3098
3102
|
lookupPath.unshift(FORM_CONTEXT_NAME);
|
|
3099
3103
|
}
|
|
3100
|
-
return (0,
|
|
3104
|
+
return (0, import_get19.default)(regOrFc, [...lookupPath, toLookup], fallback);
|
|
3101
3105
|
}
|
|
3102
3106
|
|
|
3103
3107
|
// src/orderProperties.ts
|
|
@@ -3325,7 +3329,7 @@ function withIdRefPrefix(schemaNode) {
|
|
|
3325
3329
|
var import_keys = __toESM(require("lodash/keys"), 1);
|
|
3326
3330
|
var import_pickBy = __toESM(require("lodash/pickBy"), 1);
|
|
3327
3331
|
var import_isPlainObject4 = __toESM(require("lodash/isPlainObject"), 1);
|
|
3328
|
-
var
|
|
3332
|
+
var import_get20 = __toESM(require("lodash/get"), 1);
|
|
3329
3333
|
var import_difference = __toESM(require("lodash/difference"), 1);
|
|
3330
3334
|
function getChangedFields(a, b) {
|
|
3331
3335
|
const aIsPlainObject = (0, import_isPlainObject4.default)(a);
|
|
@@ -3338,7 +3342,7 @@ function getChangedFields(a, b) {
|
|
|
3338
3342
|
} else if (!aIsPlainObject && bIsPlainObject) {
|
|
3339
3343
|
return (0, import_keys.default)(b);
|
|
3340
3344
|
} else {
|
|
3341
|
-
const unequalFields = (0, import_keys.default)((0, import_pickBy.default)(a, (value, key) => !deepEquals(value, (0,
|
|
3345
|
+
const unequalFields = (0, import_keys.default)((0, import_pickBy.default)(a, (value, key) => !deepEquals(value, (0, import_get20.default)(b, key))));
|
|
3342
3346
|
const diffFields = (0, import_difference.default)((0, import_keys.default)(b), (0, import_keys.default)(a));
|
|
3343
3347
|
return [...unequalFields, ...diffFields];
|
|
3344
3348
|
}
|
|
@@ -3383,7 +3387,7 @@ var TranslatableString = /* @__PURE__ */ ((TranslatableString2) => {
|
|
|
3383
3387
|
var import_forEach = __toESM(require("lodash/forEach"), 1);
|
|
3384
3388
|
|
|
3385
3389
|
// src/parser/ParserValidator.ts
|
|
3386
|
-
var
|
|
3390
|
+
var import_get21 = __toESM(require("lodash/get"), 1);
|
|
3387
3391
|
var ParserValidator = class {
|
|
3388
3392
|
/** Construct the ParserValidator for the given `rootSchema`. This `rootSchema` will be stashed in the `schemaMap`
|
|
3389
3393
|
* first.
|
|
@@ -3409,7 +3413,7 @@ var ParserValidator = class {
|
|
|
3409
3413
|
* @param hash - The hash value at which to map the schema
|
|
3410
3414
|
*/
|
|
3411
3415
|
addSchema(schema, hash) {
|
|
3412
|
-
const key = (0,
|
|
3416
|
+
const key = (0, import_get21.default)(schema, ID_KEY, hash);
|
|
3413
3417
|
const identifiedSchema = { ...schema, [ID_KEY]: key };
|
|
3414
3418
|
const existing = this.schemaMap[key];
|
|
3415
3419
|
if (!existing) {
|