vest 4.4.0-dev-08ec91 → 4.4.2
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 +2 -2
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +16 -10
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +18 -30
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +8 -8
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +2 -2
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/vest.development.js +88 -112
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +2 -2
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +16 -10
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +18 -30
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +8 -8
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +2 -2
- package/dist/es/parser.production.js +1 -1
- package/dist/es/vest.development.js +88 -112
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +2 -2
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +31 -31
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +106 -110
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +39 -39
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +2 -2
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +111 -126
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -3
- package/testUtils/testObjects.ts +2 -17
- package/types/enforce/compose.d.ts +1 -1
- package/types/enforce/compounds.d.ts +1 -1
- package/types/enforce/schema.d.ts +1 -1
- package/types/vest.d.ts +14 -15
- package/testUtils/itWithContext.ts +0 -23
|
@@ -121,9 +121,9 @@ function optionalFunctionValue(value) {
|
|
|
121
121
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
function defaultTo(
|
|
124
|
+
function defaultTo(value, defaultValue) {
|
|
125
125
|
var _a;
|
|
126
|
-
return (_a = optionalFunctionValue(
|
|
126
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
function last(values) {
|
|
@@ -176,40 +176,6 @@ function getCurrent(array, path) {
|
|
|
176
176
|
return current;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
function createCursor() {
|
|
180
|
-
var storage = {
|
|
181
|
-
cursor: []
|
|
182
|
-
};
|
|
183
|
-
function addLevel() {
|
|
184
|
-
storage.cursor.push(0);
|
|
185
|
-
}
|
|
186
|
-
function removeLevel() {
|
|
187
|
-
storage.cursor.pop();
|
|
188
|
-
}
|
|
189
|
-
function cursorAt() {
|
|
190
|
-
return last(storage.cursor);
|
|
191
|
-
}
|
|
192
|
-
function getCursor() {
|
|
193
|
-
return asArray(storage.cursor);
|
|
194
|
-
}
|
|
195
|
-
function next() {
|
|
196
|
-
storage.cursor[storage.cursor.length - 1]++;
|
|
197
|
-
return last(storage.cursor);
|
|
198
|
-
}
|
|
199
|
-
function reset() {
|
|
200
|
-
storage.cursor = [0];
|
|
201
|
-
}
|
|
202
|
-
reset();
|
|
203
|
-
return {
|
|
204
|
-
addLevel: addLevel,
|
|
205
|
-
cursorAt: cursorAt,
|
|
206
|
-
getCursor: getCursor,
|
|
207
|
-
next: next,
|
|
208
|
-
removeLevel: removeLevel,
|
|
209
|
-
reset: reset
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
|
|
213
179
|
var IsolateTypes;
|
|
214
180
|
(function (IsolateTypes) {
|
|
215
181
|
IsolateTypes[IsolateTypes["DEFAULT"] = 0] = "DEFAULT";
|
|
@@ -226,6 +192,41 @@ var Modes;
|
|
|
226
192
|
Modes[Modes["EAGER"] = 1] = "EAGER";
|
|
227
193
|
})(Modes || (Modes = {}));
|
|
228
194
|
|
|
195
|
+
function createIsolateCursor() {
|
|
196
|
+
var cursor = {
|
|
197
|
+
value: 0
|
|
198
|
+
};
|
|
199
|
+
return {
|
|
200
|
+
current: current,
|
|
201
|
+
next: next
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* @returns {number} The current value of the cursor
|
|
205
|
+
*/
|
|
206
|
+
function current() {
|
|
207
|
+
return cursor.value;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Moves the isolate cursor forward by 1
|
|
211
|
+
*/
|
|
212
|
+
function next() {
|
|
213
|
+
cursor.value++;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
function generateIsolate(type, path) {
|
|
218
|
+
if (path === void 0) { path = []; }
|
|
219
|
+
return {
|
|
220
|
+
cursor: createIsolateCursor(),
|
|
221
|
+
keys: {
|
|
222
|
+
current: {},
|
|
223
|
+
prev: {}
|
|
224
|
+
},
|
|
225
|
+
path: path,
|
|
226
|
+
type: type
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
|
|
229
230
|
var context = createContext(function (ctxRef, parentContext) {
|
|
230
231
|
return parentContext
|
|
231
232
|
? null
|
|
@@ -235,15 +236,8 @@ var context = createContext(function (ctxRef, parentContext) {
|
|
|
235
236
|
groups: {}
|
|
236
237
|
},
|
|
237
238
|
inclusion: {},
|
|
238
|
-
isolate:
|
|
239
|
-
|
|
240
|
-
keys: {
|
|
241
|
-
current: {},
|
|
242
|
-
prev: {}
|
|
243
|
-
}
|
|
244
|
-
},
|
|
245
|
-
mode: [Modes.ALL],
|
|
246
|
-
testCursor: createCursor()
|
|
239
|
+
isolate: generateIsolate(IsolateTypes.DEFAULT),
|
|
240
|
+
mode: [Modes.ALL]
|
|
247
241
|
}, ctxRef);
|
|
248
242
|
});
|
|
249
243
|
|
|
@@ -569,30 +563,9 @@ function deferThrow(message) {
|
|
|
569
563
|
}, 0);
|
|
570
564
|
}
|
|
571
565
|
|
|
572
|
-
function usePath() {
|
|
573
|
-
var context$1 = context.useX();
|
|
574
|
-
return context$1.testCursor.getCursor();
|
|
575
|
-
}
|
|
576
|
-
function useCursorAt() {
|
|
577
|
-
var context$1 = context.useX();
|
|
578
|
-
return context$1.testCursor.cursorAt();
|
|
579
|
-
}
|
|
580
|
-
function moveForward() {
|
|
581
|
-
var context$1 = context.useX();
|
|
582
|
-
return context$1.testCursor.next();
|
|
583
|
-
}
|
|
584
|
-
function addLevel() {
|
|
585
|
-
var context$1 = context.useX();
|
|
586
|
-
context$1.testCursor.addLevel();
|
|
587
|
-
}
|
|
588
|
-
function removeLevel() {
|
|
589
|
-
var context$1 = context.useX();
|
|
590
|
-
context$1.testCursor.removeLevel();
|
|
591
|
-
}
|
|
592
|
-
|
|
593
566
|
function usePrevKeys() {
|
|
594
567
|
var prev = useTestObjects()[0].prev;
|
|
595
|
-
return asArray(getCurrent(prev,
|
|
568
|
+
return asArray(getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
|
|
596
569
|
if (!(testObject instanceof VestTest)) {
|
|
597
570
|
return prevKeys;
|
|
598
571
|
}
|
|
@@ -604,12 +577,11 @@ function usePrevKeys() {
|
|
|
604
577
|
}, {});
|
|
605
578
|
}
|
|
606
579
|
function usePrevTestByKey(key) {
|
|
607
|
-
var prev =
|
|
580
|
+
var prev = useIsolate().keys.prev;
|
|
608
581
|
return prev[key];
|
|
609
582
|
}
|
|
610
583
|
function useRetainTestKey(key, testObject) {
|
|
611
|
-
var
|
|
612
|
-
var current = context$1.isolate.keys.current;
|
|
584
|
+
var current = useIsolate().keys.current;
|
|
613
585
|
if (isNullish(current[key])) {
|
|
614
586
|
current[key] = testObject;
|
|
615
587
|
}
|
|
@@ -621,23 +593,42 @@ function useRetainTestKey(key, testObject) {
|
|
|
621
593
|
function isolate(_a, callback) {
|
|
622
594
|
var _b = _a.type, type = _b === void 0 ? IsolateTypes.DEFAULT : _b;
|
|
623
595
|
invariant(isFunction(callback));
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
return context.run({ isolate: { type: type, keys: keys } }, function () {
|
|
630
|
-
addLevel();
|
|
631
|
-
keys.prev = usePrevKeys();
|
|
632
|
-
useSetTests(function (tests) { return setValueAtPath(tests, path, []); });
|
|
596
|
+
// Generate a new Isolate layer, with its own cursor
|
|
597
|
+
var isolate = generateIsolate(type, useCurrentPath());
|
|
598
|
+
var output = context.run({ isolate: isolate }, function () {
|
|
599
|
+
isolate.keys.prev = usePrevKeys();
|
|
600
|
+
useSetTests(function (tests) { return setValueAtPath(tests, isolate.path, []); });
|
|
633
601
|
var res = callback();
|
|
634
|
-
removeLevel();
|
|
635
|
-
moveForward();
|
|
636
602
|
return res;
|
|
637
603
|
});
|
|
604
|
+
// Move the parent cursor forward once we're done
|
|
605
|
+
useCursor().next();
|
|
606
|
+
return output;
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* @returns {Isolate} The current isolate layer
|
|
610
|
+
*/
|
|
611
|
+
function useIsolate() {
|
|
612
|
+
return context.useX().isolate;
|
|
638
613
|
}
|
|
614
|
+
/**
|
|
615
|
+
* @returns {boolean} Whether or not the current isolate allows tests to be reordered
|
|
616
|
+
*/
|
|
639
617
|
function shouldAllowReorder() {
|
|
640
|
-
return
|
|
618
|
+
return useIsolate().type === IsolateTypes.EACH;
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* @returns {number[]} The current cursor path of the isolate tree
|
|
622
|
+
*/
|
|
623
|
+
function useCurrentPath() {
|
|
624
|
+
var isolate = useIsolate();
|
|
625
|
+
return isolate.path.concat(isolate.cursor.current());
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* @returns {IsolateCursor} The cursor object for the current isolate
|
|
629
|
+
*/
|
|
630
|
+
function useCursor() {
|
|
631
|
+
return useIsolate().cursor;
|
|
641
632
|
}
|
|
642
633
|
|
|
643
634
|
var Severity;
|
|
@@ -663,17 +654,10 @@ function hasOwnProperty(obj, key) {
|
|
|
663
654
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
664
655
|
}
|
|
665
656
|
|
|
666
|
-
function isNumber(value) {
|
|
667
|
-
return Boolean(typeof value === 'number');
|
|
668
|
-
}
|
|
669
|
-
|
|
670
657
|
function isEmpty(value) {
|
|
671
658
|
if (!value) {
|
|
672
659
|
return true;
|
|
673
660
|
}
|
|
674
|
-
else if (isNumber(value)) {
|
|
675
|
-
return value === 0;
|
|
676
|
-
}
|
|
677
661
|
else if (hasOwnProperty(value, 'length')) {
|
|
678
662
|
return lengthEquals(value, 0);
|
|
679
663
|
}
|
|
@@ -1593,9 +1577,7 @@ function eager() {
|
|
|
1593
1577
|
setMode(Modes.EAGER);
|
|
1594
1578
|
}
|
|
1595
1579
|
function shouldSkipBasedOnMode(testObject) {
|
|
1596
|
-
|
|
1597
|
-
return true;
|
|
1598
|
-
return false;
|
|
1580
|
+
return isEager() && hasErrorsByTestObjects(testObject.fieldName);
|
|
1599
1581
|
}
|
|
1600
1582
|
function isEager() {
|
|
1601
1583
|
return isMode(Modes.EAGER);
|
|
@@ -1659,7 +1641,7 @@ function optional(optionals) {
|
|
|
1659
1641
|
}
|
|
1660
1642
|
}
|
|
1661
1643
|
|
|
1662
|
-
|
|
1644
|
+
/******************************************************************************
|
|
1663
1645
|
Copyright (c) Microsoft Corporation.
|
|
1664
1646
|
|
|
1665
1647
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -1802,30 +1784,23 @@ function useTestAtCursor(newTestObject) {
|
|
|
1802
1784
|
return nextTest;
|
|
1803
1785
|
}
|
|
1804
1786
|
function removeAllNextTestsInIsolate() {
|
|
1805
|
-
var
|
|
1806
|
-
var prevTests = testObjects.prev;
|
|
1807
|
-
var current = getCurrent(prevTests, usePath());
|
|
1808
|
-
var cursorAt = useCursorAt();
|
|
1809
|
-
current.splice(cursorAt);
|
|
1787
|
+
var cursorAt = useCursor().current();
|
|
1810
1788
|
// We actually don't mind mutating the state directly (as can be seen above). There is no harm in it
|
|
1811
1789
|
// since we're only touching the "prev" state. The reason we still use the setter function is
|
|
1812
1790
|
// to prevent future headaches if we ever do need to rely on prev-state immutability.
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
return
|
|
1816
|
-
prev: prevTests,
|
|
1817
|
-
current: current
|
|
1818
|
-
});
|
|
1791
|
+
useSetTests(function (current) {
|
|
1792
|
+
current.splice(cursorAt);
|
|
1793
|
+
return current;
|
|
1819
1794
|
});
|
|
1820
1795
|
}
|
|
1821
1796
|
function useSetTestAtCursor(testObject) {
|
|
1822
|
-
var cursorPath =
|
|
1797
|
+
var cursorPath = useCurrentPath();
|
|
1823
1798
|
useSetTests(function (tests) {
|
|
1824
1799
|
return setValueAtPath(tests, cursorPath, testObject);
|
|
1825
1800
|
});
|
|
1826
1801
|
}
|
|
1827
1802
|
function useGetTestAtCursor(tests) {
|
|
1828
|
-
var cursorPath =
|
|
1803
|
+
var cursorPath = useCurrentPath();
|
|
1829
1804
|
return valueAtPath(tests, cursorPath);
|
|
1830
1805
|
}
|
|
1831
1806
|
function testReorderDetected(prevTest, newTest) {
|
|
@@ -1849,16 +1824,17 @@ function handleKeyTest(key, newTestObject) {
|
|
|
1849
1824
|
|
|
1850
1825
|
// eslint-disable-next-line max-statements
|
|
1851
1826
|
function registerPrevRunTest(testObject) {
|
|
1827
|
+
var cursor = useCursor();
|
|
1852
1828
|
if (shouldSkipBasedOnMode(testObject)) {
|
|
1853
1829
|
testObject.skip();
|
|
1854
1830
|
useTestAtCursor(testObject);
|
|
1855
|
-
|
|
1831
|
+
cursor.next();
|
|
1856
1832
|
return testObject;
|
|
1857
1833
|
}
|
|
1858
1834
|
var prevRunTest = useTestAtCursor(testObject);
|
|
1859
1835
|
if (isOmitted()) {
|
|
1860
1836
|
prevRunTest.omit();
|
|
1861
|
-
|
|
1837
|
+
cursor.next();
|
|
1862
1838
|
return prevRunTest;
|
|
1863
1839
|
}
|
|
1864
1840
|
if (isExcluded(testObject)) {
|
|
@@ -1867,13 +1843,13 @@ function registerPrevRunTest(testObject) {
|
|
|
1867
1843
|
// This mostly means that we're probably giving
|
|
1868
1844
|
// up on this async test intentionally.
|
|
1869
1845
|
prevRunTest.skip(isExcludedIndividually());
|
|
1870
|
-
|
|
1846
|
+
cursor.next();
|
|
1871
1847
|
return prevRunTest;
|
|
1872
1848
|
}
|
|
1873
1849
|
cancelOverriddenPendingTest(prevRunTest, testObject);
|
|
1874
1850
|
useSetTestAtCursor(testObject);
|
|
1875
|
-
moveForward();
|
|
1876
1851
|
registerTestObjectByTier(testObject);
|
|
1852
|
+
cursor.next();
|
|
1877
1853
|
return testObject;
|
|
1878
1854
|
}
|
|
1879
1855
|
function registerTestObjectByTier(testObject) {
|
|
@@ -1896,7 +1872,7 @@ function bindTestMemo(test) {
|
|
|
1896
1872
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
1897
1873
|
args[_i - 1] = arguments[_i];
|
|
1898
1874
|
}
|
|
1899
|
-
var cursorAt =
|
|
1875
|
+
var cursorAt = useCursor().current();
|
|
1900
1876
|
var _a = args.reverse(), deps = _a[0], testFn = _a[1], msg = _a[2];
|
|
1901
1877
|
// Implicit dependency for more specificity
|
|
1902
1878
|
var dependencies = [useSuiteId(), fieldName, cursorAt].concat(deps);
|
|
@@ -1958,6 +1934,6 @@ function warn() {
|
|
|
1958
1934
|
ctx.currentTest.warn();
|
|
1959
1935
|
}
|
|
1960
1936
|
|
|
1961
|
-
var VERSION = "4.4.
|
|
1937
|
+
var VERSION = "4.4.2";
|
|
1962
1938
|
|
|
1963
1939
|
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)}}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(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),a(r.length,t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return s(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 f=u((function(t){return null===t}));function l(t){return"function"==typeof t}function d(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return l(t)?t.apply(void 0,n):t}function p(t,n){var e;return null!==(e=d(t))&&void 0!==e?e:n}function v(t){return(t=[].concat(t))[t.length-1]}function h(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(h(u,n)):(u=n(u),f(u)&&e.push(u))}return e}function g(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(g(n)):[].concat(t).concat(n)}),[])}function E(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=p(t[r],[]),t=t[r]}return t}function N(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return v(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,v(n)},removeLevel:function(){n.pop()},reset:t}}var m,y=m||(m={});y[y.DEFAULT=0]="DEFAULT",y[y.SUITE=1]="SUITE",y[y.EACH=2]="EACH",y[y.SKIP_WHEN=3]="SKIP_WHEN",y[y.OMIT_WHEN=4]="OMIT_WHEN",y[y.GROUP=5]="GROUP";var R,b=R||(R={});b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var S=t((function(t,n){return n?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:m.DEFAULT,keys:{current:{},prev:{}}},mode:[R.ALL],testCursor:N()},t)}));function C(){return S.useX().stateRef}function O(t){return C().optionalFields()[0][t]}function T(t,n){(0,C().optionalFields()[1])((function(e){var r;return i(e,((r={})[t]=d(n,e[t]),r))}))}function A(t){var n;return null===(n=O(t))||void 0===n?void 0:n[0]}function I(){_((function(t){return t}))}function _(t){(0,C().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function k(){return F().filter((function(t){return t.isPending()}))}var L=c();function F(){var t=C().testObjects()[0].current;return L([t],(function(){return g(t)}))}var U,G=U||(U={});G.Error="error",G.Warning="warning";var P=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=U.Error,this.status=W,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!==K||(this.status=t)},t.prototype.warns=function(){return this.severity===U.Warning},t.prototype.setPending=function(){this.setStatus(j)},t.prototype.fail=function(){this.setStatus(this.warns()?D:w)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=U.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(X)},t.prototype.cancel=function(){this.setStatus(H),I()},t.prototype.reset=function(){this.status=W,I()},t.prototype.omit=function(){this.setStatus(K)},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(K)},t.prototype.isUntested=function(){return this.statusEquals(W)},t.prototype.isFailing=function(){return this.statusEquals(w)},t.prototype.isCanceled=function(){return this.statusEquals(H)},t.prototype.isSkipped=function(){return this.statusEquals(X)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(D)},t.prototype.statusEquals=function(t){return this.status===t},t}(),W="UNTESTED",X="SKIPPED",w="FAILED",D="WARNING",x="PASSING",j="PENDING",H="CANCELED",K="OMITTED";function M(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?d(n):n)}function q(t){function n(t,n,u){return r.references.push(),e(t,d(n,u)),function(){return[r.references[t],function(n){return e(t,d(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,l(n=u[n][1])&&n(e,i),l(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 B(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 V(t){return null==t}function Y(t){setTimeout((function(){throw Error(t)}),0)}function J(){return S.useX().testCursor.getCursor()}function z(){return S.useX().testCursor.next()}function Q(t,n){t=void 0===(t=t.type)?m.DEFAULT:t,M(l(n));var e={current:{},prev:{}},r=J();return S.run({isolate:{type:t,keys:e}},(function(){S.useX().testCursor.addLevel(),e.prev=function(){var t=C().testObjects()[0].prev;return[].concat(E(t,J())).reduce((function(t,n){return n instanceof P&&!V(n.key)?(t[n.key]=n,t):t}),{})}(),_((function(t){return E(t,r)[v(r)]=[],t}));var t=n();return S.useX().testCursor.removeLevel(),z(),t}))}var Z,$=Z||(Z={});$.WARNINGS="warnings",$.ERRORS="errors";var tt,nt=tt||(tt={});function et(t){return t===Z.ERRORS?tt.ERROR_COUNT:tt.WARN_COUNT}function rt(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))}nt.ERROR_COUNT="errorCount",nt.WARN_COUNT="warnCount";var ut=u(rt);function it(t,n){return!(!n||t.fieldName!==n)}var ot=u((function(t,n){return t.groupName===n}));function st(t,n){return F().some((function(e){return at(e,t,n)}))}function at(t,n,e){return(e=!t.hasFailures()||e&&!it(t,e))||(t=t.warns(),e=n===Z.WARNINGS!=!!t),!e}function ct(t){return!!ft(t)||!st(Z.ERRORS,t)&&(!rt(F())&&!function(t){return ut(k().filter((function(n){return lt(n,t)})))}(t)&&function(t){return F().every((function(n){return!(!t||it(n,t))||dt(n,t)}))}(t))}function ft(t){return!!t&&!0===(null===(n=O(t))||void 0===n?void 0:n[1]);var n}function lt(t,n){return!(n&&!it(t,n))&&!0!==A(t.fieldName)}function dt(t,n){return!(!n||it(t,n))||(!0===A(t.fieldName)||t.isTested()||t.isOmitted())}function pt(){var t=S.useX().summary;return M(t),t}function vt(){var t=F(),n=i({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&&ct(n.fieldName);var r=t.groups,u=n.groupName;return u&&(r[u]=r[u]||{},r[u][n.fieldName]=ht(r[u],n),e=r[u][n.fieldName],!1===r[u][n.fieldName].valid?n=!1:n=!!ft(n=n.fieldName)||!function(t,n,e){return F().some((function(r){return!ot(r,n)&&at(r,t,e)}))}(Z.ERRORS,u,n)&&!function(t,n){return ut(k().filter((function(e){return!ot(e,t)&<(e,n)})))}(u,n)&&function(t,n){return F().every((function(e){return!!ot(e,t)||dt(e,n)}))}(u,n),e.valid=n),t}),n),n.valid=ct(),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=et(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(Z.ERRORS):n.isWarning()&&e(Z.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 Et(t,n){var e,r={},u=et(n);for(e in t)a(t[e][u],0)&&(r[e]=t[e][n]||[]);return r}function Nt(t){return yt(Z.ERRORS,t)}function mt(t){return yt(Z.WARNINGS,t)}function yt(t,n){var e=pt().tests;return n?gt(e,t,n):Et(e,t)}function Rt(t,n){return St(t,Z.ERRORS,n)}function bt(t,n){return St(t,Z.WARNINGS,n)}function St(t,n,e){return t=pt().groups[t],e?gt(t,n,e):Et(t,n)}function Ct(t){return Tt(tt.ERROR_COUNT,t)}function Ot(t){return Tt(tt.WARN_COUNT,t)}function Tt(t,n){var e,r=pt();return a(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t],0)}function At(t,n){return _t(Z.ERRORS,t,n)}function It(t,n){return _t(Z.WARNINGS,t,n)}function _t(t,n,e){var r,u,i=pt();if(t=et(t),!(n=i.groups[n]))return!1;if(e)return a(null===(r=n[e])||void 0===r?void 0:r[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 kt(t){var n=pt();return t?!!Ft(n.tests,t):n.valid}function Lt(t,n){if(!(t=pt().groups[t]))return!1;if(n)return Ft(t,n);for(var e in t)if(!Ft(t,e))return!1;return!0}function Ft(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}var Ut=c(1);function Gt(){var t=F(),n={stateRef:C()};return Ut([t],S.bind(n,(function(){var t=vt(),n=C().suiteName()[0],e={summary:t};return i(t,{getErrors:S.bind(e,Nt),getErrorsByGroup:S.bind(e,Rt),getWarnings:S.bind(e,mt),getWarningsByGroup:S.bind(e,bt),hasErrors:S.bind(e,Ct),hasErrorsByGroup:S.bind(e,At),hasWarnings:S.bind(e,Ot),hasWarningsByGroup:S.bind(e,It),isValid:S.bind(e,kt),isValidByGroup:S.bind(e,Lt),suiteName:n})})))}function Pt(t){var n=k();return!rt(n)&&(t?n.some((function(n){return it(n,t)})):ut(n))}var Wt=c(20);function Xt(){var t=F(),n={stateRef:C()};return Wt([t],S.bind(n,(function(){return i({},Gt(),{done:S.bind(n,xt)})})))}function wt(t,n,e){return!(l(t)&&(!n||e.tests[n]&&!rt(e.tests[n].testCount)))}function Dt(t){return!(Pt()&&(!t||Pt(t)))}function xt(){function t(){return r(Gt())}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(),wt(r,n,e)?e:Dt(n)?(t(),e):(jt(t,n),e)}function jt(t,n){(0,C().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Ht(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(qt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=C().testCallbacks()[0].fieldCallbacks;n&&!Pt(n)&&Array.isArray(e[n])&&Ht(e[n]),Pt()||t.emit(qt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(qt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){n[t.fieldName]&&(t.omit(),T(t.fieldName,(function(t){return[t[0],!0]})))}if(!rt(C().optionalFields()[0])){var n={};_((function(e){return h(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))t(e);else{var r=A(e.fieldName);l(r)&&(n[e.fieldName]=r(),t(e))}return e}))}))}}()})),t.on(qt.ALL_RUNNING_TESTS_FINISHED,(function(){Ht(C().testCallbacks()[0].doneCallbacks)})),t.on(qt.REMOVE_FIELD,(function(t){F().forEach((function(n){it(n,t)&&(n.cancel(),function(t){_((function(n){return h(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(qt.RESET_FIELD,(function(t){F().forEach((function(n){it(n,t)&&n.reset()}))})),t}function Mt(){var t=S.useX();return M(t.bus),t.bus}var qt,Bt=qt||(qt={});function Vt(t){return Jt(0,"tests",t)}function Yt(t){return Jt(1,"tests",t)}function Jt(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 zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Qt(){var t,n=S.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Zt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function $t(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 tn(t){var n=t.asyncTest,e=t.message;if(n&&l(n.then)){var u=Mt().emit,i=C(),o=S.bind({stateRef:i},(function(){I(),u(qt.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 nn(t){var n=C().testObjects()[0].prev;if(rt(n))return en(t),t;var e=J();if(n=E(n,e)[v(e)],!V(t.key)){n=t.key,(e=S.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=S.useX().isolate.keys.current;return V(r[n])?r[n]=e:Y('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!ut(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(S.useX().isolate.type===m.EACH||Y("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=C().testObjects(),n=t[1],e=t[0].prev;t=E(e,J());var r=S.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),en(t=p(n,t)),t}function en(t){var n=J();_((function(e){return E(e,n)[v(n)]=t,e}))}function rn(t){var n=R.EAGER;if(n=!(S.useX().mode[0]!==n||!st(Z.ERRORS,t.fieldName)))return t.skip(),nn(t),z(),t;if(n=nn(t),S.useX().omitted)return n.omit(),z(),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){var o=S.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:Qt())return!0;if(!0===r.groups[t])return!(i||!zt(u)&&!1!==u[n])}return!!(t=!!Qt()&&!t)||!i&&!!zt(u)&&!d(e[n])}(t))return n.skip(!!S.useX().skipped),z(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),en(t),z(),t.isUntested()){n=Mt();var e=function(t){return S.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&l(e.then)?(t.asyncTest=e,t.setPending(),tn(t)):n.emit(qt.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)&&l(n.then)&&(t.setPending(),tn(t));return t}function un(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:$t([void 0],n,!0);n=u[0],e=u[1],u=u[2],M(r(t),sn("fieldName","string")),M(l(e),sn("Test callback","function"));var i=S.useX();return rn(n=new P(t,e,{message:n,groupName:i.groupName,key:u}))}Bt.TEST_COMPLETED="test_completed",Bt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Bt.REMOVE_FIELD="remove_field",Bt.RESET_FIELD="reset_field",Bt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Vt.group=function(t){return Jt(0,"groups",t)},Yt.group=function(t){return Jt(1,"groups",t)};var on=i(un,{memo:function(t){var n=c(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)}))):rn(r[1])}}(un)});function sn(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var an="4.4.0-dev-08ec91";function cn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],M(l(r),"vest.create: Expected callback to be a function.");var u=Kt(),o=q();return t={stateRef:B(o,{suiteId:e(),suiteName:t}),bus:u},i(S.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.reset(),Q({type:m.SUITE},(function(){r.apply(void 0,t)})),u.emit(qt.SUITE_CALLBACK_DONE_RUNNING),Xt()})),{get:S.bind(t,Gt),remove:S.bind(t,(function(t){u.emit(qt.REMOVE_FIELD,t)})),reset:o.reset,resetField:S.bind(t,(function(t){u.emit(qt.RESET_FIELD,t)}))})}function fn(t,n){M(l(n),"each callback must be a function"),Q({type:m.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function ln(){var t=R.EAGER;S.useX().mode[0]=t}function dn(t,n){M(r(t),Zt("name must be a string")),M(l(n),Zt("callback must be a function")),Q({type:m.GROUP},(function(){S.run({groupName:t},n)}))}function pn(t){var n=S.useX(),e=n.inclusion;return n=n.exclusion,M(r(t)),e[t]=p(n.tests[t],!0),{when:function(n){var e=S.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?p(u.tests[t],!0):r(n)?!!u.tests[n]:d(n,d(Gt))}}}}function vn(t,n){Q({type:m.OMIT_WHEN},(function(){S.run({omitted:!!S.useX().omitted||d(t,d(Gt))},(function(){return n()}))}))}function hn(t){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){T(t,[!0,!1])}));else for(var n in t)T(n,[t[n],!1])}function gn(t,n){Q({type:m.SKIP_WHEN},(function(){S.run({skipped:!!S.useX().skipped||d(t,d(Gt))},(function(){return n()}))}))}function En(){var t=S.useX("warn hook called outside of a running suite.");M(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{an as VERSION,S as context,cn as create,fn as each,ln as eager,dn as group,pn as include,vn as omitWhen,Vt as only,hn as optional,Yt as skip,gn as skipWhen,on as test,En as warn};
|
|
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:d(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||(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(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.2";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};
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
function defaultTo(
|
|
19
|
+
function defaultTo(value, defaultValue) {
|
|
20
20
|
var _a;
|
|
21
|
-
return (_a = optionalFunctionValue(
|
|
21
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -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){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 n(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function e(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}function r(n){function r(r,o){var i,u;return r=o?null===(i=n.tests[o])||void 0===i?void 0:i[r]:n[r],e(i=null!==(u=t(r))&&void 0!==u?u:0,0)}!function(n,e){if(!n)throw e instanceof String?e.valueOf():Error(e?t(e):e)}(n&&Object.prototype.hasOwnProperty.call(n,"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(t){return t?Object.prototype.hasOwnProperty.call(o,t)?o[t]:(o[t]=Object.prototype.hasOwnProperty.call(n.tests,t)&&e(n.tests[t].testCount,0),i.tested(t)):e(n.testCount,0)},untested:function(t){return 0===n.testCount||!i.tested(t)},valid:function(t){var e;return t?!(null===(e=n.tests[t])||void 0===e||!e.valid):n.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(" ")}}}));
|
|
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){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 n(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function e(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}function r(n){function r(r,o){var i,u;return r=o?null===(i=n.tests[o])||void 0===i?void 0:i[r]:n[r],e(i=null!==(u=t(r))&&void 0!==u?u:t(0),0)}!function(n,e){if(!n)throw e instanceof String?e.valueOf():Error(e?t(e):e)}(n&&Object.prototype.hasOwnProperty.call(n,"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(t){return t?Object.prototype.hasOwnProperty.call(o,t)?o[t]:(o[t]=Object.prototype.hasOwnProperty.call(n.tests,t)&&e(n.tests[t].testCount,0),i.tested(t)):e(n.testCount,0)},untested:function(t){return 0===n.testCount||!i.tested(t)},valid:function(t){var e;return t?!(null===(e=n.tests[t])||void 0===e||!e.valid):n.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(" ")}}}));
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory());
|
|
5
5
|
}(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
+
var assign = Object.assign;
|
|
8
|
+
|
|
7
9
|
function isFunction(value) {
|
|
8
10
|
return typeof value === 'function';
|
|
9
11
|
}
|
|
@@ -29,6 +31,10 @@
|
|
|
29
31
|
? message.valueOf()
|
|
30
32
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
31
33
|
}
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
35
|
+
function StringObject(value) {
|
|
36
|
+
return new String(optionalFunctionValue(value));
|
|
37
|
+
}
|
|
32
38
|
|
|
33
39
|
function mapFirst(array, callback) {
|
|
34
40
|
var broke = false;
|
|
@@ -39,14 +45,14 @@
|
|
|
39
45
|
return breakoutValue;
|
|
40
46
|
}
|
|
41
47
|
}
|
|
42
|
-
function breakout(value) {
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
function breakout(conditional, value) {
|
|
49
|
+
if (conditional) {
|
|
50
|
+
broke = true;
|
|
51
|
+
breakoutValue = value;
|
|
52
|
+
}
|
|
45
53
|
}
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
var assign = Object.assign;
|
|
49
|
-
|
|
50
56
|
function bindNot(fn) {
|
|
51
57
|
return function () {
|
|
52
58
|
var args = [];
|
|
@@ -158,11 +164,6 @@
|
|
|
158
164
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
159
165
|
}
|
|
160
166
|
|
|
161
|
-
function isNumber(value) {
|
|
162
|
-
return Boolean(typeof value === 'number');
|
|
163
|
-
}
|
|
164
|
-
var isNotNumber = bindNot(isNumber);
|
|
165
|
-
|
|
166
167
|
function lengthEquals(value, arg1) {
|
|
167
168
|
return numberEquals(value.length, arg1);
|
|
168
169
|
}
|
|
@@ -172,9 +173,6 @@
|
|
|
172
173
|
if (!value) {
|
|
173
174
|
return true;
|
|
174
175
|
}
|
|
175
|
-
else if (isNumber(value)) {
|
|
176
|
-
return value === 0;
|
|
177
|
-
}
|
|
178
176
|
else if (hasOwnProperty(value, 'length')) {
|
|
179
177
|
return lengthEquals(value, 0);
|
|
180
178
|
}
|
|
@@ -209,6 +207,11 @@
|
|
|
209
207
|
return lessThan(value, 0);
|
|
210
208
|
}
|
|
211
209
|
|
|
210
|
+
function isNumber(value) {
|
|
211
|
+
return Boolean(typeof value === 'number');
|
|
212
|
+
}
|
|
213
|
+
var isNotNumber = bindNot(isNumber);
|
|
214
|
+
|
|
212
215
|
/**
|
|
213
216
|
* Validates that a given value is an odd number
|
|
214
217
|
*/
|
|
@@ -367,9 +370,9 @@
|
|
|
367
370
|
}
|
|
368
371
|
}
|
|
369
372
|
|
|
370
|
-
function defaultTo(
|
|
373
|
+
function defaultTo(value, defaultValue) {
|
|
371
374
|
var _a;
|
|
372
|
-
return (_a = optionalFunctionValue(
|
|
375
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
373
376
|
}
|
|
374
377
|
|
|
375
378
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -382,8 +385,9 @@
|
|
|
382
385
|
useX: useX
|
|
383
386
|
};
|
|
384
387
|
function useX(errorMessage) {
|
|
385
|
-
|
|
386
|
-
|
|
388
|
+
var ctx = use();
|
|
389
|
+
invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
390
|
+
return ctx;
|
|
387
391
|
}
|
|
388
392
|
function run(ctxRef, fn) {
|
|
389
393
|
var _a;
|
|
@@ -453,7 +457,7 @@
|
|
|
453
457
|
return null;
|
|
454
458
|
}
|
|
455
459
|
|
|
456
|
-
|
|
460
|
+
/******************************************************************************
|
|
457
461
|
Copyright (c) Microsoft Corporation.
|
|
458
462
|
|
|
459
463
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -549,12 +553,12 @@
|
|
|
549
553
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
550
554
|
args[_i] = arguments[_i];
|
|
551
555
|
}
|
|
552
|
-
var transformedResult =
|
|
553
|
-
ruleName,
|
|
554
|
-
|
|
555
|
-
invariant(transformedResult.pass,
|
|
556
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
557
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
558
|
+
});
|
|
559
|
+
invariant(transformedResult.pass, isNullish(transformedResult.message)
|
|
556
560
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
557
|
-
:
|
|
561
|
+
: StringObject(transformedResult.message));
|
|
558
562
|
return target;
|
|
559
563
|
};
|
|
560
564
|
}
|
|
@@ -582,9 +586,7 @@
|
|
|
582
586
|
return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
|
|
583
587
|
var _a;
|
|
584
588
|
var res = ctx.run({ value: value }, function () { return rule(value); });
|
|
585
|
-
|
|
586
|
-
breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
587
|
-
}
|
|
589
|
+
breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
588
590
|
}));
|
|
589
591
|
},
|
|
590
592
|
test: function (value) { return proxy.run(value).pass; },
|
|
@@ -690,9 +692,9 @@
|
|
|
690
692
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
691
693
|
composites[_i] = arguments[_i];
|
|
692
694
|
}
|
|
693
|
-
return
|
|
695
|
+
return assign(function (value) {
|
|
694
696
|
var res = run(value);
|
|
695
|
-
invariant(res.pass,
|
|
697
|
+
invariant(res.pass, StringObject(res.message));
|
|
696
698
|
}, {
|
|
697
699
|
run: run,
|
|
698
700
|
test: function (value) { return run(value).pass; }
|
|
@@ -706,9 +708,7 @@
|
|
|
706
708
|
so we're limiting it to a small set of functions.
|
|
707
709
|
*/
|
|
708
710
|
var res = runLazyRule(composite, value);
|
|
709
|
-
|
|
710
|
-
breakout(res);
|
|
711
|
-
}
|
|
711
|
+
breakout(!res.pass, res);
|
|
712
712
|
}));
|
|
713
713
|
});
|
|
714
714
|
}
|
|
@@ -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=
|
|
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,t){n&&(e=!0,u=t)}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 v(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function h(n,t){return v(n,t)||p(n,t)}function g(n){return!!Array.isArray(n)}function N(n,t){return!!(g(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 v(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 E(n,t){return v(n.length,t)}function x(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?E(n,0):"object"==typeof n&&E(Object.keys(n),0))}function w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return"number"==typeof 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 an){var e=an[r];n(e)&&t(r,e)}}function W(n,r){var e;return null!==(e=t(n))&&void 0!==e?e:t(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 e(e,u,i){return function(){for(var o=[],f=0;f<arguments.length;f++)o[f]=arguments[f];return r((f=cn.run({value:n},(function(){return K.apply(void 0,F([u.apply(void 0,F([n],o,!1)),i,n],o,!1))}))).pass,s(f.message)?"enforce/".concat(i," failed with ").concat(JSON.stringify(n)):new String(t(f.message))),e}}var u={};if(!I())return P((function(n,t){u[n]=e(u,t,n)})),u;var i=new Proxy(u,{get:function(n,t){if(n=an[t])return e(i,n,t)}});return i}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=an[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=cn.run({value:n},(function(){return e(n)}));u(!o.pass,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 an[r]?n(r):t[r]}}):(P((function(t){a[t]=n(t)})),a)}}(n)}var V=Object.assign,X=u(i),z=u(o),C=u(s),M=u(a),D=u(c),G=u(l),H=u(v),L=u(g),Q=u(N),Y=u(m),Z=u(b),$=u(O),_=u(E),nn=u(x),tn=u(w),rn=u(T),en=u(q),un=u(f),on=u(S),sn=u(j),fn=u(A),an={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:M,doesNotStartWith:u(B),endsWith:a,equals:c,greaterThan:p,greaterThanOrEquals:h,gt:p,gte:h,inside:N,isArray:g,isBetween:m,isBlank:b,isBoolean:O,isEmpty:x,isEven:function(n){return!!l(n)&&0==n%2},isFalsy:on,isKeyOf:w,isNaN:T,isNegative:function(n){return y(n,0)},isNotArray:L,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:nn,isNotKeyOf:tn,isNotNaN:rn,isNotNull:X,isNotNullish:C,isNotNumber:en,isNotNumeric:G,isNotString:un,isNotUndefined:z,isNotValueOf:sn,isNull:i,isNullish:s,isNumber:q,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:_,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:D,notInside:Q,notMatches:fn,numberEquals:v,numberNotEquals:H,shorterThan:function(n,t){return y(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:B},cn=function(n){function e(r,e){var o,s,f=u();return r=V({},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){var t=u();return r(t,W(n,"Context was used after it was closed")),t}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?V(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:V(r,{parent:k})}));return function(){function n(){if(!I())return P((function(n){t[n]=U(n)})),V(R,t)}var t={context:function(){return cn.useX()},extend:function(t){V(an,t),n()}};n(),new Proxy(V(R,t),{get:function(n,t){return t in n?n[t]:an[t]?U(t):void 0}})}(),function(){function n(n){return cn.run({value:n},(function(){return W(e(u,(function(t,r){try{var e=t.run(n)}catch(n){e=J(!1)}r(!e.pass,e)})),J(!0))}))}for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return V((function(e){r((e=n(e)).pass,new String(t(e.message)))}),{run:n,test:function(t){return n(t).pass}})}}));
|