vest 4.4.1 → 4.4.2-dev-ae93bf
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/classnames.development.js +9 -60
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +6 -53
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +16 -71
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +6 -58
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +8 -59
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/promisify.development.js +2 -26
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +98 -357
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +1 -52
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +4 -51
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +11 -66
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +2 -54
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +1 -52
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +1 -25
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +23 -282
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +13 -13
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +121 -121
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +180 -184
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +132 -132
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +13 -13
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +277 -277
- package/dist/umd/vest.production.js +1 -1
- package/package.json +4 -3
- package/testUtils/mockThrowError.ts +2 -1
- package/testUtils/suiteDummy.ts +1 -1
- package/testUtils/testObjects.ts +0 -8
- package/types/enforce/compose.d.ts +14 -30
- package/types/enforce/compounds.d.ts +14 -30
- package/types/enforce/schema.d.ts +14 -30
- package/types/vest.d.ts +4 -3
- package/testUtils/itWithContext.ts +0 -23
|
@@ -1,181 +1,12 @@
|
|
|
1
1
|
export { enforce } from 'n4s';
|
|
2
|
+
import { isUndefined, isStringValue, assign, cache as cache$2, optionalFunctionValue, nestedArray, asArray, genId, isFunction, isNullish, deferThrow, invariant, bindNot, either, isEmpty, isNotEmpty, isPositive, hasOwnProperty, isArray, callEach, bus, defaultTo, isPromise, isNull } from 'vest-utils';
|
|
2
3
|
import { createContext } from 'context';
|
|
3
4
|
|
|
4
|
-
/**
|
|
5
|
-
* @returns a unique numeric id.
|
|
6
|
-
*/
|
|
7
|
-
var genId = (function (n) { return function () {
|
|
8
|
-
return "".concat(n++);
|
|
9
|
-
}; })(0);
|
|
10
|
-
|
|
11
|
-
function isStringValue(v) {
|
|
12
|
-
return String(v) === v;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function bindNot(fn) {
|
|
16
|
-
return function () {
|
|
17
|
-
var args = [];
|
|
18
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
19
|
-
args[_i] = arguments[_i];
|
|
20
|
-
}
|
|
21
|
-
return !fn.apply(void 0, args);
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function isUndefined(value) {
|
|
26
|
-
return value === undefined;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
5
|
function shouldUseErrorAsMessage(message, error) {
|
|
30
6
|
// kind of cheating with this safe guard, but it does the job
|
|
31
7
|
return isUndefined(message) && isStringValue(error);
|
|
32
8
|
}
|
|
33
9
|
|
|
34
|
-
function asArray(possibleArg) {
|
|
35
|
-
return [].concat(possibleArg);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var assign = Object.assign;
|
|
39
|
-
|
|
40
|
-
function isNumeric(value) {
|
|
41
|
-
var str = String(value);
|
|
42
|
-
var num = Number(value);
|
|
43
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
44
|
-
return Boolean(result);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function numberEquals(value, eq) {
|
|
48
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function lengthEquals(value, arg1) {
|
|
52
|
-
return numberEquals(value.length, arg1);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function greaterThan(value, gt) {
|
|
56
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function longerThan(value, arg1) {
|
|
60
|
-
return greaterThan(value.length, arg1);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Creates a cache function
|
|
65
|
-
*/
|
|
66
|
-
function createCache(maxSize) {
|
|
67
|
-
if (maxSize === void 0) { maxSize = 1; }
|
|
68
|
-
var cacheStorage = [];
|
|
69
|
-
var cache = function (deps, cacheAction) {
|
|
70
|
-
var cacheHit = cache.get(deps);
|
|
71
|
-
// cache hit is not null
|
|
72
|
-
if (cacheHit)
|
|
73
|
-
return cacheHit[1];
|
|
74
|
-
var result = cacheAction();
|
|
75
|
-
cacheStorage.unshift([deps.concat(), result]);
|
|
76
|
-
if (longerThan(cacheStorage, maxSize))
|
|
77
|
-
cacheStorage.length = maxSize;
|
|
78
|
-
return result;
|
|
79
|
-
};
|
|
80
|
-
// invalidate an item in the cache by its dependencies
|
|
81
|
-
cache.invalidate = function (deps) {
|
|
82
|
-
var index = findIndex(deps);
|
|
83
|
-
if (index > -1)
|
|
84
|
-
cacheStorage.splice(index, 1);
|
|
85
|
-
};
|
|
86
|
-
// Retrieves an item from the cache.
|
|
87
|
-
cache.get = function (deps) {
|
|
88
|
-
return cacheStorage[findIndex(deps)] || null;
|
|
89
|
-
};
|
|
90
|
-
return cache;
|
|
91
|
-
function findIndex(deps) {
|
|
92
|
-
return cacheStorage.findIndex(function (_a) {
|
|
93
|
-
var cachedDeps = _a[0];
|
|
94
|
-
return lengthEquals(deps, cachedDeps.length) &&
|
|
95
|
-
deps.every(function (dep, i) { return dep === cachedDeps[i]; });
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// The module is named "isArrayValue" since it
|
|
101
|
-
// is conflicting with a nested npm dependency.
|
|
102
|
-
// We may need to revisit this in the future.
|
|
103
|
-
function isArray(value) {
|
|
104
|
-
return Boolean(Array.isArray(value));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function isNull(value) {
|
|
108
|
-
return value === null;
|
|
109
|
-
}
|
|
110
|
-
var isNotNull = bindNot(isNull);
|
|
111
|
-
|
|
112
|
-
function isFunction(value) {
|
|
113
|
-
return typeof value === 'function';
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function optionalFunctionValue(value) {
|
|
117
|
-
var args = [];
|
|
118
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
119
|
-
args[_i - 1] = arguments[_i];
|
|
120
|
-
}
|
|
121
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function defaultTo(callback, defaultValue) {
|
|
125
|
-
var _a;
|
|
126
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function last(values) {
|
|
130
|
-
var valuesArray = asArray(values);
|
|
131
|
-
return valuesArray[valuesArray.length - 1];
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// This is kind of a map/filter in one function.
|
|
135
|
-
// Normally, behaves like a nested-array map,
|
|
136
|
-
// but returning `null` will drop the element from the array
|
|
137
|
-
function transform(array, cb) {
|
|
138
|
-
var res = [];
|
|
139
|
-
for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
|
|
140
|
-
var v = array_1[_i];
|
|
141
|
-
if (isArray(v)) {
|
|
142
|
-
res.push(transform(v, cb));
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
var output = cb(v);
|
|
146
|
-
if (isNotNull(output)) {
|
|
147
|
-
res.push(output);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return res;
|
|
152
|
-
}
|
|
153
|
-
function valueAtPath(array, path) {
|
|
154
|
-
return getCurrent(array, path)[last(path)];
|
|
155
|
-
}
|
|
156
|
-
function setValueAtPath(array, path, value) {
|
|
157
|
-
var current = getCurrent(array, path);
|
|
158
|
-
current[last(path)] = value;
|
|
159
|
-
return array;
|
|
160
|
-
}
|
|
161
|
-
function flatten(values) {
|
|
162
|
-
return asArray(values).reduce(function (acc, value) {
|
|
163
|
-
if (isArray(value)) {
|
|
164
|
-
return acc.concat(flatten(value));
|
|
165
|
-
}
|
|
166
|
-
return asArray(acc).concat(value);
|
|
167
|
-
}, []);
|
|
168
|
-
}
|
|
169
|
-
function getCurrent(array, path) {
|
|
170
|
-
var current = array;
|
|
171
|
-
for (var _i = 0, _a = path.slice(0, -1); _i < _a.length; _i++) {
|
|
172
|
-
var p = _a[_i];
|
|
173
|
-
current[p] = defaultTo(current[p], []);
|
|
174
|
-
current = current[p];
|
|
175
|
-
}
|
|
176
|
-
return current;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
10
|
var IsolateTypes;
|
|
180
11
|
(function (IsolateTypes) {
|
|
181
12
|
IsolateTypes[IsolateTypes["DEFAULT"] = 0] = "DEFAULT";
|
|
@@ -302,10 +133,10 @@ function useSetTests(handler) {
|
|
|
302
133
|
function useAllIncomplete() {
|
|
303
134
|
return useTestsFlat().filter(function (test) { return test.isPending(); });
|
|
304
135
|
}
|
|
305
|
-
var flatCache =
|
|
136
|
+
var flatCache = cache$2();
|
|
306
137
|
function useTestsFlat() {
|
|
307
138
|
var current = useTestObjects()[0].current;
|
|
308
|
-
return flatCache([current], function () { return flatten(current); });
|
|
139
|
+
return flatCache([current], function () { return nestedArray.flatten(current); });
|
|
309
140
|
}
|
|
310
141
|
function useEachTestObject(handler) {
|
|
311
142
|
var testObjects = useTestsFlat();
|
|
@@ -456,20 +287,6 @@ var STATUS_PENDING = 'PENDING';
|
|
|
456
287
|
var STATUS_CANCELED = 'CANCELED';
|
|
457
288
|
var STATUS_OMITTED = 'OMITTED';
|
|
458
289
|
|
|
459
|
-
function invariant(condition,
|
|
460
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
461
|
-
message) {
|
|
462
|
-
if (condition) {
|
|
463
|
-
return;
|
|
464
|
-
}
|
|
465
|
-
// If message is a string object (rather than string literal)
|
|
466
|
-
// Throw the value directly as a string
|
|
467
|
-
// Alternatively, throw an error with the message
|
|
468
|
-
throw message instanceof String
|
|
469
|
-
? message.valueOf()
|
|
470
|
-
: new Error(message ? optionalFunctionValue(message) : message);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
290
|
// eslint-disable-next-line max-lines-per-function
|
|
474
291
|
function createState(onStateChange) {
|
|
475
292
|
var state = {
|
|
@@ -553,19 +370,9 @@ function createStateRef(state, _a) {
|
|
|
553
370
|
};
|
|
554
371
|
}
|
|
555
372
|
|
|
556
|
-
function isNullish(value) {
|
|
557
|
-
return isNull(value) || isUndefined(value);
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
function deferThrow(message) {
|
|
561
|
-
setTimeout(function () {
|
|
562
|
-
throw new Error(message);
|
|
563
|
-
}, 0);
|
|
564
|
-
}
|
|
565
|
-
|
|
566
373
|
function usePrevKeys() {
|
|
567
374
|
var prev = useTestObjects()[0].prev;
|
|
568
|
-
return asArray(getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
|
|
375
|
+
return asArray(nestedArray.getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
|
|
569
376
|
if (!(testObject instanceof VestTest)) {
|
|
570
377
|
return prevKeys;
|
|
571
378
|
}
|
|
@@ -597,7 +404,7 @@ function isolate(_a, callback) {
|
|
|
597
404
|
var isolate = generateIsolate(type, useCurrentPath());
|
|
598
405
|
var output = context.run({ isolate: isolate }, function () {
|
|
599
406
|
isolate.keys.prev = usePrevKeys();
|
|
600
|
-
useSetTests(function (tests) { return setValueAtPath(tests, isolate.path, []); });
|
|
407
|
+
useSetTests(function (tests) { return nestedArray.setValueAtPath(tests, isolate.path, []); });
|
|
601
408
|
var res = callback();
|
|
602
409
|
return res;
|
|
603
410
|
});
|
|
@@ -647,34 +454,6 @@ function countKeyBySeverity(severity) {
|
|
|
647
454
|
: SeverityCount.WARN_COUNT;
|
|
648
455
|
}
|
|
649
456
|
|
|
650
|
-
/**
|
|
651
|
-
* A safe hasOwnProperty access
|
|
652
|
-
*/
|
|
653
|
-
function hasOwnProperty(obj, key) {
|
|
654
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
function isNumber(value) {
|
|
658
|
-
return Boolean(typeof value === 'number');
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
function isEmpty(value) {
|
|
662
|
-
if (!value) {
|
|
663
|
-
return true;
|
|
664
|
-
}
|
|
665
|
-
else if (isNumber(value)) {
|
|
666
|
-
return value === 0;
|
|
667
|
-
}
|
|
668
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
669
|
-
return lengthEquals(value, 0);
|
|
670
|
-
}
|
|
671
|
-
else if (typeof value === 'object') {
|
|
672
|
-
return lengthEquals(Object.keys(value), 0);
|
|
673
|
-
}
|
|
674
|
-
return false;
|
|
675
|
-
}
|
|
676
|
-
var isNotEmpty = bindNot(isEmpty);
|
|
677
|
-
|
|
678
457
|
function nonMatchingFieldName(testObject, fieldName) {
|
|
679
458
|
return !!fieldName && !matchingFieldName(testObject, fieldName);
|
|
680
459
|
}
|
|
@@ -687,10 +466,6 @@ function matchingGroupName(testObject, groupName) {
|
|
|
687
466
|
return testObject.groupName === groupName;
|
|
688
467
|
}
|
|
689
468
|
|
|
690
|
-
function either(a, b) {
|
|
691
|
-
return !!a !== !!b;
|
|
692
|
-
}
|
|
693
|
-
|
|
694
469
|
/**
|
|
695
470
|
* Checks that a given test object matches the currently specified severity level
|
|
696
471
|
*/
|
|
@@ -914,10 +689,6 @@ function baseTestStats() {
|
|
|
914
689
|
});
|
|
915
690
|
}
|
|
916
691
|
|
|
917
|
-
function isPositive(value) {
|
|
918
|
-
return greaterThan(value, 0);
|
|
919
|
-
}
|
|
920
|
-
|
|
921
692
|
// calls collectAll or getByFieldName depending on whether fieldName is provided
|
|
922
693
|
function gatherFailures(testGroup, severityKey, fieldName) {
|
|
923
694
|
return fieldName
|
|
@@ -1034,7 +805,7 @@ function isFieldValid(testContainer, fieldName) {
|
|
|
1034
805
|
return !!((_a = testContainer[fieldName]) === null || _a === void 0 ? void 0 : _a.valid);
|
|
1035
806
|
}
|
|
1036
807
|
|
|
1037
|
-
var cache$1 =
|
|
808
|
+
var cache$1 = cache$2(1);
|
|
1038
809
|
function produceSuiteResult() {
|
|
1039
810
|
var testObjects = useTestsFlat();
|
|
1040
811
|
var ctxRef = { stateRef: useStateRef() };
|
|
@@ -1074,7 +845,7 @@ function hasRemainingTests(fieldName) {
|
|
|
1074
845
|
return isNotEmpty(allIncomplete);
|
|
1075
846
|
}
|
|
1076
847
|
|
|
1077
|
-
var cache =
|
|
848
|
+
var cache = cache$2(20);
|
|
1078
849
|
function produceFullResult() {
|
|
1079
850
|
var testObjects = useTestsFlat();
|
|
1080
851
|
var ctxRef = { stateRef: useStateRef() };
|
|
@@ -1133,28 +904,6 @@ function deferDoneCallback(doneCallback, fieldName) {
|
|
|
1133
904
|
});
|
|
1134
905
|
}
|
|
1135
906
|
|
|
1136
|
-
function createBus() {
|
|
1137
|
-
var listeners = {};
|
|
1138
|
-
return {
|
|
1139
|
-
emit: function (event, data) {
|
|
1140
|
-
listener(event).forEach(function (handler) {
|
|
1141
|
-
handler(data);
|
|
1142
|
-
});
|
|
1143
|
-
},
|
|
1144
|
-
on: function (event, handler) {
|
|
1145
|
-
listeners[event] = listener(event).concat(handler);
|
|
1146
|
-
return {
|
|
1147
|
-
off: function () {
|
|
1148
|
-
listeners[event] = listener(event).filter(function (h) { return h !== handler; });
|
|
1149
|
-
}
|
|
1150
|
-
};
|
|
1151
|
-
}
|
|
1152
|
-
};
|
|
1153
|
-
function listener(event) {
|
|
1154
|
-
return listeners[event] || [];
|
|
1155
|
-
}
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
907
|
function omitOptionalFields() {
|
|
1159
908
|
var optionalFields = useOptionalFields()[0];
|
|
1160
909
|
if (isEmpty(optionalFields)) {
|
|
@@ -1162,7 +911,7 @@ function omitOptionalFields() {
|
|
|
1162
911
|
}
|
|
1163
912
|
var shouldOmit = {};
|
|
1164
913
|
useSetTests(function (tests) {
|
|
1165
|
-
return transform(tests, function (testObject) {
|
|
914
|
+
return nestedArray.transform(tests, function (testObject) {
|
|
1166
915
|
var fieldName = testObject.fieldName;
|
|
1167
916
|
if (hasOwnProperty(shouldOmit, fieldName)) {
|
|
1168
917
|
verifyAndOmit(testObject);
|
|
@@ -1193,14 +942,10 @@ function omitOptionalFields() {
|
|
|
1193
942
|
*/
|
|
1194
943
|
function removeTestFromState (testObject) {
|
|
1195
944
|
useSetTests(function (tests) {
|
|
1196
|
-
return transform(tests, function (test) { return (testObject !== test ? test : null); });
|
|
945
|
+
return nestedArray.transform(tests, function (test) { return (testObject !== test ? test : null); });
|
|
1197
946
|
});
|
|
1198
947
|
}
|
|
1199
948
|
|
|
1200
|
-
function callEach(arr) {
|
|
1201
|
-
return arr.forEach(function (fn) { return fn(); });
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
949
|
/**
|
|
1205
950
|
* Runs done callback per field when async tests are finished running.
|
|
1206
951
|
*/
|
|
@@ -1222,10 +967,10 @@ function runDoneCallbacks() {
|
|
|
1222
967
|
|
|
1223
968
|
// eslint-disable-next-line max-lines-per-function
|
|
1224
969
|
function initBus() {
|
|
1225
|
-
var
|
|
970
|
+
var vestBus = bus.createBus();
|
|
1226
971
|
// Report a the completion of a test. There may be other tests with the same
|
|
1227
972
|
// name that are still running, or not yet started.
|
|
1228
|
-
|
|
973
|
+
vestBus.on(Events.TEST_COMPLETED, function (testObject) {
|
|
1229
974
|
if (testObject.isCanceled()) {
|
|
1230
975
|
return;
|
|
1231
976
|
}
|
|
@@ -1233,21 +978,21 @@ function initBus() {
|
|
|
1233
978
|
runFieldCallbacks(testObject.fieldName);
|
|
1234
979
|
if (!hasRemainingTests()) {
|
|
1235
980
|
// When no more tests are running, emit the done event
|
|
1236
|
-
|
|
981
|
+
vestBus.emit(Events.ALL_RUNNING_TESTS_FINISHED);
|
|
1237
982
|
}
|
|
1238
983
|
});
|
|
1239
984
|
// Report that the suite completed its synchronous test run.
|
|
1240
985
|
// Async operations may still be running.
|
|
1241
|
-
|
|
986
|
+
vestBus.on(Events.SUITE_CALLBACK_DONE_RUNNING, function () {
|
|
1242
987
|
// Remove tests that are optional and need to be omitted
|
|
1243
988
|
omitOptionalFields();
|
|
1244
989
|
});
|
|
1245
990
|
// Called when all the tests, including async, are done running
|
|
1246
|
-
|
|
991
|
+
vestBus.on(Events.ALL_RUNNING_TESTS_FINISHED, function () {
|
|
1247
992
|
runDoneCallbacks();
|
|
1248
993
|
});
|
|
1249
994
|
// Removes a certain field from the state.
|
|
1250
|
-
|
|
995
|
+
vestBus.on(Events.REMOVE_FIELD, function (fieldName) {
|
|
1251
996
|
useEachTestObject(function (testObject) {
|
|
1252
997
|
if (matchingFieldName(testObject, fieldName)) {
|
|
1253
998
|
testObject.cancel();
|
|
@@ -1256,14 +1001,14 @@ function initBus() {
|
|
|
1256
1001
|
});
|
|
1257
1002
|
});
|
|
1258
1003
|
// Resets a certain field in the state.
|
|
1259
|
-
|
|
1004
|
+
vestBus.on(Events.RESET_FIELD, function (fieldName) {
|
|
1260
1005
|
useEachTestObject(function (testObject) {
|
|
1261
1006
|
if (matchingFieldName(testObject, fieldName)) {
|
|
1262
1007
|
testObject.reset();
|
|
1263
1008
|
}
|
|
1264
1009
|
});
|
|
1265
1010
|
});
|
|
1266
|
-
return
|
|
1011
|
+
return vestBus;
|
|
1267
1012
|
}
|
|
1268
1013
|
function useBus() {
|
|
1269
1014
|
var context$1 = context.useX();
|
|
@@ -1584,9 +1329,7 @@ function eager() {
|
|
|
1584
1329
|
setMode(Modes.EAGER);
|
|
1585
1330
|
}
|
|
1586
1331
|
function shouldSkipBasedOnMode(testObject) {
|
|
1587
|
-
|
|
1588
|
-
return true;
|
|
1589
|
-
return false;
|
|
1332
|
+
return isEager() && hasErrorsByTestObjects(testObject.fieldName);
|
|
1590
1333
|
}
|
|
1591
1334
|
function isEager() {
|
|
1592
1335
|
return isMode(Modes.EAGER);
|
|
@@ -1675,9 +1418,7 @@ function __spreadArray(to, from, pack) {
|
|
|
1675
1418
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
1676
1419
|
}
|
|
1677
1420
|
|
|
1678
|
-
|
|
1679
|
-
return value && isFunction(value.then);
|
|
1680
|
-
}
|
|
1421
|
+
bindNot(isStringValue);
|
|
1681
1422
|
|
|
1682
1423
|
function isSameProfileTest(testObject1, testObject2) {
|
|
1683
1424
|
return (testObject1.fieldName === testObject2.fieldName &&
|
|
@@ -1805,12 +1546,12 @@ function removeAllNextTestsInIsolate() {
|
|
|
1805
1546
|
function useSetTestAtCursor(testObject) {
|
|
1806
1547
|
var cursorPath = useCurrentPath();
|
|
1807
1548
|
useSetTests(function (tests) {
|
|
1808
|
-
return setValueAtPath(tests, cursorPath, testObject);
|
|
1549
|
+
return nestedArray.setValueAtPath(tests, cursorPath, testObject);
|
|
1809
1550
|
});
|
|
1810
1551
|
}
|
|
1811
1552
|
function useGetTestAtCursor(tests) {
|
|
1812
1553
|
var cursorPath = useCurrentPath();
|
|
1813
|
-
return valueAtPath(tests, cursorPath);
|
|
1554
|
+
return nestedArray.valueAtPath(tests, cursorPath);
|
|
1814
1555
|
}
|
|
1815
1556
|
function testReorderDetected(prevTest, newTest) {
|
|
1816
1557
|
return isNotEmpty(prevTest) && !isSameProfileTest(prevTest, newTest);
|
|
@@ -1874,7 +1615,7 @@ function registerTestObjectByTier(testObject) {
|
|
|
1874
1615
|
/* eslint-disable jest/valid-title */
|
|
1875
1616
|
// eslint-disable-next-line max-lines-per-function
|
|
1876
1617
|
function bindTestMemo(test) {
|
|
1877
|
-
var cache =
|
|
1618
|
+
var cache = cache$2(10); // arbitrary cache size
|
|
1878
1619
|
// eslint-disable-next-line max-statements
|
|
1879
1620
|
function memo(fieldName) {
|
|
1880
1621
|
var args = [];
|
|
@@ -1943,6 +1684,6 @@ function warn() {
|
|
|
1943
1684
|
ctx.currentTest.warn();
|
|
1944
1685
|
}
|
|
1945
1686
|
|
|
1946
|
-
var VERSION = "4.4.
|
|
1687
|
+
var VERSION = "4.4.2-dev-ae93bf";
|
|
1947
1688
|
|
|
1948
1689
|
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,r=(n=0,function(){return"".concat(n++)});function e(t){return String(t)===t}function u(t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return!t.apply(void 0,n)}}var i=Object.assign;function o(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function s(t,n){return o(t)&&o(n)&&Number(t)===Number(n)}function a(t,n){return o(t)&&o(n)&&Number(t)>Number(n)}function c(t){function n(r,u){var i=n.get(r);return i?i[1]:(u=u(),e.unshift([r.concat(),u]),a(e.length,t)&&(e.length=t),u)}function r(t){return e.findIndex((function(n){var r=n[0];return s(t.length,r.length)&&t.every((function(t,n){return t===r[n]}))}))}void 0===t&&(t=1);var e=[];return n.invalidate=function(t){-1<(t=r(t))&&e.splice(t,1)},n.get=function(t){return e[r(t)]||null},n}var f=u((function(t){return null===t}));function l(t){return"function"==typeof t}function d(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return l(t)?t.apply(void 0,n):t}function p(t,n){var r;return null!==(r=d(t))&&void 0!==r?r:n}function v(t){return(t=[].concat(t))[t.length-1]}function h(t,n){for(var r=[],e=0;e<t.length;e++){var u=t[e];Array.isArray(u)?r.push(h(u,n)):(u=n(u),f(u)&&r.push(u))}return r}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function g(t,n){var r=0;for(n=n.slice(0,-1);r<n.length;r++){var e=n[r];t[e]=p(t[e],[]),t=t[e]}return t}var N,m=N||(N={});m[m.DEFAULT=0]="DEFAULT",m[m.SUITE=1]="SUITE",m[m.EACH=2]="EACH",m[m.SKIP_WHEN=3]="SKIP_WHEN",m[m.OMIT_WHEN=4]="OMIT_WHEN",m[m.GROUP=5]="GROUP";var y,R=y||(y={});function b(){var t=0;return{current:function(){return t},next:function(){t++}}}function S(t,n){return void 0===n&&(n=[]),{cursor:b(),keys:{current:{},prev:{}},path:n,type:t}}R[R.ALL=0]="ALL",R[R.EAGER=1]="EAGER";var T=t((function(t,n){return n?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:S(N.DEFAULT),mode:[y.ALL]},t)}));function O(){return T.useX().stateRef}function C(t){return O().optionalFields()[0][t]}function A(t,n){(0,O().optionalFields()[1])((function(r){var e;return i(r,((e={})[t]=d(n,r[t]),e))}))}function I(t){var n;return null===(n=C(t))||void 0===n?void 0:n[0]}function _(){k((function(t){return t}))}function k(t){(0,O().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function F(){return U().filter((function(t){return t.isPending()}))}var L=c();function U(){var t=O().testObjects()[0].current;return L([t],(function(){return E(t)}))}var G,P=G||(G={});P.Error="error",P.Warning="warning";var W=function(){function t(t,n,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=G.Error,this.status=w,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&e(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==M||(this.status=t)},t.prototype.warns=function(){return this.severity===G.Warning},t.prototype.setPending=function(){this.setStatus(H)},t.prototype.fail=function(){this.setStatus(this.warns()?X:x)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},t.prototype.warn=function(){this.severity=G.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(D)},t.prototype.cancel=function(){this.setStatus(K),_()},t.prototype.reset=function(){this.status=w,_()},t.prototype.omit=function(){this.setStatus(M)},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(H)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(M)},t.prototype.isUntested=function(){return this.statusEquals(w)},t.prototype.isFailing=function(){return this.statusEquals(x)},t.prototype.isCanceled=function(){return this.statusEquals(K)},t.prototype.isSkipped=function(){return this.statusEquals(D)},t.prototype.isPassing=function(){return this.statusEquals(j)},t.prototype.isWarning=function(){return this.statusEquals(X)},t.prototype.statusEquals=function(t){return this.status===t},t}(),w="UNTESTED",D="SKIPPED",x="FAILED",X="WARNING",j="PASSING",H="PENDING",K="CANCELED",M="OMITTED";function q(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?d(n):n)}function B(t){function n(t,n,u){return e.references.push(),r(t,d(n,u)),function(){return[e.references[t],function(n){return r(t,d(n,e.references[t]))}]}}function r(n,r){var i=e.references[n];e.references[n]=r,l(n=u[n][1])&&n(r,i),l(t)&&t()}var e={references:[]},u=[];return{registerStateKey:function(t,r){var e=u.length;return u.push([t,r]),n(e,t)},reset:function(){var t=e.references;e.references=[],u.forEach((function(r,e){return n(e,r[0],t[e])}))}}}function V(t,n){var r=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(r),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function Y(t){return null==t}function J(t){setTimeout((function(){throw Error(t)}),0)}function z(t,n){t=void 0===(t=t.type)?N.DEFAULT:t,q(l(n));var r=S(t,Z());return t=T.run({isolate:r},(function(){return r.keys.prev=function(){var t=O().testObjects()[0].prev;return[].concat(g(t,Z())).reduce((function(t,n){return n instanceof W&&!Y(n.key)?(t[n.key]=n,t):t}),{})}(),k((function(t){var n=r.path;return g(t,n)[v(n)]=[],t})),n()})),Q().cursor.next(),t}function Q(){return T.useX().isolate}function Z(){var t=Q();return t.path.concat(t.cursor.current())}var $,tt=$||($={});tt.WARNINGS="warnings",tt.ERRORS="errors";var nt,rt=nt||(nt={});function et(t){return t===$.ERRORS?nt.ERROR_COUNT:nt.WARN_COUNT}function ut(t){return!t||("number"==typeof t?0===t:Object.prototype.hasOwnProperty.call(t,"length")?s(t.length,0):"object"==typeof t&&s((t=Object.keys(t)).length,0))}rt.ERROR_COUNT="errorCount",rt.WARN_COUNT="warnCount";var it=u(ut);function ot(t,n){return!(!n||t.fieldName!==n)}var st=u((function(t,n){return t.groupName===n}));function at(t,n){return U().some((function(r){return ct(r,t,n)}))}function ct(t,n,r){return(r=!t.hasFailures()||r&&!ot(t,r))||(t=t.warns(),r=n===$.WARNINGS!=!!t),!r}function ft(t){return!!lt(t)||!at($.ERRORS,t)&&(!ut(U())&&!function(t){return it(F().filter((function(n){return dt(n,t)})))}(t)&&function(t){return U().every((function(n){return!(!t||ot(n,t))||pt(n,t)}))}(t))}function lt(t){return!!t&&!0===(null===(n=C(t))||void 0===n?void 0:n[1]);var n}function dt(t,n){return!(n&&!ot(t,n))&&!0!==I(t.fieldName)}function pt(t,n){return!(!n||ot(t,n))||(!0===I(t.fieldName)||t.isTested()||t.isOmitted())}function vt(){var t=T.useX().summary;return q(t),t}function ht(){var t=U(),n=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var r=t.tests;r[n.fieldName]=Et(r,n),r[n.fieldName].valid=!1!==r[n.fieldName].valid&&ft(n.fieldName);var e=t.groups,u=n.groupName;return u&&(e[u]=e[u]||{},e[u][n.fieldName]=Et(e[u],n),r=e[u][n.fieldName],!1===e[u][n.fieldName].valid?n=!1:n=!!lt(n=n.fieldName)||!function(t,n,r){return U().some((function(e){return!st(e,n)&&ct(e,t,r)}))}($.ERRORS,u,n)&&!function(t,n){return it(F().filter((function(r){return!st(r,t)&&dt(r,n)})))}(u,n)&&function(t,n){return U().every((function(r){return!!st(r,t)||pt(r,n)}))}(u,n),r.valid=n),t}),n),n.valid=ft(),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)}function Et(t,n){function r(t){var n=et(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var e=n.fieldName,u=n.message;t[e]=t[e]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[e];return n.isNonActionable()||(t[e].testCount++,n.isFailing()?r($.ERRORS):n.isWarning()&&r($.WARNINGS)),o}function gt(t,n,r){var e;return(null===(e=null==t?void 0:t[r])||void 0===e?void 0:e[n])||[]}function Nt(t,n){var r,e={},u=et(n);for(r in t)a(t[r][u],0)&&(e[r]=t[r][n]||[]);return e}function mt(t){return Rt($.ERRORS,t)}function yt(t){return Rt($.WARNINGS,t)}function Rt(t,n){var r=vt().tests;return n?gt(r,t,n):Nt(r,t)}function bt(t,n){return Tt(t,$.ERRORS,n)}function St(t,n){return Tt(t,$.WARNINGS,n)}function Tt(t,n,r){return t=vt().groups[t],r?gt(t,n,r):Nt(t,n)}function Ot(t){return At(nt.ERROR_COUNT,t)}function Ct(t){return At(nt.WARN_COUNT,t)}function At(t,n){var r,e=vt();return a(n?null===(r=e.tests[n])||void 0===r?void 0:r[t]:e[t],0)}function It(t,n){return kt($.ERRORS,t,n)}function _t(t,n){return kt($.WARNINGS,t,n)}function kt(t,n,r){var e,u,i=vt();if(t=et(t),!(n=i.groups[n]))return!1;if(r)return a(null===(e=n[r])||void 0===e?void 0:e[t],0);for(var o in n)if(a(null===(u=n[o])||void 0===u?void 0:u[t],0))return!0;return!1}function Ft(t){var n=vt();return t?!!Ut(n.tests,t):n.valid}function Lt(t,n){if(!(t=vt().groups[t]))return!1;if(n)return Ut(t,n);for(var r in t)if(!Ut(t,r))return!1;return!0}function Ut(t,n){var r;return!(null===(r=t[n])||void 0===r||!r.valid)}var Gt=c(1);function Pt(){var t=U(),n={stateRef:O()};return Gt([t],T.bind(n,(function(){var t=ht(),n=O().suiteName()[0],r={summary:t};return i(t,{getErrors:T.bind(r,mt),getErrorsByGroup:T.bind(r,bt),getWarnings:T.bind(r,yt),getWarningsByGroup:T.bind(r,St),hasErrors:T.bind(r,Ot),hasErrorsByGroup:T.bind(r,It),hasWarnings:T.bind(r,Ct),hasWarningsByGroup:T.bind(r,_t),isValid:T.bind(r,Ft),isValidByGroup:T.bind(r,Lt),suiteName:n})})))}function Wt(t){var n=F();return!ut(n)&&(t?n.some((function(n){return ot(n,t)})):it(n))}var wt=c(20);function Dt(){var t=U(),n={stateRef:O()};return wt([t],T.bind(n,(function(){return i({},Pt(),{done:T.bind(n,jt)})})))}function xt(t,n,r){return!(l(t)&&(!n||r.tests[n]&&!ut(r.tests[n].testCount)))}function Xt(t){return!(Wt()&&(!t||Wt(t)))}function jt(){function t(){return e(Pt())}for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var e=(n=n.reverse())[0];return n=n[1],r=Dt(),xt(e,n,r)?r:Xt(n)?(t(),r):(Ht(t,n),r)}function Ht(t,n){(0,O().testCallbacks()[1])((function(r){return n?r.fieldCallbacks[n]=(r.fieldCallbacks[n]||[]).concat(t):r.doneCallbacks.push(t),r}))}function Kt(t){return t.forEach((function(t){return t()}))}function Mt(){var t=function(){var t={};return{emit:function(n,r){(t[n]||[]).forEach((function(t){t(r)}))},on:function(n,r){return t[n]=(t[n]||[]).concat(r),{off:function(){t[n]=(t[n]||[]).filter((function(t){return t!==r}))}}}}}();return t.on(Bt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var r=O().testCallbacks()[0].fieldCallbacks;n&&!Wt(n)&&Array.isArray(r[n])&&Kt(r[n]),Wt()||t.emit(Bt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Bt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){n[t.fieldName]&&(t.omit(),A(t.fieldName,(function(t){return[t[0],!0]})))}if(!ut(O().optionalFields()[0])){var n={};k((function(r){return h(r,(function(r){if(Object.prototype.hasOwnProperty.call(n,r.fieldName))t(r);else{var e=I(r.fieldName);l(e)&&(n[r.fieldName]=e(),t(r))}return r}))}))}}()})),t.on(Bt.ALL_RUNNING_TESTS_FINISHED,(function(){Kt(O().testCallbacks()[0].doneCallbacks)})),t.on(Bt.REMOVE_FIELD,(function(t){U().forEach((function(n){ot(n,t)&&(n.cancel(),function(t){k((function(n){return h(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Bt.RESET_FIELD,(function(t){U().forEach((function(n){ot(n,t)&&n.reset()}))})),t}function qt(){var t=T.useX();return q(t.bus),t.bus}var Bt,Vt=Bt||(Bt={});function Yt(t){return zt(0,"tests",t)}function Jt(t){return zt(1,"tests",t)}function zt(t,n,r){var u=T.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){e(r)&&(u.exclusion[n][r]=0===t)}))}function Qt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Zt(){var t,n=T.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function $t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function tn(t,n,r){if(r||2===arguments.length)for(var e,u=0,i=n.length;u<i;u++)!e&&u in n||(e||(e=Array.prototype.slice.call(n,0,u)),e[u]=n[u]);return t.concat(e||Array.prototype.slice.call(n))}function nn(t){var n=t.asyncTest,r=t.message;if(n&&l(n.then)){var u=qt().emit,i=O(),o=T.bind({stateRef:i},(function(){_(),u(Bt.TEST_COMPLETED,t)}));i=T.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=e(n)?n:r,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function rn(t){var n=O().testObjects()[0].prev;if(ut(n))return en(t),t;var r=Z();if(n=g(n,r)[v(r)],!Y(t.key)){n=t.key,(r=Q().keys.prev[n])&&(t=r),r=t;var e=Q().keys.current;return Y(e[n])?e[n]=r: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.")),en(t),t}return!it(r=n)||r.fieldName===t.fieldName&&r.groupName===t.groupName||(Q().type===N.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=Q().cursor.current();k((function(n){return n.splice(t),n}))}(),n=null),en(t=p(n,t)),t}function en(t){var n=Z();k((function(r){return g(r,n)[v(n)]=t,r}))}function un(t){var n=Q().cursor,r=y.EAGER;if(r=!(T.useX().mode[0]!==r||!at($.ERRORS,t.fieldName)))return t.skip(),rn(t),n.next(),t;if(r=rn(t),T.useX().omitted)return r.omit(),n.next(),r;if(function(t){var n=t.fieldName;if(t=t.groupName,T.useX().skipped)return!0;var r=T.useX(),e=r.exclusion;r=r.inclusion;var u=e.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){var o=T.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:Zt())return!0;if(!0===e.groups[t])return!(i||!Qt(u)&&!1!==u[n])}return!!(t=!!Zt()&&!t)||!i&&!!Qt(u)&&!d(r[n])}(t))return r.skip(!!T.useX().skipped),n.next(),r;if(t!==r&&r.fieldName===t.fieldName&&r.groupName===t.groupName&&r.isPending()&&r.cancel(),en(t),t.isUntested()){r=qt();var e=function(t){return T.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&l(e.then)?(t.asyncTest=e,t.setPending(),nn(t)):r.emit(Bt.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(r=t.asyncTest)&&l(r.then)&&(t.setPending(),nn(t));return n.next(),t}function on(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var u=l(n[1])?n:tn([void 0],n,!0);n=u[0],r=u[1],u=u[2],q(e(t),an("fieldName","string")),q(l(r),an("Test callback","function"));var i=T.useX();return un(n=new W(t,r,{message:n,groupName:i.groupName,key:u}))}Vt.TEST_COMPLETED="test_completed",Vt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Vt.REMOVE_FIELD="remove_field",Vt.RESET_FIELD="reset_field",Vt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Yt.group=function(t){return zt(0,"groups",t)},Jt.group=function(t){return zt(1,"groups",t)};var sn=i(on,{memo:function(t){var n=c(10);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Q().cursor.current();var i=(e=e.reverse())[0],o=e[1],s=e[2];return u=[O().suiteId()[0],r,u].concat(i),null===(e=n.get(u))?n(u,(function(){return t(r,s,o)})):e[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(r,s,o)}))):un(e[1])}}(on)});function an(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var cn="4.4.1";function fn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];t=t[1],q(l(e),"vest.create: Expected callback to be a function.");var u=Mt(),o=B();return t={stateRef:V(o,{suiteId:r(),suiteName:t}),bus:u},i(T.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.reset(),z({type:N.SUITE},(function(){e.apply(void 0,t)})),u.emit(Bt.SUITE_CALLBACK_DONE_RUNNING),Dt()})),{get:T.bind(t,Pt),remove:T.bind(t,(function(t){u.emit(Bt.REMOVE_FIELD,t)})),reset:o.reset,resetField:T.bind(t,(function(t){u.emit(Bt.RESET_FIELD,t)}))})}function ln(t,n){q(l(n),"each callback must be a function"),z({type:N.EACH},(function(){t.forEach((function(t,r){n(t,r)}))}))}function dn(){var t=y.EAGER;T.useX().mode[0]=t}function pn(t,n){q(e(t),$t("name must be a string")),q(l(n),$t("callback must be a function")),z({type:N.GROUP},(function(){T.run({groupName:t},n)}))}function vn(t){var n=T.useX(),r=n.inclusion;return n=n.exclusion,q(e(t)),r[t]=p(n.tests[t],!0),{when:function(n){var r=T.useX(),u=r.exclusion;r.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?p(u.tests[t],!0):e(n)?!!u.tests[n]:d(n,d(Pt))}}}}function hn(t,n){z({type:N.OMIT_WHEN},(function(){T.run({omitted:!!T.useX().omitted||d(t,d(Pt))},(function(){return n()}))}))}function En(t){if(Array.isArray(t)||e(t))[].concat(t).forEach((function(t){A(t,[!0,!1])}));else for(var n in t)A(n,[t[n],!1])}function gn(t,n){z({type:N.SKIP_WHEN},(function(){T.run({skipped:!!T.useX().skipped||d(t,d(Pt))},(function(){return n()}))}))}function Nn(){var t=T.useX("warn hook called outside of a running suite.");q(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{cn as VERSION,T as context,fn as create,ln as each,dn as eager,pn as group,vn as include,hn as omitWhen,Yt as only,En as optional,Jt as skip,gn as skipWhen,sn as test,Nn as warn};
|
|
1
|
+
import{createContext as t}from"context";import{isUndefined as n,isStringValue as e,assign as r,cache as i,optionalFunctionValue as u,nestedArray as o,asArray as s,genId as a,isFunction as c,isNullish as f,deferThrow as l,invariant as d,bindNot as p,either as v,isEmpty as E,isNotEmpty as N,isPositive as m,hasOwnProperty as h,isArray as g,callEach as y,bus as R,defaultTo as S,isPromise as C,isNull as T}from"vest-utils";export{enforce}from"n4s";var b,_=b||(b={});_[_.DEFAULT=0]="DEFAULT",_[_.SUITE=1]="SUITE",_[_.EACH=2]="EACH",_[_.SKIP_WHEN=3]="SKIP_WHEN",_[_.OMIT_WHEN=4]="OMIT_WHEN",_[_.GROUP=5]="GROUP";var I,O=I||(I={});function A(){var t=0;return{current:function(){return t},next:function(){t++}}}function k(t,n){return void 0===n&&(n=[]),{cursor:A(),keys:{current:{},prev:{}},path:n,type:t}}O[O.ALL=0]="ALL",O[O.EAGER=1]="EAGER";var L=t((function(t,n){return n?null:r({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:k(b.DEFAULT),mode:[I.ALL]},t)}));function F(){return L.useX().stateRef}function U(t){return F().optionalFields()[0][t]}function G(t,n){(0,F().optionalFields()[1])((function(e){var i;return r(e,((i={})[t]=u(n,e[t]),i))}))}function W(t){var n;return null===(n=U(t))||void 0===n?void 0:n[0]}function P(){D((function(t){return t}))}function D(t){(0,F().testObjects()[1])((function(n){return{prev:n.prev,current:s(t(n.current))}}))}function x(){return X().filter((function(t){return t.isPending()}))}var w=i();function X(){var t=F().testObjects()[0].current;return w([t],(function(){return o.flatten(t)}))}var H,K=H||(H={});K.Error="error",K.Warning="warning";var M=function(){function t(t,n,e){var r=void 0===e?{}:e;e=r.message;var i=r.groupName;r=r.key,this.key=null,this.id=a(),this.severity=H.Error,this.status=q,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(r){t=r,n(this.message)&&e(t)&&(this.message=r),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Q||(this.status=t)},t.prototype.warns=function(){return this.severity===H.Warning},t.prototype.setPending=function(){this.setStatus(J)},t.prototype.fail=function(){this.setStatus(this.warns()?j:V)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(Y)},t.prototype.warn=function(){this.severity=H.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(B)},t.prototype.cancel=function(){this.setStatus(z),P()},t.prototype.reset=function(){this.status=q,P()},t.prototype.omit=function(){this.setStatus(Q)},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(J)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(Q)},t.prototype.isUntested=function(){return this.statusEquals(q)},t.prototype.isFailing=function(){return this.statusEquals(V)},t.prototype.isCanceled=function(){return this.statusEquals(z)},t.prototype.isSkipped=function(){return this.statusEquals(B)},t.prototype.isPassing=function(){return this.statusEquals(Y)},t.prototype.isWarning=function(){return this.statusEquals(j)},t.prototype.statusEquals=function(t){return this.status===t},t}(),q="UNTESTED",B="SKIPPED",V="FAILED",j="WARNING",Y="PASSING",J="PENDING",z="CANCELED",Q="OMITTED";function Z(t){function n(t,n,i){return r.references.push(),e(t,u(n,i)),function(){return[r.references[t],function(n){return e(t,u(n,r.references[t]))}]}}function e(n,e){var u=r.references[n];r.references[n]=e,n=i[n][1],c(n)&&n(e,u),c(t)&&t()}var r={references:[]},i=[];return{registerStateKey:function(t,e){var r=i.length;return i.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],i.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function $(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 tt(t,n){t=void 0===(t=t.type)?b.DEFAULT:t,d(c(n));var e=k(t,et());return t=L.run({isolate:e},(function(){return e.keys.prev=function(){var t=F().testObjects()[0].prev;return s(o.getCurrent(t,et())).reduce((function(t,n){return n instanceof M&&!f(n.key)?(t[n.key]=n,t):t}),{})}(),D((function(t){return o.setValueAtPath(t,e.path,[])})),n()})),nt().cursor.next(),t}function nt(){return L.useX().isolate}function et(){var t=nt();return t.path.concat(t.cursor.current())}var rt,it=rt||(rt={});it.WARNINGS="warnings",it.ERRORS="errors";var ut,ot=ut||(ut={});function st(t){return t===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT}function at(t,n){return!(!n||t.fieldName!==n)}ot.ERROR_COUNT="errorCount",ot.WARN_COUNT="warnCount";var ct=p((function(t,n){return t.groupName===n}));function ft(t,n){return X().some((function(e){return lt(e,t,n)}))}function lt(t,n,e){return!(!t.hasFailures()||e&&!at(t,e)||v(n===rt.WARNINGS,t.warns()))}function dt(t){if(pt(t))return!0;if(ft(rt.ERRORS,t))return!1;var n=X();return!E(n)&&!function(t){return N(x().filter((function(n){return vt(n,t)})))}(t)&&function(t){return X().every((function(n){return!(!t||at(n,t))||Et(n,t)}))}(t)}function pt(t){return!!t&&!0===(null===(n=U(t))||void 0===n?void 0:n[1]);var n}function vt(t,n){return!(n&&!at(t,n))&&!0!==W(t.fieldName)}function Et(t,n){return!(!n||at(t,n))||(!0===W(t.fieldName)||t.isTested()||t.isOmitted())}function Nt(){var t=L.useX().summary;return d(t),t}function mt(){var t=X(),n=r({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=ht(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&dt(n.fieldName);var r=t.groups,i=n.groupName;return i&&(r[i]=r[i]||{},r[i][n.fieldName]=ht(r[i],n),e=r[i][n.fieldName],!1===r[i][n.fieldName].valid?n=!1:n=!!pt(n=n.fieldName)||!function(t,n,e){return X().some((function(r){return!ct(r,n)&<(r,t,e)}))}(rt.ERRORS,i,n)&&!function(t,n){return N(x().filter((function(e){return!ct(e,t)&&vt(e,n)})))}(i,n)&&function(t,n){return X().every((function(e){return!!ct(e,t)||Et(e,n)}))}(i,n),e.valid=n),t}),n),n.valid=dt(),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)}function ht(t,n){function e(t){var n=st(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var i=n.fieldName,u=n.message;t[i]=t[i]||r({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[i];return n.isNonActionable()||(t[i].testCount++,n.isFailing()?e(rt.ERRORS):n.isWarning()&&e(rt.WARNINGS)),o}function gt(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function yt(t,n){var e,r={},i=st(n);for(e in t)m(t[e][i])&&(r[e]=t[e][n]||[]);return r}function Rt(t){return Ct(rt.ERRORS,t)}function St(t){return Ct(rt.WARNINGS,t)}function Ct(t,n){var e=Nt().tests;return n?gt(e,t,n):yt(e,t)}function Tt(t,n){return _t(t,rt.ERRORS,n)}function bt(t,n){return _t(t,rt.WARNINGS,n)}function _t(t,n,e){return t=Nt().groups[t],e?gt(t,n,e):yt(t,n)}function It(t){return At(ut.ERROR_COUNT,t)}function Ot(t){return At(ut.WARN_COUNT,t)}function At(t,n){var e,r=Nt();return m(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t])}function kt(t,n){return Ft(rt.ERRORS,t,n)}function Lt(t,n){return Ft(rt.WARNINGS,t,n)}function Ft(t,n,e){var r,i,u=Nt();if(t=st(t),!(n=u.groups[n]))return!1;if(e)return m(null===(r=n[e])||void 0===r?void 0:r[t]);for(var o in n)if(m(null===(i=n[o])||void 0===i?void 0:i[t]))return!0;return!1}function Ut(t){var n=Nt();return t?!!Wt(n.tests,t):n.valid}function Gt(t,n){if(!(t=Nt().groups[t]))return!1;if(n)return Wt(t,n);for(var e in t)if(!Wt(t,e))return!1;return!0}function Wt(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}var Pt=i(1);function Dt(){var t=X(),n={stateRef:F()};return Pt([t],L.bind(n,(function(){var t=mt(),n=F().suiteName()[0],e={summary:t};return r(t,{getErrors:L.bind(e,Rt),getErrorsByGroup:L.bind(e,Tt),getWarnings:L.bind(e,St),getWarningsByGroup:L.bind(e,bt),hasErrors:L.bind(e,It),hasErrorsByGroup:L.bind(e,kt),hasWarnings:L.bind(e,Ot),hasWarningsByGroup:L.bind(e,Lt),isValid:L.bind(e,Ut),isValidByGroup:L.bind(e,Gt),suiteName:n})})))}function xt(t){var n=x();return!E(n)&&(t?n.some((function(n){return at(n,t)})):N(n))}var wt=i(20);function Xt(){var t=X(),n={stateRef:F()};return wt([t],L.bind(n,(function(){return r({},Dt(),{done:L.bind(n,Mt)})})))}function Ht(t,n,e){return!(c(t)&&(!n||e.tests[n]&&!E(e.tests[n].testCount)))}function Kt(t){return!(xt()&&(!t||xt(t)))}function Mt(){function t(){return r(Dt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=Xt(),Ht(r,n,e)?e:Kt(n)?(t(),e):(qt(t,n),e)}function qt(t,n){(0,F().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Bt(){var t=R.createBus();return t.on(jt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=F().testCallbacks()[0].fieldCallbacks;n&&!xt(n)&&g(e[n])&&y(e[n]),xt()||t.emit(jt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(jt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),G(t.fieldName,(function(t){return[t[0],!0]})))}var n=F().optionalFields()[0];if(!E(n)){var e={};D((function(n){return o.transform(n,(function(n){if(h(e,n.fieldName))t(n);else{var r=W(n.fieldName);c(r)&&(e[n.fieldName]=r(),t(n))}return n}))}))}}()})),t.on(jt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=F().testCallbacks()[0].doneCallbacks;y(t)})),t.on(jt.REMOVE_FIELD,(function(t){X().forEach((function(n){at(n,t)&&(n.cancel(),function(t){D((function(n){return o.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(jt.RESET_FIELD,(function(t){X().forEach((function(n){at(n,t)&&n.reset()}))})),t}function Vt(){var t=L.useX();return d(t.bus),t.bus}var jt,Yt=jt||(jt={});function Jt(t){return Qt(0,"tests",t)}function zt(t){return Qt(1,"tests",t)}function Qt(t,n,r){var i=L.useX("hook called outside of a running suite.");r&&s(r).forEach((function(r){e(r)&&(i.exclusion[n][r]=0===t)}))}function Zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function $t(){var t,n=L.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function tn(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function nn(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function en(t){var n=t.asyncTest,r=t.message;if(C(n)){var i=Vt().emit,u=F(),o=L.bind({stateRef:u},(function(){P(),i(jt.TEST_COMPLETED,t)}));u=L.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e(n)?n:r,t.fail(),o())}));try{n.then(o,u)}catch(t){u()}}}function rn(t){var n=F().testObjects()[0].prev;if(E(n))return un(t),t;var e=et();if(n=o.valueAtPath(n,e),!f(t.key)){n=t.key,(e=nt().keys.prev[n])&&(t=e),e=t;var r=nt().keys.current;return f(r[n])?r[n]=e:l('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),un(t),t}return!N(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(nt().type===b.EACH||l("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=nt().cursor.current();D((function(n){return n.splice(t),n}))}(),n=null),un(t=S(n,t)),t}function un(t){var n=et();D((function(e){return o.setValueAtPath(e,n,t)}))}function on(t){var n=nt().cursor,e=I.EAGER;if(L.useX().mode[0]===e&&ft(rt.ERRORS,t.fieldName))return t.skip(),rn(t),n.next(),t;if(e=rn(t),L.useX().omitted)return e.omit(),n.next(),e;if(function(t){var n=t.fieldName;if(t=t.groupName,L.useX().skipped)return!0;var e=L.useX(),r=e.exclusion;e=e.inclusion;var i=r.tests,o=i[n];if(!1===o)return!0;if(o=!0===o,t){var s=L.useX().exclusion.groups;if(s=h(s,t)?!1===s[t]:$t())return!0;if(!0===r.groups[t])return!(o||!Zt(i)&&!1!==i[n])}return!!(t=!!$t()&&!t)||!o&&!!Zt(i)&&!u(e[n])}(t))return e.skip(!!L.useX().skipped),n.next(),e;if(t!==e&&e.fieldName===t.fieldName&&e.groupName===t.groupName&&e.isPending()&&e.cancel(),un(t),t.isUntested()){e=Vt();var r=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{C(r)?(t.asyncTest=r,t.setPending(),en(t)):e.emit(jt.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 C(t.asyncTest)&&(t.setPending(),en(t));return n.next(),t}function sn(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=c(n[1])?n:nn([void 0],n,!0);n=i[0],r=i[1],i=i[2],d(e(t),ln("fieldName","string")),d(c(r),ln("Test callback","function"));var u=L.useX();return on(n=new M(t,r,{message:n,groupName:u.groupName,key:i}))}Yt.TEST_COMPLETED="test_completed",Yt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Yt.REMOVE_FIELD="remove_field",Yt.RESET_FIELD="reset_field",Yt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Jt.group=function(t){return Qt(0,"groups",t)},zt.group=function(t){return Qt(1,"groups",t)},p(e);var an,cn,fn=r(sn,{memo:(an=sn,cn=i(10),function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];e=nt().cursor.current();var r=(n=n.reverse())[0],i=n[1],u=n[2];return e=[F().suiteId()[0],t,e].concat(r),n=cn.get(e),T(n)?cn(e,(function(){return an(t,u,i)})):n[1].isCanceled()?(cn.invalidate(e),cn(e,(function(){return an(t,u,i)}))):on(n[1])})});function ln(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var dn="4.4.2-dev-ae93bf";function pn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];t=t[1],d(c(e),"vest.create: Expected callback to be a function.");var i=Bt(),u=Z();return t={stateRef:$(u,{suiteId:a(),suiteName:t}),bus:i},r(L.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return u.reset(),tt({type:b.SUITE},(function(){e.apply(void 0,t)})),i.emit(jt.SUITE_CALLBACK_DONE_RUNNING),Xt()})),{get:L.bind(t,Dt),remove:L.bind(t,(function(t){i.emit(jt.REMOVE_FIELD,t)})),reset:u.reset,resetField:L.bind(t,(function(t){i.emit(jt.RESET_FIELD,t)}))})}function vn(t,n){d(c(n),"each callback must be a function"),tt({type:b.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function En(){var t=I.EAGER;L.useX().mode[0]=t}function Nn(t,n){d(e(t),tn("name must be a string")),d(c(n),tn("callback must be a function")),tt({type:b.GROUP},(function(){L.run({groupName:t},n)}))}function mn(t){var n=L.useX(),r=n.inclusion;return n=n.exclusion,d(e(t)),r[t]=S(n.tests[t],!0),{when:function(n){var r=L.useX(),i=r.exclusion;r.inclusion[t]=function(){return h(i.tests,t)?S(i.tests[t],!0):e(n)?!!i.tests[n]:u(n,u(Dt))}}}}function hn(t,n){tt({type:b.OMIT_WHEN},(function(){L.run({omitted:!!L.useX().omitted||u(t,u(Dt))},(function(){return n()}))}))}function gn(t){if(g(t)||e(t))s(t).forEach((function(t){G(t,[!0,!1])}));else for(var n in t)G(n,[t[n],!1])}function yn(t,n){tt({type:b.SKIP_WHEN},(function(){L.run({skipped:!!L.useX().skipped||u(t,u(Dt))},(function(){return n()}))}))}function Rn(){var t=L.useX("warn hook called outside of a running suite.");d(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{dn as VERSION,L as context,pn as create,vn as each,En as eager,Nn as group,mn as include,hn as omitWhen,Jt as only,gn as optional,zt as skip,yn as skipWhen,fn as test,Rn as warn};
|
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.classnames = factory());
|
|
5
5
|
}(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
+
function isNumeric(value) {
|
|
8
|
+
var str = String(value);
|
|
9
|
+
var num = Number(value);
|
|
10
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
11
|
+
return Boolean(result);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function greaterThan(value, gt) {
|
|
15
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
function isFunction(value) {
|
|
8
19
|
return typeof value === 'function';
|
|
9
20
|
}
|
|
@@ -16,9 +27,9 @@
|
|
|
16
27
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
28
|
}
|
|
18
29
|
|
|
19
|
-
function defaultTo(
|
|
30
|
+
function defaultTo(value, defaultValue) {
|
|
20
31
|
var _a;
|
|
21
|
-
return (_a = optionalFunctionValue(
|
|
32
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
22
33
|
}
|
|
23
34
|
|
|
24
35
|
/**
|
|
@@ -42,17 +53,6 @@
|
|
|
42
53
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
43
54
|
}
|
|
44
55
|
|
|
45
|
-
function isNumeric(value) {
|
|
46
|
-
var str = String(value);
|
|
47
|
-
var num = Number(value);
|
|
48
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
49
|
-
return Boolean(result);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function greaterThan(value, gt) {
|
|
53
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
56
|
function isPositive(value) {
|
|
57
57
|
return greaterThan(value, 0);
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=n()}(this,(function(){function t(t){
|
|
1
|
+
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=n()}(this,(function(){function t(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function n(n,e){return t(n)&&t(e)&&Number(n)>Number(e)}function e(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return"function"==typeof t?t.apply(void 0,n):t}function r(t){function r(r,o){var i,u;return r=o?null===(i=t.tests[o])||void 0===i?void 0:i[r]:t[r],n(i=null!==(u=e(r))&&void 0!==u?u:e(0),0)}!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?e(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return r(u.ERROR_COUNT,t)},tested:function(e){return e?Object.prototype.hasOwnProperty.call(o,e)?o[e]:(o[e]=Object.prototype.hasOwnProperty.call(t.tests,e)&&n(t.tests[e].testCount,0),i.tested(e)):n(t.testCount,0)},untested:function(n){return 0===t.testCount||!i.tested(n)},valid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},warning:function(t){return r(u.WARN_COUNT,t)}};return i}var o,i,u;return(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),function(t,n){void 0===n&&(n={});var e=r(t);return function(t){var r,o=[];for(r in n){var i=r;"function"==typeof e[i]&&e[i](t)&&o.push(n[i])}return o.join(" ")}}}));
|