vest 4.3.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/enforce/compose.development.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +17 -2
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +1 -1
- package/dist/cjs/vest.development.js +107 -119
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -1
- package/dist/es/enforce/compounds.development.js +17 -2
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -1
- package/dist/es/vest.development.js +107 -119
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +6 -6
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +5 -5
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +6 -6
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/vest.development.js +71 -98
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -3
- package/types/enforce/compose.d.ts +20 -20
- package/types/enforce/compounds.d.ts +22 -22
- package/types/enforce/schema.d.ts +24 -24
- package/types/promisify.d.ts +7 -6
- package/types/vest.d.ts +50 -48
|
@@ -35,12 +35,27 @@ function asArray(possibleArg) {
|
|
|
35
35
|
return [].concat(possibleArg);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
function isNumeric(value) {
|
|
39
|
+
var str = String(value);
|
|
40
|
+
var num = Number(value);
|
|
41
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
42
|
+
return Boolean(result);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function numberEquals(value, eq) {
|
|
46
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
47
|
+
}
|
|
48
|
+
|
|
38
49
|
function lengthEquals(value, arg1) {
|
|
39
|
-
return value.length
|
|
50
|
+
return numberEquals(value.length, arg1);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function greaterThan(value, gt) {
|
|
54
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
40
55
|
}
|
|
41
56
|
|
|
42
57
|
function longerThan(value, arg1) {
|
|
43
|
-
return value.length
|
|
58
|
+
return greaterThan(value.length, arg1);
|
|
44
59
|
}
|
|
45
60
|
|
|
46
61
|
/**
|
|
@@ -713,8 +728,14 @@ function has(severityKey, fieldName) {
|
|
|
713
728
|
});
|
|
714
729
|
}
|
|
715
730
|
|
|
716
|
-
// eslint-disable-next-line max-statements, complexity
|
|
717
731
|
function isValid(fieldName) {
|
|
732
|
+
var _a, _b;
|
|
733
|
+
var summary = context.useX().summary;
|
|
734
|
+
invariant(summary);
|
|
735
|
+
return Boolean(fieldName ? (_b = (_a = summary.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b.valid : summary.valid);
|
|
736
|
+
}
|
|
737
|
+
// eslint-disable-next-line max-statements, complexity
|
|
738
|
+
function shouldAddValidProp(fieldName) {
|
|
718
739
|
if (fieldIsOmitted(fieldName)) {
|
|
719
740
|
return true;
|
|
720
741
|
}
|
|
@@ -782,7 +803,7 @@ function genTestsSummary() {
|
|
|
782
803
|
appendToGroup(summary.groups, testObject);
|
|
783
804
|
return summary;
|
|
784
805
|
}, summary);
|
|
785
|
-
summary.valid =
|
|
806
|
+
summary.valid = shouldAddValidProp();
|
|
786
807
|
return countFailures(summary);
|
|
787
808
|
}
|
|
788
809
|
function appendToTest(tests, testObject) {
|
|
@@ -791,7 +812,7 @@ function appendToTest(tests, testObject) {
|
|
|
791
812
|
tests[testObject.fieldName].valid =
|
|
792
813
|
tests[testObject.fieldName].valid === false
|
|
793
814
|
? false
|
|
794
|
-
:
|
|
815
|
+
: shouldAddValidProp(testObject.fieldName);
|
|
795
816
|
}
|
|
796
817
|
/**
|
|
797
818
|
* Appends to a group object if within a group
|
|
@@ -854,78 +875,23 @@ function baseStats() {
|
|
|
854
875
|
};
|
|
855
876
|
}
|
|
856
877
|
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
864
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
865
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
866
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
867
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
868
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
869
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
870
|
-
***************************************************************************** */
|
|
871
|
-
|
|
872
|
-
var __assign = function() {
|
|
873
|
-
__assign = Object.assign || function __assign(t) {
|
|
874
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
875
|
-
s = arguments[i];
|
|
876
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
877
|
-
}
|
|
878
|
-
return t;
|
|
879
|
-
};
|
|
880
|
-
return __assign.apply(this, arguments);
|
|
881
|
-
};
|
|
882
|
-
|
|
883
|
-
function __spreadArray(to, from, pack) {
|
|
884
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
885
|
-
if (ar || !(i in from)) {
|
|
886
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
887
|
-
ar[i] = from[i];
|
|
888
|
-
}
|
|
889
|
-
}
|
|
890
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
878
|
+
// calls collectAll or getByFieldName depending on whether fieldName is provided
|
|
879
|
+
function gatherFailures(testGroup, severityKey, fieldName) {
|
|
880
|
+
return fieldName
|
|
881
|
+
? getByFieldName(testGroup, severityKey, fieldName)
|
|
882
|
+
: collectAll(testGroup, severityKey);
|
|
891
883
|
}
|
|
892
|
-
|
|
893
|
-
function collectFailureMessages(severity, testObjects, options) {
|
|
884
|
+
function getByFieldName(testGroup, severityKey, fieldName) {
|
|
894
885
|
var _a;
|
|
895
|
-
|
|
896
|
-
var _b = options || {}, group = _b.group, fieldName = _b.fieldName;
|
|
897
|
-
return testObjects.reduce(function (collector, testObject) {
|
|
898
|
-
if (noMatch(testObject, severity, group, fieldName)) {
|
|
899
|
-
return collector;
|
|
900
|
-
}
|
|
901
|
-
if (!testObject.hasFailures()) {
|
|
902
|
-
return collector;
|
|
903
|
-
}
|
|
904
|
-
collector[testObject.fieldName] = (collector[testObject.fieldName] || []).concat(testObject.message || []);
|
|
905
|
-
return collector;
|
|
906
|
-
}, __assign({}, (fieldName && (_a = {}, _a[fieldName] = [], _a))));
|
|
907
|
-
}
|
|
908
|
-
function noGroupMatch(testObject, groupName) {
|
|
909
|
-
return !!(groupName && testObject.groupName !== groupName);
|
|
910
|
-
}
|
|
911
|
-
function noMatch(testObject, severity, group, fieldName) {
|
|
912
|
-
if (noGroupMatch(testObject, group)) {
|
|
913
|
-
return true;
|
|
914
|
-
}
|
|
915
|
-
if (nonMatchingFieldName(testObject, fieldName)) {
|
|
916
|
-
return true;
|
|
917
|
-
}
|
|
918
|
-
if (nonMatchingSeverityProfile(severity, testObject)) {
|
|
919
|
-
return true;
|
|
920
|
-
}
|
|
921
|
-
return false;
|
|
886
|
+
return ((_a = testGroup === null || testGroup === void 0 ? void 0 : testGroup[fieldName]) === null || _a === void 0 ? void 0 : _a[severityKey]) || [];
|
|
922
887
|
}
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
888
|
+
function collectAll(testGroup, severityKey) {
|
|
889
|
+
var _a;
|
|
890
|
+
var output = {};
|
|
891
|
+
for (var field in testGroup) {
|
|
892
|
+
output[field] = ((_a = testGroup[field]) === null || _a === void 0 ? void 0 : _a[severityKey]) || [];
|
|
927
893
|
}
|
|
928
|
-
return
|
|
894
|
+
return output;
|
|
929
895
|
}
|
|
930
896
|
|
|
931
897
|
function getErrors(fieldName) {
|
|
@@ -938,31 +904,21 @@ function getWarnings(fieldName) {
|
|
|
938
904
|
* @returns suite or field's errors or warnings.
|
|
939
905
|
*/
|
|
940
906
|
function getFailures(severityKey, fieldName) {
|
|
941
|
-
var
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
});
|
|
945
|
-
return getFailuresArrayOrObject(failureMessages, fieldName);
|
|
907
|
+
var summary = context.useX().summary;
|
|
908
|
+
invariant(summary);
|
|
909
|
+
return gatherFailures(summary.tests, severityKey, fieldName);
|
|
946
910
|
}
|
|
947
911
|
|
|
948
912
|
function getErrorsByGroup(groupName, fieldName) {
|
|
949
|
-
|
|
950
|
-
return getFailuresArrayOrObject(errors, fieldName);
|
|
913
|
+
return getFailuresByGroup(groupName, Severity.ERRORS, fieldName);
|
|
951
914
|
}
|
|
952
915
|
function getWarningsByGroup(groupName, fieldName) {
|
|
953
|
-
|
|
954
|
-
return getFailuresArrayOrObject(warnings, fieldName);
|
|
916
|
+
return getFailuresByGroup(groupName, Severity.WARNINGS, fieldName);
|
|
955
917
|
}
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
invariant(group, "get".concat(severityKey[0].toUpperCase()).concat(severityKey.slice(1), "ByGroup requires a group name. Received `").concat(group, "` instead."));
|
|
961
|
-
var testObjects = useTestsFlat();
|
|
962
|
-
return collectFailureMessages(severityKey, testObjects, {
|
|
963
|
-
group: group,
|
|
964
|
-
fieldName: fieldName
|
|
965
|
-
});
|
|
918
|
+
function getFailuresByGroup(groupName, severityKey, fieldName) {
|
|
919
|
+
var summary = context.useX().summary;
|
|
920
|
+
invariant(summary);
|
|
921
|
+
return gatherFailures(summary.groups[groupName], severityKey, fieldName);
|
|
966
922
|
}
|
|
967
923
|
|
|
968
924
|
function hasErrorsByGroup(groupName, fieldName) {
|
|
@@ -983,22 +939,24 @@ function hasByGroup(severityKey, group, fieldName) {
|
|
|
983
939
|
});
|
|
984
940
|
}
|
|
985
941
|
|
|
986
|
-
var cache$1 = createCache(
|
|
942
|
+
var cache$1 = createCache(1);
|
|
987
943
|
function produceSuiteResult() {
|
|
988
944
|
var testObjects = useTestsFlat();
|
|
989
945
|
var ctxRef = { stateRef: useStateRef() };
|
|
990
946
|
return cache$1([testObjects], context.bind(ctxRef, function () {
|
|
947
|
+
var summary = genTestsSummary();
|
|
991
948
|
var suiteName = useSuiteName();
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
949
|
+
var ref = assign({ summary: summary }, ctxRef);
|
|
950
|
+
return assign(summary, {
|
|
951
|
+
getErrors: context.bind(ref, getErrors),
|
|
952
|
+
getErrorsByGroup: context.bind(ref, getErrorsByGroup),
|
|
953
|
+
getWarnings: context.bind(ref, getWarnings),
|
|
954
|
+
getWarningsByGroup: context.bind(ref, getWarningsByGroup),
|
|
955
|
+
hasErrors: context.bind(ref, hasErrors),
|
|
956
|
+
hasErrorsByGroup: context.bind(ref, hasErrorsByGroup),
|
|
957
|
+
hasWarnings: context.bind(ref, hasWarnings),
|
|
958
|
+
hasWarningsByGroup: context.bind(ref, hasWarningsByGroup),
|
|
959
|
+
isValid: context.bind(ref, isValid),
|
|
1002
960
|
suiteName: suiteName
|
|
1003
961
|
});
|
|
1004
962
|
}));
|
|
@@ -1067,14 +1025,13 @@ var done = function done() {
|
|
|
1067
1025
|
return output;
|
|
1068
1026
|
};
|
|
1069
1027
|
function deferDoneCallback(doneCallback, fieldName) {
|
|
1070
|
-
var deferredCallback = context.bind({}, doneCallback);
|
|
1071
1028
|
var _a = useTestCallbacks(), setTestCallbacks = _a[1];
|
|
1072
1029
|
setTestCallbacks(function (current) {
|
|
1073
1030
|
if (fieldName) {
|
|
1074
|
-
current.fieldCallbacks[fieldName] = (current.fieldCallbacks[fieldName] || []).concat(
|
|
1031
|
+
current.fieldCallbacks[fieldName] = (current.fieldCallbacks[fieldName] || []).concat(doneCallback);
|
|
1075
1032
|
}
|
|
1076
1033
|
else {
|
|
1077
|
-
current.doneCallbacks.push(
|
|
1034
|
+
current.doneCallbacks.push(doneCallback);
|
|
1078
1035
|
}
|
|
1079
1036
|
return current;
|
|
1080
1037
|
});
|
|
@@ -1084,19 +1041,22 @@ function createBus() {
|
|
|
1084
1041
|
var listeners = {};
|
|
1085
1042
|
return {
|
|
1086
1043
|
emit: function (event, data) {
|
|
1087
|
-
(
|
|
1044
|
+
listener(event).forEach(function (handler) {
|
|
1088
1045
|
handler(data);
|
|
1089
1046
|
});
|
|
1090
1047
|
},
|
|
1091
1048
|
on: function (event, handler) {
|
|
1092
|
-
listeners[event] = (
|
|
1049
|
+
listeners[event] = listener(event).concat(handler);
|
|
1093
1050
|
return {
|
|
1094
1051
|
off: function () {
|
|
1095
|
-
listeners[event] =
|
|
1052
|
+
listeners[event] = listener(event).filter(function (h) { return h !== handler; });
|
|
1096
1053
|
}
|
|
1097
1054
|
};
|
|
1098
1055
|
}
|
|
1099
1056
|
};
|
|
1057
|
+
function listener(event) {
|
|
1058
|
+
return listeners[event] || [];
|
|
1059
|
+
}
|
|
1100
1060
|
}
|
|
1101
1061
|
|
|
1102
1062
|
function omitOptionalTests() {
|
|
@@ -1108,24 +1068,27 @@ function omitOptionalTests() {
|
|
|
1108
1068
|
useSetTests(function (tests) {
|
|
1109
1069
|
return transform(tests, function (testObject) {
|
|
1110
1070
|
var fieldName = testObject.fieldName;
|
|
1111
|
-
if (
|
|
1112
|
-
|
|
1071
|
+
if (hasOwnProperty(shouldOmit, fieldName)) {
|
|
1072
|
+
verifyAndOmit(testObject);
|
|
1113
1073
|
}
|
|
1114
1074
|
else {
|
|
1115
|
-
|
|
1116
|
-
if (isFunction(optionalConfig)) {
|
|
1117
|
-
shouldOmit[fieldName] = optionalConfig();
|
|
1118
|
-
omit(testObject);
|
|
1119
|
-
}
|
|
1075
|
+
runOptionalConfig(testObject);
|
|
1120
1076
|
}
|
|
1121
1077
|
return testObject;
|
|
1122
1078
|
});
|
|
1123
1079
|
});
|
|
1124
|
-
function
|
|
1080
|
+
function verifyAndOmit(testObject) {
|
|
1125
1081
|
if (shouldOmit[testObject.fieldName]) {
|
|
1126
1082
|
testObject.omit();
|
|
1127
1083
|
}
|
|
1128
1084
|
}
|
|
1085
|
+
function runOptionalConfig(testObject) {
|
|
1086
|
+
var optionalConfig = optionalFields[testObject.fieldName];
|
|
1087
|
+
if (isFunction(optionalConfig)) {
|
|
1088
|
+
shouldOmit[testObject.fieldName] = optionalConfig();
|
|
1089
|
+
verifyAndOmit(testObject);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1129
1092
|
}
|
|
1130
1093
|
|
|
1131
1094
|
/**
|
|
@@ -1602,6 +1565,31 @@ function optional(optionals) {
|
|
|
1602
1565
|
});
|
|
1603
1566
|
}
|
|
1604
1567
|
|
|
1568
|
+
/*! *****************************************************************************
|
|
1569
|
+
Copyright (c) Microsoft Corporation.
|
|
1570
|
+
|
|
1571
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
1572
|
+
purpose with or without fee is hereby granted.
|
|
1573
|
+
|
|
1574
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
1575
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
1576
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
1577
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
1578
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
1579
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
1580
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
1581
|
+
***************************************************************************** */
|
|
1582
|
+
|
|
1583
|
+
function __spreadArray(to, from, pack) {
|
|
1584
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
1585
|
+
if (ar || !(i in from)) {
|
|
1586
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
1587
|
+
ar[i] = from[i];
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1590
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1605
1593
|
function isPromise(value) {
|
|
1606
1594
|
return value && isFunction(value.then);
|
|
1607
1595
|
}
|
|
@@ -1820,7 +1808,7 @@ function registerTestObjectByTier(testObject) {
|
|
|
1820
1808
|
/* eslint-disable jest/valid-title */
|
|
1821
1809
|
// eslint-disable-next-line max-lines-per-function
|
|
1822
1810
|
function bindTestMemo(test) {
|
|
1823
|
-
var cache = createCache(
|
|
1811
|
+
var cache = createCache(10); // arbitrary cache size
|
|
1824
1812
|
// eslint-disable-next-line max-statements
|
|
1825
1813
|
function memo(fieldName) {
|
|
1826
1814
|
var args = [];
|
|
@@ -1889,6 +1877,6 @@ function warn() {
|
|
|
1889
1877
|
ctx.currentTest.warn();
|
|
1890
1878
|
}
|
|
1891
1879
|
|
|
1892
|
-
var VERSION = "4.3.
|
|
1880
|
+
var VERSION = "4.3.1";
|
|
1893
1881
|
|
|
1894
1882
|
export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,N=g||(g={});N[N.DEFAULT=0]="DEFAULT",N[N.SUITE=1]="SUITE",N[N.EACH=2]="EACH",N[N.SKIP_WHEN=3]="SKIP_WHEN",N[N.OMIT_WHEN=4]="OMIT_WHEN",N[N.GROUP=5]="GROUP";var m,E=m||(m={});E[E.ALL=0]="ALL",E[E.EAGER=1]="EAGER";var y=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return y.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function O(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var I,_=I||(I={});_.Error="error",_.Warning="warning";var k=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=I.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==X||(this.status=t)},t.prototype.warns=function(){return this.severity===I.Warning},t.prototype.setPending=function(){this.setStatus(W)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},t.prototype.warn=function(){this.severity=I.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(X)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(W)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(X)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(U)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",U="PASSING",W="PENDING",w="CANCELED",X="OMITTED";function D(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?a(n):n)}function x(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function H(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function K(t){return null==t}function j(t){setTimeout((function(){throw Error(t)}),0)}function M(){return y.useX().testCursor.getCursor()}function q(){return y.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return y.run({isolate:{type:t,keys:e}},(function(){y.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof k&&!K(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return y.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});Y.WARNINGS="warnings",Y.ERRORS="errors";var J,z=J||(J={});function Q(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}z.ERROR_COUNT="errorCount",z.WARN_COUNT="warnCount";var Z=u(Q);function $(t,n){return!(!n||t.fieldName!==n)}function tt(t,n,e){return(e=!t.hasFailures()||e&&!$(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function nt(t){return rt(V.ERRORS,t)}function et(t){return rt(V.WARNINGS,t)}function rt(t,n){return O().some((function(e){return tt(e,t,n)}))}function ut(t){var n=O().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(n=!!t&&!!n[t])||!nt(t)&&(!(Q(n=O())||function(t){var n=O();return!!t&&!n.find((function(n){return n.fieldName===t}))}(t)||function(t){var n=b().optionalFields()[0];return Z(T().filter((function(e){return!(t&&!$(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=O(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||$(n,t))||(!0===e[n.fieldName]||n.isTested()||n.isOmitted())}))}(t))}function it(t,n){function e(t){i[t===V.ERRORS?J.ERROR_COUNT:J.WARN_COUNT]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function ot(){return(ot=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function st(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function at(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!$(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),ot({},i&&((r={})[i]=[],r)))}function ct(t){return lt(V.ERRORS,t)}function ft(t){return lt(V.WARNINGS,t)}function lt(t,n){return t=at(t,O(),{fieldName:n}),n?t[n]:t}function pt(t,n){return t=vt(V.ERRORS,t,n),n?t[n]:t}function dt(t,n){return t=vt(V.WARNINGS,t,n),n?t[n]:t}function vt(t,n,e){return D(n,"get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),at(t,O(),{group:n,fieldName:e})}function ht(t,n){return Nt(V.ERRORS,t,n)}function gt(t,n){return Nt(V.WARNINGS,t,n)}function Nt(t,n,e){return O().some((function(r){return n===r.groupName&&tt(r,t,e)}))}var mt=i(20);function Et(){var t=O(),n={stateRef:b()};return mt([t],y.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=O(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=it(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&ut(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=it(e[r],n)),t}),n),n.valid=ut(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}(),{getErrors:y.bind(n,ct),getErrorsByGroup:y.bind(n,pt),getWarnings:y.bind(n,ft),getWarningsByGroup:y.bind(n,dt),hasErrors:y.bind(n,nt),hasErrorsByGroup:y.bind(n,ht),hasWarnings:y.bind(n,et),hasWarningsByGroup:y.bind(n,gt),isValid:y.bind(n,ut),suiteName:t})})))}function yt(t){var n=T();return!Q(n)&&(t?n.some((function(n){return $(n,t)})):Z(n))}var bt=i(20);function St(){var t=O(),n={stateRef:b()};return bt([t],y.bind(n,(function(){return v({},Et(),{done:y.bind(n,Tt)})})))}function Ct(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!Q(e.tests[n].testCount)))}function Rt(t){return!(yt()&&(!t||yt(t)))}function Tt(){function t(){return r(Et())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=St(),Ct(r,n,e)?e:Rt(n)?(t(),e):(At(t,n),e)}function At(t,n){var e=y.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Ot(t){return t.forEach((function(t){return t()}))}function It(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(kt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!yt(n)&&Array.isArray(e[n])&&Ot(e[n]),yt()||t.emit(kt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(kt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!Q(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(kt.ALL_RUNNING_TESTS_FINISHED,(function(){Ot(b().testCallbacks()[0].doneCallbacks)})),t.on(kt.REMOVE_FIELD,(function(t){O().forEach((function(n){$(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(kt.RESET_FIELD,(function(t){O().forEach((function(n){$(n,t)&&n.reset()}))})),t}function _t(){var t=y.useX();return D(t.bus),t.bus}var kt,Lt=kt||(kt={});function Ft(t){return Pt(0,"tests",t)}function Gt(t){return Pt(1,"tests",t)}function Pt(t,n,e){var u=y.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ut(t){for(var n in t)if(!0===t[n])return!0;return!1}function Wt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=_t().emit,i=b(),o=y.bind({stateRef:i},(function(){C(),u(kt.TEST_COMPLETED,t)}));i=y.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=S()[0].prev;if(Q(n))return Dt(t),t;var e=M();if(n=d(n,e)[f(e)],!K(t.key)){n=t.key,(e=y.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=y.useX().isolate.keys.current;return K(r[n])?r[n]=e:j('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Dt(t),t}return!Z(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(y.useX().isolate.type===g.EACH||j("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=y.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Dt(t=c(n,t)),t}function Dt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function xt(t){var n=m.EAGER;if(n=!(y.useX().mode[0]!==n||!nt(t.fieldName)))return t.skip(),Xt(t),q(),t;if(n=Xt(t),y.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,y.useX().skipped)return!0;var e=y.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=y.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ut(u)&&!1!==u[n])}r=y.useX().exclusion;t:{for(c in(s=y.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ut(u)&&!a(e[n])}(t))return n.skip(!!y.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Dt(t),q(),t.isUntested()){n=_t();var e=function(t){return y.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),wt(t)):n.emit(kt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),wt(t));return t}function Ht(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=s(n[1])?n:st([void 0],n,!0);n=u[0],e=u[1],u=u[2],D(r(t),jt("fieldName","string")),D(s(e),jt("Test callback","function"));var i=y.useX();return xt(n=new k(t,e,{message:n,groupName:i.groupName,key:u}))}Lt.TEST_COMPLETED="test_completed",Lt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Lt.REMOVE_FIELD="remove_field",Lt.RESET_FIELD="reset_field",Lt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ft.group=function(t){return Pt(0,"groups",t)},Gt.group=function(t){return Pt(1,"groups",t)};var Kt=v(Ht,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=y.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):xt(r[1])}}(Ht)});function jt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var Mt="4.3.0";function qt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],D(s(r),"vest.create: Expected callback to be a function.");var u=It(),i=x();return t={stateRef:H(i,{suiteId:e(),suiteName:t}),bus:u},v(y.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(kt.SUITE_CALLBACK_DONE_RUNNING),St()})),{get:y.bind(t,Et),remove:y.bind(t,(function(t){u.emit(kt.REMOVE_FIELD,t)})),reset:i.reset,resetField:y.bind(t,(function(t){u.emit(kt.RESET_FIELD,t)}))})}function Bt(t,n){D(s(n),"each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Vt(){var t=m.EAGER;y.useX().mode[0]=t}function Yt(t,n){D(r(t),Wt("name must be a string")),D(s(n),Wt("callback must be a function")),B({type:g.GROUP},(function(){y.run({groupName:t},n)}))}function Jt(t){function n(n){var e=y.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(Et))}}var e=y.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function zt(t,n){B({type:g.OMIT_WHEN},(function(){y.run({omitted:!!y.useX().omitted||a(t,a(Et))},(function(){return n()}))}))}function Qt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Zt(t,n){B({type:g.SKIP_WHEN},(function(){y.run({skipped:!!y.useX().skipped||a(t,a(Et))},(function(){return n()}))}))}function $t(){var t=y.useX("warn hook called outside of a running suite.");D(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Mt as VERSION,y as context,qt as create,Bt as each,Vt as eager,Yt as group,Jt as include,zt as omitWhen,Ft as only,Qt as optional,Gt as skip,Zt as skipWhen,Kt as test,$t as warn};
|
|
1
|
+
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function o(t,n){return i(t)&&i(n)&&Number(t)===Number(n)}function s(t){function n(e,u){var o=n.get(e);return o?o[1]:(u=u(),r.unshift([e.concat(),u]),e=r.length,o=t,i(e)&&i(o)&&Number(e)>Number(o)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return o(t.length,e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var a=u((function(t){return null===t}));function c(t){return"function"==typeof t}function f(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return c(t)?t.apply(void 0,n):t}function l(t,n){var e;return null!==(e=f(t))&&void 0!==e?e:n}function p(t){return(t=[].concat(t))[t.length-1]}function d(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(d(u,n)):(u=n(u),a(u)&&e.push(u))}return e}function v(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(v(n)):[].concat(t).concat(n)}),[])}function h(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=l(t[r],[]),t=t[r]}return t}var g=Object.assign;function m(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return p(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,p(n)},removeLevel:function(){n.pop()},reset:t}}var N,E=N||(N={});E[E.DEFAULT=0]="DEFAULT",E[E.SUITE=1]="SUITE",E[E.EACH=2]="EACH",E[E.SKIP_WHEN=3]="SKIP_WHEN",E[E.OMIT_WHEN=4]="OMIT_WHEN",E[E.GROUP=5]="GROUP";var y,b=y||(y={});b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var S=t((function(t,n){return n?null:g({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:N.DEFAULT,keys:{current:{},prev:{}}},mode:[y.ALL],testCursor:m()},t)}));function C(){return S.useX().stateRef}function R(){return C().testObjects()}function T(){(0,R()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function A(t){(0,R()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function I(){return v(d(R()[0].current,(function(t){return t.isPending()?t:null})))}var O=s();function _(){var t=R()[0].current;return O([t],(function(){return v(t)}))}var k,L=k||(k={});L.Error="error",L.Warning="warning";var F=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=k.Error,this.status=X,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==x||(this.status=t)},t.prototype.warns=function(){return this.severity===k.Warning},t.prototype.setPending=function(){this.setStatus(w)},t.prototype.fail=function(){this.setStatus(this.warns()?U:P)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=k.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(G)},t.prototype.cancel=function(){this.setStatus(D),T()},t.prototype.reset=function(){this.status=X,T()},t.prototype.omit=function(){this.setStatus(x)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(w)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(x)},t.prototype.isUntested=function(){return this.statusEquals(X)},t.prototype.isFailing=function(){return this.statusEquals(P)},t.prototype.isCanceled=function(){return this.statusEquals(D)},t.prototype.isSkipped=function(){return this.statusEquals(G)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(U)},t.prototype.statusEquals=function(t){return this.status===t},t}(),X="UNTESTED",G="SKIPPED",P="FAILED",U="WARNING",W="PASSING",w="PENDING",D="CANCELED",x="OMITTED";function H(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?f(n):n)}function K(t){function n(t,n,u){return r.references.push(),e(t,f(n,u)),function(){return[r.references[t],function(n){return e(t,f(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,c(n=u[n][1])&&n(e,i),c(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function M(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function j(t){return null==t}function q(t){setTimeout((function(){throw Error(t)}),0)}function B(){return S.useX().testCursor.getCursor()}function V(){return S.useX().testCursor.next()}function Y(t,n){if(t=void 0===(t=t.type)?N.DEFAULT:t,c(n)){var e={current:{},prev:{}},r=B();return S.run({isolate:{type:t,keys:e}},(function(){S.useX().testCursor.addLevel(),e.prev=function(){var t=R()[0].prev;return[].concat(h(t,B())).reduce((function(t,n){return n instanceof F&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),A((function(t){return h(t,r)[p(r)]=[],t}));var t=n();return S.useX().testCursor.removeLevel(),V(),t}))}}var J,z=J||(J={});z.WARNINGS="warnings",z.ERRORS="errors";var Q,Z=Q||(Q={});function $(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return o(t.length,0);if("object"==typeof t)return o((t=Object.keys(t)).length,0)}return!0}Z.ERROR_COUNT="errorCount",Z.WARN_COUNT="warnCount";var tt=u($);function nt(t,n){return!(!n||t.fieldName!==n)}function et(t,n,e){return(e=!t.hasFailures()||e&&!nt(t,e))||(t=t.warns(),e=n===J.WARNINGS!=!!t),!e}function rt(t){return it(J.ERRORS,t)}function ut(t){return it(J.WARNINGS,t)}function it(t,n){return _().some((function(e){return et(e,t,n)}))}function ot(t){var n,e,r=S.useX().summary;return H(r),!!(t?null!==(e=null===(n=r.tests)||void 0===n?void 0:n[t])&&void 0!==e&&e.valid:r.valid)}function st(t){var n=_().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(n=!!t&&!!n[t])||!rt(t)&&(!($(n=_())||function(t){var n=_();return!!t&&!n.find((function(n){return n.fieldName===t}))}(t)||function(t){var n=C().optionalFields()[0];return tt(I().filter((function(e){return!(t&&!nt(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=_(),e=C().optionalFields()[0];return n.every((function(n){return!(!t||nt(n,t))||(!0===e[n.fieldName]||n.isTested()||n.isOmitted())}))}(t))}function at(t,n){function e(t){i[t===J.ERRORS?Q.ERROR_COUNT:Q.WARN_COUNT]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(J.ERRORS):n.isWarning()&&e(J.WARNINGS)),i}function ct(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function ft(t,n){var e,r,u={};for(r in t)u[r]=(null===(e=t[r])||void 0===e?void 0:e[n])||[];return u}function lt(t){return dt(J.ERRORS,t)}function pt(t){return dt(J.WARNINGS,t)}function dt(t,n){var e=S.useX().summary;return H(e),e=e.tests,n?ct(e,t,n):ft(e,t)}function vt(t,n){return gt(t,J.ERRORS,n)}function ht(t,n){return gt(t,J.WARNINGS,n)}function gt(t,n,e){var r=S.useX().summary;return H(r),t=r.groups[t],e?ct(t,n,e):ft(t,n)}function mt(t,n){return Et(J.ERRORS,t,n)}function Nt(t,n){return Et(J.WARNINGS,t,n)}function Et(t,n,e){return _().some((function(r){return n===r.groupName&&et(r,t,e)}))}var yt=s(1);function bt(){var t=_(),n={stateRef:C()};return yt([t],S.bind(n,(function(){var t=function(){var t=_(),n=g({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=at(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&st(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=at(e[r],n)),t}),n),n.valid=st(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}(),e=C().suiteName()[0],r=g({summary:t},n);return g(t,{getErrors:S.bind(r,lt),getErrorsByGroup:S.bind(r,vt),getWarnings:S.bind(r,pt),getWarningsByGroup:S.bind(r,ht),hasErrors:S.bind(r,rt),hasErrorsByGroup:S.bind(r,mt),hasWarnings:S.bind(r,ut),hasWarningsByGroup:S.bind(r,Nt),isValid:S.bind(r,ot),suiteName:e})})))}function St(t){var n=I();return!$(n)&&(t?n.some((function(n){return nt(n,t)})):tt(n))}var Ct=s(20);function Rt(){var t=_(),n={stateRef:C()};return Ct([t],S.bind(n,(function(){return g({},bt(),{done:S.bind(n,It)})})))}function Tt(t,n,e){return!(c(t)&&(!n||e.tests[n]&&!$(e.tests[n].testCount)))}function At(t){return!(St()&&(!t||St(t)))}function It(){function t(){return r(bt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=Rt(),Tt(r,n,e)?e:At(n)?(t(),e):(Ot(t,n),e)}function Ot(t,n){(0,C().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function _t(t){return t.forEach((function(t){return t()}))}function kt(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=(t[n]||[]).filter((function(t){return t!==e}))}}}}}();return t.on(Ft.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=C().testCallbacks()[0].fieldCallbacks;n&&!St(n)&&Array.isArray(e[n])&&_t(e[n]),St()||t.emit(Ft.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Ft.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=C().optionalFields()[0];if(!$(t)){var n={};A((function(e){return d(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))n[e.fieldName]&&e.omit();else{var r=t[e.fieldName];c(r)&&(n[e.fieldName]=r(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Ft.ALL_RUNNING_TESTS_FINISHED,(function(){_t(C().testCallbacks()[0].doneCallbacks)})),t.on(Ft.REMOVE_FIELD,(function(t){_().forEach((function(n){nt(n,t)&&(n.cancel(),function(t){A((function(n){return d(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Ft.RESET_FIELD,(function(t){_().forEach((function(n){nt(n,t)&&n.reset()}))})),t}function Lt(){var t=S.useX();return H(t.bus),t.bus}var Ft,Xt=Ft||(Ft={});function Gt(t){return Ut(0,"tests",t)}function Pt(t){return Ut(1,"tests",t)}function Ut(t,n,e){var u=S.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Wt(t){for(var n in t)if(!0===t[n])return!0;return!1}function wt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Dt(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function xt(t){var n=t.asyncTest,e=t.message;if(n&&c(n.then)){var u=Lt().emit,i=C(),o=S.bind({stateRef:i},(function(){T(),u(Ft.TEST_COMPLETED,t)}));i=S.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Ht(t){var n=R()[0].prev;if($(n))return Kt(t),t;var e=B();if(n=h(n,e)[p(e)],!j(t.key)){n=t.key,(e=S.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=S.useX().isolate.keys.current;return j(r[n])?r[n]=e:q('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Kt(t),t}return!tt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(S.useX().isolate.type===N.EACH||q("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=R(),n=t[1],e=t[0].prev;t=h(e,B());var r=S.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Kt(t=l(n,t)),t}function Kt(t){var n=B();A((function(e){return h(e,n)[p(n)]=t,e}))}function Mt(t){var n=y.EAGER;if(n=!(S.useX().mode[0]!==n||!rt(t.fieldName)))return t.skip(),Ht(t),V(),t;if(n=Ht(t),S.useX().omitted)return n.omit(),V(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,S.useX().skipped)return!0;var e=S.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=S.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Wt(u)&&!1!==u[n])}r=S.useX().exclusion;t:{for(a in(s=S.useX().exclusion).groups)if(s.groups[a]){var a=!0;break t}a=!1}return!(!a||t&&t in r.groups&&r.groups[t])||!i&&!!Wt(u)&&!f(e[n])}(t))return n.skip(!!S.useX().skipped),V(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Kt(t),V(),t.isUntested()){n=Lt();var e=function(t){return S.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&c(e.then)?(t.asyncTest=e,t.setPending(),xt(t)):n.emit(Ft.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&c(n.then)&&(t.setPending(),xt(t));return t}function jt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=c(n[1])?n:Dt([void 0],n,!0);n=u[0],e=u[1],u=u[2],H(r(t),Bt("fieldName","string")),H(c(e),Bt("Test callback","function"));var i=S.useX();return Mt(n=new F(t,e,{message:n,groupName:i.groupName,key:u}))}Xt.TEST_COMPLETED="test_completed",Xt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Xt.REMOVE_FIELD="remove_field",Xt.RESET_FIELD="reset_field",Xt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Gt.group=function(t){return Ut(0,"groups",t)},Pt.group=function(t){return Ut(1,"groups",t)};var qt=g(jt,{memo:function(t){var n=s(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=S.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[C().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):Mt(r[1])}}(jt)});function Bt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var Vt="4.3.1";function Yt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],H(c(r),"vest.create: Expected callback to be a function.");var u=kt(),i=K();return t={stateRef:M(i,{suiteId:e(),suiteName:t}),bus:u},g(S.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),Y({type:N.SUITE},(function(){r.apply(void 0,t)})),u.emit(Ft.SUITE_CALLBACK_DONE_RUNNING),Rt()})),{get:S.bind(t,bt),remove:S.bind(t,(function(t){u.emit(Ft.REMOVE_FIELD,t)})),reset:i.reset,resetField:S.bind(t,(function(t){u.emit(Ft.RESET_FIELD,t)}))})}function Jt(t,n){H(c(n),"each callback must be a function"),Y({type:N.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function zt(){var t=y.EAGER;S.useX().mode[0]=t}function Qt(t,n){H(r(t),wt("name must be a string")),H(c(n),wt("callback must be a function")),Y({type:N.GROUP},(function(){S.run({groupName:t},n)}))}function Zt(t){function n(n){var e=S.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?l(u.tests[t],!0):r(n)?!!u.tests[n]:f(n,f(bt))}}var e=S.useX();return t?(e.inclusion[t]=l(e.exclusion.tests[t],!0),{when:n}):{when:n}}function $t(t,n){Y({type:N.OMIT_WHEN},(function(){S.run({omitted:!!S.useX().omitted||f(t,f(bt))},(function(){return n()}))}))}function tn(t){(0,C().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function nn(t,n){Y({type:N.SKIP_WHEN},(function(){S.run({skipped:!!S.useX().skipped||f(t,f(bt))},(function(){return n()}))}))}function en(){var t=S.useX("warn hook called outside of a running suite.");H(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Vt as VERSION,S as context,Yt as create,Jt as each,zt as eager,Qt as group,Zt as include,$t as omitWhen,Gt as only,tn as optional,Pt as skip,nn as skipWhen,qt as test,en as warn};
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
var isNotNumber = bindNot(isNumber);
|
|
165
165
|
|
|
166
166
|
function lengthEquals(value, arg1) {
|
|
167
|
-
return value.length
|
|
167
|
+
return numberEquals(value.length, arg1);
|
|
168
168
|
}
|
|
169
169
|
var lengthNotEquals = bindNot(lengthEquals);
|
|
170
170
|
|
|
@@ -244,11 +244,11 @@
|
|
|
244
244
|
var isNotValueOf = bindNot(isValueOf);
|
|
245
245
|
|
|
246
246
|
function longerThan(value, arg1) {
|
|
247
|
-
return value.length
|
|
247
|
+
return greaterThan(value.length, arg1);
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
function longerThanOrEquals(value, arg1) {
|
|
251
|
-
return value.length
|
|
251
|
+
return greaterThanOrEquals(value.length, arg1);
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
function matches(value, regex) {
|
|
@@ -274,11 +274,11 @@
|
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
function shorterThan(value, arg1) {
|
|
277
|
-
return value.length
|
|
277
|
+
return lessThan(value.length, arg1);
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
function shorterThanOrEquals(value, arg1) {
|
|
281
|
-
return value.length
|
|
281
|
+
return lessThanOrEquals(value.length, arg1);
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
function startsWith(value, arg1) {
|
|
@@ -697,7 +697,7 @@
|
|
|
697
697
|
return ctx.run({ value: value }, function () {
|
|
698
698
|
return defaultToPassing(mapFirst(composites, function (composite, breakout) {
|
|
699
699
|
/* HACK: Just a small white lie. ~~HELP WANTED~~.
|
|
700
|
-
The ideal is that instead of `
|
|
700
|
+
The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
|
|
701
701
|
The problem is that lazy rules can't really be passed to this function due to some generic hell
|
|
702
702
|
so we're limiting it to a small set of functions.
|
|
703
703
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n){return"function"==typeof n}function t(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return n(t)?t.apply(void 0,r):t}function r(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}function e(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function u(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function i(n){return null===n}function o(n){return void 0===n}function s(n){return null===n||o(n)}function f(n){return String(n)===n}function a(n,t){return f(n)&&f(t)&&n.endsWith(t)}function c(n,t){return n===t}function l(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function p(n,t){return l(n)&&l(t)&&Number(n)>Number(t)}function
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n){return"function"==typeof n}function t(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return n(t)?t.apply(void 0,r):t}function r(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}function e(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function u(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function i(n){return null===n}function o(n){return void 0===n}function s(n){return null===n||o(n)}function f(n){return String(n)===n}function a(n,t){return f(n)&&f(t)&&n.endsWith(t)}function c(n,t){return n===t}function l(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function p(n,t){return l(n)&&l(t)&&Number(n)>Number(t)}function g(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function h(n,t){return g(n,t)||p(n,t)}function v(n){return!!Array.isArray(n)}function N(n,t){return!!(v(t)||f(t)&&f(n))&&-1!==t.indexOf(n)}function y(n,t){return l(n)&&l(t)&&Number(n)<Number(t)}function d(n,t){return g(n,t)||y(n,t)}function m(n,t,r){return h(n,t)&&d(n,r)}function b(n){return s(n)||f(n)&&!n.trim()}function O(n){return!!n===n}function x(n){return"number"==typeof n}function E(n,t){return g(n.length,t)}function w(n){if(n){if(x(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return E(n,0);if("object"==typeof n)return E(Object.keys(n),0)}return!0}function T(n,t){return n in t}function q(n){return Number.isNaN(n)}function S(n){return!!n}function j(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function A(n,t){return t instanceof RegExp?t.test(n):!!f(t)&&new RegExp(t).test(n)}function B(n,t){return f(n)&&f(t)&&n.startsWith(t)}function P(t){for(var r in cn){var e=cn[r];n(e)&&t(r,e)}}function W(n,r){var e;return null!==(e=t(n))&&void 0!==e?e:r}function k(){return null}function F(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function I(){try{return n(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function K(n,e,u){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return r(O(n)||n&&O(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),O(n)?J(n):J(n.pass,t.apply(void 0,F([n.message,e,u],i,!1)))}function R(n){function t(t,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return r((o=K.apply(void 0,F([ln.run({value:n},(function(){return e.apply(void 0,F([n],i,!1))})),u,n],i,!1))).pass,w(o.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):new String(o.message)),t}}var e={};if(!I())return P((function(n,r){e[n]=t(e,r,n)})),e;var u=new Proxy(e,{get:function(n,r){if(n=cn[r])return t(u,n,r)}});return u}function U(n){var r,u=[];return function n(i){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var f=cn[i];u.push((function(n){return K.apply(void 0,F([f.apply(void 0,F([n],o,!1)),i,n],o,!1))}));var a={run:function(n){return W(e(u,(function(e,u){var i,o=ln.run({value:n},(function(){return e(n)}));o.pass||u(J(!!o.pass,null!==(i=t(r,n,o.message))&&void 0!==i?i:o.message))})),J(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return I()?a=new Proxy(a,{get:function(t,r){return cn[r]?n(r):t[r]}}):(P((function(t){a[t]=n(t)})),a)}}(n)}var V,X=Object.assign,z=u(i),C=u(o),M=u(s),D=u(a),G=u(c),H=u(l),L=u(g),Q=u(v),Y=u(N),Z=u(m),$=u(b),_=u(O),nn=u(x),tn=u(E),rn=u(w),en=u(T),un=u(q),on=u(f),sn=u(S),fn=u(j),an=u(A),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:D,doesNotStartWith:u(B),endsWith:a,equals:c,greaterThan:p,greaterThanOrEquals:h,gt:p,gte:h,inside:N,isArray:v,isBetween:m,isBlank:b,isBoolean:O,isEmpty:w,isEven:function(n){return!!l(n)&&0==n%2},isFalsy:sn,isKeyOf:T,isNaN:q,isNegative:function(n){return y(n,0)},isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:_,isNotEmpty:rn,isNotKeyOf:en,isNotNaN:un,isNotNull:z,isNotNullish:M,isNotNumber:nn,isNotNumeric:H,isNotString:on,isNotUndefined:C,isNotValueOf:fn,isNull:i,isNullish:s,isNumber:x,isNumeric:l,isOdd:function(n){return!!l(n)&&0!=n%2},isPositive:function(n){return p(n,0)},isString:f,isTruthy:S,isUndefined:o,isValueOf:j,lengthEquals:E,lengthNotEquals:tn,lessThan:y,lessThanOrEquals:d,longerThan:function(n,t){return p(n.length,t)},longerThanOrEquals:function(n,t){return h(n.length,t)},lt:y,lte:d,matches:A,notEquals:G,notInside:Y,notMatches:an,numberEquals:g,numberNotEquals:L,shorterThan:function(n,t){return y(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:B},ln=function(n){function e(r,e){var o,s,f=u();return r=X({},f||{},null!==(o=t(n,r,f))&&void 0!==o?o:r),o=i.ctx=Object.freeze(r),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(s=i.ancestry[0])&&void 0!==s?s:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,t){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return e(n,(function(){return t.apply(void 0,r)}))}},run:e,use:u,useX:function(n){return r(i.ctx,W(n,"Context was used after it was closed")),i.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?X(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:X(r,{parent:k})}));return V={context:function(){return ln.useX()},extend:function(n){X(cn,n)}},I()?new Proxy(X(R,V),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}}):(P((function(n){V[n]=U(n)})),X(R,V)),function(){function n(n){return ln.run({value:n},(function(){return W(e(t,(function(t,r){try{var e=t.run(n)}catch(n){e=J(!1)}e.pass||r(e)})),J(!0))}))}for(var t=[],u=0;u<arguments.length;u++)t[u]=arguments[u];return Object.assign((function(t){r((t=n(t)).pass,new String(t.message))}),{run:n,test:function(t){return n(t).pass}})}}));
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
var isNotNumber = bindNot(isNumber);
|
|
210
210
|
|
|
211
211
|
function lengthEquals(value, arg1) {
|
|
212
|
-
return value.length
|
|
212
|
+
return numberEquals(value.length, arg1);
|
|
213
213
|
}
|
|
214
214
|
var lengthNotEquals = bindNot(lengthEquals);
|
|
215
215
|
|
|
@@ -289,11 +289,11 @@
|
|
|
289
289
|
var isNotValueOf = bindNot(isValueOf);
|
|
290
290
|
|
|
291
291
|
function longerThan(value, arg1) {
|
|
292
|
-
return value.length
|
|
292
|
+
return greaterThan(value.length, arg1);
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
function longerThanOrEquals(value, arg1) {
|
|
296
|
-
return value.length
|
|
296
|
+
return greaterThanOrEquals(value.length, arg1);
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
function matches(value, regex) {
|
|
@@ -319,11 +319,11 @@
|
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
function shorterThan(value, arg1) {
|
|
322
|
-
return value.length
|
|
322
|
+
return lessThan(value.length, arg1);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
function shorterThanOrEquals(value, arg1) {
|
|
326
|
-
return value.length
|
|
326
|
+
return lessThanOrEquals(value.length, arg1);
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
function startsWith(value, arg1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function a(n){return void 0===n}function s(n){return null===n||a(n)}function c(n){return String(n)===n}function l(n,t){return c(n)&&c(t)&&n.endsWith(t)}function v(n,t){return n===t}function
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function a(n){return void 0===n}function s(n){return null===n||a(n)}function c(n){return String(n)===n}function l(n,t){return c(n)&&c(t)&&n.endsWith(t)}function v(n,t){return n===t}function h(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return h(n)&&h(t)&&Number(n)>Number(t)}function p(n,t){return h(n)&&h(t)&&Number(n)===Number(t)}function N(n,t){return p(n,t)||g(n,t)}function y(n){return!!Array.isArray(n)}function d(n,t){return!!(y(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function m(n,t){return h(n)&&h(t)&&Number(n)<Number(t)}function O(n,t){return p(n,t)||m(n,t)}function b(n,t,r){return N(n,t)&&O(n,r)}function x(n){return s(n)||c(n)&&!n.trim()}function E(n){return!!n===n}function w(n){return"number"==typeof n}function q(n,t){return p(n.length,t)}function S(n){if(n){if(w(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return q(n,0);if("object"==typeof n)return q(Object.keys(n),0)}return!0}function T(n,t){return n in t}function A(n){return Number.isNaN(n)}function B(n){return!!n}function P(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function W(n,t){return g(n.length,t)}function j(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function k(n,t){return c(n)&&c(t)&&n.startsWith(t)}function F(n){for(var r in vn){var e=vn[r];t(e)&&n(r,e)}}function I(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?r(t):t)}function J(){return null}function K(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function R(){try{return t(Proxy)}catch(n){return!1}}function U(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return I(E(n)||n&&E(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),E(n)?u(n):u(n.pass,r.apply(void 0,K([n.message,t,e],i,!1)))}function V(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return I((i=U.apply(void 0,K([hn.run({value:n},(function(){return r.apply(void 0,K([n],u,!1))})),e,n],u,!1))).pass,S(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!R())return F((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=vn[r])return t(e,n,r)}});return e}function X(t){var i,o=[];return function t(f){return function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];var c=vn[f];o.push((function(n){return U.apply(void 0,K([c.apply(void 0,K([n],a,!1)),f,n],a,!1))}));var l={run:function(t){return e(n(o,(function(n,e){var o,f=hn.run({value:t},(function(){return n(t)}));f.pass||e(u(!!f.pass,null!==(o=r(i,t,f.message))&&void 0!==o?o:f.message))})),u(!0))},test:function(n){return l.run(n).pass},message:function(n){return n&&(i=n),l}};return R()?l=new Proxy(l,{get:function(n,r){return vn[r]?t(r):n[r]}}):(F((function(n){l[n]=t(n)})),l)}}(t)}var z,C=Object.assign,M=o(f),D=o(a),G=o(s),H=o(l),L=o(v),Q=o(h),Y=o(p),Z=o(y),$=o(d),_=o(b),nn=o(x),tn=o(E),rn=o(w),en=o(q),un=o(S),on=o(T),fn=o(A),an=o(c),sn=o(B),cn=o(P),ln=o(j),vn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:H,doesNotStartWith:o(k),endsWith:l,equals:v,greaterThan:g,greaterThanOrEquals:N,gt:g,gte:N,inside:d,isArray:y,isBetween:b,isBlank:x,isBoolean:E,isEmpty:S,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:sn,isKeyOf:T,isNaN:A,isNegative:function(n){return m(n,0)},isNotArray:Z,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:fn,isNotNull:M,isNotNullish:G,isNotNumber:rn,isNotNumeric:Q,isNotString:an,isNotUndefined:D,isNotValueOf:cn,isNull:f,isNullish:s,isNumber:w,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return g(n,0)},isString:c,isTruthy:B,isUndefined:a,isValueOf:P,lengthEquals:q,lengthNotEquals:en,lessThan:m,lessThanOrEquals:O,longerThan:W,longerThanOrEquals:function(n,t){return N(n.length,t)},lt:m,lte:O,matches:j,notEquals:L,notInside:$,notMatches:ln,numberEquals:p,numberNotEquals:Y,shorterThan:function(n,t){return m(n.length,t)},shorterThanOrEquals:function(n,t){return O(n.length,t)},startsWith:k},hn=function(n){function t(t,e){var o,f,a=u();return t=C({},a||{},null!==(o=r(n,t,a))&&void 0!==o?o:t),o=i.ctx=Object.freeze(t),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(f=i.ancestry[0])&&void 0!==f?f:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:u,useX:function(n){return I(i.ctx,e(n,"Context was used after it was closed")),i.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?C(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:C(r,{parent:J})}));(z={context:function(){return hn.useX()},extend:function(n){C(vn,n)}},R()?new Proxy(C(V,z),{get:function(n,t){return t in n?n[t]:vn[t]?X(t):void 0}}):(F((function(n){z[n]=X(n)})),C(V,z))).extend({allOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass||r(n)})),u(!0))},anyOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass&&r(n)})),u(!1))},noneOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){i(n,t).pass&&r(u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(W(e,1))return!1;(t=i(t,n)).pass&&e.push(t)})),u(q(e,1))}})}));
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
var isNotNumber = bindNot(isNumber);
|
|
143
143
|
|
|
144
144
|
function lengthEquals(value, arg1) {
|
|
145
|
-
return value.length
|
|
145
|
+
return numberEquals(value.length, arg1);
|
|
146
146
|
}
|
|
147
147
|
var lengthNotEquals = bindNot(lengthEquals);
|
|
148
148
|
|
|
@@ -222,11 +222,11 @@
|
|
|
222
222
|
var isNotValueOf = bindNot(isValueOf);
|
|
223
223
|
|
|
224
224
|
function longerThan(value, arg1) {
|
|
225
|
-
return value.length
|
|
225
|
+
return greaterThan(value.length, arg1);
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
function longerThanOrEquals(value, arg1) {
|
|
229
|
-
return value.length
|
|
229
|
+
return greaterThanOrEquals(value.length, arg1);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
function matches(value, regex) {
|
|
@@ -252,11 +252,11 @@
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
function shorterThan(value, arg1) {
|
|
255
|
-
return value.length
|
|
255
|
+
return lessThan(value.length, arg1);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
function shorterThanOrEquals(value, arg1) {
|
|
259
|
-
return value.length
|
|
259
|
+
return lessThanOrEquals(value.length, arg1);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
function startsWith(value, arg1) {
|
|
@@ -729,7 +729,7 @@
|
|
|
729
729
|
}
|
|
730
730
|
|
|
731
731
|
// Help needed improving the typings of this file.
|
|
732
|
-
// Ideally, we'd be able to extend
|
|
732
|
+
// Ideally, we'd be able to extend ShapeObject, but that's not possible.
|
|
733
733
|
function partial(shapeObject) {
|
|
734
734
|
var output = {};
|
|
735
735
|
for (var key in shapeObject) {
|