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.
Files changed (40) hide show
  1. package/dist/cjs/enforce/compose.development.js +20 -54
  2. package/dist/cjs/enforce/compose.production.js +1 -1
  3. package/dist/cjs/enforce/compounds.development.js +1 -89
  4. package/dist/cjs/enforce/compounds.production.js +1 -1
  5. package/dist/cjs/enforce/schema.development.js +1 -89
  6. package/dist/cjs/enforce/schema.production.js +1 -1
  7. package/dist/cjs/vest.development.js +5 -75
  8. package/dist/cjs/vest.production.js +1 -1
  9. package/dist/es/enforce/compose.development.js +2 -56
  10. package/dist/es/enforce/compose.production.js +1 -1
  11. package/dist/es/enforce/compounds.development.js +1 -90
  12. package/dist/es/enforce/compounds.production.js +1 -1
  13. package/dist/es/enforce/schema.development.js +1 -88
  14. package/dist/es/enforce/schema.production.js +1 -1
  15. package/dist/es/vest.development.js +6 -76
  16. package/dist/es/vest.production.js +1 -1
  17. package/dist/umd/enforce/compose.development.js +7 -58
  18. package/dist/umd/enforce/compose.production.js +1 -1
  19. package/dist/umd/enforce/compounds.development.js +4 -91
  20. package/dist/umd/enforce/compounds.production.js +1 -1
  21. package/dist/umd/enforce/schema.development.js +4 -91
  22. package/dist/umd/enforce/schema.production.js +1 -1
  23. package/dist/umd/vest.development.js +8 -79
  24. package/dist/umd/vest.production.js +1 -1
  25. package/package.json +4 -3
  26. package/tsconfig.json +85 -1
  27. package/types/classnames.d.ts +1 -0
  28. package/types/classnames.d.ts.map +1 -0
  29. package/types/enforce/compose.d.ts +2 -125
  30. package/types/enforce/compose.d.ts.map +1 -0
  31. package/types/enforce/compounds.d.ts +1 -135
  32. package/types/enforce/compounds.d.ts.map +1 -0
  33. package/types/enforce/schema.d.ts +2 -144
  34. package/types/enforce/schema.d.ts.map +1 -0
  35. package/types/parser.d.ts +1 -0
  36. package/types/parser.d.ts.map +1 -0
  37. package/types/promisify.d.ts +1 -0
  38. package/types/promisify.d.ts.map +1 -0
  39. package/types/vest.d.ts +6 -16
  40. package/types/vest.d.ts.map +1 -0
@@ -1,60 +1,26 @@
1
1
  'use strict';
2
2
 
3
- var n4s = require('n4s');
4
- var vestUtils = require('vest-utils');
5
-
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 defaultToPassing(callback) {
20
- return vestUtils.defaultTo(callback, passing());
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
- function runLazyRule(lazyRule, currentValue) {
24
- try {
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 n=require("n4s"),t=require("vest-utils");function r(n,t){return n={pass:n},t&&(n.message=t),n}function u(n){return t.defaultTo(n,r(!0))}function e(n,t){try{return n.run(t)}catch(n){return r(!1)}}module.exports=function(){function r(r){return n.ctx.run({value:r},(function(){return u(t.mapFirst(s,(function(n,t){t(!(n=e(n,r)).pass,n)})))}))}for(var s=[],i=0;i<arguments.length;i++)s[i]=arguments[i];return t.assign((function(n){n=r(n),t.invariant(n.pass,t.StringObject(n.message))}),{run:r,test:function(n){return r(n).pass}})};
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
- var n4s = require('n4s');
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";var n=require("n4s"),r=require("vest-utils");function t(n,r){return n={pass:n},r&&(n.message=r),n}function e(){return t(!1)}function u(n){return r.defaultTo(n,e())}function f(n){return r.defaultTo(n,t(!0))}function o(n,r){try{return n.run(r)}catch(n){return e()}}function i(n,r){return n===r}r.bindNot(i);n.enforce.extend({allOf:function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return f(r.mapFirst(t,(function(r,t){t(!(r=o(r,n)).pass,r)})))},anyOf:function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return u(r.mapFirst(t,(function(r,t){t((r=o(r,n)).pass,r)})))},noneOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return f(r.mapFirst(t,(function(r,t){t((r=o(r,n)).pass,e())})))},oneOf:function(n){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];var f=0;return e.some((function(t){if(o(t,n).pass&&f++,r.greaterThan(f,1))return!1})),t(i(f,1))}});
1
+ "use strict";require("n4s/compounds");
@@ -1,92 +1,4 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
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";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("n4s"),n=require("vest-utils");function e(r,n){return r={pass:r},n&&(r.message=n),r}function t(){return e(!1)}function u(){return e(!0)}function i(r,n){try{return r.run(n)}catch(r){return t()}}function o(n,e){var t,o=function(t){var u=n[t],o=e[t];if(!(t=r.ctx.run({value:u,set:!0,meta:{key:t}},(function(){return i(o,u)}))).pass)return{value:t}};for(t in e){var a=o(t);if("object"==typeof a)return a.value}return u()}r.enforce.extend({isArrayOf:function(e,t){return function(r){return n.defaultTo(r,u())}(n.mapFirst(e,(function(n,e,u){e(!(u=r.ctx.run({value:n,set:!0,meta:{index:u}},(function(){return i(t,n)}))).pass,u)})))},loose:o,optional:function(r,e){return n.isNullish(r)?u():i(e,r)},shape:function(r,e){var i=o(r,e);if(!i.pass)return i;for(var a in r)if(!n.hasOwnProperty(e,a))return t();return u()}}),exports.partial=function(n){var e,t={};for(e in n)t[e]=r.enforce.optional(n[e]);return t};
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.createContext(function (ctxRef, parentContext) {
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
- try {
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.0";
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
- import { ctx } from 'n4s';
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
- }
1
+ // eslint-disable-next-line import/no-unresolved
2
+ var compose = import('n4s/compose');
57
3
 
58
4
  export default compose;
@@ -1 +1 @@
1
- import{defaultTo as n,assign as t,mapFirst as r,invariant as u,StringObject as s}from"vest-utils";import{ctx as e}from"n4s";function o(n,t){return n={pass:n},t&&(n.message=t),n}export default function(){function a(t){return e.run({value:t},(function(){return n(r(f,(function(n,r){try{var u=n.run(t)}catch(n){u=o(!1)}r(!u.pass,u)})),o(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return t((function(n){n=a(n),u(n.pass,s(n.message))}),{run:a,test:function(n){return a(n).pass}})}
1
+ var o=import("n4s/compose");export default o;
@@ -1,90 +1 @@
1
- import { enforce } from 'n4s';
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{defaultTo as n,mapFirst as r,bindNot as t,greaterThan as f}from"vest-utils";import{enforce as o}from"n4s";function u(n,r){return n={pass:n},r&&(n.message=r),n}function e(n,r){try{return n.run(r)}catch(n){return u(!1)}}t((function(n,r){return n===r})),o.extend({allOf:function(t){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return n(r(f,(function(n,r){r(!(n=e(n,t)).pass,n)})),u(!0))},anyOf:function(t){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return n(r(f,(function(n,r){r((n=e(n,t)).pass,n)})),u(!1))},noneOf:function(t){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return n(r(f,(function(n,r){r((n=e(n,t)).pass,u(!1))})),u(!0))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var o=0;return r.some((function(r){if(e(r,n).pass&&o++,f(o,1))return!1})),u(1===o)}});
1
+ import"n4s/compounds";