@thecb/components 3.5.3 → 3.5.4
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.cjs.js
CHANGED
|
@@ -215,6 +215,63 @@ function _nonIterableRest() {
|
|
|
215
215
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
+
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
219
|
+
var it;
|
|
220
|
+
|
|
221
|
+
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
|
|
222
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
223
|
+
if (it) o = it;
|
|
224
|
+
var i = 0;
|
|
225
|
+
|
|
226
|
+
var F = function () {};
|
|
227
|
+
|
|
228
|
+
return {
|
|
229
|
+
s: F,
|
|
230
|
+
n: function () {
|
|
231
|
+
if (i >= o.length) return {
|
|
232
|
+
done: true
|
|
233
|
+
};
|
|
234
|
+
return {
|
|
235
|
+
done: false,
|
|
236
|
+
value: o[i++]
|
|
237
|
+
};
|
|
238
|
+
},
|
|
239
|
+
e: function (e) {
|
|
240
|
+
throw e;
|
|
241
|
+
},
|
|
242
|
+
f: F
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
var normalCompletion = true,
|
|
250
|
+
didErr = false,
|
|
251
|
+
err;
|
|
252
|
+
return {
|
|
253
|
+
s: function () {
|
|
254
|
+
it = o[Symbol.iterator]();
|
|
255
|
+
},
|
|
256
|
+
n: function () {
|
|
257
|
+
var step = it.next();
|
|
258
|
+
normalCompletion = step.done;
|
|
259
|
+
return step;
|
|
260
|
+
},
|
|
261
|
+
e: function (e) {
|
|
262
|
+
didErr = true;
|
|
263
|
+
err = e;
|
|
264
|
+
},
|
|
265
|
+
f: function () {
|
|
266
|
+
try {
|
|
267
|
+
if (!normalCompletion && it.return != null) it.return();
|
|
268
|
+
} finally {
|
|
269
|
+
if (didErr) throw err;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
|
|
218
275
|
/*! *****************************************************************************
|
|
219
276
|
Copyright (c) Microsoft Corporation.
|
|
220
277
|
|
|
@@ -30515,378 +30572,401 @@ var ToggleSwitch = function ToggleSwitch(_ref6) {
|
|
|
30515
30572
|
|
|
30516
30573
|
var ToggleSwitch$1 = themeComponent(ToggleSwitch, "ToggleSwitch", fallbackValues$o);
|
|
30517
30574
|
|
|
30518
|
-
|
|
30519
|
-
value
|
|
30520
|
-
|
|
30521
|
-
|
|
30575
|
+
var validatorToPredicate = function validatorToPredicate(validatorFn, emptyCase) {
|
|
30576
|
+
return function (value) {
|
|
30577
|
+
for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
30578
|
+
rest[_key - 1] = arguments[_key];
|
|
30579
|
+
}
|
|
30522
30580
|
|
|
30581
|
+
return value === "" ? emptyCase : validatorFn.apply(void 0, [value].concat(rest));
|
|
30582
|
+
};
|
|
30583
|
+
};
|
|
30523
30584
|
/* eslint-disable no-unused-vars */
|
|
30524
30585
|
|
|
30525
|
-
|
|
30526
|
-
|
|
30586
|
+
|
|
30587
|
+
var createValidator = function createValidator(type, error) {
|
|
30588
|
+
var validator = function validator() {
|
|
30589
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
30590
|
+
args[_key2] = arguments[_key2];
|
|
30591
|
+
}
|
|
30592
|
+
|
|
30593
|
+
return {
|
|
30594
|
+
type: type,
|
|
30595
|
+
args: args,
|
|
30596
|
+
error: error
|
|
30597
|
+
};
|
|
30598
|
+
};
|
|
30599
|
+
|
|
30527
30600
|
validator.error = error;
|
|
30528
30601
|
return validator;
|
|
30529
30602
|
};
|
|
30530
30603
|
|
|
30531
|
-
|
|
30604
|
+
var validatorFns = {};
|
|
30605
|
+
var REQUIRED = "validator/REQUIRED";
|
|
30606
|
+
var REQUIRED_ERROR = "error/REQUIRED";
|
|
30607
|
+
var required = createValidator(REQUIRED, REQUIRED_ERROR);
|
|
30532
30608
|
|
|
30533
|
-
|
|
30534
|
-
|
|
30535
|
-
|
|
30536
|
-
validatorFns[REQUIRED] = (value, args, form) => value !== "";
|
|
30609
|
+
validatorFns[REQUIRED] = function (value, args, form) {
|
|
30610
|
+
return value !== "";
|
|
30611
|
+
};
|
|
30537
30612
|
|
|
30538
|
-
|
|
30539
|
-
|
|
30540
|
-
|
|
30541
|
-
validatorFns[ONLY_INTEGERS] = (value, args, form) => /^(-?\d+)?$/.test(value);
|
|
30613
|
+
var ONLY_INTEGERS = "validator/ONLY_INTEGERS";
|
|
30614
|
+
var ONLY_INTEGERS_ERROR = "error/ONLY_INTEGERS";
|
|
30615
|
+
var onlyIntegers = createValidator(ONLY_INTEGERS, ONLY_INTEGERS_ERROR);
|
|
30542
30616
|
|
|
30543
|
-
|
|
30544
|
-
|
|
30545
|
-
|
|
30546
|
-
validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
|
|
30617
|
+
validatorFns[ONLY_INTEGERS] = function (value, args, form) {
|
|
30618
|
+
return /^(-?\d+)?$/.test(value);
|
|
30619
|
+
};
|
|
30547
30620
|
|
|
30548
|
-
|
|
30549
|
-
|
|
30550
|
-
|
|
30551
|
-
|
|
30552
|
-
|
|
30553
|
-
);
|
|
30554
|
-
|
|
30621
|
+
var ONLY_NATURALS = "validator/ONLY_NATURALS";
|
|
30622
|
+
var ONLY_NATURALS_ERROR = "error/ONLY_NATURALS";
|
|
30623
|
+
var onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
|
|
30624
|
+
|
|
30625
|
+
validatorFns[ONLY_NATURALS] = function (value, args, form) {
|
|
30626
|
+
return /^(\d+)?$/.test(value);
|
|
30627
|
+
};
|
|
30628
|
+
|
|
30629
|
+
var NUMBER_LESS_THAN = "validator/NUMBER_LESS_THAN";
|
|
30630
|
+
var NUMBER_LESS_THAN_ERROR = "error/NUMBER_LESS_THAN";
|
|
30631
|
+
var numberLessThan = createValidator(NUMBER_LESS_THAN, NUMBER_LESS_THAN_ERROR);
|
|
30632
|
+
|
|
30633
|
+
validatorFns[NUMBER_LESS_THAN] = function (value, args, form) {
|
|
30555
30634
|
if (value === "") {
|
|
30556
30635
|
return true;
|
|
30557
30636
|
}
|
|
30637
|
+
|
|
30558
30638
|
return Number(value) < args[0];
|
|
30559
30639
|
};
|
|
30560
30640
|
|
|
30561
|
-
|
|
30562
|
-
|
|
30563
|
-
|
|
30564
|
-
|
|
30565
|
-
|
|
30566
|
-
NUMBER_LESS_THAN_OR_EQUAL_TO,
|
|
30567
|
-
NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR
|
|
30568
|
-
);
|
|
30569
|
-
validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
30641
|
+
var NUMBER_LESS_THAN_OR_EQUAL_TO = "validator/NUMBER_LESS_THAN_OR_EQUAL_TO";
|
|
30642
|
+
var NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR = "error/NUMBER_LESS_THAN_OR_EQUAL_TO";
|
|
30643
|
+
var numberLessThanOrEqualTo = createValidator(NUMBER_LESS_THAN_OR_EQUAL_TO, NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR);
|
|
30644
|
+
|
|
30645
|
+
validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = function (value, args, form) {
|
|
30570
30646
|
if (value === "") {
|
|
30571
30647
|
return true;
|
|
30572
30648
|
}
|
|
30649
|
+
|
|
30573
30650
|
return Number(value) <= args[0];
|
|
30574
30651
|
};
|
|
30575
30652
|
|
|
30576
|
-
|
|
30577
|
-
|
|
30578
|
-
|
|
30579
|
-
|
|
30580
|
-
|
|
30581
|
-
);
|
|
30582
|
-
validatorFns[NUMBER_GREATER_THAN] = (value, args, form) => {
|
|
30653
|
+
var NUMBER_GREATER_THAN = "validator/NUMBER_GREATER_THAN";
|
|
30654
|
+
var NUMBER_GREATER_THAN_ERROR = "error/NUMBER_GREATER_THAN";
|
|
30655
|
+
var numberGreaterThan = createValidator(NUMBER_GREATER_THAN, NUMBER_GREATER_THAN_ERROR);
|
|
30656
|
+
|
|
30657
|
+
validatorFns[NUMBER_GREATER_THAN] = function (value, args, form) {
|
|
30583
30658
|
if (value === "") {
|
|
30584
30659
|
return true;
|
|
30585
30660
|
}
|
|
30661
|
+
|
|
30586
30662
|
return Number(value) > args[0];
|
|
30587
30663
|
};
|
|
30588
30664
|
|
|
30589
|
-
|
|
30590
|
-
|
|
30591
|
-
|
|
30592
|
-
|
|
30593
|
-
|
|
30594
|
-
NUMBER_GREATER_THAN_OR_EQUAL_TO,
|
|
30595
|
-
NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR
|
|
30596
|
-
);
|
|
30597
|
-
validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
30665
|
+
var NUMBER_GREATER_THAN_OR_EQUAL_TO = "validator/NUMBER_GREATER_THAN_OR_EQUAL_TO";
|
|
30666
|
+
var NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR = "error/NUMBER_GREATER_THAN_OR_EQUAL_TO";
|
|
30667
|
+
var numberGreaterThanOrEqualTo = createValidator(NUMBER_GREATER_THAN_OR_EQUAL_TO, NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR);
|
|
30668
|
+
|
|
30669
|
+
validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = function (value, args, form) {
|
|
30598
30670
|
if (value === "") {
|
|
30599
30671
|
return true;
|
|
30600
30672
|
}
|
|
30673
|
+
|
|
30601
30674
|
return Number(value) >= args[0];
|
|
30602
30675
|
};
|
|
30603
30676
|
|
|
30604
|
-
|
|
30605
|
-
|
|
30606
|
-
|
|
30607
|
-
|
|
30677
|
+
var MATCHES_FIELD = "validator/MATCHES_FIELD";
|
|
30678
|
+
var MATCHES_FIELD_ERROR$1 = "error/MATCHES_FIELD";
|
|
30679
|
+
var matchesField = createValidator(MATCHES_FIELD, MATCHES_FIELD_ERROR$1);
|
|
30680
|
+
|
|
30681
|
+
validatorFns[MATCHES_FIELD] = function (value, args, form) {
|
|
30608
30682
|
if (value === "") {
|
|
30609
30683
|
return true;
|
|
30610
30684
|
}
|
|
30685
|
+
|
|
30611
30686
|
if (form[args[0]] === undefined) {
|
|
30612
|
-
throw new Error(
|
|
30613
|
-
`${args[0]} was passed to matchesField, but that field does not exist in the form`
|
|
30614
|
-
);
|
|
30687
|
+
throw new Error("".concat(args[0], " was passed to matchesField, but that field does not exist in the form"));
|
|
30615
30688
|
}
|
|
30689
|
+
|
|
30616
30690
|
return value === form[args[0]].rawValue;
|
|
30617
30691
|
};
|
|
30618
30692
|
|
|
30619
|
-
|
|
30620
|
-
|
|
30621
|
-
|
|
30622
|
-
|
|
30623
|
-
|
|
30624
|
-
|
|
30625
|
-
|
|
30626
|
-
|
|
30627
|
-
|
|
30628
|
-
|
|
30629
|
-
|
|
30630
|
-
|
|
30631
|
-
|
|
30632
|
-
|
|
30633
|
-
|
|
30634
|
-
type: VALIDATE_WHEN,
|
|
30635
|
-
args: [dependentValidator, primaryValidator, optionalFieldName],
|
|
30636
|
-
error: dependentValidator.error
|
|
30637
|
-
});
|
|
30693
|
+
var validateWhenErrorMessage = function validateWhenErrorMessage(type) {
|
|
30694
|
+
return "".concat(type, " was passed to validateWhen, but that validator type does not exist.\n Please check that you are only calling validator creator functions exported from\n redux-freeform in your form config and that you didn't forget to\n invoke the validator creator (you cannot pass the functions themselves to\n createFormState). Also make sure you aren't passing validateWhen() to validateWhen\n as the primary validator.");
|
|
30695
|
+
};
|
|
30696
|
+
|
|
30697
|
+
var VALIDATE_WHEN = "validator/VALIDATE_WHEN";
|
|
30698
|
+
var VALIDATE_WHEN_ERROR = "error/VALIDATE_WHEN";
|
|
30699
|
+
|
|
30700
|
+
var validateWhen = function validateWhen(dependentValidator, primaryValidator, optionalFieldName) {
|
|
30701
|
+
return {
|
|
30702
|
+
type: VALIDATE_WHEN,
|
|
30703
|
+
args: [dependentValidator, primaryValidator, optionalFieldName],
|
|
30704
|
+
error: dependentValidator.error
|
|
30705
|
+
};
|
|
30706
|
+
};
|
|
30707
|
+
|
|
30638
30708
|
validateWhen.error = VALIDATE_WHEN_ERROR;
|
|
30639
|
-
validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
30640
|
-
const [dependentValidator, primaryValidator, optionalFieldName] = args;
|
|
30641
|
-
const dependsOnOtherField = typeof optionalFieldName === "string";
|
|
30642
30709
|
|
|
30643
|
-
|
|
30644
|
-
|
|
30645
|
-
|
|
30646
|
-
|
|
30710
|
+
validatorFns[VALIDATE_WHEN] = function (value, args, form) {
|
|
30711
|
+
var _args = _slicedToArray(args, 3),
|
|
30712
|
+
dependentValidator = _args[0],
|
|
30713
|
+
primaryValidator = _args[1],
|
|
30714
|
+
optionalFieldName = _args[2];
|
|
30715
|
+
|
|
30716
|
+
var dependsOnOtherField = typeof optionalFieldName === "string";
|
|
30717
|
+
|
|
30718
|
+
if (primaryValidator.type === undefined || typeof validatorFns[primaryValidator.type] !== "function") {
|
|
30647
30719
|
throw new Error(validateWhenErrorMessage(primaryValidator.type));
|
|
30648
30720
|
}
|
|
30721
|
+
|
|
30649
30722
|
if (dependsOnOtherField && form[optionalFieldName] === undefined) {
|
|
30650
|
-
throw new Error(
|
|
30651
|
-
`${args[2]} was passed to matchesField, but that field does not exist in the form`
|
|
30652
|
-
);
|
|
30723
|
+
throw new Error("".concat(args[2], " was passed to matchesField, but that field does not exist in the form"));
|
|
30653
30724
|
}
|
|
30654
30725
|
|
|
30655
|
-
|
|
30656
|
-
|
|
30657
|
-
|
|
30658
|
-
);
|
|
30659
|
-
|
|
30660
|
-
|
|
30661
|
-
|
|
30662
|
-
|
|
30663
|
-
|
|
30664
|
-
|
|
30665
|
-
|
|
30666
|
-
|
|
30726
|
+
var primaryPredicate = validatorToPredicate(validatorFns[primaryValidator.type], false);
|
|
30727
|
+
var primaryValue = dependsOnOtherField ? form[optionalFieldName].rawValue : value;
|
|
30728
|
+
var primaryPredicatePassed = primaryPredicate(primaryValue, primaryValidator.args, form);
|
|
30729
|
+
return primaryPredicatePassed ? validatorFns[dependentValidator.type](value, dependentValidator.args, form) : true;
|
|
30730
|
+
};
|
|
30731
|
+
|
|
30732
|
+
var validateSumErrorMessage = function validateSumErrorMessage(type) {
|
|
30733
|
+
return "".concat(type, " was passed to validateSum, but that validator type does not exist.\n Please check that you are only calling validator creator functions exported from\n redux-freeform in your form config and that you didn't forget to\n invoke the validator creator (you cannot pass the functions themselves to\n createFormState).");
|
|
30734
|
+
};
|
|
30735
|
+
|
|
30736
|
+
var VALIDATE_SUM = "validator/VALIDATE_SUM";
|
|
30737
|
+
var VALIDATE_SUM_ERROR = "error/VALIDATE_SUM";
|
|
30738
|
+
|
|
30739
|
+
var validateSum = function validateSum(validator, fieldNamesArray) {
|
|
30740
|
+
return {
|
|
30741
|
+
type: VALIDATE_SUM,
|
|
30742
|
+
args: [validator, fieldNamesArray],
|
|
30743
|
+
error: validator.error
|
|
30744
|
+
};
|
|
30745
|
+
};
|
|
30667
30746
|
|
|
30668
|
-
return primaryPredicatePassed
|
|
30669
|
-
? validatorFns[dependentValidator.type](
|
|
30670
|
-
value,
|
|
30671
|
-
dependentValidator.args,
|
|
30672
|
-
form
|
|
30673
|
-
)
|
|
30674
|
-
: true;
|
|
30675
|
-
};
|
|
30676
|
-
|
|
30677
|
-
const validateSumErrorMessage = type =>
|
|
30678
|
-
`${type} was passed to validateSum, but that validator type does not exist.
|
|
30679
|
-
Please check that you are only calling validator creator functions exported from
|
|
30680
|
-
redux-freeform in your form config and that you didn't forget to
|
|
30681
|
-
invoke the validator creator (you cannot pass the functions themselves to
|
|
30682
|
-
createFormState).`;
|
|
30683
|
-
const VALIDATE_SUM = "validator/VALIDATE_SUM";
|
|
30684
|
-
const VALIDATE_SUM_ERROR = "error/VALIDATE_SUM";
|
|
30685
|
-
const validateSum = (validator, fieldNamesArray) => ({
|
|
30686
|
-
type: VALIDATE_SUM,
|
|
30687
|
-
args: [validator, fieldNamesArray],
|
|
30688
|
-
error: validator.error
|
|
30689
|
-
});
|
|
30690
30747
|
validateSum.error = VALIDATE_SUM_ERROR;
|
|
30691
|
-
validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
30692
|
-
const [validator, fieldNamesArray] = args;
|
|
30693
30748
|
|
|
30694
|
-
|
|
30695
|
-
|
|
30696
|
-
|
|
30697
|
-
|
|
30749
|
+
validatorFns[VALIDATE_SUM] = function (value, args, form) {
|
|
30750
|
+
var _args2 = _slicedToArray(args, 2),
|
|
30751
|
+
validator = _args2[0],
|
|
30752
|
+
fieldNamesArray = _args2[1];
|
|
30753
|
+
|
|
30754
|
+
if (validator.type === undefined || typeof validatorFns[validator.type] !== "function") {
|
|
30698
30755
|
throw new Error(validateSumErrorMessage(validator.type));
|
|
30699
30756
|
}
|
|
30700
30757
|
|
|
30701
|
-
|
|
30702
|
-
|
|
30703
|
-
|
|
30704
|
-
|
|
30705
|
-
|
|
30758
|
+
var _iterator = _createForOfIteratorHelper(fieldNamesArray),
|
|
30759
|
+
_step;
|
|
30760
|
+
|
|
30761
|
+
try {
|
|
30762
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
30763
|
+
var fieldName = _step.value;
|
|
30764
|
+
|
|
30765
|
+
if (form[fieldName] === undefined) {
|
|
30766
|
+
throw new Error("".concat(fieldName, " was passed to matchesField, but that field does not exist in the form"));
|
|
30767
|
+
}
|
|
30706
30768
|
}
|
|
30769
|
+
} catch (err) {
|
|
30770
|
+
_iterator.e(err);
|
|
30771
|
+
} finally {
|
|
30772
|
+
_iterator.f();
|
|
30707
30773
|
}
|
|
30708
30774
|
|
|
30709
|
-
|
|
30710
|
-
|
|
30711
|
-
|
|
30712
|
-
);
|
|
30713
|
-
|
|
30775
|
+
var sum = fieldNamesArray.reduce(function (acc, curr) {
|
|
30776
|
+
return acc + Number(form[curr].rawValue);
|
|
30777
|
+
}, Number(value));
|
|
30714
30778
|
return validatorFns[validator.type](sum, validator.args, form);
|
|
30715
30779
|
};
|
|
30716
30780
|
|
|
30717
|
-
|
|
30718
|
-
|
|
30719
|
-
|
|
30720
|
-
|
|
30781
|
+
var HAS_LENGTH = "validator/HAS_LENGTH";
|
|
30782
|
+
var HAS_LENGTH_ERROR = "error/HAS_LENGTH";
|
|
30783
|
+
var hasLength = createValidator(HAS_LENGTH, HAS_LENGTH_ERROR);
|
|
30784
|
+
|
|
30785
|
+
validatorFns[HAS_LENGTH] = function (value, args, form) {
|
|
30721
30786
|
if (value === "") {
|
|
30722
30787
|
return true;
|
|
30723
30788
|
}
|
|
30724
|
-
|
|
30725
|
-
|
|
30789
|
+
|
|
30790
|
+
var min = args[0];
|
|
30791
|
+
var max = args[1];
|
|
30792
|
+
|
|
30726
30793
|
if (max == undefined || min == undefined) {
|
|
30727
|
-
throw new Error(
|
|
30728
|
-
"Max and min need to be defined for hasLength, both or one of them is undefined"
|
|
30729
|
-
);
|
|
30794
|
+
throw new Error("Max and min need to be defined for hasLength, both or one of them is undefined");
|
|
30730
30795
|
}
|
|
30796
|
+
|
|
30731
30797
|
if (max < min) {
|
|
30732
|
-
throw new Error(
|
|
30733
|
-
"hasLength validator was passed a min greater than the max"
|
|
30734
|
-
);
|
|
30798
|
+
throw new Error("hasLength validator was passed a min greater than the max");
|
|
30735
30799
|
}
|
|
30736
|
-
|
|
30800
|
+
|
|
30801
|
+
var valueLength = value.length;
|
|
30737
30802
|
return max >= valueLength && valueLength >= min;
|
|
30738
30803
|
};
|
|
30739
30804
|
|
|
30740
|
-
|
|
30741
|
-
|
|
30742
|
-
|
|
30743
|
-
|
|
30805
|
+
var MATCHES_REGEX = "validator/MATCHES_REGEX";
|
|
30806
|
+
var MATCHES_REGEX_ERROR = "error/MATCHES_REGEX";
|
|
30807
|
+
var matchesRegex = createValidator(MATCHES_REGEX, MATCHES_REGEX_ERROR);
|
|
30808
|
+
|
|
30809
|
+
validatorFns[MATCHES_REGEX] = function (value, args, form) {
|
|
30744
30810
|
if (value === "") {
|
|
30745
30811
|
return true;
|
|
30746
30812
|
}
|
|
30813
|
+
|
|
30747
30814
|
return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
|
|
30748
|
-
};
|
|
30815
|
+
}; // based on http://www.brainjar.com/js/validation/
|
|
30749
30816
|
|
|
30750
|
-
|
|
30751
|
-
|
|
30752
|
-
|
|
30753
|
-
|
|
30754
|
-
|
|
30755
|
-
|
|
30756
|
-
);
|
|
30757
|
-
validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
30817
|
+
|
|
30818
|
+
var IS_ROUTING_NUMBER = "validator/IS_ROUTING_NUMBER";
|
|
30819
|
+
var IS_ROUTING_NUMBER_ERROR = "error/IS_ROUTING_NUMBER";
|
|
30820
|
+
var isRoutingNumber = createValidator(IS_ROUTING_NUMBER, IS_ROUTING_NUMBER_ERROR);
|
|
30821
|
+
|
|
30822
|
+
validatorFns[IS_ROUTING_NUMBER] = function (value, args, form) {
|
|
30758
30823
|
if (value === "") {
|
|
30759
30824
|
return true;
|
|
30760
30825
|
}
|
|
30826
|
+
|
|
30761
30827
|
if (value.length != 9) {
|
|
30762
30828
|
return false;
|
|
30763
30829
|
}
|
|
30764
|
-
|
|
30765
|
-
|
|
30766
|
-
|
|
30767
|
-
|
|
30768
|
-
|
|
30769
|
-
|
|
30770
|
-
|
|
30771
|
-
|
|
30772
|
-
|
|
30773
|
-
|
|
30774
|
-
|
|
30775
|
-
|
|
30776
|
-
|
|
30830
|
+
|
|
30831
|
+
var sum = value.split("").map(function (ch) {
|
|
30832
|
+
return parseInt(ch);
|
|
30833
|
+
}).reduce(function (acc, cur, idx) {
|
|
30834
|
+
switch (idx % 3) {
|
|
30835
|
+
case 0:
|
|
30836
|
+
return acc + 3 * cur;
|
|
30837
|
+
|
|
30838
|
+
case 1:
|
|
30839
|
+
return acc + 7 * cur;
|
|
30840
|
+
|
|
30841
|
+
case 2:
|
|
30842
|
+
return acc + 1 * cur;
|
|
30843
|
+
}
|
|
30844
|
+
}, 0);
|
|
30777
30845
|
return sum != 0 && sum % 10 == 0;
|
|
30778
30846
|
};
|
|
30779
30847
|
|
|
30780
|
-
|
|
30781
|
-
|
|
30782
|
-
|
|
30783
|
-
|
|
30848
|
+
var HAS_NUMBER = "validator/HAS_NUMBER";
|
|
30849
|
+
var HAS_NUMBER_ERROR$1 = "error/HAS_NUMBER";
|
|
30850
|
+
var hasNumber = createValidator(HAS_NUMBER, HAS_NUMBER_ERROR$1);
|
|
30851
|
+
|
|
30852
|
+
validatorFns[HAS_NUMBER] = function (value, args, form) {
|
|
30784
30853
|
if (value === "") {
|
|
30785
30854
|
return true;
|
|
30786
30855
|
}
|
|
30856
|
+
|
|
30787
30857
|
return new RegExp(/[0-9]/).test(value);
|
|
30788
30858
|
};
|
|
30789
30859
|
|
|
30790
|
-
|
|
30791
|
-
|
|
30792
|
-
|
|
30793
|
-
|
|
30794
|
-
|
|
30795
|
-
);
|
|
30796
|
-
validatorFns[HAS_LOWERCASE_LETTER] = (value, args, form) => {
|
|
30860
|
+
var HAS_LOWERCASE_LETTER = "validator/HAS_LOWERCASE_LETTER";
|
|
30861
|
+
var HAS_LOWERCASE_LETTER_ERROR$1 = "error/HAS_LOWERCASE_LETTER";
|
|
30862
|
+
var hasLowercaseLetter = createValidator(HAS_LOWERCASE_LETTER, HAS_LOWERCASE_LETTER_ERROR$1);
|
|
30863
|
+
|
|
30864
|
+
validatorFns[HAS_LOWERCASE_LETTER] = function (value, args, form) {
|
|
30797
30865
|
if (value === "") {
|
|
30798
30866
|
return true;
|
|
30799
30867
|
}
|
|
30868
|
+
|
|
30800
30869
|
return new RegExp(/[a-z]/).test(value);
|
|
30801
30870
|
};
|
|
30802
30871
|
|
|
30803
|
-
|
|
30804
|
-
|
|
30805
|
-
|
|
30806
|
-
|
|
30807
|
-
|
|
30808
|
-
);
|
|
30809
|
-
validatorFns[HAS_UPPERCASE_LETTER] = (value, args, form) => {
|
|
30872
|
+
var HAS_UPPERCASE_LETTER = "validator/HAS_UPPERCASE_LETTER";
|
|
30873
|
+
var HAS_UPPERCASE_LETTER_ERROR$1 = "error/HAS_UPPERCASE_LETTER";
|
|
30874
|
+
var hasUppercaseLetter = createValidator(HAS_UPPERCASE_LETTER, HAS_UPPERCASE_LETTER_ERROR$1);
|
|
30875
|
+
|
|
30876
|
+
validatorFns[HAS_UPPERCASE_LETTER] = function (value, args, form) {
|
|
30810
30877
|
if (value === "") {
|
|
30811
30878
|
return true;
|
|
30812
30879
|
}
|
|
30880
|
+
|
|
30813
30881
|
return new RegExp(/[A-Z]/).test(value);
|
|
30814
30882
|
};
|
|
30815
30883
|
|
|
30816
|
-
|
|
30817
|
-
|
|
30818
|
-
|
|
30819
|
-
|
|
30820
|
-
|
|
30821
|
-
);
|
|
30822
|
-
validatorFns[HAS_SPECIAL_CHARACTER] = (value, args, form) => {
|
|
30884
|
+
var HAS_SPECIAL_CHARACTER = "validator/HAS_SPECIAL_CHARACTER";
|
|
30885
|
+
var HAS_SPECIAL_CHARACTER_ERROR$1 = "error/HAS_SPECIAL_CHARACTER";
|
|
30886
|
+
var hasSpecialCharacter = createValidator(HAS_SPECIAL_CHARACTER, HAS_SPECIAL_CHARACTER_ERROR$1);
|
|
30887
|
+
|
|
30888
|
+
validatorFns[HAS_SPECIAL_CHARACTER] = function (value, args, form) {
|
|
30823
30889
|
if (value === "") {
|
|
30824
30890
|
return true;
|
|
30825
30891
|
}
|
|
30892
|
+
|
|
30826
30893
|
return new RegExp(/[!@#$%^&*.?]/).test(value);
|
|
30827
30894
|
};
|
|
30828
30895
|
|
|
30829
|
-
|
|
30830
|
-
|
|
30831
|
-
|
|
30832
|
-
|
|
30833
|
-
|
|
30834
|
-
);
|
|
30835
|
-
validatorFns[IS_PROBABLY_EMAIL] = (value, args, form) => {
|
|
30896
|
+
var IS_PROBABLY_EMAIL = "validator/IS_PROBABLY_EMAIL";
|
|
30897
|
+
var IS_PROBABLY_EMAIL_ERROR = "error/IS_PROBABLY_EMAIL";
|
|
30898
|
+
var isProbablyEmail = createValidator(IS_PROBABLY_EMAIL, IS_PROBABLY_EMAIL_ERROR);
|
|
30899
|
+
|
|
30900
|
+
validatorFns[IS_PROBABLY_EMAIL] = function (value, args, form) {
|
|
30836
30901
|
if (value === "") {
|
|
30837
30902
|
return true;
|
|
30838
30903
|
}
|
|
30904
|
+
|
|
30839
30905
|
return new RegExp(/^\S+@\S+\.\S+$/).test(value);
|
|
30840
30906
|
};
|
|
30841
30907
|
|
|
30842
|
-
|
|
30843
|
-
|
|
30844
|
-
|
|
30845
|
-
|
|
30846
|
-
|
|
30847
|
-
|
|
30908
|
+
var runValidatorErrorMessage = function runValidatorErrorMessage(type) {
|
|
30909
|
+
return "".concat(type, " was passed to runValidator, but that validator type does not exist. \n Please check that you are only calling validator creator functions exported from \n redux-freeform in your form config and that you didn't forget to \n invoke the validator creator (you cannot pass the functions themselves to \n createFormState)");
|
|
30910
|
+
};
|
|
30911
|
+
|
|
30912
|
+
var runValidator = function runValidator(validator, value, form) {
|
|
30913
|
+
var validatorFn = validatorFns[validator.type];
|
|
30848
30914
|
|
|
30849
|
-
const runValidator = (validator, value, form) => {
|
|
30850
|
-
const validatorFn = validatorFns[validator.type];
|
|
30851
30915
|
if (validatorFn === undefined) {
|
|
30852
30916
|
throw new Error(runValidatorErrorMessage(validator.type));
|
|
30853
30917
|
}
|
|
30918
|
+
|
|
30854
30919
|
return validatorFn(value, validator.args, form) ? null : validator.error;
|
|
30855
30920
|
};
|
|
30856
30921
|
|
|
30857
|
-
|
|
30858
|
-
return validators
|
|
30859
|
-
|
|
30860
|
-
|
|
30922
|
+
var _computeErrors = function _computeErrors(fieldName, form, validators) {
|
|
30923
|
+
return validators.map(function (v) {
|
|
30924
|
+
return runValidator(v, form[fieldName].rawValue, form);
|
|
30925
|
+
}).filter(function (x) {
|
|
30926
|
+
return x !== null;
|
|
30927
|
+
});
|
|
30861
30928
|
};
|
|
30862
30929
|
|
|
30863
|
-
|
|
30864
|
-
|
|
30930
|
+
var computeConstraints = function computeConstraints(fieldName, form) {
|
|
30931
|
+
var constraints = form[fieldName].constraints;
|
|
30865
30932
|
return _computeErrors(fieldName, form, constraints);
|
|
30866
30933
|
};
|
|
30867
30934
|
|
|
30868
|
-
|
|
30869
|
-
|
|
30935
|
+
var computeErrors = function computeErrors(fieldName, form) {
|
|
30936
|
+
var validators = form[fieldName].validators;
|
|
30870
30937
|
return _computeErrors(fieldName, form, validators);
|
|
30871
30938
|
};
|
|
30872
30939
|
|
|
30873
30940
|
var obj;
|
|
30874
|
-
var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : (
|
|
30875
|
-
var DRAFTABLE = typeof Symbol !== "undefined" && Symbol
|
|
30876
|
-
var DRAFT_STATE = typeof Symbol !== "undefined" && Symbol
|
|
30941
|
+
var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : (obj = {}, obj["immer-nothing"] = true, obj);
|
|
30942
|
+
var DRAFTABLE = typeof Symbol !== "undefined" && Symbol["for"] ? Symbol["for"]("immer-draftable") : "__$immer_draftable";
|
|
30943
|
+
var DRAFT_STATE = typeof Symbol !== "undefined" && Symbol["for"] ? Symbol["for"]("immer-state") : "__$immer_state";
|
|
30944
|
+
|
|
30877
30945
|
function isDraft(value) {
|
|
30878
30946
|
return !!value && !!value[DRAFT_STATE];
|
|
30879
30947
|
}
|
|
30948
|
+
|
|
30880
30949
|
function isDraftable(value) {
|
|
30881
|
-
if (!value) {
|
|
30950
|
+
if (!value) {
|
|
30951
|
+
return false;
|
|
30952
|
+
}
|
|
30953
|
+
|
|
30882
30954
|
return isPlainObject(value) || !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE];
|
|
30883
30955
|
}
|
|
30956
|
+
|
|
30884
30957
|
function isPlainObject(value) {
|
|
30885
|
-
if (!value ||
|
|
30886
|
-
|
|
30958
|
+
if (!value || _typeof(value) !== "object") {
|
|
30959
|
+
return false;
|
|
30960
|
+
}
|
|
30961
|
+
|
|
30962
|
+
if (Array.isArray(value)) {
|
|
30963
|
+
return true;
|
|
30964
|
+
}
|
|
30965
|
+
|
|
30887
30966
|
var proto = Object.getPrototypeOf(value);
|
|
30888
30967
|
return !proto || proto === Object.prototype;
|
|
30889
30968
|
}
|
|
30969
|
+
|
|
30890
30970
|
var assign = Object.assign || function assign(target, value) {
|
|
30891
30971
|
for (var key in value) {
|
|
30892
30972
|
if (has(value, key)) {
|
|
@@ -30896,11 +30976,18 @@ var assign = Object.assign || function assign(target, value) {
|
|
|
30896
30976
|
|
|
30897
30977
|
return target;
|
|
30898
30978
|
};
|
|
30899
|
-
|
|
30979
|
+
|
|
30980
|
+
var ownKeys$1 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownKeys : typeof Object.getOwnPropertySymbols !== "undefined" ? function (obj) {
|
|
30981
|
+
return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));
|
|
30982
|
+
} : Object.getOwnPropertyNames;
|
|
30983
|
+
|
|
30900
30984
|
function shallowCopy(base, invokeGetters) {
|
|
30901
|
-
if (
|
|
30985
|
+
if (invokeGetters === void 0) invokeGetters = false;
|
|
30986
|
+
|
|
30987
|
+
if (Array.isArray(base)) {
|
|
30988
|
+
return base.slice();
|
|
30989
|
+
}
|
|
30902
30990
|
|
|
30903
|
-
if (Array.isArray(base)) { return base.slice(); }
|
|
30904
30991
|
var clone = Object.create(Object.getPrototypeOf(base));
|
|
30905
30992
|
ownKeys$1(base).forEach(function (key) {
|
|
30906
30993
|
if (key === DRAFT_STATE) {
|
|
@@ -30930,20 +31017,28 @@ function shallowCopy(base, invokeGetters) {
|
|
|
30930
31017
|
});
|
|
30931
31018
|
return clone;
|
|
30932
31019
|
}
|
|
31020
|
+
|
|
30933
31021
|
function each(value, cb) {
|
|
30934
31022
|
if (Array.isArray(value)) {
|
|
30935
|
-
for (var i = 0; i < value.length; i++) {
|
|
31023
|
+
for (var i = 0; i < value.length; i++) {
|
|
31024
|
+
cb(i, value[i], value);
|
|
31025
|
+
}
|
|
30936
31026
|
} else {
|
|
30937
|
-
ownKeys$1(value).forEach(function (key) {
|
|
31027
|
+
ownKeys$1(value).forEach(function (key) {
|
|
31028
|
+
return cb(key, value[key], value);
|
|
31029
|
+
});
|
|
30938
31030
|
}
|
|
30939
31031
|
}
|
|
31032
|
+
|
|
30940
31033
|
function isEnumerable(base, prop) {
|
|
30941
31034
|
var desc = Object.getOwnPropertyDescriptor(base, prop);
|
|
30942
31035
|
return !!desc && desc.enumerable;
|
|
30943
31036
|
}
|
|
31037
|
+
|
|
30944
31038
|
function has(thing, prop) {
|
|
30945
31039
|
return Object.prototype.hasOwnProperty.call(thing, prop);
|
|
30946
31040
|
}
|
|
31041
|
+
|
|
30947
31042
|
function is(x, y) {
|
|
30948
31043
|
// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js
|
|
30949
31044
|
if (x === y) {
|
|
@@ -30952,18 +31047,27 @@ function is(x, y) {
|
|
|
30952
31047
|
return x !== x && y !== y;
|
|
30953
31048
|
}
|
|
30954
31049
|
}
|
|
31050
|
+
|
|
30955
31051
|
function clone(obj) {
|
|
30956
|
-
if (!isDraftable(obj)) {
|
|
30957
|
-
|
|
31052
|
+
if (!isDraftable(obj)) {
|
|
31053
|
+
return obj;
|
|
31054
|
+
}
|
|
31055
|
+
|
|
31056
|
+
if (Array.isArray(obj)) {
|
|
31057
|
+
return obj.map(clone);
|
|
31058
|
+
}
|
|
31059
|
+
|
|
30958
31060
|
var cloned = Object.create(Object.getPrototypeOf(obj));
|
|
30959
31061
|
|
|
30960
|
-
for (var key in obj) {
|
|
31062
|
+
for (var key in obj) {
|
|
31063
|
+
cloned[key] = clone(obj[key]);
|
|
31064
|
+
}
|
|
30961
31065
|
|
|
30962
31066
|
return cloned;
|
|
30963
31067
|
}
|
|
30964
|
-
|
|
30965
31068
|
/** Each scope represents a `produce` call. */
|
|
30966
31069
|
|
|
31070
|
+
|
|
30967
31071
|
var ImmerScope = function ImmerScope(parent) {
|
|
30968
31072
|
this.drafts = [];
|
|
30969
31073
|
this.parent = parent; // Whenever the modified draft contains a draft from another scope, we
|
|
@@ -30974,7 +31078,7 @@ var ImmerScope = function ImmerScope(parent) {
|
|
|
30974
31078
|
this.patches = null;
|
|
30975
31079
|
};
|
|
30976
31080
|
|
|
30977
|
-
ImmerScope.prototype.usePatches = function usePatches
|
|
31081
|
+
ImmerScope.prototype.usePatches = function usePatches(patchListener) {
|
|
30978
31082
|
if (patchListener) {
|
|
30979
31083
|
this.patches = [];
|
|
30980
31084
|
this.inversePatches = [];
|
|
@@ -30982,17 +31086,18 @@ ImmerScope.prototype.usePatches = function usePatches (patchListener) {
|
|
|
30982
31086
|
}
|
|
30983
31087
|
};
|
|
30984
31088
|
|
|
30985
|
-
ImmerScope.prototype.revoke = function revoke$1
|
|
31089
|
+
ImmerScope.prototype.revoke = function revoke$1() {
|
|
30986
31090
|
this.leave();
|
|
30987
31091
|
this.drafts.forEach(revoke);
|
|
30988
31092
|
this.drafts = null; // Make draft-related methods throw.
|
|
30989
31093
|
};
|
|
30990
31094
|
|
|
30991
|
-
ImmerScope.prototype.leave = function leave
|
|
31095
|
+
ImmerScope.prototype.leave = function leave() {
|
|
30992
31096
|
if (this === ImmerScope.current) {
|
|
30993
31097
|
ImmerScope.current = this.parent;
|
|
30994
31098
|
}
|
|
30995
31099
|
};
|
|
31100
|
+
|
|
30996
31101
|
ImmerScope.current = null;
|
|
30997
31102
|
|
|
30998
31103
|
ImmerScope.enter = function () {
|
|
@@ -31001,11 +31106,11 @@ ImmerScope.enter = function () {
|
|
|
31001
31106
|
|
|
31002
31107
|
function revoke(draft) {
|
|
31003
31108
|
draft[DRAFT_STATE].revoke();
|
|
31004
|
-
}
|
|
31109
|
+
} // but share them all instead
|
|
31005
31110
|
|
|
31006
|
-
// but share them all instead
|
|
31007
31111
|
|
|
31008
31112
|
var descriptors = {};
|
|
31113
|
+
|
|
31009
31114
|
function willFinalize(scope, result, isReplaced) {
|
|
31010
31115
|
scope.drafts.forEach(function (draft) {
|
|
31011
31116
|
draft[DRAFT_STATE].finalizing = true;
|
|
@@ -31023,6 +31128,7 @@ function willFinalize(scope, result, isReplaced) {
|
|
|
31023
31128
|
markChangesSweep(scope.drafts);
|
|
31024
31129
|
}
|
|
31025
31130
|
}
|
|
31131
|
+
|
|
31026
31132
|
function createProxy(base, parent) {
|
|
31027
31133
|
var isArray = Array.isArray(base);
|
|
31028
31134
|
var draft = clonePotentialDraft(base);
|
|
@@ -31076,7 +31182,11 @@ function peek(draft, prop) {
|
|
|
31076
31182
|
function get(state, prop) {
|
|
31077
31183
|
assertUnrevoked(state);
|
|
31078
31184
|
var value = peek(source(state), prop);
|
|
31079
|
-
|
|
31185
|
+
|
|
31186
|
+
if (state.finalizing) {
|
|
31187
|
+
return value;
|
|
31188
|
+
} // Create a draft if the value is unmodified.
|
|
31189
|
+
|
|
31080
31190
|
|
|
31081
31191
|
if (value === peek(state.base, prop) && isDraftable(value)) {
|
|
31082
31192
|
prepareCopy(state);
|
|
@@ -31091,7 +31201,10 @@ function set(state, prop, value) {
|
|
|
31091
31201
|
state.assigned[prop] = true;
|
|
31092
31202
|
|
|
31093
31203
|
if (!state.modified) {
|
|
31094
|
-
if (is(value, peek(source(state), prop))) {
|
|
31204
|
+
if (is(value, peek(source(state), prop))) {
|
|
31205
|
+
return;
|
|
31206
|
+
}
|
|
31207
|
+
|
|
31095
31208
|
markChanged(state);
|
|
31096
31209
|
prepareCopy(state);
|
|
31097
31210
|
}
|
|
@@ -31102,12 +31215,17 @@ function set(state, prop, value) {
|
|
|
31102
31215
|
function markChanged(state) {
|
|
31103
31216
|
if (!state.modified) {
|
|
31104
31217
|
state.modified = true;
|
|
31105
|
-
|
|
31218
|
+
|
|
31219
|
+
if (state.parent) {
|
|
31220
|
+
markChanged(state.parent);
|
|
31221
|
+
}
|
|
31106
31222
|
}
|
|
31107
31223
|
}
|
|
31108
31224
|
|
|
31109
31225
|
function prepareCopy(state) {
|
|
31110
|
-
if (!state.copy) {
|
|
31226
|
+
if (!state.copy) {
|
|
31227
|
+
state.copy = clonePotentialDraft(state.base);
|
|
31228
|
+
}
|
|
31111
31229
|
}
|
|
31112
31230
|
|
|
31113
31231
|
function clonePotentialDraft(base) {
|
|
@@ -31132,15 +31250,12 @@ function proxyProperty(draft, prop, enumerable) {
|
|
|
31132
31250
|
descriptors[prop] = desc = {
|
|
31133
31251
|
configurable: true,
|
|
31134
31252
|
enumerable: enumerable,
|
|
31135
|
-
|
|
31136
31253
|
get: function get$1() {
|
|
31137
31254
|
return get(this[DRAFT_STATE], prop);
|
|
31138
31255
|
},
|
|
31139
|
-
|
|
31140
31256
|
set: function set$1(value) {
|
|
31141
31257
|
set(this[DRAFT_STATE], prop, value);
|
|
31142
31258
|
}
|
|
31143
|
-
|
|
31144
31259
|
};
|
|
31145
31260
|
}
|
|
31146
31261
|
|
|
@@ -31148,7 +31263,9 @@ function proxyProperty(draft, prop, enumerable) {
|
|
|
31148
31263
|
}
|
|
31149
31264
|
|
|
31150
31265
|
function assertUnrevoked(state) {
|
|
31151
|
-
if (state.revoked === true) {
|
|
31266
|
+
if (state.revoked === true) {
|
|
31267
|
+
throw new Error("Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + JSON.stringify(source(state)));
|
|
31268
|
+
}
|
|
31152
31269
|
} // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.
|
|
31153
31270
|
|
|
31154
31271
|
|
|
@@ -31162,16 +31279,27 @@ function markChangesSweep(drafts) {
|
|
|
31162
31279
|
|
|
31163
31280
|
if (!state.modified) {
|
|
31164
31281
|
if (Array.isArray(state.base)) {
|
|
31165
|
-
if (hasArrayChanges(state)) {
|
|
31166
|
-
|
|
31282
|
+
if (hasArrayChanges(state)) {
|
|
31283
|
+
markChanged(state);
|
|
31284
|
+
}
|
|
31285
|
+
} else if (hasObjectChanges(state)) {
|
|
31286
|
+
markChanged(state);
|
|
31287
|
+
}
|
|
31167
31288
|
}
|
|
31168
31289
|
}
|
|
31169
31290
|
}
|
|
31170
31291
|
|
|
31171
31292
|
function markChangesRecursively(object) {
|
|
31172
|
-
if (!object ||
|
|
31293
|
+
if (!object || _typeof(object) !== "object") {
|
|
31294
|
+
return;
|
|
31295
|
+
}
|
|
31296
|
+
|
|
31173
31297
|
var state = object[DRAFT_STATE];
|
|
31174
|
-
|
|
31298
|
+
|
|
31299
|
+
if (!state) {
|
|
31300
|
+
return;
|
|
31301
|
+
}
|
|
31302
|
+
|
|
31175
31303
|
var base = state.base;
|
|
31176
31304
|
var draft = state.draft;
|
|
31177
31305
|
var assigned = state.assigned;
|
|
@@ -31201,14 +31329,20 @@ function markChangesRecursively(object) {
|
|
|
31201
31329
|
assigned.length = true;
|
|
31202
31330
|
|
|
31203
31331
|
if (draft.length < base.length) {
|
|
31204
|
-
for (var i = draft.length; i < base.length; i++) {
|
|
31332
|
+
for (var i = draft.length; i < base.length; i++) {
|
|
31333
|
+
assigned[i] = false;
|
|
31334
|
+
}
|
|
31205
31335
|
} else {
|
|
31206
|
-
for (var i$1 = base.length; i$1 < draft.length; i$1++) {
|
|
31336
|
+
for (var i$1 = base.length; i$1 < draft.length; i$1++) {
|
|
31337
|
+
assigned[i$1] = true;
|
|
31338
|
+
}
|
|
31207
31339
|
}
|
|
31208
31340
|
|
|
31209
31341
|
for (var i$2 = 0; i$2 < draft.length; i$2++) {
|
|
31210
31342
|
// Only untouched indices trigger recursion.
|
|
31211
|
-
if (assigned[i$2] === undefined) {
|
|
31343
|
+
if (assigned[i$2] === undefined) {
|
|
31344
|
+
markChangesRecursively(draft[i$2]);
|
|
31345
|
+
}
|
|
31212
31346
|
}
|
|
31213
31347
|
}
|
|
31214
31348
|
}
|
|
@@ -31245,7 +31379,10 @@ function hasObjectChanges(state) {
|
|
|
31245
31379
|
|
|
31246
31380
|
function hasArrayChanges(state) {
|
|
31247
31381
|
var draft = state.draft;
|
|
31248
|
-
|
|
31382
|
+
|
|
31383
|
+
if (draft.length !== state.base.length) {
|
|
31384
|
+
return true;
|
|
31385
|
+
} // See #116
|
|
31249
31386
|
// If we first shorten the length, our array interceptors will be removed.
|
|
31250
31387
|
// If after that new items are added, result in the same original length,
|
|
31251
31388
|
// those last items will have no intercepting property.
|
|
@@ -31253,9 +31390,13 @@ function hasArrayChanges(state) {
|
|
|
31253
31390
|
// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check
|
|
31254
31391
|
// the last one
|
|
31255
31392
|
|
|
31393
|
+
|
|
31256
31394
|
var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)
|
|
31257
31395
|
|
|
31258
|
-
if (descriptor && !descriptor.get) {
|
|
31396
|
+
if (descriptor && !descriptor.get) {
|
|
31397
|
+
return true;
|
|
31398
|
+
} // For all other cases, we don't have to compare, as they would have been picked up by the index setters
|
|
31399
|
+
|
|
31259
31400
|
|
|
31260
31401
|
return false;
|
|
31261
31402
|
}
|
|
@@ -31269,11 +31410,12 @@ function createHiddenProperty(target, prop, value) {
|
|
|
31269
31410
|
}
|
|
31270
31411
|
|
|
31271
31412
|
var legacyProxy = /*#__PURE__*/Object.freeze({
|
|
31272
|
-
|
|
31273
|
-
|
|
31413
|
+
willFinalize: willFinalize,
|
|
31414
|
+
createProxy: createProxy
|
|
31274
31415
|
});
|
|
31275
31416
|
|
|
31276
31417
|
function willFinalize$1() {}
|
|
31418
|
+
|
|
31277
31419
|
function createProxy$1(base, parent) {
|
|
31278
31420
|
var scope = parent ? parent.scope : ImmerScope.current;
|
|
31279
31421
|
var state = {
|
|
@@ -31308,33 +31450,27 @@ function createProxy$1(base, parent) {
|
|
|
31308
31450
|
scope.drafts.push(proxy);
|
|
31309
31451
|
return proxy;
|
|
31310
31452
|
}
|
|
31453
|
+
|
|
31311
31454
|
var objectTraps = {
|
|
31312
31455
|
get: get$1,
|
|
31313
|
-
|
|
31314
31456
|
has: function has(target, prop) {
|
|
31315
31457
|
return prop in source$1(target);
|
|
31316
31458
|
},
|
|
31317
|
-
|
|
31318
31459
|
ownKeys: function ownKeys(target) {
|
|
31319
31460
|
return Reflect.ownKeys(source$1(target));
|
|
31320
31461
|
},
|
|
31321
|
-
|
|
31322
31462
|
set: set$1,
|
|
31323
31463
|
deleteProperty: deleteProperty,
|
|
31324
31464
|
getOwnPropertyDescriptor: getOwnPropertyDescriptor,
|
|
31325
|
-
|
|
31326
31465
|
defineProperty: function defineProperty() {
|
|
31327
31466
|
throw new Error("Object.defineProperty() cannot be used on an Immer draft"); // prettier-ignore
|
|
31328
31467
|
},
|
|
31329
|
-
|
|
31330
31468
|
getPrototypeOf: function getPrototypeOf(target) {
|
|
31331
31469
|
return Object.getPrototypeOf(target.base);
|
|
31332
31470
|
},
|
|
31333
|
-
|
|
31334
31471
|
setPrototypeOf: function setPrototypeOf() {
|
|
31335
31472
|
throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft"); // prettier-ignore
|
|
31336
31473
|
}
|
|
31337
|
-
|
|
31338
31474
|
};
|
|
31339
31475
|
var arrayTraps = {};
|
|
31340
31476
|
each(objectTraps, function (key, fn) {
|
|
@@ -31373,7 +31509,10 @@ function peek$1(draft, prop) {
|
|
|
31373
31509
|
}
|
|
31374
31510
|
|
|
31375
31511
|
function get$1(state, prop) {
|
|
31376
|
-
if (prop === DRAFT_STATE) {
|
|
31512
|
+
if (prop === DRAFT_STATE) {
|
|
31513
|
+
return state;
|
|
31514
|
+
}
|
|
31515
|
+
|
|
31377
31516
|
var drafts = state.drafts; // Check for existing draft in unmodified state.
|
|
31378
31517
|
|
|
31379
31518
|
if (!state.modified && has(drafts, prop)) {
|
|
@@ -31389,7 +31528,10 @@ function get$1(state, prop) {
|
|
|
31389
31528
|
|
|
31390
31529
|
if (state.modified) {
|
|
31391
31530
|
// Assigned values are never drafted. This catches any drafts we created, too.
|
|
31392
|
-
if (value !== peek$1(state.base, prop)) {
|
|
31531
|
+
if (value !== peek$1(state.base, prop)) {
|
|
31532
|
+
return value;
|
|
31533
|
+
} // Store drafts on the copy (when one exists).
|
|
31534
|
+
|
|
31393
31535
|
|
|
31394
31536
|
drafts = state.copy;
|
|
31395
31537
|
}
|
|
@@ -31404,7 +31546,11 @@ function set$1(state, prop, value) {
|
|
|
31404
31546
|
// values may be drafts, but falsy values are never drafts.
|
|
31405
31547
|
|
|
31406
31548
|
var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base;
|
|
31407
|
-
|
|
31549
|
+
|
|
31550
|
+
if (isUnchanged) {
|
|
31551
|
+
return true;
|
|
31552
|
+
}
|
|
31553
|
+
|
|
31408
31554
|
markChanged$1(state);
|
|
31409
31555
|
}
|
|
31410
31556
|
|
|
@@ -31423,7 +31569,10 @@ function deleteProperty(state, prop) {
|
|
|
31423
31569
|
delete state.assigned[prop];
|
|
31424
31570
|
}
|
|
31425
31571
|
|
|
31426
|
-
if (state.copy) {
|
|
31572
|
+
if (state.copy) {
|
|
31573
|
+
delete state.copy[prop];
|
|
31574
|
+
}
|
|
31575
|
+
|
|
31427
31576
|
return true;
|
|
31428
31577
|
} // Note: We never coerce `desc.value` into an Immer draft, because we can't make
|
|
31429
31578
|
// the same guarantee in ES5 mode.
|
|
@@ -31446,13 +31595,16 @@ function markChanged$1(state) {
|
|
|
31446
31595
|
state.modified = true;
|
|
31447
31596
|
state.copy = assign(shallowCopy(state.base), state.drafts);
|
|
31448
31597
|
state.drafts = null;
|
|
31449
|
-
|
|
31598
|
+
|
|
31599
|
+
if (state.parent) {
|
|
31600
|
+
markChanged$1(state.parent);
|
|
31601
|
+
}
|
|
31450
31602
|
}
|
|
31451
31603
|
}
|
|
31452
31604
|
|
|
31453
31605
|
var modernProxy = /*#__PURE__*/Object.freeze({
|
|
31454
|
-
|
|
31455
|
-
|
|
31606
|
+
willFinalize: willFinalize$1,
|
|
31607
|
+
createProxy: createProxy$1
|
|
31456
31608
|
});
|
|
31457
31609
|
|
|
31458
31610
|
function generatePatches(state, basePath, patches, inversePatches) {
|
|
@@ -31461,14 +31613,13 @@ function generatePatches(state, basePath, patches, inversePatches) {
|
|
|
31461
31613
|
|
|
31462
31614
|
function generateArrayPatches(state, basePath, patches, inversePatches) {
|
|
31463
31615
|
var assign, assign$1;
|
|
31464
|
-
|
|
31465
31616
|
var base = state.base;
|
|
31466
31617
|
var copy = state.copy;
|
|
31467
31618
|
var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer.
|
|
31468
31619
|
|
|
31469
31620
|
if (copy.length < base.length) {
|
|
31470
|
-
|
|
31471
|
-
|
|
31621
|
+
assign = [copy, base], base = assign[0], copy = assign[1];
|
|
31622
|
+
assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1];
|
|
31472
31623
|
}
|
|
31473
31624
|
|
|
31474
31625
|
var delta = copy.length - base.length; // Find the first replaced index.
|
|
@@ -31526,7 +31677,11 @@ function generateObjectPatches(state, basePath, patches, inversePatches) {
|
|
|
31526
31677
|
var origValue = base[key];
|
|
31527
31678
|
var value = copy[key];
|
|
31528
31679
|
var op = !assignedValue ? "remove" : key in base ? "replace" : "add";
|
|
31529
|
-
|
|
31680
|
+
|
|
31681
|
+
if (origValue === value && op === "replace") {
|
|
31682
|
+
return;
|
|
31683
|
+
}
|
|
31684
|
+
|
|
31530
31685
|
var path = basePath.concat(key);
|
|
31531
31686
|
patches.push(op === "remove" ? {
|
|
31532
31687
|
op: op,
|
|
@@ -31551,20 +31706,26 @@ function generateObjectPatches(state, basePath, patches, inversePatches) {
|
|
|
31551
31706
|
});
|
|
31552
31707
|
}
|
|
31553
31708
|
|
|
31554
|
-
var applyPatches = function (draft, patches) {
|
|
31709
|
+
var applyPatches = function applyPatches(draft, patches) {
|
|
31555
31710
|
for (var i$1 = 0, list = patches; i$1 < list.length; i$1 += 1) {
|
|
31556
31711
|
var patch = list[i$1];
|
|
31557
|
-
|
|
31558
31712
|
var path = patch.path;
|
|
31559
31713
|
var op = patch.op;
|
|
31560
31714
|
var value = clone(patch.value); // used to clone patch to ensure original patch is not modified, see #411
|
|
31561
31715
|
|
|
31562
|
-
if (!path.length) {
|
|
31716
|
+
if (!path.length) {
|
|
31717
|
+
throw new Error("Illegal state");
|
|
31718
|
+
}
|
|
31719
|
+
|
|
31563
31720
|
var base = draft;
|
|
31564
31721
|
|
|
31565
31722
|
for (var i = 0; i < path.length - 1; i++) {
|
|
31566
31723
|
base = base[path[i]];
|
|
31567
|
-
|
|
31724
|
+
|
|
31725
|
+
if (!base || _typeof(base) !== "object") {
|
|
31726
|
+
throw new Error("Cannot apply patch, path doesn't resolve: " + path.join("/"));
|
|
31727
|
+
} // prettier-ignore
|
|
31728
|
+
|
|
31568
31729
|
}
|
|
31569
31730
|
|
|
31570
31731
|
var key = path[path.length - 1];
|
|
@@ -31613,27 +31774,33 @@ var configDefaults = {
|
|
|
31613
31774
|
onDelete: null,
|
|
31614
31775
|
onCopy: null
|
|
31615
31776
|
};
|
|
31777
|
+
|
|
31616
31778
|
var Immer = function Immer(config) {
|
|
31617
31779
|
assign(this, configDefaults, config);
|
|
31618
31780
|
this.setUseProxies(this.useProxies);
|
|
31619
31781
|
this.produce = this.produce.bind(this);
|
|
31620
31782
|
};
|
|
31621
31783
|
|
|
31622
|
-
Immer.prototype.produce = function produce
|
|
31623
|
-
|
|
31784
|
+
Immer.prototype.produce = function produce(base, recipe, patchListener) {
|
|
31785
|
+
var this$1 = this; // curried invocation
|
|
31624
31786
|
|
|
31625
|
-
// curried invocation
|
|
31626
31787
|
if (typeof base === "function" && typeof recipe !== "function") {
|
|
31627
31788
|
var defaultBase = recipe;
|
|
31628
31789
|
recipe = base;
|
|
31629
31790
|
var self = this;
|
|
31630
31791
|
return function curriedProduce(base) {
|
|
31631
|
-
|
|
31632
|
-
|
|
31633
|
-
|
|
31634
|
-
|
|
31792
|
+
var this$1 = this;
|
|
31793
|
+
if (base === void 0) base = defaultBase;
|
|
31794
|
+
var args = [],
|
|
31795
|
+
len = arguments.length - 1;
|
|
31796
|
+
|
|
31797
|
+
while (len-- > 0) {
|
|
31798
|
+
args[len] = arguments[len + 1];
|
|
31799
|
+
}
|
|
31635
31800
|
|
|
31636
|
-
return self.produce(base, function (draft) {
|
|
31801
|
+
return self.produce(base, function (draft) {
|
|
31802
|
+
return recipe.call.apply(recipe, [this$1, draft].concat(args));
|
|
31803
|
+
}); // prettier-ignore
|
|
31637
31804
|
};
|
|
31638
31805
|
} // prettier-ignore
|
|
31639
31806
|
|
|
@@ -31659,7 +31826,11 @@ Immer.prototype.produce = function produce (base, recipe, patchListener) {
|
|
|
31659
31826
|
hasError = false;
|
|
31660
31827
|
} finally {
|
|
31661
31828
|
// finally instead of catch + rethrow better preserves original stack
|
|
31662
|
-
if (hasError) {
|
|
31829
|
+
if (hasError) {
|
|
31830
|
+
scope.revoke();
|
|
31831
|
+
} else {
|
|
31832
|
+
scope.leave();
|
|
31833
|
+
}
|
|
31663
31834
|
}
|
|
31664
31835
|
|
|
31665
31836
|
if (result instanceof Promise) {
|
|
@@ -31676,25 +31847,38 @@ Immer.prototype.produce = function produce (base, recipe, patchListener) {
|
|
|
31676
31847
|
return this.processResult(result, scope);
|
|
31677
31848
|
} else {
|
|
31678
31849
|
result = recipe(base);
|
|
31679
|
-
|
|
31850
|
+
|
|
31851
|
+
if (result === undefined) {
|
|
31852
|
+
return base;
|
|
31853
|
+
}
|
|
31854
|
+
|
|
31680
31855
|
return result !== NOTHING ? result : undefined;
|
|
31681
31856
|
}
|
|
31682
31857
|
};
|
|
31683
31858
|
|
|
31684
|
-
Immer.prototype.produceWithPatches = function produceWithPatches
|
|
31685
|
-
|
|
31859
|
+
Immer.prototype.produceWithPatches = function produceWithPatches(arg1, arg2, arg3) {
|
|
31860
|
+
var this$1 = this;
|
|
31686
31861
|
|
|
31687
31862
|
if (typeof arg1 === "function") {
|
|
31688
31863
|
return function (state) {
|
|
31689
|
-
|
|
31690
|
-
|
|
31864
|
+
var args = [],
|
|
31865
|
+
len = arguments.length - 1;
|
|
31691
31866
|
|
|
31692
|
-
|
|
31693
|
-
|
|
31867
|
+
while (len-- > 0) {
|
|
31868
|
+
args[len] = arguments[len + 1];
|
|
31869
|
+
}
|
|
31870
|
+
|
|
31871
|
+
return this$1.produceWithPatches(state, function (draft) {
|
|
31872
|
+
return arg1.apply(void 0, [draft].concat(args));
|
|
31873
|
+
});
|
|
31874
|
+
};
|
|
31694
31875
|
} // non-curried form
|
|
31695
31876
|
|
|
31696
31877
|
|
|
31697
|
-
if (arg3) {
|
|
31878
|
+
if (arg3) {
|
|
31879
|
+
throw new Error("A patch listener cannot be passed to produceWithPatches");
|
|
31880
|
+
}
|
|
31881
|
+
|
|
31698
31882
|
var patches, inversePatches;
|
|
31699
31883
|
var nextState = this.produce(arg1, arg2, function (p, ip) {
|
|
31700
31884
|
patches = p;
|
|
@@ -31703,7 +31887,7 @@ Immer.prototype.produceWithPatches = function produceWithPatches (arg1, arg2, ar
|
|
|
31703
31887
|
return [nextState, patches, inversePatches];
|
|
31704
31888
|
};
|
|
31705
31889
|
|
|
31706
|
-
Immer.prototype.createDraft = function createDraft
|
|
31890
|
+
Immer.prototype.createDraft = function createDraft(base) {
|
|
31707
31891
|
if (!isDraftable(base)) {
|
|
31708
31892
|
throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object"); // prettier-ignore
|
|
31709
31893
|
}
|
|
@@ -31715,7 +31899,7 @@ Immer.prototype.createDraft = function createDraft (base) {
|
|
|
31715
31899
|
return proxy;
|
|
31716
31900
|
};
|
|
31717
31901
|
|
|
31718
|
-
Immer.prototype.finishDraft = function finishDraft
|
|
31902
|
+
Immer.prototype.finishDraft = function finishDraft(draft, patchListener) {
|
|
31719
31903
|
var state = draft && draft[DRAFT_STATE];
|
|
31720
31904
|
|
|
31721
31905
|
if (!state || !state.isManual) {
|
|
@@ -31731,16 +31915,16 @@ Immer.prototype.finishDraft = function finishDraft (draft, patchListener) {
|
|
|
31731
31915
|
return this.processResult(undefined, scope);
|
|
31732
31916
|
};
|
|
31733
31917
|
|
|
31734
|
-
Immer.prototype.setAutoFreeze = function setAutoFreeze
|
|
31918
|
+
Immer.prototype.setAutoFreeze = function setAutoFreeze(value) {
|
|
31735
31919
|
this.autoFreeze = value;
|
|
31736
31920
|
};
|
|
31737
31921
|
|
|
31738
|
-
Immer.prototype.setUseProxies = function setUseProxies
|
|
31922
|
+
Immer.prototype.setUseProxies = function setUseProxies(value) {
|
|
31739
31923
|
this.useProxies = value;
|
|
31740
31924
|
assign(this, value ? modernProxy : legacyProxy);
|
|
31741
31925
|
};
|
|
31742
31926
|
|
|
31743
|
-
Immer.prototype.applyPatches = function applyPatches$1
|
|
31927
|
+
Immer.prototype.applyPatches = function applyPatches$1(base, patches) {
|
|
31744
31928
|
// If a patch replaces the entire state, take that replacement as base
|
|
31745
31929
|
// before applying patches
|
|
31746
31930
|
var i;
|
|
@@ -31760,12 +31944,14 @@ Immer.prototype.applyPatches = function applyPatches$1 (base, patches) {
|
|
|
31760
31944
|
} // Otherwise, produce a copy of the base state.
|
|
31761
31945
|
|
|
31762
31946
|
|
|
31763
|
-
return this.produce(base, function (draft) {
|
|
31947
|
+
return this.produce(base, function (draft) {
|
|
31948
|
+
return applyPatches(draft, patches.slice(i + 1));
|
|
31949
|
+
});
|
|
31764
31950
|
};
|
|
31765
31951
|
/** @internal */
|
|
31766
31952
|
|
|
31767
31953
|
|
|
31768
|
-
Immer.prototype.processResult = function processResult
|
|
31954
|
+
Immer.prototype.processResult = function processResult(result, scope) {
|
|
31769
31955
|
var baseDraft = scope.drafts[0];
|
|
31770
31956
|
var isReplaced = result !== undefined && result !== baseDraft;
|
|
31771
31957
|
this.willFinalize(scope, result, isReplaced);
|
|
@@ -31813,13 +31999,15 @@ Immer.prototype.processResult = function processResult (result, scope) {
|
|
|
31813
31999
|
*/
|
|
31814
32000
|
|
|
31815
32001
|
|
|
31816
|
-
Immer.prototype.finalize = function finalize
|
|
31817
|
-
|
|
31818
|
-
|
|
32002
|
+
Immer.prototype.finalize = function finalize(draft, path, scope) {
|
|
32003
|
+
var this$1 = this;
|
|
31819
32004
|
var state = draft[DRAFT_STATE];
|
|
31820
32005
|
|
|
31821
32006
|
if (!state) {
|
|
31822
|
-
if (Object.isFrozen(draft)) {
|
|
32007
|
+
if (Object.isFrozen(draft)) {
|
|
32008
|
+
return draft;
|
|
32009
|
+
}
|
|
32010
|
+
|
|
31823
32011
|
return this.finalizeTree(draft, null, scope);
|
|
31824
32012
|
} // Never finalize drafts owned by another scope.
|
|
31825
32013
|
|
|
@@ -31842,13 +32030,17 @@ Immer.prototype.finalize = function finalize (draft, path, scope) {
|
|
|
31842
32030
|
var assigned = state.assigned;
|
|
31843
32031
|
|
|
31844
32032
|
for (var prop in assigned) {
|
|
31845
|
-
if (!assigned[prop]) {
|
|
32033
|
+
if (!assigned[prop]) {
|
|
32034
|
+
this.onDelete(state, prop);
|
|
32035
|
+
}
|
|
31846
32036
|
}
|
|
31847
32037
|
} else {
|
|
31848
32038
|
var base = state.base;
|
|
31849
|
-
|
|
32039
|
+
var copy = state.copy;
|
|
31850
32040
|
each(base, function (prop) {
|
|
31851
|
-
if (!has(copy, prop)) {
|
|
32041
|
+
if (!has(copy, prop)) {
|
|
32042
|
+
this$1.onDelete(state, prop);
|
|
32043
|
+
}
|
|
31852
32044
|
});
|
|
31853
32045
|
}
|
|
31854
32046
|
}
|
|
@@ -31876,9 +32068,8 @@ Immer.prototype.finalize = function finalize (draft, path, scope) {
|
|
|
31876
32068
|
*/
|
|
31877
32069
|
|
|
31878
32070
|
|
|
31879
|
-
Immer.prototype.finalizeTree = function finalizeTree
|
|
31880
|
-
|
|
31881
|
-
|
|
32071
|
+
Immer.prototype.finalizeTree = function finalizeTree(root, rootPath, scope) {
|
|
32072
|
+
var this$1 = this;
|
|
31882
32073
|
var state = root[DRAFT_STATE];
|
|
31883
32074
|
|
|
31884
32075
|
if (state) {
|
|
@@ -31892,7 +32083,7 @@ Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {
|
|
|
31892
32083
|
|
|
31893
32084
|
var needPatches = !!rootPath && !!scope.patches;
|
|
31894
32085
|
|
|
31895
|
-
var finalizeProperty = function (prop, value, parent) {
|
|
32086
|
+
var finalizeProperty = function finalizeProperty(prop, value, parent) {
|
|
31896
32087
|
if (value === parent) {
|
|
31897
32088
|
throw Error("Immer forbids circular references");
|
|
31898
32089
|
} // In the `finalizeTree` method, only the `root` object may be a draft.
|
|
@@ -31919,7 +32110,9 @@ Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {
|
|
|
31919
32110
|
} // Unchanged drafts are never passed to the `onAssign` hook.
|
|
31920
32111
|
|
|
31921
32112
|
|
|
31922
|
-
if (isDraftProp && value === state.base[prop]) {
|
|
32113
|
+
if (isDraftProp && value === state.base[prop]) {
|
|
32114
|
+
return;
|
|
32115
|
+
}
|
|
31923
32116
|
} // Unchanged draft properties are ignored.
|
|
31924
32117
|
else if (isDraftProp && is(value, state.base[prop])) {
|
|
31925
32118
|
return;
|
|
@@ -32004,103 +32197,149 @@ var createDraft = immer.createDraft.bind(immer);
|
|
|
32004
32197
|
|
|
32005
32198
|
var finishDraft = immer.finishDraft.bind(immer);
|
|
32006
32199
|
|
|
32007
|
-
|
|
32008
|
-
|
|
32009
|
-
|
|
32010
|
-
|
|
32200
|
+
var createInitialState = function createInitialState(formConfig) {
|
|
32201
|
+
var initialForm = {};
|
|
32202
|
+
var formConfigKeys = Object.keys(formConfig);
|
|
32203
|
+
|
|
32204
|
+
for (var _i = 0, _formConfigKeys = formConfigKeys; _i < _formConfigKeys.length; _i++) {
|
|
32205
|
+
var formKey = _formConfigKeys[_i];
|
|
32011
32206
|
initialForm[formKey] = {
|
|
32012
32207
|
dirty: false,
|
|
32013
32208
|
rawValue: formConfig[formKey].defaultValue || "",
|
|
32014
32209
|
validators: formConfig[formKey].validators || [],
|
|
32015
32210
|
constraints: formConfig[formKey].constraints || []
|
|
32016
32211
|
};
|
|
32017
|
-
}
|
|
32018
|
-
// Because validators require the entire form we have to do a
|
|
32212
|
+
} // Because validators require the entire form we have to do a
|
|
32019
32213
|
// second pass to add errors once the initial form has been
|
|
32020
32214
|
// constructed
|
|
32021
|
-
|
|
32022
|
-
|
|
32023
|
-
|
|
32024
|
-
|
|
32215
|
+
|
|
32216
|
+
|
|
32217
|
+
for (var _i2 = 0, _formConfigKeys2 = formConfigKeys; _i2 < _formConfigKeys2.length; _i2++) {
|
|
32218
|
+
var _formKey = _formConfigKeys2[_i2];
|
|
32219
|
+
var errors = computeErrors(_formKey, initialForm);
|
|
32220
|
+
initialForm[_formKey].errors = errors;
|
|
32221
|
+
initialForm[_formKey].hasErrors = errors.length > 0;
|
|
32025
32222
|
}
|
|
32223
|
+
|
|
32026
32224
|
return initialForm;
|
|
32027
32225
|
};
|
|
32028
32226
|
|
|
32029
|
-
|
|
32030
|
-
const set$2 = fieldName => value => ({
|
|
32031
|
-
type: SET,
|
|
32032
|
-
payload: { fieldName, value }
|
|
32033
|
-
});
|
|
32227
|
+
var SET = "field/SET";
|
|
32034
32228
|
|
|
32035
|
-
|
|
32036
|
-
|
|
32037
|
-
|
|
32038
|
-
|
|
32039
|
-
|
|
32040
|
-
|
|
32041
|
-
|
|
32042
|
-
|
|
32043
|
-
|
|
32044
|
-
|
|
32045
|
-
|
|
32046
|
-
|
|
32047
|
-
return produce(state, draftState => {
|
|
32048
|
-
let originalValue = draftState[changedFieldName].rawValue;
|
|
32049
|
-
draftState[changedFieldName].rawValue = newRawValue;
|
|
32050
|
-
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
32051
|
-
// If the change violates constraints, revert the change
|
|
32052
|
-
draftState[changedFieldName].rawValue = originalValue;
|
|
32053
|
-
return draftState;
|
|
32054
|
-
}
|
|
32229
|
+
var set$2 = function set$2(fieldName) {
|
|
32230
|
+
return function (value) {
|
|
32231
|
+
return {
|
|
32232
|
+
type: SET,
|
|
32233
|
+
payload: {
|
|
32234
|
+
fieldName: fieldName,
|
|
32235
|
+
value: value
|
|
32236
|
+
}
|
|
32237
|
+
};
|
|
32238
|
+
};
|
|
32239
|
+
};
|
|
32055
32240
|
|
|
32056
|
-
|
|
32057
|
-
|
|
32058
|
-
|
|
32059
|
-
|
|
32060
|
-
|
|
32061
|
-
|
|
32062
|
-
|
|
32063
|
-
|
|
32064
|
-
|
|
32065
|
-
|
|
32066
|
-
|
|
32067
|
-
|
|
32068
|
-
|
|
32069
|
-
|
|
32070
|
-
|
|
32071
|
-
|
|
32241
|
+
var CLEAR = "form/CLEAR";
|
|
32242
|
+
|
|
32243
|
+
var _clear = function clear() {
|
|
32244
|
+
return {
|
|
32245
|
+
type: CLEAR
|
|
32246
|
+
};
|
|
32247
|
+
};
|
|
32248
|
+
|
|
32249
|
+
var createFormReducer = function createFormReducer(formConfig) {
|
|
32250
|
+
return function () {
|
|
32251
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : createInitialState(formConfig);
|
|
32252
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
32253
|
+
|
|
32254
|
+
switch (action.type) {
|
|
32255
|
+
case SET:
|
|
32256
|
+
var changedFieldName = action.payload.fieldName;
|
|
32257
|
+
var newRawValue = action.payload.value;
|
|
32258
|
+
return produce(state, function (draftState) {
|
|
32259
|
+
var originalValue = draftState[changedFieldName].rawValue;
|
|
32260
|
+
draftState[changedFieldName].rawValue = newRawValue;
|
|
32261
|
+
|
|
32262
|
+
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
32263
|
+
// If the change violates constraints, revert the change
|
|
32264
|
+
draftState[changedFieldName].rawValue = originalValue;
|
|
32265
|
+
return draftState;
|
|
32266
|
+
}
|
|
32267
|
+
|
|
32268
|
+
var fields = Object.entries(draftState);
|
|
32269
|
+
|
|
32270
|
+
for (var _i3 = 0, _fields = fields; _i3 < _fields.length; _i3++) {
|
|
32271
|
+
var entry = _fields[_i3];
|
|
32272
|
+
var fieldName = entry[0];
|
|
32273
|
+
var field = entry[1];
|
|
32274
|
+
var errors = computeErrors(fieldName, draftState);
|
|
32275
|
+
var dirty = fieldName === changedFieldName ? true : field.dirty;
|
|
32276
|
+
draftState[fieldName].errors = errors;
|
|
32277
|
+
draftState[fieldName].dirty = dirty;
|
|
32278
|
+
draftState[fieldName].hasErrors = errors.length > 0;
|
|
32279
|
+
}
|
|
32280
|
+
});
|
|
32281
|
+
|
|
32282
|
+
case CLEAR:
|
|
32283
|
+
return createInitialState(formConfig);
|
|
32284
|
+
|
|
32285
|
+
default:
|
|
32286
|
+
return state;
|
|
32287
|
+
}
|
|
32288
|
+
};
|
|
32072
32289
|
};
|
|
32073
32290
|
|
|
32074
|
-
|
|
32291
|
+
var createMapDispatchToProps = function createMapDispatchToProps(formConfig) {
|
|
32075
32292
|
// Do memo-ization
|
|
32076
|
-
|
|
32077
|
-
|
|
32078
|
-
return dispatch
|
|
32293
|
+
var cachedDispatch;
|
|
32294
|
+
var cacheValue;
|
|
32295
|
+
return function (dispatch) {
|
|
32079
32296
|
if (dispatch == cachedDispatch) {
|
|
32080
32297
|
return cacheValue;
|
|
32081
32298
|
}
|
|
32082
|
-
|
|
32299
|
+
|
|
32300
|
+
var dispatchObj = {};
|
|
32083
32301
|
dispatchObj.fields = {};
|
|
32084
|
-
|
|
32085
|
-
|
|
32302
|
+
var keys = Object.keys(formConfig);
|
|
32303
|
+
|
|
32304
|
+
var _loop = function _loop() {
|
|
32305
|
+
var fieldName = _keys[_i4];
|
|
32086
32306
|
dispatchObj.fields[fieldName] = {
|
|
32087
|
-
set:
|
|
32307
|
+
set: function set(value) {
|
|
32308
|
+
return dispatch(set$2(fieldName)(value));
|
|
32309
|
+
}
|
|
32088
32310
|
};
|
|
32311
|
+
};
|
|
32312
|
+
|
|
32313
|
+
for (var _i4 = 0, _keys = keys; _i4 < _keys.length; _i4++) {
|
|
32314
|
+
_loop();
|
|
32089
32315
|
}
|
|
32090
|
-
|
|
32316
|
+
|
|
32317
|
+
dispatchObj.form = {
|
|
32318
|
+
clear: function clear() {
|
|
32319
|
+
return dispatch(_clear());
|
|
32320
|
+
}
|
|
32321
|
+
};
|
|
32091
32322
|
cachedDispatch = dispatch;
|
|
32092
|
-
cacheValue = {
|
|
32323
|
+
cacheValue = {
|
|
32324
|
+
actions: dispatchObj
|
|
32325
|
+
};
|
|
32093
32326
|
return cacheValue;
|
|
32094
32327
|
};
|
|
32095
32328
|
};
|
|
32096
32329
|
|
|
32097
|
-
|
|
32330
|
+
var mapStateToProps = function mapStateToProps(state) {
|
|
32331
|
+
return {
|
|
32332
|
+
fields: state
|
|
32333
|
+
};
|
|
32334
|
+
};
|
|
32098
32335
|
|
|
32099
|
-
|
|
32100
|
-
|
|
32101
|
-
|
|
32102
|
-
|
|
32103
|
-
|
|
32336
|
+
var createFormState = function createFormState(formConfig) {
|
|
32337
|
+
return {
|
|
32338
|
+
reducer: createFormReducer(formConfig),
|
|
32339
|
+
mapDispatchToProps: createMapDispatchToProps(formConfig),
|
|
32340
|
+
mapStateToProps: mapStateToProps
|
|
32341
|
+
};
|
|
32342
|
+
};
|
|
32104
32343
|
|
|
32105
32344
|
var formatDelimiter = "_";
|
|
32106
32345
|
var phoneFormats = ["", "_", "__", "(___) ", "(___) _", "(___) __", "(___) ___-", "(___) ___-_", "(___) ___-__", "(___) ___-___", "(___) ___-____"];
|
|
@@ -36411,7 +36650,7 @@ var PaymentButtonBar = function PaymentButtonBar(_ref) {
|
|
|
36411
36650
|
var _useContext = React.useContext(styled.ThemeContext),
|
|
36412
36651
|
isMobile = _useContext.isMobile;
|
|
36413
36652
|
|
|
36414
|
-
var backButton = !!cancelURL ? /*#__PURE__*/React__default.createElement(ButtonWithLink, {
|
|
36653
|
+
var backButton = !!cancelURL && !!cancelText ? /*#__PURE__*/React__default.createElement(ButtonWithLink, {
|
|
36415
36654
|
text: cancelText,
|
|
36416
36655
|
url: cancelURL,
|
|
36417
36656
|
variant: "secondary",
|