vest 4.6.6-dev-e99e42 → 4.6.7

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.
@@ -3,14 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var n4s = require('n4s');
6
+ var vast = require('vast');
6
7
  var vestUtils = require('vest-utils');
7
8
  var context$1 = require('context');
8
- var vast = require('vast');
9
-
10
- function shouldUseErrorAsMessage(message, error) {
11
- // kind of cheating with this safe guard, but it does the job
12
- return vestUtils.isUndefined(message) && vestUtils.isStringValue(error);
13
- }
14
9
 
15
10
  var IsolateTypes;
16
11
  (function (IsolateTypes) {
@@ -22,6 +17,25 @@ var IsolateTypes;
22
17
  IsolateTypes[IsolateTypes["GROUP"] = 5] = "GROUP";
23
18
  })(IsolateTypes || (IsolateTypes = {}));
24
19
 
20
+ function createStateRef(state, _a) {
21
+ var suiteId = _a.suiteId, suiteName = _a.suiteName;
22
+ return {
23
+ optionalFields: state.registerStateKey(function () { return ({}); }),
24
+ suiteId: state.registerStateKey(suiteId),
25
+ suiteName: state.registerStateKey(suiteName),
26
+ testCallbacks: state.registerStateKey(function () { return ({
27
+ fieldCallbacks: {},
28
+ doneCallbacks: []
29
+ }); }),
30
+ testObjects: state.registerStateKey(function (prev) {
31
+ return {
32
+ prev: prev ? prev.current : [],
33
+ current: []
34
+ };
35
+ })
36
+ };
37
+ }
38
+
25
39
  var Modes;
26
40
  (function (Modes) {
27
41
  Modes[Modes["ALL"] = 0] = "ALL";
@@ -77,6 +91,31 @@ var context = context$1.createCascade(function (ctxRef, parentContext) {
77
91
  }, ctxRef);
78
92
  });
79
93
 
94
+ /**
95
+ * @returns {Isolate} The current isolate layer
96
+ */
97
+ function useIsolate() {
98
+ return context.useX().isolate;
99
+ }
100
+ /**
101
+ * @returns {number[]} The current cursor path of the isolate tree
102
+ */
103
+ function useCurrentPath() {
104
+ var isolate = useIsolate();
105
+ return isolate.path.concat(isolate.cursor.current());
106
+ }
107
+ /**
108
+ * @returns {IsolateCursor} The cursor object for the current isolate
109
+ */
110
+ function useCursor() {
111
+ return useIsolate().cursor;
112
+ }
113
+
114
+ function shouldUseErrorAsMessage(message, error) {
115
+ // kind of cheating with this safe guard, but it does the job
116
+ return vestUtils.isUndefined(message) && vestUtils.isStringValue(error);
117
+ }
118
+
80
119
  // STATE REF
81
120
  function useStateRef() {
82
121
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -290,45 +329,6 @@ var STATUS_PENDING = 'PENDING';
290
329
  var STATUS_CANCELED = 'CANCELED';
291
330
  var STATUS_OMITTED = 'OMITTED';
292
331
 
293
- function createStateRef(state, _a) {
294
- var suiteId = _a.suiteId, suiteName = _a.suiteName;
295
- return {
296
- optionalFields: state.registerStateKey(function () { return ({}); }),
297
- suiteId: state.registerStateKey(suiteId),
298
- suiteName: state.registerStateKey(suiteName),
299
- testCallbacks: state.registerStateKey(function () { return ({
300
- fieldCallbacks: {},
301
- doneCallbacks: []
302
- }); }),
303
- testObjects: state.registerStateKey(function (prev) {
304
- return {
305
- prev: prev ? prev.current : [],
306
- current: []
307
- };
308
- })
309
- };
310
- }
311
-
312
- /**
313
- * @returns {Isolate} The current isolate layer
314
- */
315
- function useIsolate() {
316
- return context.useX().isolate;
317
- }
318
- /**
319
- * @returns {number[]} The current cursor path of the isolate tree
320
- */
321
- function useCurrentPath() {
322
- var isolate = useIsolate();
323
- return isolate.path.concat(isolate.cursor.current());
324
- }
325
- /**
326
- * @returns {IsolateCursor} The cursor object for the current isolate
327
- */
328
- function useCursor() {
329
- return useIsolate().cursor;
330
- }
331
-
332
332
  function usePrevKeys() {
333
333
  var prev = useTestObjects()[0].prev;
334
334
  return vestUtils.asArray(vestUtils.nestedArray.getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
@@ -1661,7 +1661,7 @@ function warn() {
1661
1661
  ctx.currentTest.warn();
1662
1662
  }
1663
1663
 
1664
- var VERSION = "4.6.6-dev-e99e42";
1664
+ var VERSION = "4.6.7";
1665
1665
 
1666
1666
  Object.defineProperty(exports, 'enforce', {
1667
1667
  enumerable: true,
@@ -1 +1 @@
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(b)},t.prototype.fail=function(){this.setStatus(this.warns()?O:I)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(F)},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(b)},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(F)},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",F="PASSING",b="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 Ft(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function bt(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(),bt(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)&&!Ft(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)&&Ft(e,i)&&e.isPending()&&e.cancel(),xt(t),function(t){t.isUntested()?kt(t):r.isPromise(t.asyncTest)&&(t.setPending(),bt(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.6-dev-e99e42",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
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,n,e=require("n4s"),r=require("vast"),i=require("vest-utils"),u=require("context");function o(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 s(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 a=u.createCascade((function(e,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(t.DEFAULT),mode:[n.ALL]},e)}));function c(){return a.useX().isolate}function f(){var t=c();return t.path.concat(t.cursor.current())}function l(){return c().cursor}function p(){return a.useX().stateRef}function d(){return p().suiteId()[0]}function v(){return p().testCallbacks()}function E(){return p().optionalFields()}function h(t,n){(0,E()[1])((function(e){var r;return i.assign(e,((r={})[t]=i.assign({},e[t],n(e[t])),r))}))}function g(t){var n;return null!==(n=E()[0][t])&&void 0!==n?n:{}}function N(){return p().testObjects()}function y(){m((function(t){return t}))}function m(t){(0,N()[1])((function(n){var e=n.current;return{prev:n.prev,current:i.asArray(t(e))}}))}function R(){return C().filter((function(t){return t.isPending()}))}var S,T=i.cache();function C(){var t=N()[0].current;return T([t],(function(){return i.nestedArray.flatten(t)}))}function A(t){C().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(S||(S={}));var _,I,O=function(){function t(t,n,e){var r=void 0===e?{}:e,u=r.message,o=r.groupName,s=r.key;this.key=null,this.id=i.seq(),this.severity=S.Error,this.status=F,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 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!==D||(this.status=t)},t.prototype.warns=function(){return this.severity===S.Warning},t.prototype.setPending=function(){this.setStatus(L)},t.prototype.fail=function(){this.setStatus(this.warns()?P:k)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=S.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(b)},t.prototype.cancel=function(){this.setStatus(U),y()},t.prototype.reset=function(){this.status=F,y()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(L)},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(F)},t.prototype.isFailing=function(){return this.statusEquals(k)},t.prototype.isCanceled=function(){return this.statusEquals(U)},t.prototype.isSkipped=function(){return this.statusEquals(b)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(P)},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}(),F="UNTESTED",b="SKIPPED",k="FAILED",P="WARNING",x="PASSING",L="PENDING",U="CANCELED",D="OMITTED";function W(n,e){var r=n.type,u=void 0===r?t.DEFAULT:r;i.invariant(i.isFunction(e));var o=s(u,f()),c=a.run({isolate:o},(function(){var t;return o.keys.prev=(t=N()[0].prev,i.asArray(i.nestedArray.getCurrent(t,f())).reduce((function(t,n){return n instanceof O?(i.isNullish(n.key)||(t[n.key]=n),t):t}),{})),m((function(t){return i.nestedArray.setValueAtPath(t,o.path,[])})),e()}));return l().next(),c}function w(t){return t===_.ERRORS?I.ERROR_COUNT:I.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"}(_||(_={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(I||(I={}));var q,X=i.bindNot((function(t,n){return t.groupName===n}));function H(t){return function(t,n){return C().some((function(e){return K(e,t,n)}))}(_.ERRORS,t)}function K(t,n,e){return!!t.hasFailures()&&(!G(t,e)&&!function(t,n){return i.either(t===_.WARNINGS,n.warns())}(n,t))}function M(t){return!!t&&g(t).applied}function B(t){if(M(t))return!0;var n=C();return!i.isEmpty(n)&&(!H(t)&&(!function(t){return i.isNotEmpty(R().filter((function(n){return Y(n,t)})))}(t)&&function(t){return C().every((function(n){return J(n,t)}))}(t)))}function j(t,n){return!!M(n)||!function(t,n,e){return C().some((function(r){return!X(r,n)&&K(r,t,e)}))}(_.ERRORS,t,n)&&(!function(t,n){return i.isNotEmpty(R().filter((function(e){return!X(e,t)&&Y(e,n)})))}(t,n)&&function(t,n){return C().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 g(t.fieldName).type===q.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function z(){var t=C(),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]=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,r=n.message;t[e]=t[e]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=t[e];return n.isNonActionable()||(t[e].testCount++,n.isFailing()?o(_.ERRORS):n.isWarning()&&o(_.WARNINGS)),u;function o(t){var n=w(t);u[n]++,r&&(u[t]=(u[t]||[]).concat(r))}}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={},r=w(n);for(var u in t)i.isPositive(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function $(t){var n={getErrors:function(n){return tt(t,_.ERRORS,n)},getErrorsByGroup:function(n,e){return nt(t,_.ERRORS,n,e)},getWarnings:function(n){return tt(t,_.WARNINGS,n)},getWarningsByGroup:function(n,e){return nt(t,_.WARNINGS,n,e)},hasErrors:function(n){return it(t,I.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return rt(t,I.ERROR_COUNT,n,e)},hasWarnings:function(n){return it(t,I.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return rt(t,I.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,r){var u,o,s=t.groups[e];if(!s)return!1;if(r)return i.isPositive(null===(u=s[r])||void 0===u?void 0:u[n]);for(var a in s)if(i.isPositive(null===(o=s[a])||void 0===o?void 0:o[n]))return!0;return!1}function it(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return i.isPositive(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(q||(q={}));var ut=i.cache(1);function ot(){var t=C(),n={stateRef:p()};return ut([t],a.bind(n,(function(){var t=z(),n=p().suiteName()[0];return i.assign(t,$(t),{suiteName:n})})))}function st(t){var n=R();return!i.isEmpty(n)&&(!t||n.some((function(n){return V(n,t)})))}var at=i.cache(20);function ct(){var t=C(),n={stateRef:p()};return at([t],a.bind(n,(function(){return i.assign({},ot(),{done:a.bind(n,dt)})})))}function ft(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 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,v()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Et(){var t=E()[0];if(!i.isEmpty(t)){var n={};C().forEach((function(t){i.hasOwnProperty(n,t.fieldName)?e(t):function(t){var r=g(t.fieldName);r.type===q.Immediate&&(n[t.fieldName]=i.optionalFunctionValue(r.rule),e(t))}(t)})),y()}function e(t){n[t.fieldName]&&(t.omit(),h(t.fieldName,(function(){return{applied:!0}})))}}function ht(){var t=i.bus.createBus();return t.on(pt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=v()[0].fieldCallbacks,e&&!st(e)&&i.isArray(r[e])&&i.callEach(r[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=v()[0].doneCallbacks,i.callEach(t)})),t.on(pt.REMOVE_FIELD,(function(t){A((function(n){V(n,t)&&(n.cancel(),function(t){m((function(n){return i.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(pt.RESET_FIELD,(function(t){A((function(n){V(n,t)&&n.reset()}))})),t}function gt(){var t=a.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"}(pt||(pt={}));function Nt(){return!!a.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 r=a.useX(),u=r.exclusion,o=r.inclusion,s=u.tests,c=s[n];if(!1===c)return!0;var f=!0===c;if(e){if(function(t){var n=a.useX().exclusion.groups;if(i.hasOwnProperty(n,t))return!1===n[t];return Ct()}(e))return!0;if(!0===u.groups[e])return!f&&(!!Tt(s)||!1===s[n])}return!!function(t){if(!Ct())return!1;return!t}(e)||!f&&(!!Tt(s)&&!i.optionalFunctionValue(o[n]))}function St(t,n,e){var r=a.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 Tt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ct(){var t=a.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,a.useX().mode[0]===e&&H(t.fieldName);var e}function It(){return!!a.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 Ft(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function bt(t){var n=t.asyncTest,e=t.message;if(i.isPromise(n)){var r=gt().emit,u=p(),o=a.bind({stateRef:u},(function(){y(),r(pt.TEST_COMPLETED,t)})),s=a.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=i.isStringValue(n)?n:e,t.fail(),o())}));n.then(o,s)}}function kt(t){var n=gt(),e=function(t){return a.run({currentTest:t},(function(){return t.run()}))}(t);try{i.isPromise(e)?(t.asyncTest=e,t.setPending(),bt(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=N()[0].prev;if(i.isEmpty(e))return xt(n),n;var r,u,o,s=(r=e,u=f(),i.nestedArray.valueAtPath(r,u));if(!i.isNullish(n.key)){var a=function(t,n){var e=function(t){return c().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=c().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,r),r}(n.key,n);return xt(a),a}(function(t,n){return i.isNotEmpty(t)&&!Ft(t,n)})(s,n)&&(!function(n,e){if(c().type===t.EACH)return;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.'))}(s,n),o=l().current(),m((function(t){return t.splice(o),t})),s=null);var p=i.defaultTo(s,n);return xt(p),p}function xt(t){var n=f();m((function(e){return i.nestedArray.setValueAtPath(e,n,t)}))}function Lt(t){var n=l();if(_t(t))return t.skip(),Pt(t),n.next(),t;var e,r,u=Pt(t);return It()||M(t.fieldName)?(u.omit(),n.next(),u):Rt(t)?(u.skip(Nt()),n.next(),u):((r=t)!==(e=u)&&Ft(e,r)&&e.isPending()&&e.cancel(),xt(t),function(t){t.isUntested()?kt(t):i.isPromise(t.asyncTest)&&(t.setPending(),bt(t))}(t),n.next(),t)}function Ut(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=i.isFunction(n[1])?n:Ot([void 0],n,!0),u=r[0],o=r[1],s=r[2];i.invariant(i.isStringValue(t),Wt("fieldName","string")),i.invariant(i.isFunction(o),Wt("Test callback","function"));var c=a.useX(),f=new O(t,o,{message:u,groupName:c.groupName,key:s});return Lt(f)}yt.group=function(t){return St(0,"groups",t)},mt.group=function(t){return St(1,"groups",t)};var Dt=i.assign(Ut,{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];var o=l().current(),s=r.reverse(),a=s[0],c=s[1],f=s[2],p=[d(),e,o].concat(a),v=n.get(p);return i.isNull(v)?n(p,(function(){return t(e,f,c)})):v[1].isCanceled()?(n.invalidate(p),n(p,(function(){return t(e,f,c)}))):Lt(v[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.7",exports.context=a,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var u=n.reverse(),s=u[0],c=u[1];i.invariant(i.isFunction(s),"vest.create: Expected callback to be a function.");var f=ht(),l=r.createState(),p=o(l,{suiteId:i.seq(),suiteName:c}),d={stateRef:p,bus:f},v=i.assign(a.bind(d,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return l.reset(),W({type:t.SUITE},(function(){s.apply(void 0,n)})),f.emit(pt.SUITE_CALLBACK_DONE_RUNNING),ct()})),{get:a.bind(d,ot),remove:a.bind(d,(function(t){f.emit(pt.REMOVE_FIELD,t)})),reset:l.reset,resetField:a.bind(d,(function(t){f.emit(pt.RESET_FIELD,t)}))});return v},exports.each=function(n,e){i.invariant(i.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,a.useX().mode[0]=t},exports.group=function(n,e){i.invariant(i.isStringValue(n),At("name must be a string")),i.invariant(i.isFunction(e),At("callback must be a function")),W({type:t.GROUP},(function(){a.run({groupName:n},e)}))},exports.include=function(t){var n=a.useX(),e=n.inclusion,r=n.exclusion;return i.invariant(i.isStringValue(t)),e[t]=i.defaultTo(r.tests[t],!0),{when:function(n){var e=a.useX(),r=e.inclusion,u=e.exclusion;r[t]=function(){return i.hasOwnProperty(u.tests,t)?i.defaultTo(u.tests[t],!0):i.isStringValue(n)?Boolean(u.tests[n]):i.optionalFunctionValue(n,i.optionalFunctionValue(ot))}}}},exports.omitWhen=function(n,e){W({type:t.OMIT_WHEN},(function(){a.run({omitted:It()||i.optionalFunctionValue(n,i.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.only=yt,exports.optional=function(t){if(i.isArray(t)||i.isStringValue(t))i.asArray(t).forEach((function(t){h(t,(function(){return{type:q.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];h(n,(function(){return{type:q.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(var e in t)n(e)}},exports.skip=mt,exports.skipWhen=function(n,e){W({type:t.SKIP_WHEN},(function(){a.run({skipped:Nt()||i.optionalFunctionValue(n,i.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.suiteSelectors=$,exports.test=Dt,exports.warn=function(){var t=a.useX("warn hook called outside of a running suite.");i.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()};
@@ -1,12 +1,7 @@
1
1
  export { enforce } from 'n4s';
2
- import { isUndefined, isStringValue, assign, cache as cache$2, asArray, nestedArray, seq, isNullish, deferThrow, invariant, isFunction, bindNot, either, isArray, optionalFunctionValue, isEmpty, isNotEmpty, isPositive, numberEquals, hasOwnProperty, callEach, bus, defaultTo, isPromise, isNull } from 'vest-utils';
3
- import { createCascade } from 'context';
4
2
  import { createState } from 'vast';
5
-
6
- function shouldUseErrorAsMessage(message, error) {
7
- // kind of cheating with this safe guard, but it does the job
8
- return isUndefined(message) && isStringValue(error);
9
- }
3
+ import { assign, isUndefined, isStringValue, cache as cache$2, asArray, nestedArray, seq, isNullish, deferThrow, invariant, isFunction, bindNot, either, isArray, optionalFunctionValue, isEmpty, isNotEmpty, isPositive, numberEquals, hasOwnProperty, callEach, bus, defaultTo, isPromise, isNull } from 'vest-utils';
4
+ import { createCascade } from 'context';
10
5
 
11
6
  var IsolateTypes;
12
7
  (function (IsolateTypes) {
@@ -18,6 +13,25 @@ var IsolateTypes;
18
13
  IsolateTypes[IsolateTypes["GROUP"] = 5] = "GROUP";
19
14
  })(IsolateTypes || (IsolateTypes = {}));
20
15
 
16
+ function createStateRef(state, _a) {
17
+ var suiteId = _a.suiteId, suiteName = _a.suiteName;
18
+ return {
19
+ optionalFields: state.registerStateKey(function () { return ({}); }),
20
+ suiteId: state.registerStateKey(suiteId),
21
+ suiteName: state.registerStateKey(suiteName),
22
+ testCallbacks: state.registerStateKey(function () { return ({
23
+ fieldCallbacks: {},
24
+ doneCallbacks: []
25
+ }); }),
26
+ testObjects: state.registerStateKey(function (prev) {
27
+ return {
28
+ prev: prev ? prev.current : [],
29
+ current: []
30
+ };
31
+ })
32
+ };
33
+ }
34
+
21
35
  var Modes;
22
36
  (function (Modes) {
23
37
  Modes[Modes["ALL"] = 0] = "ALL";
@@ -73,6 +87,31 @@ var context = createCascade(function (ctxRef, parentContext) {
73
87
  }, ctxRef);
74
88
  });
75
89
 
90
+ /**
91
+ * @returns {Isolate} The current isolate layer
92
+ */
93
+ function useIsolate() {
94
+ return context.useX().isolate;
95
+ }
96
+ /**
97
+ * @returns {number[]} The current cursor path of the isolate tree
98
+ */
99
+ function useCurrentPath() {
100
+ var isolate = useIsolate();
101
+ return isolate.path.concat(isolate.cursor.current());
102
+ }
103
+ /**
104
+ * @returns {IsolateCursor} The cursor object for the current isolate
105
+ */
106
+ function useCursor() {
107
+ return useIsolate().cursor;
108
+ }
109
+
110
+ function shouldUseErrorAsMessage(message, error) {
111
+ // kind of cheating with this safe guard, but it does the job
112
+ return isUndefined(message) && isStringValue(error);
113
+ }
114
+
76
115
  // STATE REF
77
116
  function useStateRef() {
78
117
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -286,45 +325,6 @@ var STATUS_PENDING = 'PENDING';
286
325
  var STATUS_CANCELED = 'CANCELED';
287
326
  var STATUS_OMITTED = 'OMITTED';
288
327
 
289
- function createStateRef(state, _a) {
290
- var suiteId = _a.suiteId, suiteName = _a.suiteName;
291
- return {
292
- optionalFields: state.registerStateKey(function () { return ({}); }),
293
- suiteId: state.registerStateKey(suiteId),
294
- suiteName: state.registerStateKey(suiteName),
295
- testCallbacks: state.registerStateKey(function () { return ({
296
- fieldCallbacks: {},
297
- doneCallbacks: []
298
- }); }),
299
- testObjects: state.registerStateKey(function (prev) {
300
- return {
301
- prev: prev ? prev.current : [],
302
- current: []
303
- };
304
- })
305
- };
306
- }
307
-
308
- /**
309
- * @returns {Isolate} The current isolate layer
310
- */
311
- function useIsolate() {
312
- return context.useX().isolate;
313
- }
314
- /**
315
- * @returns {number[]} The current cursor path of the isolate tree
316
- */
317
- function useCurrentPath() {
318
- var isolate = useIsolate();
319
- return isolate.path.concat(isolate.cursor.current());
320
- }
321
- /**
322
- * @returns {IsolateCursor} The cursor object for the current isolate
323
- */
324
- function useCursor() {
325
- return useIsolate().cursor;
326
- }
327
-
328
328
  function usePrevKeys() {
329
329
  var prev = useTestObjects()[0].prev;
330
330
  return asArray(nestedArray.getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
@@ -1657,6 +1657,6 @@ function warn() {
1657
1657
  ctx.currentTest.warn();
1658
1658
  }
1659
1659
 
1660
- var VERSION = "4.6.6-dev-e99e42";
1660
+ var VERSION = "4.6.7";
1661
1661
 
1662
1662
  export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, suiteSelectors, test, warn };
@@ -1 +1 @@
1
- export{enforce}from"n4s";import{isUndefined as t,isStringValue as n,assign as e,cache as r,asArray as u,nestedArray as i,seq as o,isNullish as s,deferThrow as a,invariant as c,isFunction as f,bindNot as l,either as d,isArray as p,optionalFunctionValue as v,isEmpty as E,isNotEmpty as m,isPositive as N,numberEquals as h,hasOwnProperty as g,callEach as y,bus as R,defaultTo as S,isPromise as T,isNull as C}from"vest-utils";import{createCascade as I}from"context";import{createState as _}from"vast";var A,O;function k(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"}(A||(A={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(O||(O={}));var b=I((function(t,n){return n?null:e({exclusion:{tests:{},groups:{}},inclusion:{},isolate:k(A.DEFAULT),mode:[O.ALL]},t)}));function L(){return b.useX().stateRef}function U(){return L().suiteId()[0]}function D(){return L().testCallbacks()}function F(){return L().optionalFields()}function P(t,n){(0,F()[1])((function(r){var u;return e(r,((u={})[t]=e({},r[t],n(r[t])),u))}))}function W(t){var n;return null!==(n=F()[0][t])&&void 0!==n?n:{}}function G(){return L().testObjects()}function w(){x((function(t){return t}))}function x(t){(0,G()[1])((function(n){var e=n.current;return{prev:n.prev,current:u(t(e))}}))}function X(){return B().filter((function(t){return t.isPending()}))}var H,K=r();function B(){var t=G()[0].current;return K([t],(function(){return i.flatten(t)}))}function M(t){B().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(H||(H={}));var q,V,j=function(){function e(t,n,e){var r=void 0===e?{}:e,u=r.message,i=r.groupName,s=r.key;this.key=null,this.id=o(),this.severity=H.Error,this.status=Y,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),u&&(this.message=u),s&&(this.key=s)}return e.prototype.run=function(){var e;try{e=this.testFn()}catch(r){(function(e,r){return t(e)&&n(r)})(this.message,r)&&(this.message=r),e=!1}return!1===e&&this.fail(),e},e.prototype.setStatus=function(t){this.isFinalStatus()&&t!==nt||(this.status=t)},e.prototype.warns=function(){return this.severity===H.Warning},e.prototype.setPending=function(){this.setStatus($)},e.prototype.fail=function(){this.setStatus(this.warns()?Q:z)},e.prototype.done=function(){this.isFinalStatus()||this.setStatus(Z)},e.prototype.warn=function(){this.severity=H.Warning},e.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},e.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(J)},e.prototype.cancel=function(){this.setStatus(tt),w()},e.prototype.reset=function(){this.status=Y,w()},e.prototype.omit=function(){this.setStatus(nt)},e.prototype.valueOf=function(){return!this.isFailing()},e.prototype.isPending=function(){return this.statusEquals($)},e.prototype.isOmitted=function(){return this.statusEquals(nt)},e.prototype.isUntested=function(){return this.statusEquals(Y)},e.prototype.isFailing=function(){return this.statusEquals(z)},e.prototype.isCanceled=function(){return this.statusEquals(tt)},e.prototype.isSkipped=function(){return this.statusEquals(J)},e.prototype.isPassing=function(){return this.statusEquals(Z)},e.prototype.isWarning=function(){return this.statusEquals(Q)},e.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},e.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},e.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},e.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},e.prototype.statusEquals=function(t){return this.status===t},e}(),Y="UNTESTED",J="SKIPPED",z="FAILED",Q="WARNING",Z="PASSING",$="PENDING",tt="CANCELED",nt="OMITTED";function et(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 rt(){return b.useX().isolate}function ut(){var t=rt();return t.path.concat(t.cursor.current())}function it(){return rt().cursor}function ot(t,n){var e=t.type,r=void 0===e?A.DEFAULT:e;c(f(n));var o=k(r,ut()),a=b.run({isolate:o},(function(){var t;return o.keys.prev=(t=G()[0].prev,u(i.getCurrent(t,ut())).reduce((function(t,n){return n instanceof j?(s(n.key)||(t[n.key]=n),t):t}),{})),x((function(t){return i.setValueAtPath(t,o.path,[])})),n()}));return it().next(),a}function st(t){return t===q.ERRORS?V.ERROR_COUNT:V.WARN_COUNT}function at(t,n){return!!n&&!ct(t,n)}function ct(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(q||(q={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(V||(V={}));var ft,lt=l((function(t,n){return t.groupName===n}));function dt(t){return function(t,n){return B().some((function(e){return pt(e,t,n)}))}(q.ERRORS,t)}function pt(t,n,e){return!!t.hasFailures()&&(!at(t,e)&&!function(t,n){return d(t===q.WARNINGS,n.warns())}(n,t))}function vt(t){if(p(t)||n(t))u(t).forEach((function(t){P(t,(function(){return{type:ft.Delayed,applied:!1,rule:null}}))}));else{var e=function(n){var e=t[n];P(n,(function(){return{type:ft.Immediate,rule:e,applied:v(e)}}))};for(var r in t)e(r)}}function Et(t){return!!t&&W(t).applied}function mt(t){if(Et(t))return!0;var n=B();return!E(n)&&(!dt(t)&&(!function(t){return m(X().filter((function(n){return ht(n,t)})))}(t)&&function(t){return B().every((function(n){return gt(n,t)}))}(t)))}function Nt(t,n){return!!Et(n)||!function(t,n,e){return B().some((function(r){return!lt(r,n)&&pt(r,t,e)}))}(q.ERRORS,t,n)&&(!function(t,n){return m(X().filter((function(e){return!lt(e,t)&&ht(e,n)})))}(t,n)&&function(t,n){return B().every((function(e){return!!lt(e,t)||gt(e,n)}))}(t,n))}function ht(t,n){return!at(t,n)&&Et(n)}function gt(t,n){return!!at(t,n)||(function(t){return W(t.fieldName).type===ft.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function yt(){var t=B(),n=e({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=Rt(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&mt(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Rt(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&Nt(e,n.fieldName)}(t.groups,n),t}),n),n.valid=mt(),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 Rt(t,n){var r=n.fieldName,u=n.message;t[r]=t[r]||e({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?o(q.ERRORS):n.isWarning()&&o(q.WARNINGS)),i;function o(t){var n=st(t);i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}}function St(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=st(n);for(var u in t)N(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function Tt(t){var n={getErrors:function(n){return Ct(t,q.ERRORS,n)},getErrorsByGroup:function(n,e){return It(t,q.ERRORS,n,e)},getWarnings:function(n){return Ct(t,q.WARNINGS,n)},getWarningsByGroup:function(n,e){return It(t,q.WARNINGS,n,e)},hasErrors:function(n){return Ot(t,V.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return At(t,V.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ot(t,V.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return At(t,V.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 _t(r,e);for(var u in r)if(!_t(r,u))return!1;return!0}};return n}function Ct(t,n,e){return St(t.tests,n,e)}function It(t,n,e,r){return St(t.groups[e],n,r)}function _t(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function At(t,n,e,r){var u,i,o=t.groups[e];if(!o)return!1;if(r)return N(null===(u=o[r])||void 0===u?void 0:u[n]);for(var s in o)if(N(null===(i=o[s])||void 0===i?void 0:i[n]))return!0;return!1}function Ot(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return N(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(ft||(ft={}));var kt=r(1);function bt(){var t=B(),n={stateRef:L()};return kt([t],b.bind(n,(function(){var t=yt(),n=L().suiteName()[0];return e(t,Tt(t),{suiteName:n})})))}function Lt(t){var n=X();return!E(n)&&(!t||n.some((function(n){return ct(n,t)})))}var Ut=r(20);function Dt(){var t=B(),n={stateRef:L()};return Ut([t],b.bind(n,(function(){return e({},bt(),{done:b.bind(n,Gt)})})))}function Ft(t,n,e){var r;return!!(!f(t)||n&&h(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function Pt(t){return!(Lt()&&(!t||Lt(t)))}var Wt,Gt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],u=e[1],i=Dt();if(Ft(r,u,i))return i;var o=function(){return r(bt())};return Pt(u)?(o(),i):(wt(o,u),i)};function wt(t,n){(0,D()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function xt(){var t=F()[0];if(!E(t)){var n={};B().forEach((function(t){g(n,t.fieldName)?e(t):function(t){var r=W(t.fieldName);r.type===ft.Immediate&&(n[t.fieldName]=v(r.rule),e(t))}(t)})),w()}function e(t){n[t.fieldName]&&(t.omit(),P(t.fieldName,(function(){return{applied:!0}})))}}function Xt(){var t=R.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=D()[0].fieldCallbacks,e&&!Lt(e)&&p(r[e])&&y(r[e]),Lt()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED))})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){xt()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=D()[0].doneCallbacks,y(t)})),t.on(Wt.REMOVE_FIELD,(function(t){M((function(n){ct(n,t)&&(n.cancel(),function(t){x((function(n){return i.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){M((function(n){ct(n,t)&&n.reset()}))})),t}function Ht(){var t=b.useX();return c(t.bus),t.bus}function Kt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=t.reverse(),u=r[0],i=r[1];c(f(u),"vest.create: Expected callback to be a function.");var s=Xt(),a=_(),l=et(a,{suiteId:o(),suiteName:i}),d={stateRef:l,bus:s},p=e(b.bind(d,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return a.reset(),ot({type:A.SUITE},(function(){u.apply(void 0,t)})),s.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),Dt()})),{get:b.bind(d,bt),remove:b.bind(d,(function(t){s.emit(Wt.REMOVE_FIELD,t)})),reset:a.reset,resetField:b.bind(d,(function(t){s.emit(Wt.RESET_FIELD,t)}))});return p}function Bt(t,n){c(f(n),"each callback must be a function"),ot({type:A.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}!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"}(Wt||(Wt={}));function Mt(t,n){ot({type:A.SKIP_WHEN},(function(){b.run({skipped:qt()||v(t,v(bt))},(function(){return n()}))}))}function qt(){return!!b.useX().skipped}function Vt(t){return Jt(0,"tests",t)}function jt(t){return Jt(1,"tests",t)}function Yt(t){var n=t.fieldName,e=t.groupName;if(qt())return!0;var r=b.useX(),u=r.exclusion,i=r.inclusion,o=u.tests,s=o[n];if(!1===s)return!0;var a=!0===s;if(e){if(function(t){var n=b.useX().exclusion.groups;if(g(n,t))return!1===n[t];return Qt()}(e))return!0;if(!0===u.groups[e])return!a&&(!!zt(o)||!1===o[n])}return!!function(t){if(!Qt())return!1;return!t}(e)||!a&&(!!zt(o)&&!v(i[n]))}function Jt(t,e,r){var i=b.useX("hook called outside of a running suite.");r&&u(r).forEach((function(r){n(r)&&(i.exclusion[e][r]=0===t)}))}function zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Qt(){var t=b.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function Zt(t,e){c(n(t),$t("name must be a string")),c(f(e),$t("callback must be a function")),ot({type:A.GROUP},(function(){b.run({groupName:t},e)}))}function $t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function tn(t){var e=b.useX(),r=e.inclusion,u=e.exclusion;return c(n(t)),r[t]=S(u.tests[t],!0),{when:function(e){var r=b.useX(),u=r.inclusion,i=r.exclusion;u[t]=function(){return g(i.tests,t)?S(i.tests[t],!0):n(e)?Boolean(i.tests[e]):v(e,v(bt))}}}}function nn(){var t;t=O.EAGER,b.useX().mode[0]=t}function en(t){return n=O.EAGER,b.useX().mode[0]===n&&dt(t.fieldName);var n}function rn(t,n){ot({type:A.OMIT_WHEN},(function(){b.run({omitted:un()||v(t,v(bt))},(function(){return n()}))}))}function un(){return!!b.useX().omitted}function on(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function sn(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function an(t){var e=t.asyncTest,r=t.message;if(T(e)){var u=Ht().emit,i=L(),o=b.bind({stateRef:i},(function(){w(),u(Wt.TEST_COMPLETED,t)})),s=b.bind({stateRef:i},(function(e){t.isCanceled()||(t.message=n(e)?e:r,t.fail(),o())}));e.then(o,s)}}function cn(t){var n=Ht(),e=function(t){return b.run({currentTest:t},(function(){return t.run()}))}(t);try{T(e)?(t.asyncTest=e,t.setPending(),an(t)):n.emit(Wt.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 fn(t){var n=G()[0].prev;if(E(n))return ln(t),t;var e,r,u,o=(e=n,r=ut(),i.valueAtPath(e,r));if(!s(t.key)){var c=function(t,n){var e=function(t){return rt().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=rt().keys.current;s(e[t])?e[t]=n:a('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,r),r}(t.key,t);return ln(c),c}(function(t,n){return m(t)&&!sn(t,n)})(o,t)&&(!function(t,n){if(rt().type===A.EACH)return;a("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(n.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.'))}(o,t),u=it().current(),x((function(t){return t.splice(u),t})),o=null);var f=S(o,t);return ln(f),f}function ln(t){var n=ut();x((function(e){return i.setValueAtPath(e,n,t)}))}function dn(t){var n=it();if(en(t))return t.skip(),fn(t),n.next(),t;var e,r,u=fn(t);return un()||Et(t.fieldName)?(u.omit(),n.next(),u):Yt(t)?(u.skip(qt()),n.next(),u):((r=t)!==(e=u)&&sn(e,r)&&e.isPending()&&e.cancel(),ln(t),function(t){t.isUntested()?cn(t):T(t.asyncTest)&&(t.setPending(),an(t))}(t),n.next(),t)}function pn(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=f(e[1])?e:on([void 0],e,!0),i=u[0],o=u[1],s=u[2];c(n(t),En("fieldName","string")),c(f(o),En("Test callback","function"));var a=b.useX(),l=new j(t,o,{message:i,groupName:a.groupName,key:s});return dn(l)}Vt.group=function(t){return Jt(0,"groups",t)},jt.group=function(t){return Jt(1,"groups",t)};var vn=e(pn,{memo:function(t){var n=r(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];var i=it().current(),o=r.reverse(),s=o[0],a=o[1],c=o[2],f=[U(),e,i].concat(s),l=n.get(f);return C(l)?n(f,(function(){return t(e,c,a)})):l[1].isCanceled()?(n.invalidate(f),n(f,(function(){return t(e,c,a)}))):dn(l[1])}}(pn)});function En(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}function mn(){var t=b.useX("warn hook called outside of a running suite.");c(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}var Nn="4.6.6-dev-e99e42";export{Nn as VERSION,b as context,Kt as create,Bt as each,nn as eager,Zt as group,tn as include,rn as omitWhen,Vt as only,vt as optional,jt as skip,Mt as skipWhen,Tt as suiteSelectors,vn as test,mn as warn};
1
+ export{enforce}from"n4s";import{createState as t}from"vast";import{assign as n,isUndefined as e,isStringValue as r,cache as u,asArray as i,nestedArray as o,seq as s,isNullish as a,deferThrow as c,invariant as f,isFunction as l,bindNot as d,either as p,isArray as v,optionalFunctionValue as E,isEmpty as m,isNotEmpty as N,isPositive as h,numberEquals as g,hasOwnProperty as y,callEach as R,bus as S,defaultTo as T,isPromise as C,isNull as I}from"vest-utils";import{createCascade as _}from"context";var A,O;function k(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 b(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"}(A||(A={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(O||(O={}));var L=_((function(t,e){return e?null:n({exclusion:{tests:{},groups:{}},inclusion:{},isolate:b(A.DEFAULT),mode:[O.ALL]},t)}));function U(){return L.useX().isolate}function D(){var t=U();return t.path.concat(t.cursor.current())}function F(){return U().cursor}function P(){return L.useX().stateRef}function W(){return P().suiteId()[0]}function G(){return P().testCallbacks()}function w(){return P().optionalFields()}function x(t,e){(0,w()[1])((function(r){var u;return n(r,((u={})[t]=n({},r[t],e(r[t])),u))}))}function X(t){var n;return null!==(n=w()[0][t])&&void 0!==n?n:{}}function H(){return P().testObjects()}function K(){B((function(t){return t}))}function B(t){(0,H()[1])((function(n){var e=n.current;return{prev:n.prev,current:i(t(e))}}))}function M(){return j().filter((function(t){return t.isPending()}))}var q,V=u();function j(){var t=H()[0].current;return V([t],(function(){return o.flatten(t)}))}function Y(t){j().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(q||(q={}));var J,z,Q=function(){function t(t,n,e){var r=void 0===e?{}:e,u=r.message,i=r.groupName,o=r.key;this.key=null,this.id=s(),this.severity=q.Error,this.status=Z,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),u&&(this.message=u),o&&(this.key=o)}return t.prototype.run=function(){var t;try{t=this.testFn()}catch(n){(function(t,n){return e(t)&&r(n)})(this.message,n)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==it||(this.status=t)},t.prototype.warns=function(){return this.severity===q.Warning},t.prototype.setPending=function(){this.setStatus(rt)},t.prototype.fail=function(){this.setStatus(this.warns()?nt:tt)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(et)},t.prototype.warn=function(){this.severity=q.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(ut),K()},t.prototype.reset=function(){this.status=Z,K()},t.prototype.omit=function(){this.setStatus(it)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(rt)},t.prototype.isOmitted=function(){return this.statusEquals(it)},t.prototype.isUntested=function(){return this.statusEquals(Z)},t.prototype.isFailing=function(){return this.statusEquals(tt)},t.prototype.isCanceled=function(){return this.statusEquals(ut)},t.prototype.isSkipped=function(){return this.statusEquals($)},t.prototype.isPassing=function(){return this.statusEquals(et)},t.prototype.isWarning=function(){return this.statusEquals(nt)},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}(),Z="UNTESTED",$="SKIPPED",tt="FAILED",nt="WARNING",et="PASSING",rt="PENDING",ut="CANCELED",it="OMITTED";function ot(t,n){var e=t.type,r=void 0===e?A.DEFAULT:e;f(l(n));var u=b(r,D()),s=L.run({isolate:u},(function(){var t;return u.keys.prev=(t=H()[0].prev,i(o.getCurrent(t,D())).reduce((function(t,n){return n instanceof Q?(a(n.key)||(t[n.key]=n),t):t}),{})),B((function(t){return o.setValueAtPath(t,u.path,[])})),n()}));return F().next(),s}function st(t){return t===J.ERRORS?z.ERROR_COUNT:z.WARN_COUNT}function at(t,n){return!!n&&!ct(t,n)}function ct(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(J||(J={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(z||(z={}));var ft,lt=d((function(t,n){return t.groupName===n}));function dt(t){return function(t,n){return j().some((function(e){return pt(e,t,n)}))}(J.ERRORS,t)}function pt(t,n,e){return!!t.hasFailures()&&(!at(t,e)&&!function(t,n){return p(t===J.WARNINGS,n.warns())}(n,t))}function vt(t){if(v(t)||r(t))i(t).forEach((function(t){x(t,(function(){return{type:ft.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];x(n,(function(){return{type:ft.Immediate,rule:e,applied:E(e)}}))};for(var e in t)n(e)}}function Et(t){return!!t&&X(t).applied}function mt(t){if(Et(t))return!0;var n=j();return!m(n)&&(!dt(t)&&(!function(t){return N(M().filter((function(n){return ht(n,t)})))}(t)&&function(t){return j().every((function(n){return gt(n,t)}))}(t)))}function Nt(t,n){return!!Et(n)||!function(t,n,e){return j().some((function(r){return!lt(r,n)&&pt(r,t,e)}))}(J.ERRORS,t,n)&&(!function(t,n){return N(M().filter((function(e){return!lt(e,t)&&ht(e,n)})))}(t,n)&&function(t,n){return j().every((function(e){return!!lt(e,t)||gt(e,n)}))}(t,n))}function ht(t,n){return!at(t,n)&&Et(n)}function gt(t,n){return!!at(t,n)||(function(t){return X(t.fieldName).type===ft.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function yt(){var t=j(),e=n({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=Rt(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&mt(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Rt(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&Nt(e,n.fieldName)}(t.groups,n),t}),e),e.valid=mt(),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}(e)}function Rt(t,e){var r=e.fieldName,u=e.message;t[r]=t[r]||n({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=t[r];return e.isNonActionable()||(t[r].testCount++,e.isFailing()?o(J.ERRORS):e.isWarning()&&o(J.WARNINGS)),i;function o(t){var n=st(t);i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}}function St(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=st(n);for(var u in t)h(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function Tt(t){var n={getErrors:function(n){return Ct(t,J.ERRORS,n)},getErrorsByGroup:function(n,e){return It(t,J.ERRORS,n,e)},getWarnings:function(n){return Ct(t,J.WARNINGS,n)},getWarningsByGroup:function(n,e){return It(t,J.WARNINGS,n,e)},hasErrors:function(n){return Ot(t,z.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return At(t,z.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ot(t,z.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return At(t,z.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 _t(r,e);for(var u in r)if(!_t(r,u))return!1;return!0}};return n}function Ct(t,n,e){return St(t.tests,n,e)}function It(t,n,e,r){return St(t.groups[e],n,r)}function _t(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function At(t,n,e,r){var u,i,o=t.groups[e];if(!o)return!1;if(r)return h(null===(u=o[r])||void 0===u?void 0:u[n]);for(var s in o)if(h(null===(i=o[s])||void 0===i?void 0:i[n]))return!0;return!1}function Ot(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return h(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(ft||(ft={}));var kt=u(1);function bt(){var t=j(),e={stateRef:P()};return kt([t],L.bind(e,(function(){var t=yt(),e=P().suiteName()[0];return n(t,Tt(t),{suiteName:e})})))}function Lt(t){var n=M();return!m(n)&&(!t||n.some((function(n){return ct(n,t)})))}var Ut=u(20);function Dt(){var t=j(),e={stateRef:P()};return Ut([t],L.bind(e,(function(){return n({},bt(),{done:L.bind(e,Gt)})})))}function Ft(t,n,e){var r;return!!(!l(t)||n&&g(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function Pt(t){return!(Lt()&&(!t||Lt(t)))}var Wt,Gt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],u=e[1],i=Dt();if(Ft(r,u,i))return i;var o=function(){return r(bt())};return Pt(u)?(o(),i):(wt(o,u),i)};function wt(t,n){(0,G()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function xt(){var t=w()[0];if(!m(t)){var n={};j().forEach((function(t){y(n,t.fieldName)?e(t):function(t){var r=X(t.fieldName);r.type===ft.Immediate&&(n[t.fieldName]=E(r.rule),e(t))}(t)})),K()}function e(t){n[t.fieldName]&&(t.omit(),x(t.fieldName,(function(){return{applied:!0}})))}}function Xt(){var t=S.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=G()[0].fieldCallbacks,e&&!Lt(e)&&v(r[e])&&R(r[e]),Lt()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED))})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){xt()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=G()[0].doneCallbacks,R(t)})),t.on(Wt.REMOVE_FIELD,(function(t){Y((function(n){ct(n,t)&&(n.cancel(),function(t){B((function(n){return o.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){Y((function(n){ct(n,t)&&n.reset()}))})),t}function Ht(){var t=L.useX();return f(t.bus),t.bus}function Kt(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var u=e.reverse(),i=u[0],o=u[1];f(l(i),"vest.create: Expected callback to be a function.");var a=Xt(),c=t(),d=k(c,{suiteId:s(),suiteName:o}),p={stateRef:d,bus:a},v=n(L.bind(p,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return c.reset(),ot({type:A.SUITE},(function(){i.apply(void 0,t)})),a.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),Dt()})),{get:L.bind(p,bt),remove:L.bind(p,(function(t){a.emit(Wt.REMOVE_FIELD,t)})),reset:c.reset,resetField:L.bind(p,(function(t){a.emit(Wt.RESET_FIELD,t)}))});return v}function Bt(t,n){f(l(n),"each callback must be a function"),ot({type:A.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}!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"}(Wt||(Wt={}));function Mt(t,n){ot({type:A.SKIP_WHEN},(function(){L.run({skipped:qt()||E(t,E(bt))},(function(){return n()}))}))}function qt(){return!!L.useX().skipped}function Vt(t){return Jt(0,"tests",t)}function jt(t){return Jt(1,"tests",t)}function Yt(t){var n=t.fieldName,e=t.groupName;if(qt())return!0;var r=L.useX(),u=r.exclusion,i=r.inclusion,o=u.tests,s=o[n];if(!1===s)return!0;var a=!0===s;if(e){if(function(t){var n=L.useX().exclusion.groups;if(y(n,t))return!1===n[t];return Qt()}(e))return!0;if(!0===u.groups[e])return!a&&(!!zt(o)||!1===o[n])}return!!function(t){if(!Qt())return!1;return!t}(e)||!a&&(!!zt(o)&&!E(i[n]))}function Jt(t,n,e){var u=L.useX("hook called outside of a running suite.");e&&i(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Qt(){var t=L.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function Zt(t,n){f(r(t),$t("name must be a string")),f(l(n),$t("callback must be a function")),ot({type:A.GROUP},(function(){L.run({groupName:t},n)}))}function $t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function tn(t){var n=L.useX(),e=n.inclusion,u=n.exclusion;return f(r(t)),e[t]=T(u.tests[t],!0),{when:function(n){var e=L.useX(),u=e.inclusion,i=e.exclusion;u[t]=function(){return y(i.tests,t)?T(i.tests[t],!0):r(n)?Boolean(i.tests[n]):E(n,E(bt))}}}}function nn(){var t;t=O.EAGER,L.useX().mode[0]=t}function en(t){return n=O.EAGER,L.useX().mode[0]===n&&dt(t.fieldName);var n}function rn(t,n){ot({type:A.OMIT_WHEN},(function(){L.run({omitted:un()||E(t,E(bt))},(function(){return n()}))}))}function un(){return!!L.useX().omitted}function on(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function sn(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function an(t){var n=t.asyncTest,e=t.message;if(C(n)){var u=Ht().emit,i=P(),o=L.bind({stateRef:i},(function(){K(),u(Wt.TEST_COMPLETED,t)})),s=L.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));n.then(o,s)}}function cn(t){var n=Ht(),e=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{C(e)?(t.asyncTest=e,t.setPending(),an(t)):n.emit(Wt.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 fn(t){var n=H()[0].prev;if(m(n))return ln(t),t;var e,r,u,i=(e=n,r=D(),o.valueAtPath(e,r));if(!a(t.key)){var s=function(t,n){var e=function(t){return U().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=U().keys.current;a(e[t])?e[t]=n:c('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,r),r}(t.key,t);return ln(s),s}(function(t,n){return N(t)&&!sn(t,n)})(i,t)&&(!function(t,n){if(U().type===A.EACH)return;c("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(n.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.'))}(i,t),u=F().current(),B((function(t){return t.splice(u),t})),i=null);var f=T(i,t);return ln(f),f}function ln(t){var n=D();B((function(e){return o.setValueAtPath(e,n,t)}))}function dn(t){var n=F();if(en(t))return t.skip(),fn(t),n.next(),t;var e,r,u=fn(t);return un()||Et(t.fieldName)?(u.omit(),n.next(),u):Yt(t)?(u.skip(qt()),n.next(),u):((r=t)!==(e=u)&&sn(e,r)&&e.isPending()&&e.cancel(),ln(t),function(t){t.isUntested()?cn(t):C(t.asyncTest)&&(t.setPending(),an(t))}(t),n.next(),t)}function pn(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:on([void 0],n,!0),i=u[0],o=u[1],s=u[2];f(r(t),En("fieldName","string")),f(l(o),En("Test callback","function"));var a=L.useX(),c=new Q(t,o,{message:i,groupName:a.groupName,key:s});return dn(c)}Vt.group=function(t){return Jt(0,"groups",t)},jt.group=function(t){return Jt(1,"groups",t)};var vn=n(pn,{memo:function(t){var n=u(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];var i=F().current(),o=r.reverse(),s=o[0],a=o[1],c=o[2],f=[W(),e,i].concat(s),l=n.get(f);return I(l)?n(f,(function(){return t(e,c,a)})):l[1].isCanceled()?(n.invalidate(f),n(f,(function(){return t(e,c,a)}))):dn(l[1])}}(pn)});function En(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}function mn(){var t=L.useX("warn hook called outside of a running suite.");f(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}var Nn="4.6.7";export{Nn as VERSION,L as context,Kt as create,Bt as each,nn as eager,Zt as group,tn as include,rn as omitWhen,Vt as only,vt as optional,jt as skip,Mt as skipWhen,Tt as suiteSelectors,vn as test,mn as warn};
@@ -1,13 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s'), require('vest-utils'), require('context'), require('vast')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'n4s', 'vest-utils', 'context', 'vast'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vest = {}, global.n4s, global["vest-utils"], global.context, global.vast));
5
- })(this, (function (exports, n4s, vestUtils, context$1, vast) { 'use strict';
6
-
7
- function shouldUseErrorAsMessage(message, error) {
8
- // kind of cheating with this safe guard, but it does the job
9
- return vestUtils.isUndefined(message) && vestUtils.isStringValue(error);
10
- }
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s'), require('vast'), require('vest-utils'), require('context')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'n4s', 'vast', 'vest-utils', 'context'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vest = {}, global.n4s, global.vast, global["vest-utils"], global.context));
5
+ })(this, (function (exports, n4s, vast, vestUtils, context$1) { 'use strict';
11
6
 
12
7
  var IsolateTypes;
13
8
  (function (IsolateTypes) {
@@ -19,6 +14,25 @@
19
14
  IsolateTypes[IsolateTypes["GROUP"] = 5] = "GROUP";
20
15
  })(IsolateTypes || (IsolateTypes = {}));
21
16
 
17
+ function createStateRef(state, _a) {
18
+ var suiteId = _a.suiteId, suiteName = _a.suiteName;
19
+ return {
20
+ optionalFields: state.registerStateKey(function () { return ({}); }),
21
+ suiteId: state.registerStateKey(suiteId),
22
+ suiteName: state.registerStateKey(suiteName),
23
+ testCallbacks: state.registerStateKey(function () { return ({
24
+ fieldCallbacks: {},
25
+ doneCallbacks: []
26
+ }); }),
27
+ testObjects: state.registerStateKey(function (prev) {
28
+ return {
29
+ prev: prev ? prev.current : [],
30
+ current: []
31
+ };
32
+ })
33
+ };
34
+ }
35
+
22
36
  var Modes;
23
37
  (function (Modes) {
24
38
  Modes[Modes["ALL"] = 0] = "ALL";
@@ -74,6 +88,31 @@
74
88
  }, ctxRef);
75
89
  });
76
90
 
91
+ /**
92
+ * @returns {Isolate} The current isolate layer
93
+ */
94
+ function useIsolate() {
95
+ return context.useX().isolate;
96
+ }
97
+ /**
98
+ * @returns {number[]} The current cursor path of the isolate tree
99
+ */
100
+ function useCurrentPath() {
101
+ var isolate = useIsolate();
102
+ return isolate.path.concat(isolate.cursor.current());
103
+ }
104
+ /**
105
+ * @returns {IsolateCursor} The cursor object for the current isolate
106
+ */
107
+ function useCursor() {
108
+ return useIsolate().cursor;
109
+ }
110
+
111
+ function shouldUseErrorAsMessage(message, error) {
112
+ // kind of cheating with this safe guard, but it does the job
113
+ return vestUtils.isUndefined(message) && vestUtils.isStringValue(error);
114
+ }
115
+
77
116
  // STATE REF
78
117
  function useStateRef() {
79
118
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -287,45 +326,6 @@
287
326
  var STATUS_CANCELED = 'CANCELED';
288
327
  var STATUS_OMITTED = 'OMITTED';
289
328
 
290
- function createStateRef(state, _a) {
291
- var suiteId = _a.suiteId, suiteName = _a.suiteName;
292
- return {
293
- optionalFields: state.registerStateKey(function () { return ({}); }),
294
- suiteId: state.registerStateKey(suiteId),
295
- suiteName: state.registerStateKey(suiteName),
296
- testCallbacks: state.registerStateKey(function () { return ({
297
- fieldCallbacks: {},
298
- doneCallbacks: []
299
- }); }),
300
- testObjects: state.registerStateKey(function (prev) {
301
- return {
302
- prev: prev ? prev.current : [],
303
- current: []
304
- };
305
- })
306
- };
307
- }
308
-
309
- /**
310
- * @returns {Isolate} The current isolate layer
311
- */
312
- function useIsolate() {
313
- return context.useX().isolate;
314
- }
315
- /**
316
- * @returns {number[]} The current cursor path of the isolate tree
317
- */
318
- function useCurrentPath() {
319
- var isolate = useIsolate();
320
- return isolate.path.concat(isolate.cursor.current());
321
- }
322
- /**
323
- * @returns {IsolateCursor} The cursor object for the current isolate
324
- */
325
- function useCursor() {
326
- return useIsolate().cursor;
327
- }
328
-
329
329
  function usePrevKeys() {
330
330
  var prev = useTestObjects()[0].prev;
331
331
  return vestUtils.asArray(vestUtils.nestedArray.getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
@@ -1658,7 +1658,7 @@
1658
1658
  ctx.currentTest.warn();
1659
1659
  }
1660
1660
 
1661
- var VERSION = "4.6.6-dev-e99e42";
1661
+ var VERSION = "4.6.7";
1662
1662
 
1663
1663
  Object.defineProperty(exports, 'enforce', {
1664
1664
  enumerable: true,
@@ -1 +1 @@
1
- !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("n4s"),require("vest-utils"),require("context"),require("vast")):"function"==typeof define&&define.amd?define(["exports","n4s","vest-utils","context","vast"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).vest={},t.n4s,t["vest-utils"],t.context,t.vast)}(this,(function(t,n,e,r,i){"use strict";var u,o;function s(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"}(u||(u={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(o||(o={}));var a=r.createCascade((function(t,n){return n?null:e.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(u.DEFAULT),mode:[o.ALL]},t)}));function c(){return a.useX().stateRef}function f(){return c().suiteId()[0]}function l(){return c().testCallbacks()}function d(){return c().optionalFields()}function p(t,n){(0,d()[1])((function(r){var i;return e.assign(r,((i={})[t]=e.assign({},r[t],n(r[t])),i))}))}function v(t){var n;return null!==(n=d()[0][t])&&void 0!==n?n:{}}function E(){return c().testObjects()}function h(){g((function(t){return t}))}function g(t){(0,E()[1])((function(n){var r=n.current;return{prev:n.prev,current:e.asArray(t(r))}}))}function y(){return R().filter((function(t){return t.isPending()}))}var N,m=e.cache();function R(){var t=E()[0].current;return m([t],(function(){return e.nestedArray.flatten(t)}))}function S(t){R().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(N||(N={}));var T,C,A=function(){function t(t,n,r){var i=void 0===r?{}:r,u=i.message,o=i.groupName,s=i.key;this.key=null,this.id=e.seq(),this.severity=N.Error,this.status=_,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 e.isUndefined(t)&&e.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===N.Warning},t.prototype.setPending=function(){this.setStatus(k)},t.prototype.fail=function(){this.setStatus(this.warns()?b:O)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(F)},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(I)},t.prototype.cancel=function(){this.setStatus(P),h()},t.prototype.reset=function(){this.status=_,h()},t.prototype.omit=function(){this.setStatus(L)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(k)},t.prototype.isOmitted=function(){return this.statusEquals(L)},t.prototype.isUntested=function(){return this.statusEquals(_)},t.prototype.isFailing=function(){return this.statusEquals(O)},t.prototype.isCanceled=function(){return this.statusEquals(P)},t.prototype.isSkipped=function(){return this.statusEquals(I)},t.prototype.isPassing=function(){return this.statusEquals(F)},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}(),_="UNTESTED",I="SKIPPED",O="FAILED",b="WARNING",F="PASSING",k="PENDING",P="CANCELED",L="OMITTED";function U(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 D(){return a.useX().isolate}function W(){var t=D();return t.path.concat(t.cursor.current())}function w(){return D().cursor}function G(t,n){var r=t.type,i=void 0===r?u.DEFAULT:r;e.invariant(e.isFunction(n));var o=s(i,W()),c=a.run({isolate:o},(function(){var t;return o.keys.prev=(t=E()[0].prev,e.asArray(e.nestedArray.getCurrent(t,W())).reduce((function(t,n){return n instanceof A?(e.isNullish(n.key)||(t[n.key]=n),t):t}),{})),g((function(t){return e.nestedArray.setValueAtPath(t,o.path,[])})),n()}));return w().next(),c}function V(t){return t===T.ERRORS?C.ERROR_COUNT:C.WARN_COUNT}function x(t,n){return!!n&&!q(t,n)}function q(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(T||(T={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(C||(C={}));var X,H=e.bindNot((function(t,n){return t.groupName===n}));function K(t){return function(t,n){return R().some((function(e){return M(e,t,n)}))}(T.ERRORS,t)}function M(t,n,r){return!!t.hasFailures()&&(!x(t,r)&&!function(t,n){return e.either(t===T.WARNINGS,n.warns())}(n,t))}function B(t){return!!t&&v(t).applied}function j(t){if(B(t))return!0;var n=R();return!e.isEmpty(n)&&(!K(t)&&(!function(t){return e.isNotEmpty(y().filter((function(n){return J(n,t)})))}(t)&&function(t){return R().every((function(n){return z(n,t)}))}(t)))}function Y(t,n){return!!B(n)||!function(t,n,e){return R().some((function(r){return!H(r,n)&&M(r,t,e)}))}(T.ERRORS,t,n)&&(!function(t,n){return e.isNotEmpty(y().filter((function(e){return!H(e,t)&&J(e,n)})))}(t,n)&&function(t,n){return R().every((function(e){return!!H(e,t)||z(e,n)}))}(t,n))}function J(t,n){return!x(t,n)&&B(n)}function z(t,n){return!!x(t,n)||(function(t){return v(t.fieldName).type===X.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function Q(){var t=R(),n=e.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=Z(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&j(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Z(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&Y(e,n.fieldName)}(t.groups,n),t}),n),n.valid=j(),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 Z(t,n){var r=n.fieldName,i=n.message;t[r]=t[r]||e.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?o(T.ERRORS):n.isWarning()&&o(T.WARNINGS)),u;function o(t){var n=V(t);u[n]++,i&&(u[t]=(u[t]||[]).concat(i))}}function $(t,n,r){return r?function(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}(t,n,r):function(t,n){var r={},i=V(n);for(var u in t)e.isPositive(t[u][i])&&(r[u]=t[u][n]||[]);return r}(t,n)}function tt(t){var n={getErrors:function(n){return nt(t,T.ERRORS,n)},getErrorsByGroup:function(n,e){return et(t,T.ERRORS,n,e)},getWarnings:function(n){return nt(t,T.WARNINGS,n)},getWarningsByGroup:function(n,e){return et(t,T.WARNINGS,n,e)},hasErrors:function(n){return ut(t,C.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return it(t,C.ERROR_COUNT,n,e)},hasWarnings:function(n){return ut(t,C.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return it(t,C.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 rt(r,e);for(var i in r)if(!rt(r,i))return!1;return!0}};return n}function nt(t,n,e){return $(t.tests,n,e)}function et(t,n,e,r){return $(t.groups[e],n,r)}function rt(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function it(t,n,r,i){var u,o,s=t.groups[r];if(!s)return!1;if(i)return e.isPositive(null===(u=s[i])||void 0===u?void 0:u[n]);for(var a in s)if(e.isPositive(null===(o=s[a])||void 0===o?void 0:o[n]))return!0;return!1}function ut(t,n,r){var i,u=r?null===(i=t.tests[r])||void 0===i?void 0:i[n]:t[n]||0;return e.isPositive(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(X||(X={}));var ot=e.cache(1);function st(){var t=R(),n={stateRef:c()};return ot([t],a.bind(n,(function(){var t=Q(),n=c().suiteName()[0];return e.assign(t,tt(t),{suiteName:n})})))}function at(t){var n=y();return!e.isEmpty(n)&&(!t||n.some((function(n){return q(n,t)})))}var ct=e.cache(20);function ft(){var t=R(),n={stateRef:c()};return ct([t],a.bind(n,(function(){return e.assign({},st(),{done:a.bind(n,vt)})})))}function lt(t,n,r){var i;return!!(!e.isFunction(t)||n&&e.numberEquals(null===(i=r.tests[n])||void 0===i?void 0:i.testCount,0))}function dt(t){return!(at()&&(!t||at(t)))}var pt,vt=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=ft();if(lt(r,i,u))return u;var o=function(){return r(st())};return dt(i)?(o(),u):(Et(o,i),u)};function Et(t,n){(0,l()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function ht(){var t=d()[0];if(!e.isEmpty(t)){var n={};R().forEach((function(t){e.hasOwnProperty(n,t.fieldName)?r(t):function(t){var i=v(t.fieldName);i.type===X.Immediate&&(n[t.fieldName]=e.optionalFunctionValue(i.rule),r(t))}(t)})),h()}function r(t){n[t.fieldName]&&(t.omit(),p(t.fieldName,(function(){return{applied:!0}})))}}function gt(){var t=e.bus.createBus();return t.on(pt.TEST_COMPLETED,(function(n){var r,i;n.isCanceled()||(n.done(),r=n.fieldName,i=l()[0].fieldCallbacks,r&&!at(r)&&e.isArray(i[r])&&e.callEach(i[r]),at()||t.emit(pt.ALL_RUNNING_TESTS_FINISHED))})),t.on(pt.SUITE_CALLBACK_DONE_RUNNING,(function(){ht()})),t.on(pt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=l()[0].doneCallbacks,e.callEach(t)})),t.on(pt.REMOVE_FIELD,(function(t){S((function(n){q(n,t)&&(n.cancel(),function(t){g((function(n){return e.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(pt.RESET_FIELD,(function(t){S((function(n){q(n,t)&&n.reset()}))})),t}function yt(){var t=a.useX();return e.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={}));var Nt="hook called outside of a running suite.";function mt(){return!!a.useX().skipped}function Rt(t){return Ct(0,"tests",t)}function St(t){return Ct(1,"tests",t)}function Tt(t){var n=t.fieldName,r=t.groupName;if(mt())return!0;var i=a.useX(),u=i.exclusion,o=i.inclusion,s=u.tests,c=s[n];if(!1===c)return!0;var f=!0===c;if(r){if(function(t){var n=a.useX().exclusion.groups;if(e.hasOwnProperty(n,t))return!1===n[t];return _t()}(r))return!0;if(!0===u.groups[r])return!f&&(!!At(s)||!1===s[n])}return!!function(t){if(!_t())return!1;return!t}(r)||!f&&(!!At(s)&&!e.optionalFunctionValue(o[n]))}function Ct(t,n,r){var i=a.useX(Nt);r&&e.asArray(r).forEach((function(r){e.isStringValue(r)&&(i.exclusion[n][r]=0===t)}))}function At(t){for(var n in t)if(!0===t[n])return!0;return!1}function _t(){var t=a.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function It(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Ot(t){return n=o.EAGER,a.useX().mode[0]===n&&K(t.fieldName);var n}function bt(){return!!a.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 kt(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function Pt(t){var n=t.asyncTest,r=t.message;if(e.isPromise(n)){var i=yt().emit,u=c(),o=a.bind({stateRef:u},(function(){h(),i(pt.TEST_COMPLETED,t)})),s=a.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e.isStringValue(n)?n:r,t.fail(),o())}));n.then(o,s)}}function Lt(t){var n=yt(),r=function(t){return a.run({currentTest:t},(function(){return t.run()}))}(t);try{e.isPromise(r)?(t.asyncTest=r,t.setPending(),Pt(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 Ut(t){var n=E()[0].prev;if(e.isEmpty(n))return Dt(t),t;var r,i,o,s=(r=n,i=W(),e.nestedArray.valueAtPath(r,i));if(!e.isNullish(t.key)){var a=function(t,n){var r=function(t){return D().keys.prev[t]}(t),i=n;r&&(i=r);return function(t,n){var r=D().keys.current;e.isNullish(r[t])?r[t]=n:e.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}(t.key,t);return Dt(a),a}(function(t,n){return e.isNotEmpty(t)&&!kt(t,n)})(s,t)&&(!function(t,n){if(D().type===u.EACH)return;e.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(n.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,t),o=w().current(),g((function(t){return t.splice(o),t})),s=null);var c=e.defaultTo(s,t);return Dt(c),c}function Dt(t){var n=W();g((function(r){return e.nestedArray.setValueAtPath(r,n,t)}))}function Wt(t){var n=w();if(Ot(t))return t.skip(),Ut(t),n.next(),t;var r,i,u=Ut(t);return bt()||B(t.fieldName)?(u.omit(),n.next(),u):Tt(t)?(u.skip(mt()),n.next(),u):((i=t)!==(r=u)&&kt(r,i)&&r.isPending()&&r.cancel(),Dt(t),function(t){t.isUntested()?Lt(t):e.isPromise(t.asyncTest)&&(t.setPending(),Pt(t))}(t),n.next(),t)}function wt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=e.isFunction(n[1])?n:Ft([void 0],n,!0),u=i[0],o=i[1],s=i[2];e.invariant(e.isStringValue(t),Vt("fieldName","string")),e.invariant(e.isFunction(o),Vt("Test callback","function"));var c=a.useX(),f=new A(t,o,{message:u,groupName:c.groupName,key:s});return Wt(f)}Rt.group=function(t){return Ct(0,"groups",t)},St.group=function(t){return Ct(1,"groups",t)};var Gt=e.assign(wt,{memo:function(t){var n=e.cache(10);return function(r){for(var i=[],u=1;u<arguments.length;u++)i[u-1]=arguments[u];var o=w().current(),s=i.reverse(),a=s[0],c=s[1],l=s[2],d=[f(),r,o].concat(a),p=n.get(d);return e.isNull(p)?n(d,(function(){return t(r,l,c)})):p[1].isCanceled()?(n.invalidate(d),n(d,(function(){return t(r,l,c)}))):Wt(p[1])}}(wt)});function Vt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}Object.defineProperty(t,"enforce",{enumerable:!0,get:function(){return n.enforce}}),t.VERSION="4.6.6-dev-e99e42",t.context=a,t.create=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=t.reverse(),o=r[0],s=r[1];e.invariant(e.isFunction(o),"vest.create: Expected callback to be a function.");var c=gt(),f=i.createState(),l=U(f,{suiteId:e.seq(),suiteName:s}),d={stateRef:l,bus:c},p=e.assign(a.bind(d,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return f.reset(),G({type:u.SUITE},(function(){o.apply(void 0,t)})),c.emit(pt.SUITE_CALLBACK_DONE_RUNNING),ft()})),{get:a.bind(d,st),remove:a.bind(d,(function(t){c.emit(pt.REMOVE_FIELD,t)})),reset:f.reset,resetField:a.bind(d,(function(t){c.emit(pt.RESET_FIELD,t)}))});return p},t.each=function(t,n){e.invariant(e.isFunction(n),"each callback must be a function"),G({type:u.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))},t.eager=function(){var t;t=o.EAGER,a.useX().mode[0]=t},t.group=function(t,n){e.invariant(e.isStringValue(t),It("name must be a string")),e.invariant(e.isFunction(n),It("callback must be a function")),G({type:u.GROUP},(function(){a.run({groupName:t},n)}))},t.include=function(t){var n=a.useX(),r=n.inclusion,i=n.exclusion;return e.invariant(e.isStringValue(t)),r[t]=e.defaultTo(i.tests[t],!0),{when:function(n){var r=a.useX(),i=r.inclusion,u=r.exclusion;i[t]=function(){return e.hasOwnProperty(u.tests,t)?e.defaultTo(u.tests[t],!0):e.isStringValue(n)?Boolean(u.tests[n]):e.optionalFunctionValue(n,e.optionalFunctionValue(st))}}}},t.omitWhen=function(t,n){G({type:u.OMIT_WHEN},(function(){a.run({omitted:bt()||e.optionalFunctionValue(t,e.optionalFunctionValue(st))},(function(){return n()}))}))},t.only=Rt,t.optional=function(t){if(e.isArray(t)||e.isStringValue(t))e.asArray(t).forEach((function(t){p(t,(function(){return{type:X.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var r=t[n];p(n,(function(){return{type:X.Immediate,rule:r,applied:e.optionalFunctionValue(r)}}))};for(var r in t)n(r)}},t.skip=St,t.skipWhen=function(t,n){G({type:u.SKIP_WHEN},(function(){a.run({skipped:mt()||e.optionalFunctionValue(t,e.optionalFunctionValue(st))},(function(){return n()}))}))},t.suiteSelectors=tt,t.test=Gt,t.warn=function(){var t=a.useX("warn "+Nt);e.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()},Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("n4s"),require("vast"),require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","n4s","vast","vest-utils","context"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).vest={},t.n4s,t.vast,t["vest-utils"],t.context)}(this,(function(t,n,e,r,i){"use strict";var u,o;function s(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 a(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"}(u||(u={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(o||(o={}));var c=i.createCascade((function(t,n){return n?null:r.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:a(u.DEFAULT),mode:[o.ALL]},t)}));function f(){return c.useX().isolate}function l(){var t=f();return t.path.concat(t.cursor.current())}function d(){return f().cursor}function p(){return c.useX().stateRef}function v(){return p().suiteId()[0]}function E(){return p().testCallbacks()}function h(){return p().optionalFields()}function g(t,n){(0,h()[1])((function(e){var i;return r.assign(e,((i={})[t]=r.assign({},e[t],n(e[t])),i))}))}function y(t){var n;return null!==(n=h()[0][t])&&void 0!==n?n:{}}function N(){return p().testObjects()}function m(){R((function(t){return t}))}function R(t){(0,N()[1])((function(n){var e=n.current;return{prev:n.prev,current:r.asArray(t(e))}}))}function S(){return A().filter((function(t){return t.isPending()}))}var T,C=r.cache();function A(){var t=N()[0].current;return C([t],(function(){return r.nestedArray.flatten(t)}))}function _(t){A().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(T||(T={}));var I,O,b=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=T.Error,this.status=F,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!==w||(this.status=t)},t.prototype.warns=function(){return this.severity===T.Warning},t.prototype.setPending=function(){this.setStatus(D)},t.prototype.fail=function(){this.setStatus(this.warns()?L:P)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},t.prototype.warn=function(){this.severity=T.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(k)},t.prototype.cancel=function(){this.setStatus(W),m()},t.prototype.reset=function(){this.status=F,m()},t.prototype.omit=function(){this.setStatus(w)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(D)},t.prototype.isOmitted=function(){return this.statusEquals(w)},t.prototype.isUntested=function(){return this.statusEquals(F)},t.prototype.isFailing=function(){return this.statusEquals(P)},t.prototype.isCanceled=function(){return this.statusEquals(W)},t.prototype.isSkipped=function(){return this.statusEquals(k)},t.prototype.isPassing=function(){return this.statusEquals(U)},t.prototype.isWarning=function(){return this.statusEquals(L)},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}(),F="UNTESTED",k="SKIPPED",P="FAILED",L="WARNING",U="PASSING",D="PENDING",W="CANCELED",w="OMITTED";function G(t,n){var e=t.type,i=void 0===e?u.DEFAULT:e;r.invariant(r.isFunction(n));var o=a(i,l()),s=c.run({isolate:o},(function(){var t;return o.keys.prev=(t=N()[0].prev,r.asArray(r.nestedArray.getCurrent(t,l())).reduce((function(t,n){return n instanceof b?(r.isNullish(n.key)||(t[n.key]=n),t):t}),{})),R((function(t){return r.nestedArray.setValueAtPath(t,o.path,[])})),n()}));return d().next(),s}function V(t){return t===I.ERRORS?O.ERROR_COUNT:O.WARN_COUNT}function x(t,n){return!!n&&!q(t,n)}function q(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(I||(I={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(O||(O={}));var X,H=r.bindNot((function(t,n){return t.groupName===n}));function K(t){return function(t,n){return A().some((function(e){return M(e,t,n)}))}(I.ERRORS,t)}function M(t,n,e){return!!t.hasFailures()&&(!x(t,e)&&!function(t,n){return r.either(t===I.WARNINGS,n.warns())}(n,t))}function B(t){return!!t&&y(t).applied}function j(t){if(B(t))return!0;var n=A();return!r.isEmpty(n)&&(!K(t)&&(!function(t){return r.isNotEmpty(S().filter((function(n){return J(n,t)})))}(t)&&function(t){return A().every((function(n){return z(n,t)}))}(t)))}function Y(t,n){return!!B(n)||!function(t,n,e){return A().some((function(r){return!H(r,n)&&M(r,t,e)}))}(I.ERRORS,t,n)&&(!function(t,n){return r.isNotEmpty(S().filter((function(e){return!H(e,t)&&J(e,n)})))}(t,n)&&function(t,n){return A().every((function(e){return!!H(e,t)||z(e,n)}))}(t,n))}function J(t,n){return!x(t,n)&&B(n)}function z(t,n){return!!x(t,n)||(function(t){return y(t.fieldName).type===X.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function Q(){var t=A(),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]=Z(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&j(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Z(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&Y(e,n.fieldName)}(t.groups,n),t}),n),n.valid=j(),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 Z(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(I.ERRORS):n.isWarning()&&o(I.WARNINGS)),u;function o(t){var n=V(t);u[n]++,i&&(u[t]=(u[t]||[]).concat(i))}}function $(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=V(n);for(var u in t)r.isPositive(t[u][i])&&(e[u]=t[u][n]||[]);return e}(t,n)}function tt(t){var n={getErrors:function(n){return nt(t,I.ERRORS,n)},getErrorsByGroup:function(n,e){return et(t,I.ERRORS,n,e)},getWarnings:function(n){return nt(t,I.WARNINGS,n)},getWarningsByGroup:function(n,e){return et(t,I.WARNINGS,n,e)},hasErrors:function(n){return ut(t,O.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return it(t,O.ERROR_COUNT,n,e)},hasWarnings:function(n){return ut(t,O.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return it(t,O.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 rt(r,e);for(var i in r)if(!rt(r,i))return!1;return!0}};return n}function nt(t,n,e){return $(t.tests,n,e)}function et(t,n,e,r){return $(t.groups[e],n,r)}function rt(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function it(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 ut(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"}(X||(X={}));var ot=r.cache(1);function st(){var t=A(),n={stateRef:p()};return ot([t],c.bind(n,(function(){var t=Q(),n=p().suiteName()[0];return r.assign(t,tt(t),{suiteName:n})})))}function at(t){var n=S();return!r.isEmpty(n)&&(!t||n.some((function(n){return q(n,t)})))}var ct=r.cache(20);function ft(){var t=A(),n={stateRef:p()};return ct([t],c.bind(n,(function(){return r.assign({},st(),{done:c.bind(n,vt)})})))}function lt(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 dt(t){return!(at()&&(!t||at(t)))}var pt,vt=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=ft();if(lt(r,i,u))return u;var o=function(){return r(st())};return dt(i)?(o(),u):(Et(o,i),u)};function Et(t,n){(0,E()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function ht(){var t=h()[0];if(!r.isEmpty(t)){var n={};A().forEach((function(t){r.hasOwnProperty(n,t.fieldName)?e(t):function(t){var i=y(t.fieldName);i.type===X.Immediate&&(n[t.fieldName]=r.optionalFunctionValue(i.rule),e(t))}(t)})),m()}function e(t){n[t.fieldName]&&(t.omit(),g(t.fieldName,(function(){return{applied:!0}})))}}function gt(){var t=r.bus.createBus();return t.on(pt.TEST_COMPLETED,(function(n){var e,i;n.isCanceled()||(n.done(),e=n.fieldName,i=E()[0].fieldCallbacks,e&&!at(e)&&r.isArray(i[e])&&r.callEach(i[e]),at()||t.emit(pt.ALL_RUNNING_TESTS_FINISHED))})),t.on(pt.SUITE_CALLBACK_DONE_RUNNING,(function(){ht()})),t.on(pt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=E()[0].doneCallbacks,r.callEach(t)})),t.on(pt.REMOVE_FIELD,(function(t){_((function(n){q(n,t)&&(n.cancel(),function(t){R((function(n){return r.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(pt.RESET_FIELD,(function(t){_((function(n){q(n,t)&&n.reset()}))})),t}function yt(){var t=c.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={}));var Nt="hook called outside of a running suite.";function mt(){return!!c.useX().skipped}function Rt(t){return Ct(0,"tests",t)}function St(t){return Ct(1,"tests",t)}function Tt(t){var n=t.fieldName,e=t.groupName;if(mt())return!0;var i=c.useX(),u=i.exclusion,o=i.inclusion,s=u.tests,a=s[n];if(!1===a)return!0;var f=!0===a;if(e){if(function(t){var n=c.useX().exclusion.groups;if(r.hasOwnProperty(n,t))return!1===n[t];return _t()}(e))return!0;if(!0===u.groups[e])return!f&&(!!At(s)||!1===s[n])}return!!function(t){if(!_t())return!1;return!t}(e)||!f&&(!!At(s)&&!r.optionalFunctionValue(o[n]))}function Ct(t,n,e){var i=c.useX(Nt);e&&r.asArray(e).forEach((function(e){r.isStringValue(e)&&(i.exclusion[n][e]=0===t)}))}function At(t){for(var n in t)if(!0===t[n])return!0;return!1}function _t(){var t=c.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function It(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Ot(t){return n=o.EAGER,c.useX().mode[0]===n&&K(t.fieldName);var n}function bt(){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 kt(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function Pt(t){var n=t.asyncTest,e=t.message;if(r.isPromise(n)){var i=yt().emit,u=p(),o=c.bind({stateRef:u},(function(){m(),i(pt.TEST_COMPLETED,t)})),s=c.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=r.isStringValue(n)?n:e,t.fail(),o())}));n.then(o,s)}}function Lt(t){var n=yt(),e=function(t){return c.run({currentTest:t},(function(){return t.run()}))}(t);try{r.isPromise(e)?(t.asyncTest=e,t.setPending(),Pt(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 Ut(t){var n=N()[0].prev;if(r.isEmpty(n))return Dt(t),t;var e,i,o,s=(e=n,i=l(),r.nestedArray.valueAtPath(e,i));if(!r.isNullish(t.key)){var a=function(t,n){var e=function(t){return f().keys.prev[t]}(t),i=n;e&&(i=e);return function(t,n){var e=f().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}(t.key,t);return Dt(a),a}(function(t,n){return r.isNotEmpty(t)&&!kt(t,n)})(s,t)&&(!function(t,n){if(f().type===u.EACH)return;r.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(n.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,t),o=d().current(),R((function(t){return t.splice(o),t})),s=null);var c=r.defaultTo(s,t);return Dt(c),c}function Dt(t){var n=l();R((function(e){return r.nestedArray.setValueAtPath(e,n,t)}))}function Wt(t){var n=d();if(Ot(t))return t.skip(),Ut(t),n.next(),t;var e,i,u=Ut(t);return bt()||B(t.fieldName)?(u.omit(),n.next(),u):Tt(t)?(u.skip(mt()),n.next(),u):((i=t)!==(e=u)&&kt(e,i)&&e.isPending()&&e.cancel(),Dt(t),function(t){t.isUntested()?Lt(t):r.isPromise(t.asyncTest)&&(t.setPending(),Pt(t))}(t),n.next(),t)}function wt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var i=r.isFunction(n[1])?n:Ft([void 0],n,!0),u=i[0],o=i[1],s=i[2];r.invariant(r.isStringValue(t),Vt("fieldName","string")),r.invariant(r.isFunction(o),Vt("Test callback","function"));var a=c.useX(),f=new b(t,o,{message:u,groupName:a.groupName,key:s});return Wt(f)}Rt.group=function(t){return Ct(0,"groups",t)},St.group=function(t){return Ct(1,"groups",t)};var Gt=r.assign(wt,{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],c=s[1],f=s[2],l=[v(),e,o].concat(a),p=n.get(l);return r.isNull(p)?n(l,(function(){return t(e,f,c)})):p[1].isCanceled()?(n.invalidate(l),n(l,(function(){return t(e,f,c)}))):Wt(p[1])}}(wt)});function Vt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}Object.defineProperty(t,"enforce",{enumerable:!0,get:function(){return n.enforce}}),t.VERSION="4.6.7",t.context=c,t.create=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=t.reverse(),o=i[0],a=i[1];r.invariant(r.isFunction(o),"vest.create: Expected callback to be a function.");var f=gt(),l=e.createState(),d=s(l,{suiteId:r.seq(),suiteName:a}),p={stateRef:d,bus:f},v=r.assign(c.bind(p,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return l.reset(),G({type:u.SUITE},(function(){o.apply(void 0,t)})),f.emit(pt.SUITE_CALLBACK_DONE_RUNNING),ft()})),{get:c.bind(p,st),remove:c.bind(p,(function(t){f.emit(pt.REMOVE_FIELD,t)})),reset:l.reset,resetField:c.bind(p,(function(t){f.emit(pt.RESET_FIELD,t)}))});return v},t.each=function(t,n){r.invariant(r.isFunction(n),"each callback must be a function"),G({type:u.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))},t.eager=function(){var t;t=o.EAGER,c.useX().mode[0]=t},t.group=function(t,n){r.invariant(r.isStringValue(t),It("name must be a string")),r.invariant(r.isFunction(n),It("callback must be a function")),G({type:u.GROUP},(function(){c.run({groupName:t},n)}))},t.include=function(t){var n=c.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=c.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(st))}}}},t.omitWhen=function(t,n){G({type:u.OMIT_WHEN},(function(){c.run({omitted:bt()||r.optionalFunctionValue(t,r.optionalFunctionValue(st))},(function(){return n()}))}))},t.only=Rt,t.optional=function(t){if(r.isArray(t)||r.isStringValue(t))r.asArray(t).forEach((function(t){g(t,(function(){return{type:X.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];g(n,(function(){return{type:X.Immediate,rule:e,applied:r.optionalFunctionValue(e)}}))};for(var e in t)n(e)}},t.skip=St,t.skipWhen=function(t,n){G({type:u.SKIP_WHEN},(function(){c.run({skipped:mt()||r.optionalFunctionValue(t,r.optionalFunctionValue(st))},(function(){return n()}))}))},t.suiteSelectors=tt,t.test=Gt,t.warn=function(){var t=c.useX("warn "+Nt);r.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()},Object.defineProperty(t,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
- "version": "4.6.6-dev-e99e42",
2
+ "version": "4.6.7",
3
3
  "license": "MIT",
4
4
  "name": "vest",
5
5
  "author": "ealush",
6
+ "description": "A lightweight, extensible, and framework agnostic validation framework inspired by unit testing libraries.",
7
+ "keywords": [
8
+ "vest",
9
+ "enforce",
10
+ "validation",
11
+ "form",
12
+ "react-validation",
13
+ "vue-validation",
14
+ "angular-validation",
15
+ "validation-framework",
16
+ "svelte-validation",
17
+ "schema-validation"
18
+ ],
6
19
  "scripts": {
7
20
  "test": "vx test",
8
21
  "build": "vx build",
@@ -20,10 +33,10 @@
20
33
  "url": "https://github.com/ealush/vest.git/issues"
21
34
  },
22
35
  "dependencies": {
23
- "context": "dev",
24
- "n4s": "dev",
25
- "vast": "dev",
26
- "vest-utils": "dev"
36
+ "context": "^3.0.4",
37
+ "n4s": "^4.3.3",
38
+ "vast": "^1.0.14",
39
+ "vest-utils": "^0.0.4"
27
40
  },
28
41
  "homepage": "https://vestjs.dev/",
29
42
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"compounds.d.ts","sourceRoot":"","sources":["../../src/exports/enforce@compounds.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"compounds.d.ts","sourceRoot":"","sources":["../../src/exports/enforce@compounds.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,eAAe,CAAC"}
package/types/vest.d.ts CHANGED
@@ -334,7 +334,7 @@ declare const test: typeof testBase & {
334
334
  * Sets a running test to warn only mode.
335
335
  */
336
336
  declare function warn(): void;
337
- declare const VERSION = "4.6.6-dev-e99e42";
337
+ declare const VERSION = "4.6.7";
338
338
  export { suiteSelectors, test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include, eager };
339
339
  export type { SuiteResult, SuiteRunResult, SuiteSummary, VestTest, Suite };
340
340
  //# sourceMappingURL=vest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vest.d.ts","sourceRoot":"","sources":["../src/vest.ts","../src/core/suite/produce/summaryGenerators/SuiteSummaryTypes.ts","../src/core/test/lib/shouldUseErrorAsMessage.ts","../src/hooks/optionalFields.ts","../src/core/isolate/isolateCursor.ts","../src/core/isolate/IsolateTypes.ts","../src/hooks/mode/Modes.ts","../src/core/isolate/generateIsolate.ts","../src/core/ctx/ctx.ts","../src/core/isolate/isolateHooks.ts","../src/core/test/key.ts","../src/core/isolate/isolate.ts","../src/core/suite/produce/summaryGenerators/helpers/matchingFieldName.ts","../src/core/suite/hasRemainingTests.ts","../src/core/suite/produce/produceSuiteRunResult.ts","../src/core/test/omitOptionalFields.ts","../src/core/test/lib/removeTestFromState.ts","../src/core/suite/produce/runCallbacks.ts","../src/core/vestBus.ts","../src/core/suite/create.ts","../src/core/suite/produce/Severity.ts","../src/core/suite/produce/summaryGenerators/helpers/matchingGroupName.ts","../src/core/suite/produce/summaryGenerators/helpers/nonMatchingSeverityProfile.ts","../src/core/suite/produce/summaryGenerators/hasFailuresByTestObjects.ts","../src/core/suite/produce/summaryGenerators/shouldAddValidProperty.ts","../src/core/suite/produce/summaryGenerators/genTestsSummary.ts","../src/core/suite/produce/summarySelectors/collectFailures.ts","../src/core/suite/produce/summarySelectors/suiteSelectors.ts","../src/core/suite/produce/produceSuiteResult.ts","../src/core/state/createStateRef.ts","../src/core/state/stateHooks.ts","../src/core/test/VestTest.ts","../src/core/isolate/isolates/each.ts","../src/hooks/hookErrors.ts","../src/core/isolate/isolates/skipWhen.ts","../src/hooks/exclusive.ts","../src/core/isolate/isolates/group.ts","../src/hooks/include.ts","../src/hooks/mode/mode.ts","../src/core/isolate/isolates/omitWhen.ts","../src/core/test/lib/isSameProfileTest.ts","../src/core/test/lib/cancelOverriddenPendingTest.ts","../src/core/test/runAsyncTest.ts","../src/core/test/runSyncTest.ts","../src/core/test/lib/registerTest.ts","../src/core/test/lib/useTestAtCursor.ts","../src/core/test/lib/registerPrevRunTest.ts","../src/core/test/test.memo.ts","../src/core/test/test.ts","../src/hooks/warn.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoB9B,QAAA,MAAM,OAAO,qBAAqB,CAAC;AAEnC,OAAO,wIAiBN,CAAC;AAEF,YAAY,8DAA8D,CAAC"}
1
+ {"version":3,"file":"vest.d.ts","sourceRoot":"","sources":["../src/vest.ts","../src/core/suite/produce/summaryGenerators/SuiteSummaryTypes.ts","../src/core/test/lib/shouldUseErrorAsMessage.ts","../src/hooks/optionalFields.ts","../src/core/isolate/isolateCursor.ts","../src/core/isolate/IsolateTypes.ts","../src/hooks/mode/Modes.ts","../src/core/isolate/generateIsolate.ts","../src/core/ctx/ctx.ts","../src/core/isolate/isolateHooks.ts","../src/core/test/key.ts","../src/core/isolate/isolate.ts","../src/core/suite/produce/summaryGenerators/helpers/matchingFieldName.ts","../src/core/suite/hasRemainingTests.ts","../src/core/suite/produce/produceSuiteRunResult.ts","../src/core/test/omitOptionalFields.ts","../src/core/test/lib/removeTestFromState.ts","../src/core/suite/produce/runCallbacks.ts","../src/core/vestBus.ts","../src/core/suite/create.ts","../src/core/suite/produce/Severity.ts","../src/core/suite/produce/summaryGenerators/helpers/matchingGroupName.ts","../src/core/suite/produce/summaryGenerators/helpers/nonMatchingSeverityProfile.ts","../src/core/suite/produce/summaryGenerators/hasFailuresByTestObjects.ts","../src/core/suite/produce/summaryGenerators/shouldAddValidProperty.ts","../src/core/suite/produce/summaryGenerators/genTestsSummary.ts","../src/core/suite/produce/summarySelectors/collectFailures.ts","../src/core/suite/produce/summarySelectors/suiteSelectors.ts","../src/core/suite/produce/produceSuiteResult.ts","../src/core/state/createStateRef.ts","../src/core/state/stateHooks.ts","../src/core/test/VestTest.ts","../src/core/isolate/isolates/each.ts","../src/hooks/hookErrors.ts","../src/core/isolate/isolates/skipWhen.ts","../src/hooks/exclusive.ts","../src/core/isolate/isolates/group.ts","../src/hooks/include.ts","../src/hooks/mode/mode.ts","../src/core/isolate/isolates/omitWhen.ts","../src/core/test/lib/isSameProfileTest.ts","../src/core/test/lib/cancelOverriddenPendingTest.ts","../src/core/test/runAsyncTest.ts","../src/core/test/runSyncTest.ts","../src/core/test/lib/registerTest.ts","../src/core/test/lib/useTestAtCursor.ts","../src/core/test/lib/registerPrevRunTest.ts","../src/core/test/test.memo.ts","../src/core/test/test.ts","../src/hooks/warn.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoB9B,QAAA,MAAM,OAAO,UAAU,CAAC;AAExB,OAAO,wIAiBN,CAAC;AAEF,YAAY,8DAA8D,CAAC"}