vest 4.6.1 → 4.6.2-dev-b9b126
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.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +5 -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/parser.development.js +1 -1
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/vest.development.js +5 -77
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +1 -1
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -58
- 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/parser.development.js +1 -1
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +1 -1
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +4 -74
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +3 -3
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +9 -57
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +5 -92
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +5 -92
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +5 -5
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/promisify.development.js +3 -3
- package/dist/umd/promisify.production.js +1 -1
- package/dist/umd/vest.development.js +9 -82
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -2
- 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 -126
- 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 +5 -10
- package/types/vest.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
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
|
|
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=[];for(var n in r){var o=n;t.isFunction(i[o])&&i[o](e)&&s.push(r[o])}return s.join(" ")}};
|
|
@@ -1,60 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var vestUtils = require('vest-utils');
|
|
3
|
+
var compose = require('n4s/compose');
|
|
5
4
|
|
|
6
|
-
function
|
|
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 defaultToPassing(callback) {
|
|
20
|
-
return vestUtils.defaultTo(callback, passing());
|
|
21
|
-
}
|
|
5
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
6
|
|
|
23
|
-
|
|
24
|
-
try {
|
|
25
|
-
return lazyRule.run(currentValue);
|
|
26
|
-
}
|
|
27
|
-
catch (_a) {
|
|
28
|
-
return failing();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
7
|
+
var compose__default = /*#__PURE__*/_interopDefaultLegacy(compose);
|
|
31
8
|
|
|
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
|
-
}
|
|
59
9
|
|
|
60
|
-
|
|
10
|
+
|
|
11
|
+
module.exports = compose__default["default"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=e(require("n4s/compose"));module.exports=t.default;
|
|
@@ -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");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("vest"),e=require("vest
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("vest-utils"),e=require("vest");exports.parse=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){if(!e)return t.isPositive(s.testCount);return t.hasOwnProperty(i,e)?i[e]:(i[e]=t.hasOwnProperty(s.tests,e)&&t.isPositive(s.tests[e].testCount),n.tested(e))},untested:function(e){return!(t.isPositive(s.testCount)&&n.tested(e))},valid:r.isValid,warning:r.hasWarnings};return n};
|
|
@@ -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
|
|
@@ -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,13 +1663,11 @@ function warn() {
|
|
|
1733
1663
|
ctx.currentTest.warn();
|
|
1734
1664
|
}
|
|
1735
1665
|
|
|
1736
|
-
var VERSION = "4.6.
|
|
1666
|
+
var VERSION = "4.6.2-dev-b9b126";
|
|
1737
1667
|
|
|
1738
1668
|
Object.defineProperty(exports, 'enforce', {
|
|
1739
1669
|
enumerable: true,
|
|
1740
|
-
get: function () {
|
|
1741
|
-
return n4s.enforce;
|
|
1742
|
-
}
|
|
1670
|
+
get: function () { return n4s.enforce; }
|
|
1743
1671
|
});
|
|
1744
1672
|
exports.VERSION = VERSION;
|
|
1745
1673
|
exports.context = context;
|
|
@@ -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.createCascade((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.1",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=require("n4s"),r=require("vest-utils"),i=require("context"),u=require("vast");function o(t,n){return void 0===n&&(n=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:n,type:t};var e}!function(t){t[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"}(t||(t={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(n||(n={}));var s=i.createCascade((function(e,i){return i?null:r.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:o(t.DEFAULT),mode:[n.ALL]},e)}));function a(){return s.useX().stateRef}function c(){return a().suiteId()[0]}function f(){return a().testCallbacks()}function l(){return a().optionalFields()}function p(t,n){(0,l()[1])((function(e){var i;return r.assign(e,((i={})[t]=r.assign({},e[t],n(e[t])),i))}))}function d(t){var n;return null!==(n=l()[0][t])&&void 0!==n?n:{}}function v(){return a().testObjects()}function E(){h((function(t){return t}))}function h(t){(0,v()[1])((function(n){var e=n.current;return{prev:n.prev,current:r.asArray(t(e))}}))}function g(){return m().filter((function(t){return t.isPending()}))}var N,y=r.cache();function m(){var t=v()[0].current;return y([t],(function(){return r.nestedArray.flatten(t)}))}function R(t){m().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(N||(N={}));var S,T,C=function(){function t(t,n,e){var i=void 0===e?{}:e,u=i.message,o=i.groupName,s=i.key;this.key=null,this.id=r.seq(),this.severity=N.Error,this.status=A,this.fieldName=t,this.testFn=n,o&&(this.groupName=o),u&&(this.message=u),s&&(this.key=s)}return t.prototype.run=function(){var t;try{t=this.testFn()}catch(n){(function(t,n){return r.isUndefined(t)&&r.isStringValue(n)})(this.message,n)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==P||(this.status=t)},t.prototype.warns=function(){return this.severity===N.Warning},t.prototype.setPending=function(){this.setStatus(F)},t.prototype.fail=function(){this.setStatus(this.warns()?O:I)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(b)},t.prototype.warn=function(){this.severity=N.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(_)},t.prototype.cancel=function(){this.setStatus(k),E()},t.prototype.reset=function(){this.status=A,E()},t.prototype.omit=function(){this.setStatus(P)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(F)},t.prototype.isOmitted=function(){return this.statusEquals(P)},t.prototype.isUntested=function(){return this.statusEquals(A)},t.prototype.isFailing=function(){return this.statusEquals(I)},t.prototype.isCanceled=function(){return this.statusEquals(k)},t.prototype.isSkipped=function(){return this.statusEquals(_)},t.prototype.isPassing=function(){return this.statusEquals(b)},t.prototype.isWarning=function(){return this.statusEquals(O)},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}(),A="UNTESTED",_="SKIPPED",I="FAILED",O="WARNING",b="PASSING",F="PENDING",k="CANCELED",P="OMITTED";function x(t,n){var e=n.suiteId,r=n.suiteName;return{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(r),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function L(){return s.useX().isolate}function U(){var t=L();return t.path.concat(t.cursor.current())}function D(){return L().cursor}function W(n,e){var i=n.type,u=void 0===i?t.DEFAULT:i;r.invariant(r.isFunction(e));var a=o(u,U()),c=s.run({isolate:a},(function(){var t;return a.keys.prev=(t=v()[0].prev,r.asArray(r.nestedArray.getCurrent(t,U())).reduce((function(t,n){return n instanceof C?(r.isNullish(n.key)||(t[n.key]=n),t):t}),{})),h((function(t){return r.nestedArray.setValueAtPath(t,a.path,[])})),e()}));return D().next(),c}function w(t){return t===S.ERRORS?T.ERROR_COUNT:T.WARN_COUNT}function G(t,n){return!!n&&!V(t,n)}function V(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(S||(S={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(T||(T={}));var q,X=r.bindNot((function(t,n){return t.groupName===n}));function H(t){return function(t,n){return m().some((function(e){return K(e,t,n)}))}(S.ERRORS,t)}function K(t,n,e){return!!t.hasFailures()&&(!G(t,e)&&!function(t,n){return r.either(t===S.WARNINGS,n.warns())}(n,t))}function M(t){return!!t&&d(t).applied}function B(t){if(M(t))return!0;var n=m();return!r.isEmpty(n)&&(!H(t)&&(!function(t){return r.isNotEmpty(g().filter((function(n){return Y(n,t)})))}(t)&&function(t){return m().every((function(n){return J(n,t)}))}(t)))}function j(t,n){return!!M(n)||!function(t,n,e){return m().some((function(r){return!X(r,n)&&K(r,t,e)}))}(S.ERRORS,t,n)&&(!function(t,n){return r.isNotEmpty(g().filter((function(e){return!X(e,t)&&Y(e,n)})))}(t,n)&&function(t,n){return m().every((function(e){return!!X(e,t)||J(e,n)}))}(t,n))}function Y(t,n){return!G(t,n)&&M(n)}function J(t,n){return!!G(t,n)||(function(t){return d(t.fieldName).type===q.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function z(){var t=m(),n=r.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=Q(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&B(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Q(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=B(),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 Q(t,n){var e=n.fieldName,i=n.message;t[e]=t[e]||r.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=t[e];return n.isNonActionable()||(t[e].testCount++,n.isFailing()?o(S.ERRORS):n.isWarning()&&o(S.WARNINGS)),u;function o(t){var n=w(t);u[n]++,i&&(u[t]=(u[t]||[]).concat(i))}}function Z(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={},i=w(n);for(var u in t)r.isPositive(t[u][i])&&(e[u]=t[u][n]||[]);return e}(t,n)}function $(t){var n={getErrors:function(n){return tt(t,S.ERRORS,n)},getErrorsByGroup:function(n,e){return nt(t,S.ERRORS,n,e)},getWarnings:function(n){return tt(t,S.WARNINGS,n)},getWarningsByGroup:function(n,e){return nt(t,S.WARNINGS,n,e)},hasErrors:function(n){return it(t,T.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return rt(t,T.ERROR_COUNT,n,e)},hasWarnings:function(n){return it(t,T.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return rt(t,T.WARN_COUNT,n,e)},isValid:function(n){var e;return n?Boolean(null===(e=t.tests[n])||void 0===e?void 0:e.valid):t.valid},isValidByGroup:function(n,e){var r=t.groups[n];if(!r)return!1;if(e)return et(r,e);for(var i in r)if(!et(r,i))return!1;return!0}};return n}function tt(t,n,e){return Z(t.tests,n,e)}function nt(t,n,e,r){return Z(t.groups[e],n,r)}function et(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function rt(t,n,e,i){var u,o,s=t.groups[e];if(!s)return!1;if(i)return r.isPositive(null===(u=s[i])||void 0===u?void 0:u[n]);for(var a in s)if(r.isPositive(null===(o=s[a])||void 0===o?void 0:o[n]))return!0;return!1}function it(t,n,e){var i,u=e?null===(i=t.tests[e])||void 0===i?void 0:i[n]:t[n]||0;return r.isPositive(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(q||(q={}));var ut=r.cache(1);function ot(){var t=m(),n={stateRef:a()};return ut([t],s.bind(n,(function(){var t=z(),n=a().suiteName()[0];return r.assign(t,$(t),{suiteName:n})})))}function st(t){var n=g();return!r.isEmpty(n)&&(!t||n.some((function(n){return V(n,t)})))}var at=r.cache(20);function ct(){var t=m(),n={stateRef:a()};return at([t],s.bind(n,(function(){return r.assign({},ot(),{done:s.bind(n,dt)})})))}function ft(t,n,e){var i;return!!(!r.isFunction(t)||n&&r.numberEquals(null===(i=e.tests[n])||void 0===i?void 0:i.testCount,0))}function lt(t){return!(st()&&(!t||st(t)))}var pt,dt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],i=e[1],u=ct();if(ft(r,i,u))return u;var o=function(){return r(ot())};return lt(i)?(o(),u):(vt(o,i),u)};function vt(t,n){(0,f()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Et(){var t=l()[0];if(!r.isEmpty(t)){var n={};m().forEach((function(t){r.hasOwnProperty(n,t.fieldName)?e(t):function(t){var i=d(t.fieldName);i.type===q.Immediate&&(n[t.fieldName]=r.optionalFunctionValue(i.rule),e(t))}(t)})),E()}function e(t){n[t.fieldName]&&(t.omit(),p(t.fieldName,(function(){return{applied:!0}})))}}function ht(){var t=r.bus.createBus();return t.on(pt.TEST_COMPLETED,(function(n){var e,i;n.isCanceled()||(n.done(),e=n.fieldName,i=f()[0].fieldCallbacks,e&&!st(e)&&r.isArray(i[e])&&r.callEach(i[e]),st()||t.emit(pt.ALL_RUNNING_TESTS_FINISHED))})),t.on(pt.SUITE_CALLBACK_DONE_RUNNING,(function(){Et()})),t.on(pt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=f()[0].doneCallbacks,r.callEach(t)})),t.on(pt.REMOVE_FIELD,(function(t){R((function(n){V(n,t)&&(n.cancel(),function(t){h((function(n){return r.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(pt.RESET_FIELD,(function(t){R((function(n){V(n,t)&&n.reset()}))})),t}function gt(){var t=s.useX();return r.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"}(pt||(pt={}));function Nt(){return!!s.useX().skipped}function yt(t){return St(0,"tests",t)}function mt(t){return St(1,"tests",t)}function Rt(t){var n=t.fieldName,e=t.groupName;if(Nt())return!0;var i=s.useX(),u=i.exclusion,o=i.inclusion,a=u.tests,c=a[n];if(!1===c)return!0;var f=!0===c;if(e){if(function(t){var n=s.useX().exclusion.groups;if(r.hasOwnProperty(n,t))return!1===n[t];return Ct()}(e))return!0;if(!0===u.groups[e])return!f&&(!!Tt(a)||!1===a[n])}return!!function(t){if(!Ct())return!1;return!t}(e)||!f&&(!!Tt(a)&&!r.optionalFunctionValue(o[n]))}function St(t,n,e){var i=s.useX("hook called outside of a running suite.");e&&r.asArray(e).forEach((function(e){r.isStringValue(e)&&(i.exclusion[n][e]=0===t)}))}function Tt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ct(){var t=s.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function At(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function _t(t){return e=n.EAGER,s.useX().mode[0]===e&&H(t.fieldName);var e}function It(){return!!s.useX().omitted}function Ot(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 Ft(t){var n=t.asyncTest,e=t.message;if(r.isPromise(n)){var i=gt().emit,u=a(),o=s.bind({stateRef:u},(function(){E(),i(pt.TEST_COMPLETED,t)})),c=s.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=r.isStringValue(n)?n:e,t.fail(),o())}));n.then(o,c)}}function kt(t){var n=gt(),e=function(t){return s.run({currentTest:t},(function(){return t.run()}))}(t);try{r.isPromise(e)?(t.asyncTest=e,t.setPending(),Ft(t)):n.emit(pt.TEST_COMPLETED,t)}catch(n){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function Pt(n){var e=v()[0].prev;if(r.isEmpty(e))return xt(n),n;var i,u,o,s=(i=e,u=U(),r.nestedArray.valueAtPath(i,u));if(!r.isNullish(n.key)){var a=function(t,n){var e=function(t){return L().keys.prev[t]}(t),i=n;e&&(i=e);return function(t,n){var e=L().keys.current;r.isNullish(e[t])?e[t]=n:r.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,i),i}(n.key,n);return xt(a),a}(function(t,n){return r.isNotEmpty(t)&&!bt(t,n)})(s,n)&&(!function(n,e){if(L().type===t.EACH)return;r.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.'))}(s,n),o=D().current(),h((function(t){return t.splice(o),t})),s=null);var c=r.defaultTo(s,n);return xt(c),c}function xt(t){var n=U();h((function(e){return r.nestedArray.setValueAtPath(e,n,t)}))}function Lt(t){var n=D();if(_t(t))return t.skip(),Pt(t),n.next(),t;var e,i,u=Pt(t);return It()||M(t.fieldName)?(u.omit(),n.next(),u):Rt(t)?(u.skip(Nt()),n.next(),u):((i=t)!==(e=u)&&bt(e,i)&&e.isPending()&&e.cancel(),xt(t),function(t){t.isUntested()?kt(t):r.isPromise(t.asyncTest)&&(t.setPending(),Ft(t))}(t),n.next(),t)}function Ut(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var i=r.isFunction(n[1])?n:Ot([void 0],n,!0),u=i[0],o=i[1],a=i[2];r.invariant(r.isStringValue(t),Wt("fieldName","string")),r.invariant(r.isFunction(o),Wt("Test callback","function"));var c=s.useX(),f=new C(t,o,{message:u,groupName:c.groupName,key:a});return Lt(f)}yt.group=function(t){return St(0,"groups",t)},mt.group=function(t){return St(1,"groups",t)};var Dt=r.assign(Ut,{memo:function(t){var n=r.cache(10);return function(e){for(var i=[],u=1;u<arguments.length;u++)i[u-1]=arguments[u];var o=D().current(),s=i.reverse(),a=s[0],f=s[1],l=s[2],p=[c(),e,o].concat(a),d=n.get(p);return r.isNull(d)?n(p,(function(){return t(e,l,f)})):d[1].isCanceled()?(n.invalidate(p),n(p,(function(){return t(e,l,f)}))):Lt(d[1])}}(Ut)});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 e.enforce}}),exports.VERSION="4.6.2-dev-b9b126",exports.context=s,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var i=n.reverse(),o=i[0],a=i[1];r.invariant(r.isFunction(o),"vest.create: Expected callback to be a function.");var c=ht(),f=u.createState(),l=x(f,{suiteId:r.seq(),suiteName:a}),p={stateRef:l,bus:c},d=r.assign(s.bind(p,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return f.reset(),W({type:t.SUITE},(function(){o.apply(void 0,n)})),c.emit(pt.SUITE_CALLBACK_DONE_RUNNING),ct()})),{get:s.bind(p,ot),remove:s.bind(p,(function(t){c.emit(pt.REMOVE_FIELD,t)})),reset:f.reset,resetField:s.bind(p,(function(t){c.emit(pt.RESET_FIELD,t)}))});return d},exports.each=function(n,e){r.invariant(r.isFunction(e),"each callback must be a function"),W({type:t.EACH},(function(){n.forEach((function(t,n){e(t,n)}))}))},exports.eager=function(){var t;t=n.EAGER,s.useX().mode[0]=t},exports.group=function(n,e){r.invariant(r.isStringValue(n),At("name must be a string")),r.invariant(r.isFunction(e),At("callback must be a function")),W({type:t.GROUP},(function(){s.run({groupName:n},e)}))},exports.include=function(t){var n=s.useX(),e=n.inclusion,i=n.exclusion;return r.invariant(r.isStringValue(t)),e[t]=r.defaultTo(i.tests[t],!0),{when:function(n){var e=s.useX(),i=e.inclusion,u=e.exclusion;i[t]=function(){return r.hasOwnProperty(u.tests,t)?r.defaultTo(u.tests[t],!0):r.isStringValue(n)?Boolean(u.tests[n]):r.optionalFunctionValue(n,r.optionalFunctionValue(ot))}}}},exports.omitWhen=function(n,e){W({type:t.OMIT_WHEN},(function(){s.run({omitted:It()||r.optionalFunctionValue(n,r.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.only=yt,exports.optional=function(t){if(r.isArray(t)||r.isStringValue(t))r.asArray(t).forEach((function(t){p(t,(function(){return{type:q.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];p(n,(function(){return{type:q.Immediate,rule:e,applied:r.optionalFunctionValue(e)}}))};for(var e in t)n(e)}},exports.skip=mt,exports.skipWhen=function(n,e){W({type:t.SKIP_WHEN},(function(){s.run({skipped:Nt()||r.optionalFunctionValue(n,r.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.suiteSelectors=$,exports.test=Dt,exports.warn=function(){var t=s.useX("warn hook called outside of a running suite.");r.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{invariant as t,hasOwnProperty as e,isPositive as r,isFunction as n}from"vest-utils";import{suiteSelectors as s}from"vest";function i(i,o){void 0===o&&(o={});var u=function(n){t(n&&e(n,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var i=s(n),o={},u={invalid:i.hasErrors,tested:function(t){return t?e(o,t)?o[t]:(o[t]=e(n.tests,t)&&r(n.tests[t].testCount),u.tested(t)):r(n.testCount)},untested:function(t){return!(r(n.testCount)&&u.tested(t))},valid:i.isValid,warning:i.hasWarnings};return u}(i);return function(t){var e=[];for(var r in o){var s=r;n(u[s])&&u[s](t)&&e.push(o[s])}return e.join(" ")}}export{i as default};
|
|
@@ -1,58 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { defaultTo, assign, mapFirst, invariant, StringObject } 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 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
|
-
}
|
|
57
|
-
|
|
58
|
-
export default compose;
|
|
1
|
+
export { default } from 'n4s/compose';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{default}from"n4s/compose";
|
|
@@ -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';
|