vest 4.6.0 → 4.6.2-dev-b07a89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/enforce/compose.development.js +20 -54
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +1 -89
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +1 -89
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/vest.development.js +5 -75
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/enforce/compose.development.js +2 -56
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +1 -90
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -88
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/vest.development.js +6 -76
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +7 -58
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +4 -91
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +4 -91
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/vest.development.js +8 -79
- package/dist/umd/vest.production.js +1 -1
- package/package.json +4 -3
- package/tsconfig.json +85 -1
- package/types/classnames.d.ts +1 -0
- package/types/classnames.d.ts.map +1 -0
- package/types/enforce/compose.d.ts +2 -125
- package/types/enforce/compose.d.ts.map +1 -0
- package/types/enforce/compounds.d.ts +1 -135
- package/types/enforce/compounds.d.ts.map +1 -0
- package/types/enforce/schema.d.ts +2 -144
- package/types/enforce/schema.d.ts.map +1 -0
- package/types/parser.d.ts +1 -0
- package/types/parser.d.ts.map +1 -0
- package/types/promisify.d.ts +1 -0
- package/types/promisify.d.ts.map +1 -0
- package/types/vest.d.ts +6 -16
- package/types/vest.d.ts.map +1 -0
|
@@ -1,60 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
function _interopNamespace(e) {
|
|
4
|
+
if (e && e.__esModule) return e;
|
|
5
|
+
var n = Object.create(null);
|
|
6
|
+
if (e) {
|
|
7
|
+
Object.keys(e).forEach(function (k) {
|
|
8
|
+
if (k !== 'default') {
|
|
9
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return e[k];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n['default'] = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return lazyRule.run(currentValue);
|
|
26
|
-
}
|
|
27
|
-
catch (_a) {
|
|
28
|
-
return failing();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/* eslint-disable max-lines-per-function */
|
|
33
|
-
function compose() {
|
|
34
|
-
var composites = [];
|
|
35
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
36
|
-
composites[_i] = arguments[_i];
|
|
37
|
-
}
|
|
38
|
-
return vestUtils.assign(function (value) {
|
|
39
|
-
var res = run(value);
|
|
40
|
-
vestUtils.invariant(res.pass, vestUtils.StringObject(res.message));
|
|
41
|
-
}, {
|
|
42
|
-
run: run,
|
|
43
|
-
test: function (value) { return run(value).pass; }
|
|
44
|
-
});
|
|
45
|
-
function run(value) {
|
|
46
|
-
return n4s.ctx.run({ value: value }, function () {
|
|
47
|
-
return defaultToPassing(vestUtils.mapFirst(composites, function (composite, breakout) {
|
|
48
|
-
/* HACK: Just a small white lie. ~~HELP WANTED~~.
|
|
49
|
-
The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
|
|
50
|
-
The problem is that lazy rules can't really be passed to this function due to some generic hell
|
|
51
|
-
so we're limiting it to a small set of functions.
|
|
52
|
-
*/
|
|
53
|
-
var res = runLazyRule(composite, value);
|
|
54
|
-
breakout(!res.pass, res);
|
|
55
|
-
}));
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
23
|
+
// eslint-disable-next-line import/no-unresolved
|
|
24
|
+
var compose = Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('n4s/compose')); });
|
|
59
25
|
|
|
60
26
|
module.exports = compose;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var e=Promise.resolve().then((function(){return function(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}(require("n4s/compose"))}));module.exports=e;
|
|
@@ -1,92 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
var vestUtils = require('vest-utils');
|
|
3
|
+
require('n4s/compounds');
|
|
5
4
|
|
|
6
|
-
function ruleReturn(pass, message) {
|
|
7
|
-
var output = { pass: pass };
|
|
8
|
-
if (message) {
|
|
9
|
-
output.message = message;
|
|
10
|
-
}
|
|
11
|
-
return output;
|
|
12
|
-
}
|
|
13
|
-
function failing() {
|
|
14
|
-
return ruleReturn(false);
|
|
15
|
-
}
|
|
16
|
-
function passing() {
|
|
17
|
-
return ruleReturn(true);
|
|
18
|
-
}
|
|
19
|
-
function defaultToFailing(callback) {
|
|
20
|
-
return vestUtils.defaultTo(callback, failing());
|
|
21
|
-
}
|
|
22
|
-
function defaultToPassing(callback) {
|
|
23
|
-
return vestUtils.defaultTo(callback, passing());
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function runLazyRule(lazyRule, currentValue) {
|
|
27
|
-
try {
|
|
28
|
-
return lazyRule.run(currentValue);
|
|
29
|
-
}
|
|
30
|
-
catch (_a) {
|
|
31
|
-
return failing();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function allOf(value) {
|
|
36
|
-
var rules = [];
|
|
37
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
38
|
-
rules[_i - 1] = arguments[_i];
|
|
39
|
-
}
|
|
40
|
-
return defaultToPassing(vestUtils.mapFirst(rules, function (rule, breakout) {
|
|
41
|
-
var res = runLazyRule(rule, value);
|
|
42
|
-
breakout(!res.pass, res);
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function anyOf(value) {
|
|
47
|
-
var rules = [];
|
|
48
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
49
|
-
rules[_i - 1] = arguments[_i];
|
|
50
|
-
}
|
|
51
|
-
return defaultToFailing(vestUtils.mapFirst(rules, function (rule, breakout) {
|
|
52
|
-
var res = runLazyRule(rule, value);
|
|
53
|
-
breakout(res.pass, res);
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function noneOf(value) {
|
|
58
|
-
var rules = [];
|
|
59
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
60
|
-
rules[_i - 1] = arguments[_i];
|
|
61
|
-
}
|
|
62
|
-
return defaultToPassing(vestUtils.mapFirst(rules, function (rule, breakout) {
|
|
63
|
-
var res = runLazyRule(rule, value);
|
|
64
|
-
breakout(res.pass, failing());
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function equals(value, arg1) {
|
|
69
|
-
return value === arg1;
|
|
70
|
-
}
|
|
71
|
-
vestUtils.bindNot(equals);
|
|
72
|
-
|
|
73
|
-
var REQUIRED_COUNT = 1;
|
|
74
|
-
function oneOf(value) {
|
|
75
|
-
var rules = [];
|
|
76
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
77
|
-
rules[_i - 1] = arguments[_i];
|
|
78
|
-
}
|
|
79
|
-
var passingCount = 0;
|
|
80
|
-
rules.some(function (rule) {
|
|
81
|
-
var res = runLazyRule(rule, value);
|
|
82
|
-
if (res.pass) {
|
|
83
|
-
passingCount++;
|
|
84
|
-
}
|
|
85
|
-
if (vestUtils.greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
return ruleReturn(equals(passingCount, REQUIRED_COUNT));
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
n4s.enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";require("n4s/compounds");
|
|
@@ -1,92 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require('n4s/schema');
|
|
4
4
|
|
|
5
|
-
var n4s = require('n4s');
|
|
6
|
-
var vestUtils = require('vest-utils');
|
|
7
|
-
|
|
8
|
-
function ruleReturn(pass, message) {
|
|
9
|
-
var output = { pass: pass };
|
|
10
|
-
if (message) {
|
|
11
|
-
output.message = message;
|
|
12
|
-
}
|
|
13
|
-
return output;
|
|
14
|
-
}
|
|
15
|
-
function failing() {
|
|
16
|
-
return ruleReturn(false);
|
|
17
|
-
}
|
|
18
|
-
function passing() {
|
|
19
|
-
return ruleReturn(true);
|
|
20
|
-
}
|
|
21
|
-
function defaultToPassing(callback) {
|
|
22
|
-
return vestUtils.defaultTo(callback, passing());
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function runLazyRule(lazyRule, currentValue) {
|
|
26
|
-
try {
|
|
27
|
-
return lazyRule.run(currentValue);
|
|
28
|
-
}
|
|
29
|
-
catch (_a) {
|
|
30
|
-
return failing();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function isArrayOf(inputArray, currentRule) {
|
|
35
|
-
return defaultToPassing(vestUtils.mapFirst(inputArray, function (currentValue, breakout, index) {
|
|
36
|
-
var res = n4s.ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
|
|
37
|
-
breakout(!res.pass, res);
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function loose(inputObject, shapeObject) {
|
|
42
|
-
var _loop_1 = function (key) {
|
|
43
|
-
var currentValue = inputObject[key];
|
|
44
|
-
var currentRule = shapeObject[key];
|
|
45
|
-
var res = n4s.ctx.run({ value: currentValue, set: true, meta: { key: key } }, function () {
|
|
46
|
-
return runLazyRule(currentRule, currentValue);
|
|
47
|
-
});
|
|
48
|
-
if (!res.pass) {
|
|
49
|
-
return { value: res };
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
for (var key in shapeObject) {
|
|
53
|
-
var state_1 = _loop_1(key);
|
|
54
|
-
if (typeof state_1 === "object")
|
|
55
|
-
return state_1.value;
|
|
56
|
-
}
|
|
57
|
-
return passing();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function optional(value, ruleChain) {
|
|
61
|
-
if (vestUtils.isNullish(value)) {
|
|
62
|
-
return passing();
|
|
63
|
-
}
|
|
64
|
-
return runLazyRule(ruleChain, value);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function shape(inputObject, shapeObject) {
|
|
68
|
-
var baseRes = loose(inputObject, shapeObject);
|
|
69
|
-
if (!baseRes.pass) {
|
|
70
|
-
return baseRes;
|
|
71
|
-
}
|
|
72
|
-
for (var key in inputObject) {
|
|
73
|
-
if (!vestUtils.hasOwnProperty(shapeObject, key)) {
|
|
74
|
-
return failing();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return passing();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Help needed improving the typings of this file.
|
|
81
|
-
// Ideally, we'd be able to extend ShapeObject, but that's not possible.
|
|
82
|
-
function partial(shapeObject) {
|
|
83
|
-
var output = {};
|
|
84
|
-
for (var key in shapeObject) {
|
|
85
|
-
output[key] = n4s.enforce.optional(shapeObject[key]);
|
|
86
|
-
}
|
|
87
|
-
return output;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
n4s.enforce.extend({ isArrayOf: isArrayOf, loose: loose, optional: optional, shape: shape });
|
|
91
|
-
|
|
92
|
-
exports.partial = partial;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";require("n4s/schema");
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var n4s = require('n4s');
|
|
6
6
|
var vestUtils = require('vest-utils');
|
|
7
7
|
var context$1 = require('context');
|
|
8
|
+
var vast = require('vast');
|
|
8
9
|
|
|
9
10
|
function shouldUseErrorAsMessage(message, error) {
|
|
10
11
|
// kind of cheating with this safe guard, but it does the job
|
|
@@ -62,7 +63,7 @@ function generateIsolate(type, path) {
|
|
|
62
63
|
};
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
var context = context$1.
|
|
66
|
+
var context = context$1.createCascade(function (ctxRef, parentContext) {
|
|
66
67
|
return parentContext
|
|
67
68
|
? null
|
|
68
69
|
: vestUtils.assign({
|
|
@@ -289,70 +290,6 @@ var STATUS_PENDING = 'PENDING';
|
|
|
289
290
|
var STATUS_CANCELED = 'CANCELED';
|
|
290
291
|
var STATUS_OMITTED = 'OMITTED';
|
|
291
292
|
|
|
292
|
-
// eslint-disable-next-line max-lines-per-function
|
|
293
|
-
function createState(onStateChange) {
|
|
294
|
-
var state = {
|
|
295
|
-
references: []
|
|
296
|
-
};
|
|
297
|
-
var registrations = [];
|
|
298
|
-
return {
|
|
299
|
-
registerStateKey: registerStateKey,
|
|
300
|
-
reset: reset
|
|
301
|
-
};
|
|
302
|
-
/**
|
|
303
|
-
* Registers a new key in the state, takes the initial value (may be a function that returns the initial value), returns a function.
|
|
304
|
-
*
|
|
305
|
-
* @example
|
|
306
|
-
*
|
|
307
|
-
* const useColor = state.registerStateKey("blue");
|
|
308
|
-
*
|
|
309
|
-
* let [color, setColor] = useColor(); // -> ["blue", Function]
|
|
310
|
-
*
|
|
311
|
-
* setColor("green");
|
|
312
|
-
*
|
|
313
|
-
* useColor()[0]; -> "green"
|
|
314
|
-
*/
|
|
315
|
-
function registerStateKey(initialState, onUpdate) {
|
|
316
|
-
var key = registrations.length;
|
|
317
|
-
registrations.push([initialState, onUpdate]);
|
|
318
|
-
return initKey(key, initialState);
|
|
319
|
-
}
|
|
320
|
-
function reset() {
|
|
321
|
-
var prev = current();
|
|
322
|
-
state.references = [];
|
|
323
|
-
registrations.forEach(function (_a, index) {
|
|
324
|
-
var initialValue = _a[0];
|
|
325
|
-
return initKey(index, initialValue, prev[index]);
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
function initKey(key, initialState, prevState) {
|
|
329
|
-
current().push();
|
|
330
|
-
set(key, vestUtils.optionalFunctionValue(initialState, prevState));
|
|
331
|
-
return function useStateKey() {
|
|
332
|
-
return [
|
|
333
|
-
current()[key],
|
|
334
|
-
function (nextState) {
|
|
335
|
-
return set(key, vestUtils.optionalFunctionValue(nextState, current()[key]));
|
|
336
|
-
},
|
|
337
|
-
];
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
function current() {
|
|
341
|
-
return state.references;
|
|
342
|
-
}
|
|
343
|
-
function set(index, value) {
|
|
344
|
-
var prevValue = state.references[index];
|
|
345
|
-
state.references[index] = value;
|
|
346
|
-
var _a = registrations[index], onUpdate = _a[1];
|
|
347
|
-
if (vestUtils.isFunction(onUpdate)) {
|
|
348
|
-
onUpdate(value, prevValue);
|
|
349
|
-
}
|
|
350
|
-
if (vestUtils.isFunction(onStateChange)) {
|
|
351
|
-
onStateChange();
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
|
|
356
293
|
function createStateRef(state, _a) {
|
|
357
294
|
var suiteId = _a.suiteId, suiteName = _a.suiteName;
|
|
358
295
|
return {
|
|
@@ -1115,7 +1052,7 @@ function create() {
|
|
|
1115
1052
|
// Event bus initialization
|
|
1116
1053
|
var bus = initBus();
|
|
1117
1054
|
// State initialization
|
|
1118
|
-
var state = createState();
|
|
1055
|
+
var state = vast.createState();
|
|
1119
1056
|
// State reference - this holds the actual state values
|
|
1120
1057
|
var stateRef = createStateRef(state, { suiteId: vestUtils.seq(), suiteName: suiteName });
|
|
1121
1058
|
// Create base context reference. All hooks will derive their data from this
|
|
@@ -1507,14 +1444,7 @@ function runAsyncTest(testObject) {
|
|
|
1507
1444
|
testObject.fail();
|
|
1508
1445
|
done();
|
|
1509
1446
|
});
|
|
1510
|
-
|
|
1511
|
-
asyncTest.then(done, fail);
|
|
1512
|
-
}
|
|
1513
|
-
catch (e) {
|
|
1514
|
-
// We will probably never get here, unless the consumer uses a buggy custom Promise
|
|
1515
|
-
// implementation that behaves differently than the native one, or if they for some
|
|
1516
|
-
fail();
|
|
1517
|
-
}
|
|
1447
|
+
asyncTest.then(done, fail);
|
|
1518
1448
|
}
|
|
1519
1449
|
|
|
1520
1450
|
/**
|
|
@@ -1733,7 +1663,7 @@ function warn() {
|
|
|
1733
1663
|
ctx.currentTest.warn();
|
|
1734
1664
|
}
|
|
1735
1665
|
|
|
1736
|
-
var VERSION = "4.6.
|
|
1666
|
+
var VERSION = "4.6.2-dev-b07a89";
|
|
1737
1667
|
|
|
1738
1668
|
Object.defineProperty(exports, 'enforce', {
|
|
1739
1669
|
enumerable: true,
|
|
@@ -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(){return c().optionalFields()}function d(n,t){(0,p()[1])((function(e){var r;return i.assign(e,((r={})[n]=i.assign({},e[n],t(e[n])),r))}))}function v(n){var t;return null!==(t=p()[0][n])&&void 0!==t?t:{}}function E(){return c().testObjects()}function h(){g((function(n){return n}))}function g(n){(0,E()[1])((function(t){return{prev:t.prev,current:i.asArray(n(t.current))}}))}function y(){return R().filter((function(n){return n.isPending()}))}var N,m=i.cache();function R(){var n=E()[0].current;return m([n],(function(){return i.nestedArray.flatten(n)}))}function S(n){R().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(N||(N={}));var T,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=N.Error,this.status=_,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!==x||(this.status=n)},n.prototype.warns=function(){return this.severity===N.Warning},n.prototype.setPending=function(){this.setStatus(k)},n.prototype.fail=function(){this.setStatus(this.warns()?O:F)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(b)},n.prototype.warn=function(){this.severity=N.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(I)},n.prototype.cancel=function(){this.setStatus(P),h()},n.prototype.reset=function(){this.status=_,h()},n.prototype.omit=function(){this.setStatus(x)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.isPending=function(){return this.statusEquals(k)},n.prototype.isOmitted=function(){return this.statusEquals(x)},n.prototype.isUntested=function(){return this.statusEquals(_)},n.prototype.isFailing=function(){return this.statusEquals(F)},n.prototype.isCanceled=function(){return this.statusEquals(P)},n.prototype.isSkipped=function(){return this.statusEquals(I)},n.prototype.isPassing=function(){return this.statusEquals(b)},n.prototype.isWarning=function(){return this.statusEquals(O)},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},n.prototype.statusEquals=function(n){return this.status===n},n}(),_="UNTESTED",I="SKIPPED",F="FAILED",O="WARNING",b="PASSING",k="PENDING",P="CANCELED",x="OMITTED";function L(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 U(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 D(){return a.useX().isolate}function W(){var n=D();return n.path.concat(n.cursor.current())}function V(){return D().cursor}function w(t,e){t=void 0===(t=t.type)?n.DEFAULT:t,i.invariant(i.isFunction(e));var r=s(t,W());return t=a.run({isolate:r},(function(){return r.keys.prev=function(){var n=E()[0].prev;return i.asArray(i.nestedArray.getCurrent(n,W())).reduce((function(n,t){return t instanceof A&&!i.isNullish(t.key)?(n[t.key]=t,n):n}),{})}(),g((function(n){return i.nestedArray.setValueAtPath(n,r.path,[])})),e()})),V().next(),t}function G(n){return n===T.ERRORS?C.ERROR_COUNT:C.WARN_COUNT}function q(n,t){return!!t&&!X(n,t)}function X(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(T||(T={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(C||(C={}));var H,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)}))}(T.ERRORS,n)}function B(n,t,e){return!(!n.hasFailures()||q(n,e)||function(n,t){return i.either(n===T.WARNINGS,t.warns())}(t,n))}function j(n){return!!n&&v(n).applied}function Y(n){if(j(n))return!0;var t=R();return!(i.isEmpty(t)||M(n)||function(n){return i.isNotEmpty(y().filter((function(t){return z(t,n)})))}(n))&&function(n){return R().every((function(t){return Q(t,n)}))}(n)}function J(n,t){return!!j(t)||!function(n,t,e){return R().some((function(r){return!K(r,t)&&B(r,n,e)}))}(T.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 z(n,t){return!q(n,t)&&j(t)}function Q(n,t){return!!q(n,t)||(function(n){return v(n.fieldName).type===H.Delayed&&n.awaitsResolution()}(n)||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&&Y(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&&J(e,t.fieldName))}(n.groups,t),n}),t),t.valid=Y(),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=G(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(T.ERRORS):t.isWarning()&&e(T.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=G(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,T.ERRORS,t)},getErrorsByGroup:function(t,e){return rn(n,T.ERRORS,t,e)},getWarnings:function(t){return en(n,T.WARNINGS,t)},getWarningsByGroup:function(t,e){return rn(n,T.WARNINGS,t,e)},hasErrors:function(t){return sn(n,C.ERROR_COUNT,t)},hasErrorsByGroup:function(t,e){return on(n,C.ERROR_COUNT,t,e)},hasWarnings:function(t){return sn(n,C.WARN_COUNT,t)},hasWarningsByGroup:function(t,e){return on(n,C.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)}!function(n){n[n.Immediate=0]="Immediate",n[n.Delayed=1]="Delayed"}(H||(H={}));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 X(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 yn(){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(),d(n.fieldName,(function(){return{applied:!0}})))}var t=p()[0];if(!i.isEmpty(t)){var e={};R().forEach((function(t){if(i.hasOwnProperty(e,t.fieldName))n(t);else{var r=v(t.fieldName);r.type===H.Immediate&&(e[t.fieldName]=i.optionalFunctionValue(r.rule),n(t))}})),h()}}()})),n.on(En.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var n=l()[0].doneCallbacks;i.callEach(n)}()})),n.on(En.REMOVE_FIELD,(function(n){S((function(t){X(t,n)&&(t.cancel(),function(n){g((function(t){return i.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(En.RESET_FIELD,(function(n){S((function(t){X(t,n)&&t.reset()}))})),n}function Nn(){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 Rn(n){return Cn(0,"tests",n)}function Sn(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 In(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Fn(n){return function(n){return a.useX().mode[0]===n}(e.EAGER)&&M(n.fieldName)}function On(){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=Nn().emit,u=c(),o=a.bind({stateRef:u},(function(){h(),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=Nn(),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=E()[0].prev;return i.isEmpty(e)?(Un(t),t):(e=function(n){var t=W();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){D().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=V().current();g((function(t){return t.splice(n),t}))}(),e=null),Un(t=i.defaultTo(e,t)),t):(t=function(n,t){var e=function(n){return D().keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=D().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),Un(t),t))}function Un(n){var t=W();g((function(e){return i.nestedArray.setValueAtPath(e,t,n)}))}function Dn(n){var t=V();if(Fn(n))return n.skip(),Ln(n),t.next(),n;var e=Ln(n);return On()||j(n.fieldName)?(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 Wn(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 Dn(t=new A(n,e,{message:t,groupName:u.groupName,key:r}))}Rn.group=function(n){return Cn(0,"groups",n)},Sn.group=function(n){return Cn(1,"groups",n)};var Vn=i.assign(Wn,{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=V().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)}))):Dn(r[1])}}(Wn)});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.6.0",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=yn(),o=L();return t={stateRef:U(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(),w({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"),w({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),In("name must be a string")),i.invariant(i.isFunction(e),In("callback must be a function")),w({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){w({type:n.OMIT_WHEN},(function(){a.run({omitted:On()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.only=Rn,exports.optional=function(n){if(i.isArray(n)||i.isStringValue(n))i.asArray(n).forEach((function(n){d(n,(function(){return{type:H.Delayed,applied:!1,rule:null}}))}));else{var t,e=function(t){var e=n[t];d(t,(function(){return{type:H.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(t in n)e(t)}},exports.skip=Sn,exports.skipWhen=function(t,e){w({type:n.SKIP_WHEN},(function(){a.run({skipped:mn()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.suiteSelectors=tn,exports.test=Vn,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 t,n,e,r=require("n4s"),i=require("vest-utils"),u=require("context"),o=require("vast");function s(){var t=0;return{current:function(){return t},next:function(){t++}}}function a(t,n){return void 0===n&&(n=[]),{cursor:s(),keys:{current:{},prev:{}},path:n,type:t}}(n=t||(t={}))[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP",function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(e||(e={}));var c=u.createCascade((function(n,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:a(t.DEFAULT),mode:[e.ALL]},n)}));function f(){return c.useX().stateRef}function l(){return f().suiteId()[0]}function p(){return f().testCallbacks()}function d(){return f().optionalFields()}function v(t,n){(0,d()[1])((function(e){var r;return i.assign(e,((r={})[t]=i.assign({},e[t],n(e[t])),r))}))}function E(t){var n;return null!==(n=d()[0][t])&&void 0!==n?n:{}}function h(){return f().testObjects()}function g(){N((function(t){return t}))}function N(t){(0,h()[1])((function(n){return{prev:n.prev,current:i.asArray(t(n.current))}}))}function y(){return S().filter((function(t){return t.isPending()}))}var m,R=i.cache();function S(){var t=h()[0].current;return R([t],(function(){return i.nestedArray.flatten(t)}))}function T(t){S().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(m||(m={}));var C,A,_=function(){function t(t,n,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=I,this.fieldName=t,this.testFn=n,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){(function(t,n){return i.isUndefined(t)&&i.isStringValue(n)})(this.message,n)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==L||(this.status=t)},t.prototype.warns=function(){return this.severity===m.Warning},t.prototype.setPending=function(){this.setStatus(P)},t.prototype.fail=function(){this.setStatus(this.warns()?b:F)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(k)},t.prototype.warn=function(){this.severity=m.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(O)},t.prototype.cancel=function(){this.setStatus(x),g()},t.prototype.reset=function(){this.status=I,g()},t.prototype.omit=function(){this.setStatus(L)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(P)},t.prototype.isOmitted=function(){return this.statusEquals(L)},t.prototype.isUntested=function(){return this.statusEquals(I)},t.prototype.isFailing=function(){return this.statusEquals(F)},t.prototype.isCanceled=function(){return this.statusEquals(x)},t.prototype.isSkipped=function(){return this.statusEquals(O)},t.prototype.isPassing=function(){return this.statusEquals(k)},t.prototype.isWarning=function(){return this.statusEquals(b)},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},t.prototype.statusEquals=function(t){return this.status===t},t}(),I="UNTESTED",O="SKIPPED",F="FAILED",b="WARNING",k="PASSING",P="PENDING",x="CANCELED",L="OMITTED";function U(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 D(){return c.useX().isolate}function W(){var t=D();return t.path.concat(t.cursor.current())}function w(){return D().cursor}function G(n,e){n=void 0===(n=n.type)?t.DEFAULT:n,i.invariant(i.isFunction(e));var r=a(n,W());return n=c.run({isolate:r},(function(){return r.keys.prev=function(){var t=h()[0].prev;return i.asArray(i.nestedArray.getCurrent(t,W())).reduce((function(t,n){return n instanceof _&&!i.isNullish(n.key)?(t[n.key]=n,t):t}),{})}(),N((function(t){return i.nestedArray.setValueAtPath(t,r.path,[])})),e()})),w().next(),n}function V(t){return t===C.ERRORS?A.ERROR_COUNT:A.WARN_COUNT}function q(t,n){return!!n&&!X(t,n)}function X(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(C||(C={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(A||(A={}));var H,K=i.bindNot((function(t,n){return t.groupName===n}));function M(t){return function(t,n){return S().some((function(e){return B(e,t,n)}))}(C.ERRORS,t)}function B(t,n,e){return!(!t.hasFailures()||q(t,e)||function(t,n){return i.either(t===C.WARNINGS,n.warns())}(n,t))}function j(t){return!!t&&E(t).applied}function Y(t){if(j(t))return!0;var n=S();return!(i.isEmpty(n)||M(t)||function(t){return i.isNotEmpty(y().filter((function(n){return z(n,t)})))}(t))&&function(t){return S().every((function(n){return Q(n,t)}))}(t)}function J(t,n){return!!j(n)||!function(t,n,e){return S().some((function(r){return!K(r,n)&&B(r,t,e)}))}(C.ERRORS,t,n)&&!function(t,n){return i.isNotEmpty(y().filter((function(e){return!K(e,t)&&z(e,n)})))}(t,n)&&function(t,n){return S().every((function(e){return!!K(e,t)||Q(e,n)}))}(t,n)}function z(t,n){return!q(t,n)&&j(n)}function Q(t,n){return!!q(t,n)||(function(t){return E(t.fieldName).type===H.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function Z(){var t=S(),n=i.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=$(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&Y(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;e&&(t[e]=t[e]||{},t[e][n.fieldName]=$(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&J(e,n.fieldName))}(t.groups,n),t}),n),n.valid=Y(),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 $(t,n){function e(t){var n=V(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(C.ERRORS):n.isWarning()&&e(C.WARNINGS)),o}function tt(t,n,e){return e?function(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}(t,n,e):function(t,n){var e,r={},u=V(n);for(e in t)i.isPositive(t[e][u])&&(r[e]=t[e][n]||[]);return r}(t,n)}function nt(t){return{getErrors:function(n){return et(t,C.ERRORS,n)},getErrorsByGroup:function(n,e){return rt(t,C.ERRORS,n,e)},getWarnings:function(n){return et(t,C.WARNINGS,n)},getWarningsByGroup:function(n,e){return rt(t,C.WARNINGS,n,e)},hasErrors:function(n){return ot(t,A.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return ut(t,A.ERROR_COUNT,n,e)},hasWarnings:function(n){return ot(t,A.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return ut(t,A.WARN_COUNT,n,e)},isValid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},isValidByGroup:function(n,e){if(!(n=t.groups[n]))return!1;if(e)return it(n,e);for(var r in n)if(!it(n,r))return!1;return!0}}}function et(t,n,e){return tt(t.tests,n,e)}function rt(t,n,e,r){return tt(t.groups[e],n,r)}function it(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function ut(t,n,e,r){var u,o;if(!(t=t.groups[e]))return!1;if(r)return i.isPositive(null===(u=t[r])||void 0===u?void 0:u[n]);for(var s in t)if(i.isPositive(null===(o=t[s])||void 0===o?void 0:o[n]))return!0;return!1}function ot(t,n,e){var r;return t=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0,i.isPositive(t)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(H||(H={}));var st=i.cache(1);function at(){var t=S(),n={stateRef:f()};return st([t],c.bind(n,(function(){var t=Z(),n=f().suiteName()[0];return i.assign(t,nt(t),{suiteName:n})})))}function ct(t){var n=y();return!i.isEmpty(n)&&(!t||n.some((function(n){return X(n,t)})))}var ft=i.cache(20);function lt(){var t=S(),n={stateRef:f()};return ft([t],c.bind(n,(function(){return i.assign({},at(),{done:c.bind(n,Et)})})))}function pt(t,n,e){var r;return!!(!i.isFunction(t)||n&&i.numberEquals(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function dt(t){return!(ct()&&(!t||ct(t)))}var vt,Et=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];if(t=t[1],n=lt(),pt(e,t,n))return n;var r=function(){return e(at())};return dt(t)?(r(),n):(ht(r,t),n)};function ht(t,n){(0,p()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function gt(){var t=i.bus.createBus();return t.on(vt.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(t){var n=p()[0].fieldCallbacks;t&&!ct(t)&&i.isArray(n[t])&&i.callEach(n[t])}(n.fieldName),ct()||t.emit(vt.ALL_RUNNING_TESTS_FINISHED))})),t.on(vt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),v(t.fieldName,(function(){return{applied:!0}})))}var n=d()[0];if(!i.isEmpty(n)){var e={};S().forEach((function(n){if(i.hasOwnProperty(e,n.fieldName))t(n);else{var r=E(n.fieldName);r.type===H.Immediate&&(e[n.fieldName]=i.optionalFunctionValue(r.rule),t(n))}})),g()}}()})),t.on(vt.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var t=p()[0].doneCallbacks;i.callEach(t)}()})),t.on(vt.REMOVE_FIELD,(function(t){T((function(n){X(n,t)&&(n.cancel(),function(t){N((function(n){return i.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(vt.RESET_FIELD,(function(t){T((function(n){X(n,t)&&n.reset()}))})),t}function Nt(){var t=c.useX();return i.invariant(t.bus),t.bus}!function(t){t.TEST_COMPLETED="test_completed",t.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",t.REMOVE_FIELD="remove_field",t.RESET_FIELD="reset_field",t.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(vt||(vt={}));function yt(){return!!c.useX().skipped}function mt(t){return Tt(0,"tests",t)}function Rt(t){return Tt(1,"tests",t)}function St(t){var n=t.fieldName;if(t=t.groupName,yt())return!0;var e=c.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){if(function(t){var n=c.useX().exclusion.groups;return i.hasOwnProperty(n,t)?!1===n[t]:At()}(t))return!0;if(!0===r.groups[t])return!o&&(!!Ct(u)||!1===u[n])}return!!function(t){return!!At()&&!t}(t)||!o&&(!!Ct(u)&&!i.optionalFunctionValue(e[n]))}function Tt(t,n,e){var r=c.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[n][e]=0===t)}))}function Ct(t){for(var n in t)if(!0===t[n])return!0;return!1}function At(){var t,n=c.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 It(t){return function(t){return c.useX().mode[0]===t}(e.EAGER)&&M(t.fieldName)}function Ot(){return!!c.useX().omitted}function Ft(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function bt(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function kt(t){var n=t.asyncTest,e=t.message;if(i.isPromise(n)){var r=Nt().emit,u=f(),o=c.bind({stateRef:u},(function(){g(),r(vt.TEST_COMPLETED,t)}));u=c.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=i.isStringValue(n)?n:e,t.fail(),o())})),n.then(o,u)}}function Pt(t){var n=Nt(),e=function(t){return c.run({currentTest:t},(function(){return t.run()}))}(t);try{i.isPromise(e)?(t.asyncTest=e,t.setPending(),kt(t)):n.emit(vt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function xt(n){var e=h()[0].prev;return i.isEmpty(e)?(Lt(n),n):(e=function(t){var n=W();return i.nestedArray.valueAtPath(t,n)}(e),i.isNullish(n.key)?(function(t,n){return i.isNotEmpty(t)&&!bt(t,n)}(e,n)&&(function(n,e){D().type===t.EACH||i.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.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,n),function(){var t=w().current();N((function(n){return n.splice(t),n}))}(),e=null),Lt(n=i.defaultTo(e,n)),n):(n=function(t,n){var e=function(t){return D().keys.prev[t]}(t);return e&&(n=e),function(t,n){var e=D().keys.current;i.isNullish(e[t])?e[t]=n:i.deferThrow('Encountered the same test key "'.concat(t,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(t,n),n}(n.key,n),Lt(n),n))}function Lt(t){var n=W();N((function(e){return i.nestedArray.setValueAtPath(e,n,t)}))}function Ut(t){var n=w();if(It(t))return t.skip(),xt(t),n.next(),t;var e=xt(t);return Ot()||j(t.fieldName)?(e.omit(),n.next(),e):St(t)?(e.skip(yt()),n.next(),e):(function(t,n){n!==t&&bt(t,n)&&t.isPending()&&t.cancel()}(e,t),Lt(t),function(t){t.isUntested()?Pt(t):i.isPromise(t.asyncTest)&&(t.setPending(),kt(t))}(t),n.next(),t)}function Dt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=i.isFunction(n[1])?n:Ft([void 0],n,!0);n=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(t),wt("fieldName","string")),i.invariant(i.isFunction(e),wt("Test callback","function"));var u=c.useX();return Ut(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}mt.group=function(t){return Tt(0,"groups",t)},Rt.group=function(t){return Tt(1,"groups",t)};var Wt=i.assign(Dt,{memo:function(t){var n=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=[l(),e,u].concat(o),r=n.get(u),i.isNull(r)?n(u,(function(){return t(e,a,s)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,a,s)}))):Ut(r[1])}}(Dt)});function wt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return r.enforce}}),exports.VERSION="4.6.2-dev-b07a89",exports.context=c,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=gt(),s=o.createState();return n={stateRef:U(s,{suiteId:i.seq(),suiteName:n}),bus:u},i.assign(c.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return s.reset(),G({type:t.SUITE},(function(){r.apply(void 0,n)})),u.emit(vt.SUITE_CALLBACK_DONE_RUNNING),lt()})),{get:c.bind(n,at),remove:c.bind(n,(function(t){u.emit(vt.REMOVE_FIELD,t)})),reset:s.reset,resetField:c.bind(n,(function(t){u.emit(vt.RESET_FIELD,t)}))})},exports.each=function(n,e){i.invariant(i.isFunction(e),"each callback must be a function"),G({type:t.EACH},(function(){n.forEach((function(t,n){e(t,n)}))}))},exports.eager=function(){!function(t){c.useX().mode[0]=t}(e.EAGER)},exports.group=function(n,e){i.invariant(i.isStringValue(n),_t("name must be a string")),i.invariant(i.isFunction(e),_t("callback must be a function")),G({type:t.GROUP},(function(){c.run({groupName:n},e)}))},exports.include=function(t){var n=c.useX(),e=n.inclusion;return n=n.exclusion,i.invariant(i.isStringValue(t)),e[t]=i.defaultTo(n.tests[t],!0),{when:function(n){var e=c.useX(),r=e.exclusion;e.inclusion[t]=function(){return i.hasOwnProperty(r.tests,t)?i.defaultTo(r.tests[t],!0):i.isStringValue(n)?!!r.tests[n]:i.optionalFunctionValue(n,i.optionalFunctionValue(at))}}}},exports.omitWhen=function(n,e){G({type:t.OMIT_WHEN},(function(){c.run({omitted:Ot()||i.optionalFunctionValue(n,i.optionalFunctionValue(at))},(function(){return e()}))}))},exports.only=mt,exports.optional=function(t){if(i.isArray(t)||i.isStringValue(t))i.asArray(t).forEach((function(t){v(t,(function(){return{type:H.Delayed,applied:!1,rule:null}}))}));else{var n,e=function(n){var e=t[n];v(n,(function(){return{type:H.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(n in t)e(n)}},exports.skip=Rt,exports.skipWhen=function(n,e){G({type:t.SKIP_WHEN},(function(){c.run({skipped:yt()||i.optionalFunctionValue(n,i.optionalFunctionValue(at))},(function(){return e()}))}))},exports.suiteSelectors=nt,exports.test=Wt,exports.warn=function(){var t=c.useX("warn hook called outside of a running suite.");i.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()};
|
|
@@ -1,58 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function ruleReturn(pass, message) {
|
|
5
|
-
var output = { pass: pass };
|
|
6
|
-
if (message) {
|
|
7
|
-
output.message = message;
|
|
8
|
-
}
|
|
9
|
-
return output;
|
|
10
|
-
}
|
|
11
|
-
function failing() {
|
|
12
|
-
return ruleReturn(false);
|
|
13
|
-
}
|
|
14
|
-
function passing() {
|
|
15
|
-
return ruleReturn(true);
|
|
16
|
-
}
|
|
17
|
-
function defaultToPassing(callback) {
|
|
18
|
-
return defaultTo(callback, passing());
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function runLazyRule(lazyRule, currentValue) {
|
|
22
|
-
try {
|
|
23
|
-
return lazyRule.run(currentValue);
|
|
24
|
-
}
|
|
25
|
-
catch (_a) {
|
|
26
|
-
return failing();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* eslint-disable max-lines-per-function */
|
|
31
|
-
function compose() {
|
|
32
|
-
var composites = [];
|
|
33
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
34
|
-
composites[_i] = arguments[_i];
|
|
35
|
-
}
|
|
36
|
-
return assign(function (value) {
|
|
37
|
-
var res = run(value);
|
|
38
|
-
invariant(res.pass, StringObject(res.message));
|
|
39
|
-
}, {
|
|
40
|
-
run: run,
|
|
41
|
-
test: function (value) { return run(value).pass; }
|
|
42
|
-
});
|
|
43
|
-
function run(value) {
|
|
44
|
-
return ctx.run({ value: value }, function () {
|
|
45
|
-
return defaultToPassing(mapFirst(composites, function (composite, breakout) {
|
|
46
|
-
/* HACK: Just a small white lie. ~~HELP WANTED~~.
|
|
47
|
-
The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
|
|
48
|
-
The problem is that lazy rules can't really be passed to this function due to some generic hell
|
|
49
|
-
so we're limiting it to a small set of functions.
|
|
50
|
-
*/
|
|
51
|
-
var res = runLazyRule(composite, value);
|
|
52
|
-
breakout(!res.pass, res);
|
|
53
|
-
}));
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
// eslint-disable-next-line import/no-unresolved
|
|
2
|
+
var compose = import('n4s/compose');
|
|
57
3
|
|
|
58
4
|
export default compose;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var o=import("n4s/compose");export default o;
|
|
@@ -1,90 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defaultTo, mapFirst, bindNot, greaterThan } from 'vest-utils';
|
|
3
|
-
|
|
4
|
-
function ruleReturn(pass, message) {
|
|
5
|
-
var output = { pass: pass };
|
|
6
|
-
if (message) {
|
|
7
|
-
output.message = message;
|
|
8
|
-
}
|
|
9
|
-
return output;
|
|
10
|
-
}
|
|
11
|
-
function failing() {
|
|
12
|
-
return ruleReturn(false);
|
|
13
|
-
}
|
|
14
|
-
function passing() {
|
|
15
|
-
return ruleReturn(true);
|
|
16
|
-
}
|
|
17
|
-
function defaultToFailing(callback) {
|
|
18
|
-
return defaultTo(callback, failing());
|
|
19
|
-
}
|
|
20
|
-
function defaultToPassing(callback) {
|
|
21
|
-
return defaultTo(callback, passing());
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function runLazyRule(lazyRule, currentValue) {
|
|
25
|
-
try {
|
|
26
|
-
return lazyRule.run(currentValue);
|
|
27
|
-
}
|
|
28
|
-
catch (_a) {
|
|
29
|
-
return failing();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function allOf(value) {
|
|
34
|
-
var rules = [];
|
|
35
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
36
|
-
rules[_i - 1] = arguments[_i];
|
|
37
|
-
}
|
|
38
|
-
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
39
|
-
var res = runLazyRule(rule, value);
|
|
40
|
-
breakout(!res.pass, res);
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function anyOf(value) {
|
|
45
|
-
var rules = [];
|
|
46
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
47
|
-
rules[_i - 1] = arguments[_i];
|
|
48
|
-
}
|
|
49
|
-
return defaultToFailing(mapFirst(rules, function (rule, breakout) {
|
|
50
|
-
var res = runLazyRule(rule, value);
|
|
51
|
-
breakout(res.pass, res);
|
|
52
|
-
}));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function noneOf(value) {
|
|
56
|
-
var rules = [];
|
|
57
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
58
|
-
rules[_i - 1] = arguments[_i];
|
|
59
|
-
}
|
|
60
|
-
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
61
|
-
var res = runLazyRule(rule, value);
|
|
62
|
-
breakout(res.pass, failing());
|
|
63
|
-
}));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function equals(value, arg1) {
|
|
67
|
-
return value === arg1;
|
|
68
|
-
}
|
|
69
|
-
bindNot(equals);
|
|
70
|
-
|
|
71
|
-
var REQUIRED_COUNT = 1;
|
|
72
|
-
function oneOf(value) {
|
|
73
|
-
var rules = [];
|
|
74
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
75
|
-
rules[_i - 1] = arguments[_i];
|
|
76
|
-
}
|
|
77
|
-
var passingCount = 0;
|
|
78
|
-
rules.some(function (rule) {
|
|
79
|
-
var res = runLazyRule(rule, value);
|
|
80
|
-
if (res.pass) {
|
|
81
|
-
passingCount++;
|
|
82
|
-
}
|
|
83
|
-
if (greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
return ruleReturn(equals(passingCount, REQUIRED_COUNT));
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
|
|
1
|
+
import 'n4s/compounds';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"n4s/compounds";
|