@rjsf/utils 5.20.1 → 5.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +186 -149
- package/dist/index.js.map +4 -4
- package/dist/utils.esm.js +186 -149
- package/dist/utils.esm.js.map +4 -4
- package/dist/utils.umd.js +191 -143
- package/lib/createSchemaUtils.js +1 -1
- package/lib/createSchemaUtils.js.map +1 -1
- package/lib/deepEquals.d.ts +1 -1
- package/lib/deepEquals.js +34 -10
- package/lib/deepEquals.js.map +1 -1
- package/lib/enumOptionsDeselectValue.js +3 -3
- package/lib/enumOptionsDeselectValue.js.map +1 -1
- package/lib/enumOptionsIsSelected.js +3 -3
- package/lib/enumOptionsIsSelected.js.map +1 -1
- package/lib/parser/ParserValidator.js +3 -3
- package/lib/parser/ParserValidator.js.map +1 -1
- package/lib/parser/schemaParser.js +4 -4
- package/lib/parser/schemaParser.js.map +1 -1
- package/lib/schema/getDefaultFormState.d.ts +39 -11
- package/lib/schema/getDefaultFormState.js +160 -125
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/retrieveSchema.js +7 -4
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/schema/toIdSchema.js +2 -2
- package/lib/schema/toIdSchema.js.map +1 -1
- package/lib/schema/toPathSchema.js +3 -3
- package/lib/schema/toPathSchema.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/createSchemaUtils.ts +1 -1
- package/src/deepEquals.ts +37 -10
- package/src/enumOptionsDeselectValue.ts +3 -4
- package/src/enumOptionsIsSelected.ts +3 -4
- package/src/parser/ParserValidator.ts +3 -3
- package/src/parser/schemaParser.ts +4 -4
- package/src/schema/getDefaultFormState.ts +237 -156
- package/src/schema/retrieveSchema.ts +8 -5
- package/src/schema/toIdSchema.ts +2 -2
- package/src/schema/toPathSchema.ts +3 -3
package/dist/index.js
CHANGED
|
@@ -265,14 +265,25 @@ function createErrorHandler(formData) {
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
// src/deepEquals.ts
|
|
268
|
-
var
|
|
268
|
+
var import_fast_equals = require("fast-equals");
|
|
269
|
+
function isFunctions(a, b) {
|
|
270
|
+
return typeof a === "function" && typeof b === "function";
|
|
271
|
+
}
|
|
272
|
+
var customDeepEqual = (0, import_fast_equals.createCustomEqual)({
|
|
273
|
+
createInternalComparator: (comparator) => {
|
|
274
|
+
return (a, b, _idxA, _idxB, _parentA, _parentB, state) => {
|
|
275
|
+
if (isFunctions(a, b)) {
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
return comparator(a, b, state);
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
});
|
|
269
282
|
function deepEquals(a, b) {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
return void 0;
|
|
275
|
-
});
|
|
283
|
+
if (isFunctions(a, b)) {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
return customDeepEqual(a, b);
|
|
276
287
|
}
|
|
277
288
|
|
|
278
289
|
// src/schema/getDefaultFormState.ts
|
|
@@ -416,7 +427,6 @@ function getFirstMatchingOption(validator, formData, options, rootSchema, discri
|
|
|
416
427
|
|
|
417
428
|
// src/schema/retrieveSchema.ts
|
|
418
429
|
var import_get4 = __toESM(require("lodash/get"));
|
|
419
|
-
var import_isEqual = __toESM(require("lodash/isEqual"));
|
|
420
430
|
var import_set = __toESM(require("lodash/set"));
|
|
421
431
|
var import_times = __toESM(require("lodash/times"));
|
|
422
432
|
var import_transform = __toESM(require("lodash/transform"));
|
|
@@ -596,7 +606,10 @@ function resolveSchema(validator, schema, rootSchema, expandAllBranches, recurse
|
|
|
596
606
|
)
|
|
597
607
|
);
|
|
598
608
|
const allPermutations = getAllPermutationsOfXxxOf(allOfSchemaElements);
|
|
599
|
-
return allPermutations.map((permutation) => ({
|
|
609
|
+
return allPermutations.map((permutation) => ({
|
|
610
|
+
...schema,
|
|
611
|
+
allOf: permutation
|
|
612
|
+
}));
|
|
600
613
|
}
|
|
601
614
|
return [schema];
|
|
602
615
|
}
|
|
@@ -648,7 +661,7 @@ function resolveAllReferences(schema, rootSchema, recurseList) {
|
|
|
648
661
|
items: resolveAllReferences(resolvedSchema.items, rootSchema, recurseList)
|
|
649
662
|
};
|
|
650
663
|
}
|
|
651
|
-
return (
|
|
664
|
+
return deepEquals(schema, resolvedSchema) ? schema : resolvedSchema;
|
|
652
665
|
}
|
|
653
666
|
function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFormData) {
|
|
654
667
|
const schema = {
|
|
@@ -1124,15 +1137,16 @@ function maybeAddDefaultToObject(obj, key, computedDefault, includeUndefinedValu
|
|
|
1124
1137
|
}
|
|
1125
1138
|
}
|
|
1126
1139
|
}
|
|
1127
|
-
function computeDefaults(validator, rawSchema, {
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1140
|
+
function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
|
|
1141
|
+
const {
|
|
1142
|
+
parentDefaults,
|
|
1143
|
+
rawFormData,
|
|
1144
|
+
rootSchema = {},
|
|
1145
|
+
includeUndefinedValues = false,
|
|
1146
|
+
_recurseList = [],
|
|
1147
|
+
experimental_defaultFormStateBehavior = void 0,
|
|
1148
|
+
required
|
|
1149
|
+
} = computeDefaultsProps;
|
|
1136
1150
|
const formData = isObject(rawFormData) ? rawFormData : {};
|
|
1137
1151
|
const schema = isObject(rawSchema) ? rawSchema : {};
|
|
1138
1152
|
let defaults = parentDefaults;
|
|
@@ -1149,7 +1163,11 @@ function computeDefaults(validator, rawSchema, {
|
|
|
1149
1163
|
schemaToCompute = findSchemaDefinition(refName, rootSchema);
|
|
1150
1164
|
}
|
|
1151
1165
|
} else if (DEPENDENCIES_KEY in schema) {
|
|
1152
|
-
const
|
|
1166
|
+
const defaultFormData = {
|
|
1167
|
+
...formData,
|
|
1168
|
+
...getDefaultBasedOnSchemaType(validator, schema, computeDefaultsProps, defaults)
|
|
1169
|
+
};
|
|
1170
|
+
const resolvedSchema = resolveDependencies(validator, schema, rootSchema, false, [], defaultFormData);
|
|
1153
1171
|
schemaToCompute = resolvedSchema[0];
|
|
1154
1172
|
} else if (isFixedItems(schema)) {
|
|
1155
1173
|
defaults = schema.items.map(
|
|
@@ -1208,127 +1226,154 @@ function computeDefaults(validator, rawSchema, {
|
|
|
1208
1226
|
if (defaults === void 0) {
|
|
1209
1227
|
defaults = schema.default;
|
|
1210
1228
|
}
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
)
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
{}
|
|
1237
|
-
);
|
|
1238
|
-
if (retrievedSchema.additionalProperties) {
|
|
1239
|
-
const additionalPropertiesSchema = isObject(retrievedSchema.additionalProperties) ? retrievedSchema.additionalProperties : {};
|
|
1240
|
-
const keys = /* @__PURE__ */ new Set();
|
|
1241
|
-
if (isObject(defaults)) {
|
|
1242
|
-
Object.keys(defaults).filter((key) => !retrievedSchema.properties || !retrievedSchema.properties[key]).forEach((key) => keys.add(key));
|
|
1243
|
-
}
|
|
1244
|
-
const formDataRequired = [];
|
|
1245
|
-
Object.keys(formData).filter((key) => !retrievedSchema.properties || !retrievedSchema.properties[key]).forEach((key) => {
|
|
1246
|
-
keys.add(key);
|
|
1247
|
-
formDataRequired.push(key);
|
|
1248
|
-
});
|
|
1249
|
-
keys.forEach((key) => {
|
|
1250
|
-
const computedDefault = computeDefaults(validator, additionalPropertiesSchema, {
|
|
1251
|
-
rootSchema,
|
|
1252
|
-
_recurseList,
|
|
1253
|
-
experimental_defaultFormStateBehavior,
|
|
1254
|
-
includeUndefinedValues: includeUndefinedValues === true,
|
|
1255
|
-
parentDefaults: (0, import_get7.default)(defaults, [key]),
|
|
1256
|
-
rawFormData: (0, import_get7.default)(formData, [key]),
|
|
1257
|
-
required: retrievedSchema.required?.includes(key)
|
|
1258
|
-
});
|
|
1259
|
-
maybeAddDefaultToObject(
|
|
1260
|
-
objectDefaults,
|
|
1261
|
-
key,
|
|
1262
|
-
computedDefault,
|
|
1263
|
-
includeUndefinedValues,
|
|
1264
|
-
required,
|
|
1265
|
-
formDataRequired
|
|
1266
|
-
);
|
|
1229
|
+
const defaultBasedOnSchemaType = getDefaultBasedOnSchemaType(validator, schema, computeDefaultsProps, defaults);
|
|
1230
|
+
return defaultBasedOnSchemaType ?? defaults;
|
|
1231
|
+
}
|
|
1232
|
+
function getObjectDefaults(validator, rawSchema, {
|
|
1233
|
+
rawFormData,
|
|
1234
|
+
rootSchema = {},
|
|
1235
|
+
includeUndefinedValues = false,
|
|
1236
|
+
_recurseList = [],
|
|
1237
|
+
experimental_defaultFormStateBehavior = void 0,
|
|
1238
|
+
required
|
|
1239
|
+
} = {}, defaults) {
|
|
1240
|
+
{
|
|
1241
|
+
const formData = isObject(rawFormData) ? rawFormData : {};
|
|
1242
|
+
const schema = rawSchema;
|
|
1243
|
+
const retrievedSchema = experimental_defaultFormStateBehavior?.allOf === "populateDefaults" && ALL_OF_KEY in schema ? retrieveSchema(validator, schema, rootSchema, formData) : schema;
|
|
1244
|
+
const objectDefaults = Object.keys(retrievedSchema.properties || {}).reduce(
|
|
1245
|
+
(acc, key) => {
|
|
1246
|
+
const computedDefault = computeDefaults(validator, (0, import_get7.default)(retrievedSchema, [PROPERTIES_KEY, key]), {
|
|
1247
|
+
rootSchema,
|
|
1248
|
+
_recurseList,
|
|
1249
|
+
experimental_defaultFormStateBehavior,
|
|
1250
|
+
includeUndefinedValues: includeUndefinedValues === true,
|
|
1251
|
+
parentDefaults: (0, import_get7.default)(defaults, [key]),
|
|
1252
|
+
rawFormData: (0, import_get7.default)(formData, [key]),
|
|
1253
|
+
required: retrievedSchema.required?.includes(key)
|
|
1267
1254
|
});
|
|
1255
|
+
maybeAddDefaultToObject(
|
|
1256
|
+
acc,
|
|
1257
|
+
key,
|
|
1258
|
+
computedDefault,
|
|
1259
|
+
includeUndefinedValues,
|
|
1260
|
+
required,
|
|
1261
|
+
retrievedSchema.required,
|
|
1262
|
+
experimental_defaultFormStateBehavior
|
|
1263
|
+
);
|
|
1264
|
+
return acc;
|
|
1265
|
+
},
|
|
1266
|
+
{}
|
|
1267
|
+
);
|
|
1268
|
+
if (retrievedSchema.additionalProperties) {
|
|
1269
|
+
const additionalPropertiesSchema = isObject(retrievedSchema.additionalProperties) ? retrievedSchema.additionalProperties : {};
|
|
1270
|
+
const keys = /* @__PURE__ */ new Set();
|
|
1271
|
+
if (isObject(defaults)) {
|
|
1272
|
+
Object.keys(defaults).filter((key) => !retrievedSchema.properties || !retrievedSchema.properties[key]).forEach((key) => keys.add(key));
|
|
1268
1273
|
}
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
experimental_defaultFormStateBehavior,
|
|
1284
|
-
parentDefaults: item,
|
|
1285
|
-
required
|
|
1286
|
-
});
|
|
1274
|
+
const formDataRequired = [];
|
|
1275
|
+
Object.keys(formData).filter((key) => !retrievedSchema.properties || !retrievedSchema.properties[key]).forEach((key) => {
|
|
1276
|
+
keys.add(key);
|
|
1277
|
+
formDataRequired.push(key);
|
|
1278
|
+
});
|
|
1279
|
+
keys.forEach((key) => {
|
|
1280
|
+
const computedDefault = computeDefaults(validator, additionalPropertiesSchema, {
|
|
1281
|
+
rootSchema,
|
|
1282
|
+
_recurseList,
|
|
1283
|
+
experimental_defaultFormStateBehavior,
|
|
1284
|
+
includeUndefinedValues: includeUndefinedValues === true,
|
|
1285
|
+
parentDefaults: (0, import_get7.default)(defaults, [key]),
|
|
1286
|
+
rawFormData: (0, import_get7.default)(formData, [key]),
|
|
1287
|
+
required: retrievedSchema.required?.includes(key)
|
|
1287
1288
|
});
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
const
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1289
|
+
maybeAddDefaultToObject(
|
|
1290
|
+
objectDefaults,
|
|
1291
|
+
key,
|
|
1292
|
+
computedDefault,
|
|
1293
|
+
includeUndefinedValues,
|
|
1294
|
+
required,
|
|
1295
|
+
formDataRequired
|
|
1296
|
+
);
|
|
1297
|
+
});
|
|
1298
|
+
}
|
|
1299
|
+
return objectDefaults;
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
function getArrayDefaults(validator, rawSchema, {
|
|
1303
|
+
rawFormData,
|
|
1304
|
+
rootSchema = {},
|
|
1305
|
+
_recurseList = [],
|
|
1306
|
+
experimental_defaultFormStateBehavior = void 0,
|
|
1307
|
+
required
|
|
1308
|
+
} = {}, defaults) {
|
|
1309
|
+
const schema = rawSchema;
|
|
1310
|
+
const neverPopulate = experimental_defaultFormStateBehavior?.arrayMinItems?.populate === "never";
|
|
1311
|
+
const ignoreMinItemsFlagSet = experimental_defaultFormStateBehavior?.arrayMinItems?.populate === "requiredOnly";
|
|
1312
|
+
const isSkipEmptyDefaults = experimental_defaultFormStateBehavior?.emptyObjectFields === "skipEmptyDefaults";
|
|
1313
|
+
const computeSkipPopulate = experimental_defaultFormStateBehavior?.arrayMinItems?.computeSkipPopulate ?? (() => false);
|
|
1314
|
+
const emptyDefault = isSkipEmptyDefaults ? void 0 : [];
|
|
1315
|
+
if (Array.isArray(defaults)) {
|
|
1316
|
+
defaults = defaults.map((item, idx) => {
|
|
1317
|
+
const schemaItem = getInnerSchemaForArrayItem(schema, 2 /* Fallback */, idx);
|
|
1318
|
+
return computeDefaults(validator, schemaItem, {
|
|
1319
|
+
rootSchema,
|
|
1320
|
+
_recurseList,
|
|
1321
|
+
experimental_defaultFormStateBehavior,
|
|
1322
|
+
parentDefaults: item,
|
|
1323
|
+
required
|
|
1324
|
+
});
|
|
1325
|
+
});
|
|
1326
|
+
}
|
|
1327
|
+
if (Array.isArray(rawFormData)) {
|
|
1328
|
+
const schemaItem = getInnerSchemaForArrayItem(schema);
|
|
1329
|
+
if (neverPopulate) {
|
|
1330
|
+
defaults = rawFormData;
|
|
1331
|
+
} else {
|
|
1332
|
+
defaults = rawFormData.map((item, idx) => {
|
|
1333
|
+
return computeDefaults(validator, schemaItem, {
|
|
1322
1334
|
rootSchema,
|
|
1323
1335
|
_recurseList,
|
|
1324
1336
|
experimental_defaultFormStateBehavior,
|
|
1337
|
+
rawFormData: item,
|
|
1338
|
+
parentDefaults: (0, import_get7.default)(defaults, [idx]),
|
|
1325
1339
|
required
|
|
1326
|
-
})
|
|
1327
|
-
);
|
|
1328
|
-
|
|
1340
|
+
});
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
if (neverPopulate) {
|
|
1345
|
+
return defaults ?? emptyDefault;
|
|
1346
|
+
}
|
|
1347
|
+
if (ignoreMinItemsFlagSet && !required) {
|
|
1348
|
+
return defaults ? defaults : void 0;
|
|
1349
|
+
}
|
|
1350
|
+
const defaultsLength = Array.isArray(defaults) ? defaults.length : 0;
|
|
1351
|
+
if (!schema.minItems || isMultiSelect(validator, schema, rootSchema) || computeSkipPopulate(validator, schema, rootSchema) || schema.minItems <= defaultsLength) {
|
|
1352
|
+
return defaults ? defaults : emptyDefault;
|
|
1353
|
+
}
|
|
1354
|
+
const defaultEntries = defaults || [];
|
|
1355
|
+
const fillerSchema = getInnerSchemaForArrayItem(schema, 1 /* Invert */);
|
|
1356
|
+
const fillerDefault = fillerSchema.default;
|
|
1357
|
+
const fillerEntries = new Array(schema.minItems - defaultsLength).fill(
|
|
1358
|
+
computeDefaults(validator, fillerSchema, {
|
|
1359
|
+
parentDefaults: fillerDefault,
|
|
1360
|
+
rootSchema,
|
|
1361
|
+
_recurseList,
|
|
1362
|
+
experimental_defaultFormStateBehavior,
|
|
1363
|
+
required
|
|
1364
|
+
})
|
|
1365
|
+
);
|
|
1366
|
+
return defaultEntries.concat(fillerEntries);
|
|
1367
|
+
}
|
|
1368
|
+
function getDefaultBasedOnSchemaType(validator, rawSchema, computeDefaultsProps = {}, defaults) {
|
|
1369
|
+
switch (getSchemaType(rawSchema)) {
|
|
1370
|
+
case "object": {
|
|
1371
|
+
return getObjectDefaults(validator, rawSchema, computeDefaultsProps, defaults);
|
|
1372
|
+
}
|
|
1373
|
+
case "array": {
|
|
1374
|
+
return getArrayDefaults(validator, rawSchema, computeDefaultsProps, defaults);
|
|
1329
1375
|
}
|
|
1330
1376
|
}
|
|
1331
|
-
return defaults;
|
|
1332
1377
|
}
|
|
1333
1378
|
function getDefaultFormState(validator, theSchema, formData, rootSchema, includeUndefinedValues = false, experimental_defaultFormStateBehavior) {
|
|
1334
1379
|
if (!isObject(theSchema)) {
|
|
@@ -1521,11 +1566,10 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
|
|
|
1521
1566
|
|
|
1522
1567
|
// src/schema/toIdSchema.ts
|
|
1523
1568
|
var import_get9 = __toESM(require("lodash/get"));
|
|
1524
|
-
var import_isEqual2 = __toESM(require("lodash/isEqual"));
|
|
1525
1569
|
function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList = []) {
|
|
1526
1570
|
if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
|
|
1527
1571
|
const _schema = retrieveSchema(validator, schema, rootSchema, formData);
|
|
1528
|
-
const sameSchemaIndex = _recurseList.findIndex((item) => (
|
|
1572
|
+
const sameSchemaIndex = _recurseList.findIndex((item) => deepEquals(item, _schema));
|
|
1529
1573
|
if (sameSchemaIndex === -1) {
|
|
1530
1574
|
return toIdSchemaInternal(
|
|
1531
1575
|
validator,
|
|
@@ -1579,12 +1623,11 @@ function toIdSchema(validator, schema, id, rootSchema, formData, idPrefix = "roo
|
|
|
1579
1623
|
|
|
1580
1624
|
// src/schema/toPathSchema.ts
|
|
1581
1625
|
var import_get10 = __toESM(require("lodash/get"));
|
|
1582
|
-
var import_isEqual3 = __toESM(require("lodash/isEqual"));
|
|
1583
1626
|
var import_set2 = __toESM(require("lodash/set"));
|
|
1584
1627
|
function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _recurseList = []) {
|
|
1585
1628
|
if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
|
|
1586
1629
|
const _schema = retrieveSchema(validator, schema, rootSchema, formData);
|
|
1587
|
-
const sameSchemaIndex = _recurseList.findIndex((item) => (
|
|
1630
|
+
const sameSchemaIndex = _recurseList.findIndex((item) => deepEquals(item, _schema));
|
|
1588
1631
|
if (sameSchemaIndex === -1) {
|
|
1589
1632
|
return toPathSchemaInternal(
|
|
1590
1633
|
validator,
|
|
@@ -1955,9 +1998,6 @@ function englishStringTranslator(stringToTranslate, params) {
|
|
|
1955
1998
|
return replaceStringParameters(stringToTranslate, params);
|
|
1956
1999
|
}
|
|
1957
2000
|
|
|
1958
|
-
// src/enumOptionsDeselectValue.ts
|
|
1959
|
-
var import_isEqual4 = __toESM(require("lodash/isEqual"));
|
|
1960
|
-
|
|
1961
2001
|
// src/enumOptionsValueForIndex.ts
|
|
1962
2002
|
function enumOptionsValueForIndex(valueIndex, allEnumOptions = [], emptyValue) {
|
|
1963
2003
|
if (Array.isArray(valueIndex)) {
|
|
@@ -1972,18 +2012,17 @@ function enumOptionsValueForIndex(valueIndex, allEnumOptions = [], emptyValue) {
|
|
|
1972
2012
|
function enumOptionsDeselectValue(valueIndex, selected, allEnumOptions = []) {
|
|
1973
2013
|
const value = enumOptionsValueForIndex(valueIndex, allEnumOptions);
|
|
1974
2014
|
if (Array.isArray(selected)) {
|
|
1975
|
-
return selected.filter((v) => !(
|
|
2015
|
+
return selected.filter((v) => !deepEquals(v, value));
|
|
1976
2016
|
}
|
|
1977
|
-
return (
|
|
2017
|
+
return deepEquals(value, selected) ? void 0 : selected;
|
|
1978
2018
|
}
|
|
1979
2019
|
|
|
1980
2020
|
// src/enumOptionsIsSelected.ts
|
|
1981
|
-
var import_isEqual5 = __toESM(require("lodash/isEqual"));
|
|
1982
2021
|
function enumOptionsIsSelected(value, selected) {
|
|
1983
2022
|
if (Array.isArray(selected)) {
|
|
1984
|
-
return selected.some((sel) => (
|
|
2023
|
+
return selected.some((sel) => deepEquals(sel, value));
|
|
1985
2024
|
}
|
|
1986
|
-
return (
|
|
2025
|
+
return deepEquals(selected, value);
|
|
1987
2026
|
}
|
|
1988
2027
|
|
|
1989
2028
|
// src/enumOptionsIndexForValue.ts
|
|
@@ -2678,11 +2717,9 @@ var TranslatableString = /* @__PURE__ */ ((TranslatableString2) => {
|
|
|
2678
2717
|
|
|
2679
2718
|
// src/parser/schemaParser.ts
|
|
2680
2719
|
var import_forEach = __toESM(require("lodash/forEach"));
|
|
2681
|
-
var import_isEqual7 = __toESM(require("lodash/isEqual"));
|
|
2682
2720
|
|
|
2683
2721
|
// src/parser/ParserValidator.ts
|
|
2684
2722
|
var import_get13 = __toESM(require("lodash/get"));
|
|
2685
|
-
var import_isEqual6 = __toESM(require("lodash/isEqual"));
|
|
2686
2723
|
var ParserValidator = class {
|
|
2687
2724
|
/** Construct the ParserValidator for the given `rootSchema`. This `rootSchema` will be stashed in the `schemaMap`
|
|
2688
2725
|
* first.
|
|
@@ -2713,7 +2750,7 @@ var ParserValidator = class {
|
|
|
2713
2750
|
const existing = this.schemaMap[key];
|
|
2714
2751
|
if (!existing) {
|
|
2715
2752
|
this.schemaMap[key] = identifiedSchema;
|
|
2716
|
-
} else if (!(
|
|
2753
|
+
} else if (!deepEquals(existing, identifiedSchema)) {
|
|
2717
2754
|
console.error("existing schema:", JSON.stringify(existing, null, 2));
|
|
2718
2755
|
console.error("new schema:", JSON.stringify(identifiedSchema, null, 2));
|
|
2719
2756
|
throw new Error(
|
|
@@ -2735,7 +2772,7 @@ var ParserValidator = class {
|
|
|
2735
2772
|
* @throws - Error when the given `rootSchema` differs from the root schema provided during construction
|
|
2736
2773
|
*/
|
|
2737
2774
|
isValid(schema, _formData, rootSchema) {
|
|
2738
|
-
if (!(
|
|
2775
|
+
if (!deepEquals(rootSchema, this.rootSchema)) {
|
|
2739
2776
|
throw new Error("Unexpectedly calling isValid() with a rootSchema that differs from the construction rootSchema");
|
|
2740
2777
|
}
|
|
2741
2778
|
this.addSchema(schema, hashForSchema(schema));
|
|
@@ -2775,7 +2812,7 @@ var ParserValidator = class {
|
|
|
2775
2812
|
function parseSchema(validator, recurseList, rootSchema, schema) {
|
|
2776
2813
|
const schemas = retrieveSchemaInternal(validator, schema, rootSchema, void 0, true);
|
|
2777
2814
|
schemas.forEach((schema2) => {
|
|
2778
|
-
const sameSchemaIndex = recurseList.findIndex((item) => (
|
|
2815
|
+
const sameSchemaIndex = recurseList.findIndex((item) => deepEquals(item, schema2));
|
|
2779
2816
|
if (sameSchemaIndex === -1) {
|
|
2780
2817
|
recurseList.push(schema2);
|
|
2781
2818
|
const allOptions = resolveAnyOrOneOfSchemas(validator, schema2, rootSchema, true);
|