vest 4.4.3-dev-c786f7 → 4.5.0-dev-9b46fb
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 +13 -36
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +1 -1
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +1 -1
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +1 -1
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +13 -36
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/vest.development.js +88 -94
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +14 -37
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -1
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +1 -1
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -1
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +14 -37
- package/dist/es/parser.production.js +1 -1
- package/dist/es/vest.development.js +89 -96
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +16 -45
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +17 -0
- package/dist/umd/enforce/compounds.development.js +68 -51
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +17 -0
- package/dist/umd/parser.development.js +16 -45
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +106 -95
- package/dist/umd/vest.production.js +1 -1
- package/package.json +4 -4
- package/types/enforce/compose.d.ts +2 -1
- package/types/enforce/compounds.d.ts +2 -1
- package/types/enforce/schema.d.ts +2 -1
- package/types/parser.d.ts +8 -7
- package/types/promisify.d.ts +20 -35
- package/types/vest.d.ts +45 -60
|
@@ -1,58 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var vestUtils = require('vest-utils');
|
|
4
|
+
var vest = require('vest');
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})(Severity || (Severity = {}));
|
|
10
|
-
var SeverityCount;
|
|
11
|
-
(function (SeverityCount) {
|
|
12
|
-
SeverityCount["ERROR_COUNT"] = "errorCount";
|
|
13
|
-
SeverityCount["WARN_COUNT"] = "warnCount";
|
|
14
|
-
})(SeverityCount || (SeverityCount = {}));
|
|
15
|
-
|
|
16
|
-
// eslint-disable-next-line max-lines-per-function
|
|
17
|
-
function parse(res) {
|
|
18
|
-
vestUtils.invariant(res && vestUtils.hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
6
|
+
// eslint-disable-next-line max-statements
|
|
7
|
+
function parse(summary) {
|
|
8
|
+
vestUtils.invariant(summary && vestUtils.hasOwnProperty(summary, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
9
|
+
var sel = vest.suiteSelectors(summary);
|
|
19
10
|
var testedStorage = {};
|
|
20
11
|
var selectors = {
|
|
21
|
-
invalid: hasErrors,
|
|
12
|
+
invalid: sel.hasErrors,
|
|
22
13
|
tested: isTested,
|
|
23
14
|
untested: isUntested,
|
|
24
|
-
valid: isValid,
|
|
25
|
-
warning: hasWarnings
|
|
15
|
+
valid: sel.isValid,
|
|
16
|
+
warning: sel.hasWarnings
|
|
26
17
|
};
|
|
27
18
|
return selectors;
|
|
19
|
+
// Booleans
|
|
28
20
|
function isTested(fieldName) {
|
|
29
21
|
if (!fieldName) {
|
|
30
|
-
return vestUtils.isPositive(
|
|
22
|
+
return vestUtils.isPositive(summary.testCount);
|
|
31
23
|
}
|
|
32
24
|
if (vestUtils.hasOwnProperty(testedStorage, fieldName))
|
|
33
25
|
return testedStorage[fieldName];
|
|
34
26
|
testedStorage[fieldName] =
|
|
35
|
-
vestUtils.hasOwnProperty(
|
|
36
|
-
vestUtils.isPositive(
|
|
27
|
+
vestUtils.hasOwnProperty(summary.tests, fieldName) &&
|
|
28
|
+
vestUtils.isPositive(summary.tests[fieldName].testCount);
|
|
37
29
|
return selectors.tested(fieldName);
|
|
38
30
|
}
|
|
39
31
|
function isUntested(fieldName) {
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
function isValid(fieldName) {
|
|
43
|
-
var _a;
|
|
44
|
-
return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
|
|
45
|
-
}
|
|
46
|
-
function hasWarnings(fieldName) {
|
|
47
|
-
return hasFailures(SeverityCount.WARN_COUNT, fieldName);
|
|
48
|
-
}
|
|
49
|
-
function hasErrors(fieldName) {
|
|
50
|
-
return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
|
|
51
|
-
}
|
|
52
|
-
function hasFailures(countKey, fieldName) {
|
|
53
|
-
var _a;
|
|
54
|
-
var failureCount = vestUtils.defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
|
|
55
|
-
return vestUtils.isPositive(failureCount);
|
|
32
|
+
return !(vestUtils.isPositive(summary.testCount) && selectors.tested(fieldName));
|
|
56
33
|
}
|
|
57
34
|
}
|
|
58
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t
|
|
1
|
+
"use strict";var t=require("vest-utils"),e=require("vest");module.exports=function(s,r){void 0===r&&(r={});var i=function(s){t.invariant(s&&t.hasOwnProperty(s,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var r=e.suiteSelectors(s),i={},n={invalid:r.hasErrors,tested:function(e){return e?t.hasOwnProperty(i,e)?i[e]:(i[e]=t.hasOwnProperty(s.tests,e)&&t.isPositive(s.tests[e].testCount),n.tested(e)):t.isPositive(s.testCount)},untested:function(e){return!(t.isPositive(s.testCount)&&n.tested(e))},valid:r.isValid,warning:r.hasWarnings};return n}(s);return function(e){var s,n=[];for(s in r){var o=s;t.isFunction(i[o])&&i[o](e)&&n.push(r[o])}return n.join(" ")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=require("
|
|
1
|
+
"use strict";var n=require("vest-utils"),t=require("n4s");function r(n,t){return n={pass:n},t&&(n.message=t),n}function u(t){return n.defaultTo(t,r(!0))}function e(n,t){try{return n.run(t)}catch(n){return r(!1)}}module.exports=function(){function r(r){return t.ctx.run({value:r},(function(){return u(n.mapFirst(s,(function(n,t){t(!(n=e(n,r)).pass,n)})))}))}for(var s=[],i=0;i<arguments.length;i++)s[i]=arguments[i];return n.assign((function(t){t=r(t),n.invariant(t.pass,n.StringObject(t.message))}),{run:r,test:function(n){return r(n).pass}})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=require("
|
|
1
|
+
"use strict";var n=require("vest-utils"),r=require("n4s");function t(n,r){return n={pass:n},r&&(n.message=r),n}function e(){return t(!1)}function u(r){return n.defaultTo(r,e())}function f(r){return n.defaultTo(r,t(!0))}function o(n,r){try{return n.run(r)}catch(n){return e()}}function i(n,r){return n===r}n.bindNot(i);r.enforce.extend({allOf:function(r){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return f(n.mapFirst(t,(function(n,t){t(!(n=o(n,r)).pass,n)})))},anyOf:function(r){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return u(n.mapFirst(t,(function(n,t){t((n=o(n,r)).pass,n)})))},noneOf:function(r){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return f(n.mapFirst(t,(function(n,t){t((n=o(n,r)).pass,e())})))},oneOf:function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];var f=0;return e.some((function(t){if(o(t,r).pass&&f++,n.greaterThan(f,1))return!1})),t(i(f,1))}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("vest-utils"),n=require("n4s");function e(r,n){return r={pass:r},n&&(r.message=n),r}function t(){return e(!1)}function u(){return e(!0)}function i(r,n){try{return r.run(n)}catch(r){return t()}}function o(r,e){var t,o=function(t){var u=r[t],o=e[t];if(!(t=n.ctx.run({value:u,set:!0,meta:{key:t}},(function(){return i(o,u)}))).pass)return{value:t}};for(t in e){var a=o(t);if("object"==typeof a)return a.value}return u()}n.enforce.extend({isArrayOf:function(e,t){return function(n){return r.defaultTo(n,u())}(r.mapFirst(e,(function(r,e,u){e(!(u=n.ctx.run({value:r,set:!0,meta:{index:u}},(function(){return i(t,r)}))).pass,u)})))},loose:o,optional:function(n,e){return r.isNullish(n)?u():i(e,n)},shape:function(n,e){var i=o(n,e);if(!i.pass)return i;for(var a in n)if(!r.hasOwnProperty(e,a))return t();return u()}}),exports.partial=function(r){var e,t={};for(e in r)t[e]=n.enforce.optional(r[e]);return t};
|
|
@@ -2,59 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vest = require('vest');
|
|
5
6
|
var vestUtils = require('vest-utils');
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
})(Severity || (Severity = {}));
|
|
12
|
-
var SeverityCount;
|
|
13
|
-
(function (SeverityCount) {
|
|
14
|
-
SeverityCount["ERROR_COUNT"] = "errorCount";
|
|
15
|
-
SeverityCount["WARN_COUNT"] = "warnCount";
|
|
16
|
-
})(SeverityCount || (SeverityCount = {}));
|
|
17
|
-
|
|
18
|
-
// eslint-disable-next-line max-lines-per-function
|
|
19
|
-
function parse(res) {
|
|
20
|
-
vestUtils.invariant(res && vestUtils.hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
8
|
+
// eslint-disable-next-line max-statements
|
|
9
|
+
function parse(summary) {
|
|
10
|
+
vestUtils.invariant(summary && vestUtils.hasOwnProperty(summary, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
11
|
+
var sel = vest.suiteSelectors(summary);
|
|
21
12
|
var testedStorage = {};
|
|
22
13
|
var selectors = {
|
|
23
|
-
invalid: hasErrors,
|
|
14
|
+
invalid: sel.hasErrors,
|
|
24
15
|
tested: isTested,
|
|
25
16
|
untested: isUntested,
|
|
26
|
-
valid: isValid,
|
|
27
|
-
warning: hasWarnings
|
|
17
|
+
valid: sel.isValid,
|
|
18
|
+
warning: sel.hasWarnings
|
|
28
19
|
};
|
|
29
20
|
return selectors;
|
|
21
|
+
// Booleans
|
|
30
22
|
function isTested(fieldName) {
|
|
31
23
|
if (!fieldName) {
|
|
32
|
-
return vestUtils.isPositive(
|
|
24
|
+
return vestUtils.isPositive(summary.testCount);
|
|
33
25
|
}
|
|
34
26
|
if (vestUtils.hasOwnProperty(testedStorage, fieldName))
|
|
35
27
|
return testedStorage[fieldName];
|
|
36
28
|
testedStorage[fieldName] =
|
|
37
|
-
vestUtils.hasOwnProperty(
|
|
38
|
-
vestUtils.isPositive(
|
|
29
|
+
vestUtils.hasOwnProperty(summary.tests, fieldName) &&
|
|
30
|
+
vestUtils.isPositive(summary.tests[fieldName].testCount);
|
|
39
31
|
return selectors.tested(fieldName);
|
|
40
32
|
}
|
|
41
33
|
function isUntested(fieldName) {
|
|
42
|
-
return
|
|
43
|
-
}
|
|
44
|
-
function isValid(fieldName) {
|
|
45
|
-
var _a;
|
|
46
|
-
return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
|
|
47
|
-
}
|
|
48
|
-
function hasWarnings(fieldName) {
|
|
49
|
-
return hasFailures(SeverityCount.WARN_COUNT, fieldName);
|
|
50
|
-
}
|
|
51
|
-
function hasErrors(fieldName) {
|
|
52
|
-
return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
|
|
53
|
-
}
|
|
54
|
-
function hasFailures(countKey, fieldName) {
|
|
55
|
-
var _a;
|
|
56
|
-
var failureCount = vestUtils.defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
|
|
57
|
-
return vestUtils.isPositive(failureCount);
|
|
34
|
+
return !(vestUtils.isPositive(summary.testCount) && selectors.tested(fieldName));
|
|
58
35
|
}
|
|
59
36
|
}
|
|
60
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("vest"),e=require("vest-utils");exports.parse=function(s){e.invariant(s&&e.hasOwnProperty(s,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var r=t.suiteSelectors(s),i={},n={invalid:r.hasErrors,tested:function(t){return t?e.hasOwnProperty(i,t)?i[t]:(i[t]=e.hasOwnProperty(s.tests,t)&&e.isPositive(s.tests[t].testCount),n.tested(t)):e.isPositive(s.testCount)},untested:function(t){return!(e.isPositive(s.testCount)&&n.tested(t))},valid:r.isValid,warning:r.hasWarnings};return n};
|
|
@@ -65,7 +65,7 @@ function generateIsolate(type, path) {
|
|
|
65
65
|
var context = context$1.createContext(function (ctxRef, parentContext) {
|
|
66
66
|
return parentContext
|
|
67
67
|
? null
|
|
68
|
-
: vestUtils.assign({
|
|
68
|
+
: vestUtils.assign({
|
|
69
69
|
exclusion: {
|
|
70
70
|
tests: {},
|
|
71
71
|
groups: {}
|
|
@@ -156,7 +156,7 @@ var VestTest = /** @class */ (function () {
|
|
|
156
156
|
function VestTest(fieldName, testFn, _a) {
|
|
157
157
|
var _b = _a === void 0 ? {} : _a, message = _b.message, groupName = _b.groupName, key = _b.key;
|
|
158
158
|
this.key = null;
|
|
159
|
-
this.id = vestUtils.
|
|
159
|
+
this.id = vestUtils.seq();
|
|
160
160
|
this.severity = TestSeverity.Error;
|
|
161
161
|
this.status = STATUS_UNTESTED;
|
|
162
162
|
this.fieldName = fieldName;
|
|
@@ -601,11 +601,6 @@ function missingTestsLogic(testObject, fieldName) {
|
|
|
601
601
|
testObject.isOmitted());
|
|
602
602
|
}
|
|
603
603
|
|
|
604
|
-
function useSummary() {
|
|
605
|
-
var summary = context.useX().summary;
|
|
606
|
-
vestUtils.invariant(summary);
|
|
607
|
-
return summary;
|
|
608
|
-
}
|
|
609
604
|
/**
|
|
610
605
|
* Reads the testObjects list and gets full validation result from it.
|
|
611
606
|
*/
|
|
@@ -717,57 +712,85 @@ function collectAll(testGroup, severityKey) {
|
|
|
717
712
|
return output;
|
|
718
713
|
}
|
|
719
714
|
|
|
720
|
-
function
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
715
|
+
// eslint-disable-next-line max-lines-per-function, max-statements
|
|
716
|
+
function suiteSelectors(summary) {
|
|
717
|
+
var selectors = {
|
|
718
|
+
getErrors: getErrors,
|
|
719
|
+
getErrorsByGroup: getErrorsByGroup,
|
|
720
|
+
getWarnings: getWarnings,
|
|
721
|
+
getWarningsByGroup: getWarningsByGroup,
|
|
722
|
+
hasErrors: hasErrors,
|
|
723
|
+
hasErrorsByGroup: hasErrorsByGroup,
|
|
724
|
+
hasWarnings: hasWarnings,
|
|
725
|
+
hasWarningsByGroup: hasWarningsByGroup,
|
|
726
|
+
isValid: isValid,
|
|
727
|
+
isValidByGroup: isValidByGroup
|
|
728
|
+
};
|
|
729
|
+
return selectors;
|
|
730
|
+
// Booleans
|
|
731
|
+
function isValid(fieldName) {
|
|
732
|
+
var _a;
|
|
733
|
+
return fieldName ? Boolean((_a = summary.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : summary.valid;
|
|
734
|
+
}
|
|
735
|
+
function isValidByGroup(groupName, fieldName) {
|
|
736
|
+
var group = summary.groups[groupName];
|
|
737
|
+
if (!group) {
|
|
738
|
+
return false;
|
|
739
|
+
}
|
|
740
|
+
if (fieldName) {
|
|
741
|
+
return isFieldValid(group, fieldName);
|
|
742
|
+
}
|
|
743
|
+
for (var fieldName_1 in group) {
|
|
744
|
+
if (!isFieldValid(group, fieldName_1)) {
|
|
745
|
+
return false;
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
return true;
|
|
749
|
+
}
|
|
750
|
+
function hasWarnings(fieldName) {
|
|
751
|
+
return hasFailures(summary, SeverityCount.WARN_COUNT, fieldName);
|
|
752
|
+
}
|
|
753
|
+
function hasErrors(fieldName) {
|
|
754
|
+
return hasFailures(summary, SeverityCount.ERROR_COUNT, fieldName);
|
|
755
|
+
}
|
|
756
|
+
function hasWarningsByGroup(groupName, fieldName) {
|
|
757
|
+
return hasFailuresByGroup(summary, SeverityCount.WARN_COUNT, groupName, fieldName);
|
|
758
|
+
}
|
|
759
|
+
function hasErrorsByGroup(groupName, fieldName) {
|
|
760
|
+
return hasFailuresByGroup(summary, SeverityCount.ERROR_COUNT, groupName, fieldName);
|
|
761
|
+
}
|
|
762
|
+
function getWarnings(fieldName) {
|
|
763
|
+
return getFailures(summary, Severity.WARNINGS, fieldName);
|
|
764
|
+
}
|
|
765
|
+
function getErrors(fieldName) {
|
|
766
|
+
return getFailures(summary, Severity.ERRORS, fieldName);
|
|
767
|
+
}
|
|
768
|
+
function getErrorsByGroup(groupName, fieldName) {
|
|
769
|
+
return getFailuresByGroup(summary, Severity.ERRORS, groupName, fieldName);
|
|
770
|
+
}
|
|
771
|
+
function getWarningsByGroup(groupName, fieldName) {
|
|
772
|
+
return getFailuresByGroup(summary, Severity.WARNINGS, groupName, fieldName);
|
|
773
|
+
}
|
|
725
774
|
}
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
function getFailures(severityKey, fieldName) {
|
|
730
|
-
var summary = useSummary();
|
|
775
|
+
// Gathers all failures of a given severity
|
|
776
|
+
// With a fieldName, it will only gather failures for that field
|
|
777
|
+
function getFailures(summary, severityKey, fieldName) {
|
|
731
778
|
return gatherFailures(summary.tests, severityKey, fieldName);
|
|
732
779
|
}
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
}
|
|
737
|
-
function getWarningsByGroup(groupName, fieldName) {
|
|
738
|
-
return getFailuresByGroup(groupName, Severity.WARNINGS, fieldName);
|
|
739
|
-
}
|
|
740
|
-
function getFailuresByGroup(groupName, severityKey, fieldName) {
|
|
741
|
-
var summary = useSummary();
|
|
780
|
+
// Gathers all failures of a given severity within a group
|
|
781
|
+
// With a fieldName, it will only gather failures for that field
|
|
782
|
+
function getFailuresByGroup(summary, severityKey, groupName, fieldName) {
|
|
742
783
|
return gatherFailures(summary.groups[groupName], severityKey, fieldName);
|
|
743
784
|
}
|
|
744
|
-
|
|
745
|
-
function
|
|
746
|
-
return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
|
|
747
|
-
}
|
|
748
|
-
function hasWarnings(fieldName) {
|
|
749
|
-
return hasFailures(SeverityCount.WARN_COUNT, fieldName);
|
|
750
|
-
}
|
|
751
|
-
function hasFailures(severityCount, fieldName) {
|
|
785
|
+
// Checks if a field is valid within a container object - can be within a group or top level
|
|
786
|
+
function isFieldValid(testContainer, fieldName) {
|
|
752
787
|
var _a;
|
|
753
|
-
|
|
754
|
-
if (fieldName) {
|
|
755
|
-
return vestUtils.isPositive((_a = summary.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[severityCount]);
|
|
756
|
-
}
|
|
757
|
-
return vestUtils.isPositive(summary[severityCount]);
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
function hasErrorsByGroup(groupName, fieldName) {
|
|
761
|
-
return hasFailuresByGroup(Severity.ERRORS, groupName, fieldName);
|
|
762
|
-
}
|
|
763
|
-
function hasWarningsByGroup(groupName, fieldName) {
|
|
764
|
-
return hasFailuresByGroup(Severity.WARNINGS, groupName, fieldName);
|
|
788
|
+
return !!((_a = testContainer[fieldName]) === null || _a === void 0 ? void 0 : _a.valid);
|
|
765
789
|
}
|
|
766
|
-
//
|
|
767
|
-
|
|
790
|
+
// Checks if a there are any failures of a given severity within a group
|
|
791
|
+
// If a fieldName is provided, it will only check for failures within that field
|
|
792
|
+
function hasFailuresByGroup(summary, severityCount, groupName, fieldName) {
|
|
768
793
|
var _a, _b;
|
|
769
|
-
var summary = useSummary();
|
|
770
|
-
var severityCount = countKeyBySeverity(severityKey);
|
|
771
794
|
var group = summary.groups[groupName];
|
|
772
795
|
if (!group) {
|
|
773
796
|
return false;
|
|
@@ -782,32 +805,14 @@ function hasFailuresByGroup(severityKey, groupName, fieldName) {
|
|
|
782
805
|
}
|
|
783
806
|
return false;
|
|
784
807
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
return fieldName
|
|
789
|
-
? Boolean(isFieldValid(summary.tests, fieldName))
|
|
790
|
-
: summary.valid;
|
|
791
|
-
}
|
|
792
|
-
function isValidByGroup(groupName, fieldName) {
|
|
793
|
-
var summary = useSummary();
|
|
794
|
-
var group = summary.groups[groupName];
|
|
795
|
-
if (!group) {
|
|
796
|
-
return false;
|
|
797
|
-
}
|
|
798
|
-
if (fieldName) {
|
|
799
|
-
return isFieldValid(group, fieldName);
|
|
800
|
-
}
|
|
801
|
-
for (var fieldName_1 in group) {
|
|
802
|
-
if (!isFieldValid(group, fieldName_1)) {
|
|
803
|
-
return false;
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
return true;
|
|
807
|
-
}
|
|
808
|
-
function isFieldValid(testContainer, fieldName) {
|
|
808
|
+
// Checks if there are any failures of a given severity
|
|
809
|
+
// If a fieldName is provided, it will only check for failures within that field
|
|
810
|
+
function hasFailures(summary, countKey, fieldName) {
|
|
809
811
|
var _a;
|
|
810
|
-
|
|
812
|
+
var failureCount = fieldName
|
|
813
|
+
? (_a = summary.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey]
|
|
814
|
+
: summary[countKey] || 0;
|
|
815
|
+
return vestUtils.isPositive(failureCount);
|
|
811
816
|
}
|
|
812
817
|
|
|
813
818
|
var cache$1 = vestUtils.cache(1);
|
|
@@ -817,18 +822,7 @@ function produceSuiteResult() {
|
|
|
817
822
|
return cache$1([testObjects], context.bind(ctxRef, function () {
|
|
818
823
|
var summary = genTestsSummary();
|
|
819
824
|
var suiteName = useSuiteName();
|
|
820
|
-
|
|
821
|
-
return vestUtils.assign(summary, {
|
|
822
|
-
getErrors: context.bind(ref, getErrors),
|
|
823
|
-
getErrorsByGroup: context.bind(ref, getErrorsByGroup),
|
|
824
|
-
getWarnings: context.bind(ref, getWarnings),
|
|
825
|
-
getWarningsByGroup: context.bind(ref, getWarningsByGroup),
|
|
826
|
-
hasErrors: context.bind(ref, hasErrors),
|
|
827
|
-
hasErrorsByGroup: context.bind(ref, hasErrorsByGroup),
|
|
828
|
-
hasWarnings: context.bind(ref, hasWarnings),
|
|
829
|
-
hasWarningsByGroup: context.bind(ref, hasWarningsByGroup),
|
|
830
|
-
isValid: context.bind(ref, isValid),
|
|
831
|
-
isValidByGroup: context.bind(ref, isValidByGroup),
|
|
825
|
+
return vestUtils.assign(summary, suiteSelectors(summary), {
|
|
832
826
|
suiteName: suiteName
|
|
833
827
|
});
|
|
834
828
|
}));
|
|
@@ -847,7 +841,7 @@ function hasRemainingTests(fieldName) {
|
|
|
847
841
|
return matchingFieldName(testObject, fieldName);
|
|
848
842
|
});
|
|
849
843
|
}
|
|
850
|
-
return
|
|
844
|
+
return true;
|
|
851
845
|
}
|
|
852
846
|
|
|
853
847
|
var cache = vestUtils.cache(20);
|
|
@@ -864,10 +858,10 @@ function produceFullResult() {
|
|
|
864
858
|
* DONE is here and not in its own module to prevent circular dependency issues.
|
|
865
859
|
*/
|
|
866
860
|
function shouldSkipDoneRegistration(callback, fieldName, output) {
|
|
861
|
+
var _a;
|
|
867
862
|
// If we do not have any test runs for the current field
|
|
868
863
|
return !!(!vestUtils.isFunction(callback) ||
|
|
869
|
-
(fieldName &&
|
|
870
|
-
(!output.tests[fieldName] || vestUtils.isEmpty(output.tests[fieldName].testCount))));
|
|
864
|
+
(fieldName && vestUtils.numberEquals((_a = output.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.testCount, 0)));
|
|
871
865
|
}
|
|
872
866
|
function shouldRunDoneCallback(fieldName) {
|
|
873
867
|
// is suite finished || field name exists, and test is finished;
|
|
@@ -1042,7 +1036,7 @@ function create() {
|
|
|
1042
1036
|
// State initialization
|
|
1043
1037
|
var state = createState();
|
|
1044
1038
|
// State reference - this holds the actual state values
|
|
1045
|
-
var stateRef = createStateRef(state, { suiteId: vestUtils.
|
|
1039
|
+
var stateRef = createStateRef(state, { suiteId: vestUtils.seq(), suiteName: suiteName });
|
|
1046
1040
|
// Create base context reference. All hooks will derive their data from this
|
|
1047
1041
|
var ctxRef = { stateRef: stateRef, bus: bus };
|
|
1048
1042
|
var suite = vestUtils.assign(
|
|
@@ -1156,7 +1150,7 @@ skip.group = function (item) {
|
|
|
1156
1150
|
return addTo(1 /* ExclusionGroup.SKIP */, 'groups', item);
|
|
1157
1151
|
};
|
|
1158
1152
|
//Checks whether a certain test profile excluded by any of the exclusion groups.
|
|
1159
|
-
// eslint-disable-next-line complexity, max-statements
|
|
1153
|
+
// eslint-disable-next-line complexity, max-statements
|
|
1160
1154
|
function isExcluded(testObject) {
|
|
1161
1155
|
var fieldName = testObject.fieldName, groupName = testObject.groupName;
|
|
1162
1156
|
if (isExcludedIndividually())
|
|
@@ -1618,7 +1612,6 @@ function registerTestObjectByTier(testObject) {
|
|
|
1618
1612
|
}
|
|
1619
1613
|
|
|
1620
1614
|
/* eslint-disable jest/valid-title */
|
|
1621
|
-
// eslint-disable-next-line max-lines-per-function
|
|
1622
1615
|
function bindTestMemo(test) {
|
|
1623
1616
|
var cache = vestUtils.cache(10); // arbitrary cache size
|
|
1624
1617
|
// eslint-disable-next-line max-statements
|
|
@@ -1689,7 +1682,7 @@ function warn() {
|
|
|
1689
1682
|
ctx.currentTest.warn();
|
|
1690
1683
|
}
|
|
1691
1684
|
|
|
1692
|
-
var VERSION = "4.
|
|
1685
|
+
var VERSION = "4.5.0-dev-9b46fb";
|
|
1693
1686
|
|
|
1694
1687
|
Object.defineProperty(exports, 'enforce', {
|
|
1695
1688
|
enumerable: true,
|
|
@@ -1709,5 +1702,6 @@ exports.only = only;
|
|
|
1709
1702
|
exports.optional = optional;
|
|
1710
1703
|
exports.skip = skip;
|
|
1711
1704
|
exports.skipWhen = skipWhen;
|
|
1705
|
+
exports.suiteSelectors = suiteSelectors;
|
|
1712
1706
|
exports.test = test;
|
|
1713
1707
|
exports.warn = warn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e,r=require("n4s"),i=require("vest-utils"),u=require("context");function o(){var n=0;return{current:function(){return n},next:function(){n++}}}function s(n,t){return void 0===t&&(t=[]),{cursor:o(),keys:{current:{},prev:{}},path:t,type:n}}(t=n||(n={}))[t.DEFAULT=0]="DEFAULT",t[t.SUITE=1]="SUITE",t[t.EACH=2]="EACH",t[t.SKIP_WHEN=3]="SKIP_WHEN",t[t.OMIT_WHEN=4]="OMIT_WHEN",t[t.GROUP=5]="GROUP",function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(e||(e={}));var a=u.createContext((function(t,r){return r?null:i.assign({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(n.DEFAULT),mode:[e.ALL]},t)}));function c(){return a.useX().stateRef}function f(){return c().suiteId()[0]}function l(){return c().testCallbacks()}function p(n){return d()[0][n]}function d(){return c().optionalFields()}function v(n,t){(0,d()[1])((function(e){var r;return i.assign(e,((r={})[n]=i.optionalFunctionValue(t,e[n]),r))}))}function E(n){var t;return null===(t=p(n))||void 0===t?void 0:t[0]}function g(){return c().testObjects()}function h(){N((function(n){return n}))}function N(n){(0,g()[1])((function(t){return{prev:t.prev,current:i.asArray(n(t.current))}}))}function y(){return R().filter((function(n){return n.isPending()}))}var m,S=i.cache();function R(){var n=g()[0].current;return S([n],(function(){return i.nestedArray.flatten(n)}))}function T(n){R().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(m||(m={}));var A,C,b=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=i.genId(),this.severity=m.Error,this.status=I,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){(function(n,t){return i.isUndefined(n)&&i.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==L||(this.status=n)},n.prototype.warns=function(){return this.severity===m.Warning},n.prototype.setPending=function(){this.setStatus(P)},n.prototype.fail=function(){this.setStatus(this.warns()?O:F)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(k)},n.prototype.warn=function(){this.severity=m.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(_)},n.prototype.cancel=function(){this.setStatus(x),h()},n.prototype.reset=function(){this.status=I,h()},n.prototype.omit=function(){this.setStatus(L)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(P)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(L)},n.prototype.isUntested=function(){return this.statusEquals(I)},n.prototype.isFailing=function(){return this.statusEquals(F)},n.prototype.isCanceled=function(){return this.statusEquals(x)},n.prototype.isSkipped=function(){return this.statusEquals(_)},n.prototype.isPassing=function(){return this.statusEquals(k)},n.prototype.isWarning=function(){return this.statusEquals(O)},n.prototype.statusEquals=function(n){return this.status===n},n}(),I="UNTESTED",_="SKIPPED",F="FAILED",O="WARNING",k="PASSING",P="PENDING",x="CANCELED",L="OMITTED";function U(n){function t(n,t,u){return r.references.push(),e(n,i.optionalFunctionValue(t,u)),function(){return[r.references[n],function(t){return e(n,i.optionalFunctionValue(t,r.references[n]))}]}}function e(t,e){var o=r.references[t];r.references[t]=e,t=u[t][1],i.isFunction(t)&&t(e,o),i.isFunction(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function W(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function V(){return a.useX().isolate}function G(){var n=V();return n.path.concat(n.cursor.current())}function w(){return V().cursor}function D(t,e){t=void 0===(t=t.type)?n.DEFAULT:t,i.invariant(i.isFunction(e));var r=s(t,G());return t=a.run({isolate:r},(function(){return r.keys.prev=function(){var n=g()[0].prev;return i.asArray(i.nestedArray.getCurrent(n,G())).reduce((function(n,t){return t instanceof b&&!i.isNullish(t.key)?(n[t.key]=t,n):n}),{})}(),N((function(n){return i.nestedArray.setValueAtPath(n,r.path,[])})),e()})),w().next(),t}function X(n){return n===A.ERRORS?C.ERROR_COUNT:C.WARN_COUNT}function H(n,t){return!!t&&!K(n,t)}function K(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(A||(A={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(C||(C={}));var q=i.bindNot((function(n,t){return n.groupName===t}));function M(n){return function(n,t){return R().some((function(e){return B(e,n,t)}))}(A.ERRORS,n)}function B(n,t,e){return!(!n.hasFailures()||H(n,e)||function(n,t){return i.either(n===A.WARNINGS,t.warns())}(t,n))}function j(n){if(J(n))return!0;if(M(n))return!1;var t=R();return!i.isEmpty(t)&&!function(n){return i.isNotEmpty(y().filter((function(t){return z(t,n)})))}(n)&&function(n){return R().every((function(t){return!!H(t,n)||Q(t,n)}))}(n)}function Y(n,t){return!!J(t)||!function(n,t,e){return R().some((function(r){return!q(r,t)&&B(r,n,e)}))}(A.ERRORS,n,t)&&!function(n,t){return i.isNotEmpty(y().filter((function(e){return!q(e,n)&&z(e,t)})))}(n,t)&&function(n,t){return R().every((function(e){return!!q(e,n)||Q(e,t)}))}(n,t)}function J(n){return!!n&&!0===function(n){var t;return null===(t=p(n))||void 0===t?void 0:t[1]}(n)}function z(n,t){return!H(n,t)&&!0!==E(n.fieldName)}function Q(n,t){return!!H(n,t)||(!0===E(n.fieldName)||n.isTested()||n.isOmitted())}function Z(){var n=a.useX().summary;return i.invariant(n),n}function $(){var n=R(),t=i.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=nn(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&j(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=nn(n[e],t),n[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&Y(e,t.fieldName))}(n.groups,t),n}),t),t.valid=j(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function nn(n,t){function e(n){var t=X(n);o[t]++,u&&(o[n]=(o[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(A.ERRORS):t.isWarning()&&e(A.WARNINGS)),o}function tn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=X(t);for(e in n)i.isPositive(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function en(n){return un(A.ERRORS,n)}function rn(n){return un(A.WARNINGS,n)}function un(n,t){return tn(Z().tests,n,t)}function on(n,t){return an(n,A.ERRORS,t)}function sn(n,t){return an(n,A.WARNINGS,t)}function an(n,t,e){return tn(Z().groups[n],t,e)}function cn(n){return ln(C.ERROR_COUNT,n)}function fn(n){return ln(C.WARN_COUNT,n)}function ln(n,t){var e,r=Z();return t?i.isPositive(null===(e=r.tests[t])||void 0===e?void 0:e[n]):i.isPositive(r[n])}function pn(n,t){return vn(A.ERRORS,n,t)}function dn(n,t){return vn(A.WARNINGS,n,t)}function vn(n,t,e){var r,u,o=Z();if(n=X(n),!(t=o.groups[t]))return!1;if(e)return i.isPositive(null===(r=t[e])||void 0===r?void 0:r[n]);for(var s in t)if(i.isPositive(null===(u=t[s])||void 0===u?void 0:u[n]))return!0;return!1}function En(n){var t=Z();return n?!!hn(t.tests,n):t.valid}function gn(n,t){if(!(n=Z().groups[n]))return!1;if(t)return hn(n,t);for(var e in n)if(!hn(n,e))return!1;return!0}function hn(n,t){var e;return!(null===(e=n[t])||void 0===e||!e.valid)}var Nn=i.cache(1);function yn(){var n=R(),t={stateRef:c()};return Nn([n],a.bind(t,(function(){var n=$(),t=c().suiteName()[0],e={summary:n};return i.assign(n,{getErrors:a.bind(e,en),getErrorsByGroup:a.bind(e,on),getWarnings:a.bind(e,rn),getWarningsByGroup:a.bind(e,sn),hasErrors:a.bind(e,cn),hasErrorsByGroup:a.bind(e,pn),hasWarnings:a.bind(e,fn),hasWarningsByGroup:a.bind(e,dn),isValid:a.bind(e,En),isValidByGroup:a.bind(e,gn),suiteName:t})})))}function mn(n){var t=y();return!i.isEmpty(t)&&(n?t.some((function(t){return K(t,n)})):i.isNotEmpty(t))}var Sn=i.cache(20);function Rn(){var n=R(),t={stateRef:c()};return Sn([n],a.bind(t,(function(){return i.assign({},yn(),{done:a.bind(t,bn)})})))}function Tn(n,t,e){return!(i.isFunction(n)&&(!t||e.tests[t]&&!i.isEmpty(e.tests[t].testCount)))}function An(n){return!(mn()&&(!n||mn(n)))}var Cn,bn=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Rn(),Tn(e,n,t))return t;var r=function(){return e(yn())};return An(n)?(r(),t):(In(r,n),t)};function In(n,t){(0,l()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function _n(){var n=i.bus.createBus();return n.on(Cn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=l()[0].fieldCallbacks;n&&!mn(n)&&i.isArray(t[n])&&i.callEach(t[n])}(t.fieldName),mn()||n.emit(Cn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Cn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),v(n.fieldName,(function(n){return[n[0],!0]})))}var t=d()[0];if(!i.isEmpty(t)){var e={};N((function(t){return i.nestedArray.transform(t,(function(t){if(i.hasOwnProperty(e,t.fieldName))n(t);else{var r=E(t.fieldName);i.isFunction(r)&&(e[t.fieldName]=r(),n(t))}return t}))}))}}()})),n.on(Cn.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var n=l()[0].doneCallbacks;i.callEach(n)}()})),n.on(Cn.REMOVE_FIELD,(function(n){T((function(t){K(t,n)&&(t.cancel(),function(n){N((function(t){return i.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Cn.RESET_FIELD,(function(n){T((function(t){K(t,n)&&t.reset()}))})),n}function Fn(){var n=a.useX();return i.invariant(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Cn||(Cn={}));function On(){return!!a.useX().skipped}function kn(n){return Ln(0,"tests",n)}function Pn(n){return Ln(1,"tests",n)}function xn(n){var t=n.fieldName;if(n=n.groupName,On())return!0;var e=a.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[t];if(!1===o)return!0;if(o=!0===o,n){if(function(n){var t=a.useX().exclusion.groups;return i.hasOwnProperty(t,n)?!1===t[n]:Wn()}(n))return!0;if(!0===r.groups[n])return!o&&(!!Un(u)||!1===u[t])}return!!function(n){return!!Wn()&&!n}(n)||!o&&(!!Un(u)&&!i.optionalFunctionValue(e[t]))}function Ln(n,t,e){var r=a.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[t][e]=0===n)}))}function Un(n){for(var t in n)if(!0===n[t])return!0;return!1}function Wn(){var n,t=a.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function Vn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Gn(n){return function(n){return a.useX().mode[0]===n}(e.EAGER)&&M(n.fieldName)}function wn(){return!!a.useX().omitted}function Dn(n,t,e){if(e||2===arguments.length)for(var r,i=0,u=t.length;i<u;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return n.concat(r||Array.prototype.slice.call(t))}function Xn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Hn(n){var t=n.asyncTest,e=n.message;if(i.isPromise(t)){var r=Fn().emit,u=c(),o=a.bind({stateRef:u},(function(){h(),r(Cn.TEST_COMPLETED,n)}));u=a.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=i.isStringValue(t)?t:e,n.fail(),o())}));try{t.then(o,u)}catch(n){u()}}}function Kn(n){var t=Fn(),e=function(n){return a.run({currentTest:n},(function(){return n.run()}))}(n);try{i.isPromise(e)?(n.asyncTest=e,n.setPending(),Hn(n)):t.emit(Cn.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function qn(t){var e=g()[0].prev;return i.isEmpty(e)?(Mn(t),t):(e=function(n){var t=G();return i.nestedArray.valueAtPath(n,t)}(e),i.isNullish(t.key)?(function(n,t){return i.isNotEmpty(n)&&!Xn(n,t)}(e,t)&&(function(t,e){V().type===n.EACH||i.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(e.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.'))}(e,t),function(){var n=w().current();N((function(t){return t.splice(n),t}))}(),e=null),Mn(t=i.defaultTo(e,t)),t):(Mn(t=function(n,t){var e=function(n){return V().keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=V().keys.current;i.isNullish(e[n])?e[n]=t:i.deferThrow('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(t.key,t)),t))}function Mn(n){var t=G();N((function(e){return i.nestedArray.setValueAtPath(e,t,n)}))}function Bn(n){var t=w();if(Gn(n))return n.skip(),qn(n),t.next(),n;var e=qn(n);return wn()?(e.omit(),t.next(),e):xn(n)?(e.skip(On()),t.next(),e):(function(n,t){t!==n&&Xn(n,t)&&n.isPending()&&n.cancel()}(e,n),Mn(n),function(n){n.isUntested()?Kn(n):i.isPromise(n.asyncTest)&&(n.setPending(),Hn(n))}(n),t.next(),n)}function jn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=i.isFunction(t[1])?t:Dn([void 0],t,!0);t=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(n),Jn("fieldName","string")),i.invariant(i.isFunction(e),Jn("Test callback","function"));var u=a.useX();return Bn(t=new b(n,e,{message:t,groupName:u.groupName,key:r}))}kn.group=function(n){return Ln(0,"groups",n)},Pn.group=function(n){return Ln(1,"groups",n)},i.bindNot(i.isStringValue);var Yn=i.assign(jn,{memo:function(n){var t=i.cache(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=w().current();var o=(r=r.reverse())[0],s=r[1],a=r[2];return u=[f(),e,u].concat(o),r=t.get(u),i.isNull(r)?t(u,(function(){return n(e,a,s)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,a,s)}))):Bn(r[1])}}(jn)});function Jn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return r.enforce}}),exports.VERSION="4.4.3-dev-c786f7",exports.context=a,exports.create=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=(t=t.reverse())[0];t=t[1],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=_n(),o=U();return t={stateRef:W(o,{suiteId:i.genId(),suiteName:t}),bus:u},i.assign(a.bind(t,(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.reset(),D({type:n.SUITE},(function(){r.apply(void 0,t)})),u.emit(Cn.SUITE_CALLBACK_DONE_RUNNING),Rn()})),{get:a.bind(t,yn),remove:a.bind(t,(function(n){u.emit(Cn.REMOVE_FIELD,n)})),reset:o.reset,resetField:a.bind(t,(function(n){u.emit(Cn.RESET_FIELD,n)}))})},exports.each=function(t,e){i.invariant(i.isFunction(e),"each callback must be a function"),D({type:n.EACH},(function(){t.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){a.useX().mode[0]=n}(e.EAGER)},exports.group=function(t,e){i.invariant(i.isStringValue(t),Vn("name must be a string")),i.invariant(i.isFunction(e),Vn("callback must be a function")),D({type:n.GROUP},(function(){a.run({groupName:t},e)}))},exports.include=function(n){var t=a.useX(),e=t.inclusion;return t=t.exclusion,i.invariant(i.isStringValue(n)),e[n]=i.defaultTo(t.tests[n],!0),{when:function(t){var e=a.useX(),r=e.exclusion;e.inclusion[n]=function(){return i.hasOwnProperty(r.tests,n)?i.defaultTo(r.tests[n],!0):i.isStringValue(t)?!!r.tests[t]:i.optionalFunctionValue(t,i.optionalFunctionValue(yn))}}}},exports.omitWhen=function(t,e){D({type:n.OMIT_WHEN},(function(){a.run({omitted:wn()||i.optionalFunctionValue(t,i.optionalFunctionValue(yn))},(function(){return e()}))}))},exports.only=kn,exports.optional=function(n){if(i.isArray(n)||i.isStringValue(n))i.asArray(n).forEach((function(n){v(n,[!0,!1])}));else for(var t in n)v(t,[n[t],!1])},exports.skip=Pn,exports.skipWhen=function(t,e){D({type:n.SKIP_WHEN},(function(){a.run({skipped:On()||i.optionalFunctionValue(t,i.optionalFunctionValue(yn))},(function(){return e()}))}))},exports.test=Yn,exports.warn=function(){var n=a.useX("warn hook called outside of a running suite.");i.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e,r=require("n4s"),i=require("vest-utils"),u=require("context");function o(){var n=0;return{current:function(){return n},next:function(){n++}}}function s(n,t){return void 0===t&&(t=[]),{cursor:o(),keys:{current:{},prev:{}},path:t,type:n}}(t=n||(n={}))[t.DEFAULT=0]="DEFAULT",t[t.SUITE=1]="SUITE",t[t.EACH=2]="EACH",t[t.SKIP_WHEN=3]="SKIP_WHEN",t[t.OMIT_WHEN=4]="OMIT_WHEN",t[t.GROUP=5]="GROUP",function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(e||(e={}));var a=u.createContext((function(t,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(n.DEFAULT),mode:[e.ALL]},t)}));function c(){return a.useX().stateRef}function f(){return c().suiteId()[0]}function l(){return c().testCallbacks()}function p(n){return d()[0][n]}function d(){return c().optionalFields()}function v(n,t){(0,d()[1])((function(e){var r;return i.assign(e,((r={})[n]=i.optionalFunctionValue(t,e[n]),r))}))}function E(n){var t;return null===(t=p(n))||void 0===t?void 0:t[0]}function h(){return c().testObjects()}function g(){N((function(n){return n}))}function N(n){(0,h()[1])((function(t){return{prev:t.prev,current:i.asArray(n(t.current))}}))}function y(){return R().filter((function(n){return n.isPending()}))}var m,S=i.cache();function R(){var n=h()[0].current;return S([n],(function(){return i.nestedArray.flatten(n)}))}function T(n){R().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(m||(m={}));var C,A,_=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=i.seq(),this.severity=m.Error,this.status=F,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){(function(n,t){return i.isUndefined(n)&&i.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==L||(this.status=n)},n.prototype.warns=function(){return this.severity===m.Warning},n.prototype.setPending=function(){this.setStatus(P)},n.prototype.fail=function(){this.setStatus(this.warns()?b:I)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(k)},n.prototype.warn=function(){this.severity=m.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(O)},n.prototype.cancel=function(){this.setStatus(x),g()},n.prototype.reset=function(){this.status=F,g()},n.prototype.omit=function(){this.setStatus(L)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(P)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(L)},n.prototype.isUntested=function(){return this.statusEquals(F)},n.prototype.isFailing=function(){return this.statusEquals(I)},n.prototype.isCanceled=function(){return this.statusEquals(x)},n.prototype.isSkipped=function(){return this.statusEquals(O)},n.prototype.isPassing=function(){return this.statusEquals(k)},n.prototype.isWarning=function(){return this.statusEquals(b)},n.prototype.statusEquals=function(n){return this.status===n},n}(),F="UNTESTED",O="SKIPPED",I="FAILED",b="WARNING",k="PASSING",P="PENDING",x="CANCELED",L="OMITTED";function U(n){function t(n,t,u){return r.references.push(),e(n,i.optionalFunctionValue(t,u)),function(){return[r.references[n],function(t){return e(n,i.optionalFunctionValue(t,r.references[n]))}]}}function e(t,e){var o=r.references[t];r.references[t]=e,t=u[t][1],i.isFunction(t)&&t(e,o),i.isFunction(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function W(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function V(){return a.useX().isolate}function G(){var n=V();return n.path.concat(n.cursor.current())}function w(){return V().cursor}function D(t,e){t=void 0===(t=t.type)?n.DEFAULT:t,i.invariant(i.isFunction(e));var r=s(t,G());return t=a.run({isolate:r},(function(){return r.keys.prev=function(){var n=h()[0].prev;return i.asArray(i.nestedArray.getCurrent(n,G())).reduce((function(n,t){return t instanceof _&&!i.isNullish(t.key)?(n[t.key]=t,n):n}),{})}(),N((function(n){return i.nestedArray.setValueAtPath(n,r.path,[])})),e()})),w().next(),t}function q(n){return n===C.ERRORS?A.ERROR_COUNT:A.WARN_COUNT}function X(n,t){return!!t&&!H(n,t)}function H(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(C||(C={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(A||(A={}));var K=i.bindNot((function(n,t){return n.groupName===t}));function M(n){return function(n,t){return R().some((function(e){return B(e,n,t)}))}(C.ERRORS,n)}function B(n,t,e){return!(!n.hasFailures()||X(n,e)||function(n,t){return i.either(n===C.WARNINGS,t.warns())}(t,n))}function j(n){if(J(n))return!0;if(M(n))return!1;var t=R();return!i.isEmpty(t)&&!function(n){return i.isNotEmpty(y().filter((function(t){return z(t,n)})))}(n)&&function(n){return R().every((function(t){return!!X(t,n)||Q(t,n)}))}(n)}function Y(n,t){return!!J(t)||!function(n,t,e){return R().some((function(r){return!K(r,t)&&B(r,n,e)}))}(C.ERRORS,n,t)&&!function(n,t){return i.isNotEmpty(y().filter((function(e){return!K(e,n)&&z(e,t)})))}(n,t)&&function(n,t){return R().every((function(e){return!!K(e,n)||Q(e,t)}))}(n,t)}function J(n){return!!n&&!0===function(n){var t;return null===(t=p(n))||void 0===t?void 0:t[1]}(n)}function z(n,t){return!X(n,t)&&!0!==E(n.fieldName)}function Q(n,t){return!!X(n,t)||(!0===E(n.fieldName)||n.isTested()||n.isOmitted())}function Z(){var n=R(),t=i.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=$(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&j(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=$(n[e],t),n[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&Y(e,t.fieldName))}(n.groups,t),n}),t),t.valid=j(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function $(n,t){function e(n){var t=q(n);o[t]++,u&&(o[n]=(o[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(C.ERRORS):t.isWarning()&&e(C.WARNINGS)),o}function nn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=q(t);for(e in n)i.isPositive(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function tn(n){return{getErrors:function(t){return en(n,C.ERRORS,t)},getErrorsByGroup:function(t,e){return rn(n,C.ERRORS,t,e)},getWarnings:function(t){return en(n,C.WARNINGS,t)},getWarningsByGroup:function(t,e){return rn(n,C.WARNINGS,t,e)},hasErrors:function(t){return sn(n,A.ERROR_COUNT,t)},hasErrorsByGroup:function(t,e){return on(n,A.ERROR_COUNT,t,e)},hasWarnings:function(t){return sn(n,A.WARN_COUNT,t)},hasWarningsByGroup:function(t,e){return on(n,A.WARN_COUNT,t,e)},isValid:function(t){var e;return t?!(null===(e=n.tests[t])||void 0===e||!e.valid):n.valid},isValidByGroup:function(t,e){if(!(t=n.groups[t]))return!1;if(e)return un(t,e);for(var r in t)if(!un(t,r))return!1;return!0}}}function en(n,t,e){return nn(n.tests,t,e)}function rn(n,t,e,r){return nn(n.groups[e],t,r)}function un(n,t){var e;return!(null===(e=n[t])||void 0===e||!e.valid)}function on(n,t,e,r){var u,o;if(!(n=n.groups[e]))return!1;if(r)return i.isPositive(null===(u=n[r])||void 0===u?void 0:u[t]);for(var s in n)if(i.isPositive(null===(o=n[s])||void 0===o?void 0:o[t]))return!0;return!1}function sn(n,t,e){var r;return n=e?null===(r=n.tests[e])||void 0===r?void 0:r[t]:n[t]||0,i.isPositive(n)}var an=i.cache(1);function cn(){var n=R(),t={stateRef:c()};return an([n],a.bind(t,(function(){var n=Z(),t=c().suiteName()[0];return i.assign(n,tn(n),{suiteName:t})})))}function fn(n){var t=y();return!i.isEmpty(t)&&(!n||t.some((function(t){return H(t,n)})))}var ln=i.cache(20);function pn(){var n=R(),t={stateRef:c()};return ln([n],a.bind(t,(function(){return i.assign({},cn(),{done:a.bind(t,hn)})})))}function dn(n,t,e){var r;return!!(!i.isFunction(n)||t&&i.numberEquals(null===(r=e.tests[t])||void 0===r?void 0:r.testCount,0))}function vn(n){return!(fn()&&(!n||fn(n)))}var En,hn=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=pn(),dn(e,n,t))return t;var r=function(){return e(cn())};return vn(n)?(r(),t):(gn(r,n),t)};function gn(n,t){(0,l()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function Nn(){var n=i.bus.createBus();return n.on(En.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=l()[0].fieldCallbacks;n&&!fn(n)&&i.isArray(t[n])&&i.callEach(t[n])}(t.fieldName),fn()||n.emit(En.ALL_RUNNING_TESTS_FINISHED))})),n.on(En.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),v(n.fieldName,(function(n){return[n[0],!0]})))}var t=d()[0];if(!i.isEmpty(t)){var e={};N((function(t){return i.nestedArray.transform(t,(function(t){if(i.hasOwnProperty(e,t.fieldName))n(t);else{var r=E(t.fieldName);i.isFunction(r)&&(e[t.fieldName]=r(),n(t))}return t}))}))}}()})),n.on(En.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var n=l()[0].doneCallbacks;i.callEach(n)}()})),n.on(En.REMOVE_FIELD,(function(n){T((function(t){H(t,n)&&(t.cancel(),function(n){N((function(t){return i.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(En.RESET_FIELD,(function(n){T((function(t){H(t,n)&&t.reset()}))})),n}function yn(){var n=a.useX();return i.invariant(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(En||(En={}));function mn(){return!!a.useX().skipped}function Sn(n){return Cn(0,"tests",n)}function Rn(n){return Cn(1,"tests",n)}function Tn(n){var t=n.fieldName;if(n=n.groupName,mn())return!0;var e=a.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[t];if(!1===o)return!0;if(o=!0===o,n){if(function(n){var t=a.useX().exclusion.groups;return i.hasOwnProperty(t,n)?!1===t[n]:_n()}(n))return!0;if(!0===r.groups[n])return!o&&(!!An(u)||!1===u[t])}return!!function(n){return!!_n()&&!n}(n)||!o&&(!!An(u)&&!i.optionalFunctionValue(e[t]))}function Cn(n,t,e){var r=a.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[t][e]=0===n)}))}function An(n){for(var t in n)if(!0===n[t])return!0;return!1}function _n(){var n,t=a.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function Fn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function On(n){return function(n){return a.useX().mode[0]===n}(e.EAGER)&&M(n.fieldName)}function In(){return!!a.useX().omitted}function bn(n,t,e){if(e||2===arguments.length)for(var r,i=0,u=t.length;i<u;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return n.concat(r||Array.prototype.slice.call(t))}function kn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Pn(n){var t=n.asyncTest,e=n.message;if(i.isPromise(t)){var r=yn().emit,u=c(),o=a.bind({stateRef:u},(function(){g(),r(En.TEST_COMPLETED,n)}));u=a.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=i.isStringValue(t)?t:e,n.fail(),o())}));try{t.then(o,u)}catch(n){u()}}}function xn(n){var t=yn(),e=function(n){return a.run({currentTest:n},(function(){return n.run()}))}(n);try{i.isPromise(e)?(n.asyncTest=e,n.setPending(),Pn(n)):t.emit(En.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function Ln(t){var e=h()[0].prev;return i.isEmpty(e)?(Un(t),t):(e=function(n){var t=G();return i.nestedArray.valueAtPath(n,t)}(e),i.isNullish(t.key)?(function(n,t){return i.isNotEmpty(n)&&!kn(n,t)}(e,t)&&(function(t,e){V().type===n.EACH||i.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(e.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.'))}(e,t),function(){var n=w().current();N((function(t){return t.splice(n),t}))}(),e=null),Un(t=i.defaultTo(e,t)),t):(Un(t=function(n,t){var e=function(n){return V().keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=V().keys.current;i.isNullish(e[n])?e[n]=t:i.deferThrow('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(t.key,t)),t))}function Un(n){var t=G();N((function(e){return i.nestedArray.setValueAtPath(e,t,n)}))}function Wn(n){var t=w();if(On(n))return n.skip(),Ln(n),t.next(),n;var e=Ln(n);return In()?(e.omit(),t.next(),e):Tn(n)?(e.skip(mn()),t.next(),e):(function(n,t){t!==n&&kn(n,t)&&n.isPending()&&n.cancel()}(e,n),Un(n),function(n){n.isUntested()?xn(n):i.isPromise(n.asyncTest)&&(n.setPending(),Pn(n))}(n),t.next(),n)}function Vn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=i.isFunction(t[1])?t:bn([void 0],t,!0);t=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(n),wn("fieldName","string")),i.invariant(i.isFunction(e),wn("Test callback","function"));var u=a.useX();return Wn(t=new _(n,e,{message:t,groupName:u.groupName,key:r}))}Sn.group=function(n){return Cn(0,"groups",n)},Rn.group=function(n){return Cn(1,"groups",n)},i.bindNot(i.isStringValue);var Gn=i.assign(Vn,{memo:function(n){var t=i.cache(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=w().current();var o=(r=r.reverse())[0],s=r[1],a=r[2];return u=[f(),e,u].concat(o),r=t.get(u),i.isNull(r)?t(u,(function(){return n(e,a,s)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,a,s)}))):Wn(r[1])}}(Vn)});function wn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return r.enforce}}),exports.VERSION="4.5.0-dev-9b46fb",exports.context=a,exports.create=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=(t=t.reverse())[0];t=t[1],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=Nn(),o=U();return t={stateRef:W(o,{suiteId:i.seq(),suiteName:t}),bus:u},i.assign(a.bind(t,(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.reset(),D({type:n.SUITE},(function(){r.apply(void 0,t)})),u.emit(En.SUITE_CALLBACK_DONE_RUNNING),pn()})),{get:a.bind(t,cn),remove:a.bind(t,(function(n){u.emit(En.REMOVE_FIELD,n)})),reset:o.reset,resetField:a.bind(t,(function(n){u.emit(En.RESET_FIELD,n)}))})},exports.each=function(t,e){i.invariant(i.isFunction(e),"each callback must be a function"),D({type:n.EACH},(function(){t.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){a.useX().mode[0]=n}(e.EAGER)},exports.group=function(t,e){i.invariant(i.isStringValue(t),Fn("name must be a string")),i.invariant(i.isFunction(e),Fn("callback must be a function")),D({type:n.GROUP},(function(){a.run({groupName:t},e)}))},exports.include=function(n){var t=a.useX(),e=t.inclusion;return t=t.exclusion,i.invariant(i.isStringValue(n)),e[n]=i.defaultTo(t.tests[n],!0),{when:function(t){var e=a.useX(),r=e.exclusion;e.inclusion[n]=function(){return i.hasOwnProperty(r.tests,n)?i.defaultTo(r.tests[n],!0):i.isStringValue(t)?!!r.tests[t]:i.optionalFunctionValue(t,i.optionalFunctionValue(cn))}}}},exports.omitWhen=function(t,e){D({type:n.OMIT_WHEN},(function(){a.run({omitted:In()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.only=Sn,exports.optional=function(n){if(i.isArray(n)||i.isStringValue(n))i.asArray(n).forEach((function(n){v(n,[!0,!1])}));else for(var t in n)v(t,[n[t],!1])},exports.skip=Rn,exports.skipWhen=function(t,e){D({type:n.SKIP_WHEN},(function(){a.run({skipped:mn()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.suiteSelectors=tn,exports.test=Gn,exports.warn=function(){var n=a.useX("warn hook called outside of a running suite.");i.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|