vest 4.2.1-dev-ee64be → 4.2.1

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.
@@ -953,7 +953,7 @@ function noMissingTests(fieldName) {
953
953
  }
954
954
 
955
955
  var cache$1 = createCache(20);
956
- function produceBase() {
956
+ function produceSuiteResult() {
957
957
  var testObjects = useTestsFlat();
958
958
  var ctxRef = { stateRef: useStateRef() };
959
959
  return cache$1([testObjects], context.bind(ctxRef, function () {
@@ -968,7 +968,7 @@ function produceBase() {
968
968
  hasWarnings: context.bind(ctxRef, hasWarnings),
969
969
  hasWarningsByGroup: context.bind(ctxRef, hasWarningsByGroup),
970
970
  isValid: context.bind(ctxRef, function (fieldName) {
971
- return isValid(produceBase(), fieldName);
971
+ return isValid(produceSuiteResult(), fieldName);
972
972
  }),
973
973
  suiteName: suiteName
974
974
  });
@@ -996,7 +996,7 @@ function produceFullResult() {
996
996
  var testObjects = useTestsFlat();
997
997
  var ctxRef = { stateRef: useStateRef() };
998
998
  return cache([testObjects], context.bind(ctxRef, function () {
999
- return assign({}, produceBase(), {
999
+ return assign({}, produceSuiteResult(), {
1000
1000
  done: context.bind(ctxRef, done)
1001
1001
  });
1002
1002
  }));
@@ -1029,7 +1029,7 @@ var done = function done() {
1029
1029
  if (shouldSkipDoneRegistration(callback, fieldName, output)) {
1030
1030
  return output;
1031
1031
  }
1032
- var doneCallback = function () { return callback(produceBase()); };
1032
+ var doneCallback = function () { return callback(produceSuiteResult()); };
1033
1033
  if (shouldRunDoneCallback(fieldName)) {
1034
1034
  doneCallback();
1035
1035
  return output;
@@ -1230,7 +1230,7 @@ function create() {
1230
1230
  // Return the result
1231
1231
  return produceFullResult();
1232
1232
  }), {
1233
- get: context.bind(ctxRef, produceBase),
1233
+ get: context.bind(ctxRef, produceSuiteResult),
1234
1234
  remove: context.bind(ctxRef, function (fieldName) {
1235
1235
  bus.emit(Events.REMOVE_FIELD, fieldName);
1236
1236
  }),
@@ -1288,7 +1288,7 @@ function skipWhen(conditional, callback) {
1288
1288
  // we should skip the test if the parent conditional is true.
1289
1289
  isExcludedIndividually() ||
1290
1290
  // Otherwise, we should skip the test if the conditional is true.
1291
- optionalFunctionValue(conditional, optionalFunctionValue(produceBase))
1291
+ optionalFunctionValue(conditional, optionalFunctionValue(produceSuiteResult))
1292
1292
  }, function () { return callback(); });
1293
1293
  });
1294
1294
  }
@@ -1488,7 +1488,7 @@ function include(fieldName) {
1488
1488
  if (isStringValue(condition)) {
1489
1489
  return Boolean(exclusion.tests[condition]);
1490
1490
  }
1491
- return optionalFunctionValue(condition, optionalFunctionValue(produceBase));
1491
+ return optionalFunctionValue(condition, optionalFunctionValue(produceSuiteResult));
1492
1492
  };
1493
1493
  }
1494
1494
  }
@@ -1545,7 +1545,7 @@ function omitWhen(conditional, callback) {
1545
1545
  isolate({ type: IsolateTypes.OMIT_WHEN }, function () {
1546
1546
  context.run({
1547
1547
  omitted: isOmitted() ||
1548
- optionalFunctionValue(conditional, optionalFunctionValue(produceBase))
1548
+ optionalFunctionValue(conditional, optionalFunctionValue(produceSuiteResult))
1549
1549
  }, function () { return callback(); });
1550
1550
  });
1551
1551
  }
@@ -1877,7 +1877,7 @@ function warn() {
1877
1877
  ctx.currentTest.warn();
1878
1878
  }
1879
1879
 
1880
- var VERSION = "4.2.1-dev-ee64be";
1880
+ var VERSION = "4.2.1";
1881
1881
 
1882
1882
  Object.defineProperty(exports, 'enforce', {
1883
1883
  enumerable: true,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),e=require("context"),r=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n,t){return o(n)&&u(t)}function c(n){return[].concat(n)}function a(n,t){return n.length===Number(t)}function f(n){function t(n){return e.findIndex((function(t){var e=t[0];return a(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return n.length>Number(t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function l(n){return!!Array.isArray(n)}function p(n){return null===n}var d=i(p);function v(n){return"function"==typeof n}function g(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return v(n)?n.apply(void 0,t):n}function h(n,t){var e;return null!==(e=g(n))&&void 0!==e?e:t}function E(n){return(n=c(n))[n.length-1]}function m(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];l(u)?e.push(m(u,t)):(u=t(u),d(u)&&e.push(u))}return e}function y(n,t,e){return S(n,t)[E(t)]=e,n}function N(n){return c(n).reduce((function(n,t){return l(t)?n.concat(N(t)):c(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=h(n[r],[]),n=n[r]}return n}var b,C,R=Object.assign;function T(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return E(t)},getCursor:function(){return c(t)},next:function(){return t[t.length-1]++,E(t)},removeLevel:function(){t.pop()},reset:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(b||(b={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(C||(C={}));var I=e.createContext((function(n,t){return t?null:R({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:b.DEFAULT,keys:{current:{},prev:{}}},mode:[C.ALL],testCursor:T()},n)}));function _(){return I.useX().stateRef}function O(){return _().suiteId()[0]}function A(){return _().testCallbacks()}function k(){return _().optionalFields()}function L(){return _().testObjects()}function x(){(0,L()[1])((function(n){return{prev:n.prev,current:c(n.current)}}))}function F(n){(0,L()[1])((function(t){return{prev:t.prev,current:c(n(t.current))}}))}function G(){return N(m(L()[0].current,(function(n){return n.isPending()?n:null})))}var P,W=f();function D(){var n=L()[0].current;return W([n],(function(){return N(n)}))}function U(n){D().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(P||(P={}));var w,X=function(){function n(n,t,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=P.Error,this.status=H,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){s(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Y||(this.status=n)},n.prototype.warns=function(){return this.severity===P.Warning},n.prototype.setPending=function(){this.setStatus(B)},n.prototype.fail=function(){this.setStatus(this.warns()?M:q)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},n.prototype.warn=function(){this.severity=P.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(K)},n.prototype.cancel=function(){this.setStatus(V),x()},n.prototype.reset=function(){this.status=H,x()},n.prototype.omit=function(){this.setStatus(Y)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(B)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Y)},n.prototype.isUntested=function(){return this.statusEquals(H)},n.prototype.isFailing=function(){return this.statusEquals(q)},n.prototype.isCanceled=function(){return this.statusEquals(V)},n.prototype.isSkipped=function(){return this.statusEquals(K)},n.prototype.isPassing=function(){return this.statusEquals(j)},n.prototype.isWarning=function(){return this.statusEquals(M)},n.prototype.statusEquals=function(n){return this.status===n},n}(),H="UNTESTED",K="SKIPPED",q="FAILED",M="WARNING",j="PASSING",B="PENDING",V="CANCELED",Y="OMITTED";function J(n,t){throw Error(h(t,n))}function z(n,t){setTimeout((function(){J(n,t)}),0)}function Q(n){function t(n,t,u){return r.references.push(),e(n,g(t,u)),function(){return[r.references[n],function(t){return e(n,g(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,v(t=u[t][1])&&t(e,i),v(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function Z(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function $(n){return p(n)||o(n)}function nn(){return I.useX().testCursor.getCursor()}function tn(){return I.useX().testCursor.cursorAt()}function en(){return I.useX().testCursor.next()}function rn(n,t){if(n=void 0===(n=n.type)?b.DEFAULT:n,v(t)){var e={current:{},prev:{}},r=nn();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=c(S(L()[0].prev,nn())).reduce((function(n,t){return t instanceof X&&!$(t.key)?(n[t.key]=t,n):n}),{}),F((function(n){return y(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),en(),n}))}}function un(n,t){function e(n){i[n===w.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(w.ERRORS):t.isWarning()&&e(w.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(w||(w={}));var on=function(){return(on=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function sn(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function cn(n,t){return!!t&&!an(n,t)}function an(n,t){return!(!t||n.fieldName!==t)}function fn(n,t){return function(n,t){return!!n!=!!t}(n===w.WARNINGS,t.warns())}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||cn(n,r)||fn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),on({},i&&((r={})[i]=[],r)))}function pn(n,t){return t?n[t]:n}function dn(n){return gn(w.ERRORS,n)}function vn(n){return gn(w.WARNINGS,n)}function gn(n,t){return pn(n=ln(n,D(),{fieldName:t}),t)}function hn(n,t){return pn(n=mn(w.ERRORS,n,t),t)}function En(n,t){return pn(n=mn(w.WARNINGS,n,t),t)}function mn(n,t,e){return t||J("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,D(),{group:t,fieldName:e})}function yn(n,t,e){return!(!n.hasFailures()||cn(n,e)||fn(t,n))}function Nn(n){return bn(w.ERRORS,n)}function Sn(n){return bn(w.WARNINGS,n)}function bn(n,t){return D().some((function(e){return yn(e,n,t)}))}function Cn(n,t){return Tn(w.ERRORS,n,t)}function Rn(n,t){return Tn(w.WARNINGS,n,t)}function Tn(n,t,e){return D().some((function(r){return t===r.groupName&&yn(r,n,e)}))}function In(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function _n(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(In(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}var On=i(_n);function An(n,t){return!!function(n){var t=D().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(_n(D())||function(n,t){return!!t&&_n(n.tests[t])}(n,t)||function(n){var t=k()[0];return On(G().filter((function(e){return!cn(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=D(),e=k()[0];return t.every((function(t){return!!cn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var kn=f(20);function Ln(){var n=D(),t={stateRef:_()};return kn([n],I.bind(t,(function(){var n=_().suiteName()[0];return R(function(){var n=D(),t=R({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=un(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=un(t.groups[r],n))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}(),{getErrors:I.bind(t,dn),getErrorsByGroup:I.bind(t,hn),getWarnings:I.bind(t,vn),getWarningsByGroup:I.bind(t,En),hasErrors:I.bind(t,Nn),hasErrorsByGroup:I.bind(t,Cn),hasWarnings:I.bind(t,Sn),hasWarningsByGroup:I.bind(t,Rn),isValid:I.bind(t,(function(n){return An(Ln(),n)})),suiteName:n})})))}function xn(n){var t=G();return!_n(t)&&(n?t.some((function(t){return an(t,n)})):On(t))}var Fn=f(20);function Gn(){var n=D(),t={stateRef:_()};return Fn([n],I.bind(t,(function(){return R({},Ln(),{done:I.bind(t,Un)})})))}function Pn(n,t,e){return!(v(n)&&(!t||e.tests[t]&&!_n(e.tests[t].testCount)))}function Wn(n){return!(xn()&&(!n||xn(n)))}var Dn,Un=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Gn(),Pn(e,n,t))return t;var r=function(){return e(Ln())};return Wn(n)?(r(),t):(wn(r,n),t)};function wn(n,t){var e=I.bind({},n);(0,A()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Xn(n){return n.forEach((function(n){return n()}))}function Hn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Dn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=A()[0].fieldCallbacks;n&&!xn(n)&&l(t[n])&&Xn(t[n])}(t.fieldName),xn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=k()[0];if(!_n(n)){var t={};F((function(e){return m(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];v(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Dn.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(A()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){U((function(t){an(t,n)&&(t.cancel(),function(n){F((function(t){return m(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){U((function(t){an(t,n)&&t.reset()}))})),n}function Kn(){var n=I.useX();return n.bus||J(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Dn||(Dn={}));function qn(){return!!I.useX().skipped}function Mn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Bn(n){var t=n.fieldName;if(n=n.groupName,qn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;if(In(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Yn(u)||!1===u[t])}return!!function(n){var t=I.useX().exclusion;return!!function(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Yn(u)&&!g(e[t]))}function Vn(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&c(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function Yn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Jn(n){J("Wrong arguments passed to group. Group ".concat(n,"."))}function zn(n){return!(!function(n){return I.useX().mode[0]===n}(C.EAGER)||!Nn(n.fieldName))}function Qn(){return!!I.useX().omitted}Mn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Zn=i(u);function $n(n){return n&&v(n.then)}function nt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function tt(n){var t=n.asyncTest,e=n.message;if($n(t)){var r=Kn().emit,i=_(),o=I.bind({stateRef:i},(function(){x(),r(Dn.TEST_COMPLETED,n)}));i=I.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:e,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function et(n){var t=Kn(),e=function(n){return I.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){s(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{$n(e)?(n.asyncTest=e,n.setPending(),tt(n)):t.emit(Dn.TEST_COMPLETED,n)}catch(t){J("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function rt(n){var t=L()[0].prev;return _n(t)?(ut(n),n):(t=function(n){var t=nn();return function(n,t){return S(n,t)[E(t)]}(n,t)}(t),$(n.key)?(function(n,t){return On(n)&&!nt(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===b.EACH||z("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.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.'))}(t,n),function(){var n=L(),t=n[1],e=n[0].prev;n=S(e,nn());var r=tn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),ut(n=h(t,n)),n):(ut(n=function(n,t){var e=function(n){return I.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=I.useX().isolate.keys.current;$(e[n])?e[n]=t:z('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function ut(n){var t=nn();F((function(e){return y(e,t,n)}))}function it(n){var t=rt(n);return zn(n)?(en(),n.skip(),n):Qn()?(t.omit(),en(),t):Bn(n)?(t.skip(qn()),en(),t):(function(n,t){t!==n&&nt(n,t)&&n.isPending()&&n.cancel()}(t,n),ut(n),en(),function(n){n.isUntested()?et(n):$n(n.asyncTest)&&(n.setPending(),tt(n))}(n),n)}function ot(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=v(t[1])?t:sn([void 0],t,!0);t=r[0],e=r[1],r=r[2],Zn(n)&&ct("fieldName","string"),v(e)||ct("Test callback","function");var u=I.useX();return it(t=new X(n,e,{message:t,groupName:u.groupName,key:r}))}var st=R(ot,{memo:function(n){var t=f(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=tn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[O(),e,u].concat(i),p(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):it(r[1])}}(ot)});function ct(n,t){J("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.2.1-dev-ee64be",exports.context=I,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];n=n[1],v(e)||J("vest.create: Expected callback to be a function.");var u=Hn(),i=Q();return n={stateRef:Z(i,{suiteId:r(),suiteName:n}),bus:u},R(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),rn({type:b.SUITE},(function(){e.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Gn()})),{get:I.bind(n,Ln),remove:I.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,t){v(t)||J("each callback must be a function"),rn({type:b.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(C.EAGER)},exports.group=function(n,t){u(n)||Jn("name must be a string"),v(t)||Jn("callback must be a function"),rn({type:b.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){function t(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return In(r.tests,n)?h(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Ln))}}var e=I.useX();return n?(e.inclusion[n]=h(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,t){rn({type:b.OMIT_WHEN},(function(){I.run({omitted:Qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.only=Mn,exports.optional=function(n){(0,k()[1])((function(t){if(l(n)||u(n))c(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,t){rn({type:b.SKIP_WHEN},(function(){I.run({skipped:qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.test=st,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");n.currentTest||J("warn called outside of a test."),n.currentTest.warn()};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),e=require("context"),r=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n,t){return o(n)&&u(t)}function c(n){return[].concat(n)}function a(n,t){return n.length===Number(t)}function f(n){function t(n){return e.findIndex((function(t){var e=t[0];return a(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return n.length>Number(t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function l(n){return!!Array.isArray(n)}function p(n){return null===n}var d=i(p);function v(n){return"function"==typeof n}function g(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return v(n)?n.apply(void 0,t):n}function h(n,t){var e;return null!==(e=g(n))&&void 0!==e?e:t}function E(n){return(n=c(n))[n.length-1]}function m(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];l(u)?e.push(m(u,t)):(u=t(u),d(u)&&e.push(u))}return e}function y(n,t,e){return S(n,t)[E(t)]=e,n}function N(n){return c(n).reduce((function(n,t){return l(t)?n.concat(N(t)):c(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=h(n[r],[]),n=n[r]}return n}var b,C,R=Object.assign;function T(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return E(t)},getCursor:function(){return c(t)},next:function(){return t[t.length-1]++,E(t)},removeLevel:function(){t.pop()},reset:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(b||(b={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(C||(C={}));var I=e.createContext((function(n,t){return t?null:R({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:b.DEFAULT,keys:{current:{},prev:{}}},mode:[C.ALL],testCursor:T()},n)}));function _(){return I.useX().stateRef}function O(){return _().suiteId()[0]}function A(){return _().testCallbacks()}function k(){return _().optionalFields()}function L(){return _().testObjects()}function x(){(0,L()[1])((function(n){return{prev:n.prev,current:c(n.current)}}))}function F(n){(0,L()[1])((function(t){return{prev:t.prev,current:c(n(t.current))}}))}function G(){return N(m(L()[0].current,(function(n){return n.isPending()?n:null})))}var P,W=f();function D(){var n=L()[0].current;return W([n],(function(){return N(n)}))}function U(n){D().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(P||(P={}));var w,X=function(){function n(n,t,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=P.Error,this.status=H,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){s(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Y||(this.status=n)},n.prototype.warns=function(){return this.severity===P.Warning},n.prototype.setPending=function(){this.setStatus(B)},n.prototype.fail=function(){this.setStatus(this.warns()?M:q)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},n.prototype.warn=function(){this.severity=P.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(K)},n.prototype.cancel=function(){this.setStatus(V),x()},n.prototype.reset=function(){this.status=H,x()},n.prototype.omit=function(){this.setStatus(Y)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(B)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Y)},n.prototype.isUntested=function(){return this.statusEquals(H)},n.prototype.isFailing=function(){return this.statusEquals(q)},n.prototype.isCanceled=function(){return this.statusEquals(V)},n.prototype.isSkipped=function(){return this.statusEquals(K)},n.prototype.isPassing=function(){return this.statusEquals(j)},n.prototype.isWarning=function(){return this.statusEquals(M)},n.prototype.statusEquals=function(n){return this.status===n},n}(),H="UNTESTED",K="SKIPPED",q="FAILED",M="WARNING",j="PASSING",B="PENDING",V="CANCELED",Y="OMITTED";function J(n,t){throw Error(h(t,n))}function z(n,t){setTimeout((function(){J(n,t)}),0)}function Q(n){function t(n,t,u){return r.references.push(),e(n,g(t,u)),function(){return[r.references[n],function(t){return e(n,g(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,v(t=u[t][1])&&t(e,i),v(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function Z(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function $(n){return p(n)||o(n)}function nn(){return I.useX().testCursor.getCursor()}function tn(){return I.useX().testCursor.cursorAt()}function en(){return I.useX().testCursor.next()}function rn(n,t){if(n=void 0===(n=n.type)?b.DEFAULT:n,v(t)){var e={current:{},prev:{}},r=nn();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=c(S(L()[0].prev,nn())).reduce((function(n,t){return t instanceof X&&!$(t.key)?(n[t.key]=t,n):n}),{}),F((function(n){return y(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),en(),n}))}}function un(n,t){function e(n){i[n===w.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(w.ERRORS):t.isWarning()&&e(w.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(w||(w={}));var on=function(){return(on=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function sn(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function cn(n,t){return!!t&&!an(n,t)}function an(n,t){return!(!t||n.fieldName!==t)}function fn(n,t){return function(n,t){return!!n!=!!t}(n===w.WARNINGS,t.warns())}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||cn(n,r)||fn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),on({},i&&((r={})[i]=[],r)))}function pn(n,t){return t?n[t]:n}function dn(n){return gn(w.ERRORS,n)}function vn(n){return gn(w.WARNINGS,n)}function gn(n,t){return pn(n=ln(n,D(),{fieldName:t}),t)}function hn(n,t){return pn(n=mn(w.ERRORS,n,t),t)}function En(n,t){return pn(n=mn(w.WARNINGS,n,t),t)}function mn(n,t,e){return t||J("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,D(),{group:t,fieldName:e})}function yn(n,t,e){return!(!n.hasFailures()||cn(n,e)||fn(t,n))}function Nn(n){return bn(w.ERRORS,n)}function Sn(n){return bn(w.WARNINGS,n)}function bn(n,t){return D().some((function(e){return yn(e,n,t)}))}function Cn(n,t){return Tn(w.ERRORS,n,t)}function Rn(n,t){return Tn(w.WARNINGS,n,t)}function Tn(n,t,e){return D().some((function(r){return t===r.groupName&&yn(r,n,e)}))}function In(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function _n(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(In(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}var On=i(_n);function An(n,t){return!!function(n){var t=D().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(_n(D())||function(n,t){return!!t&&_n(n.tests[t])}(n,t)||function(n){var t=k()[0];return On(G().filter((function(e){return!cn(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=D(),e=k()[0];return t.every((function(t){return!!cn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var kn=f(20);function Ln(){var n=D(),t={stateRef:_()};return kn([n],I.bind(t,(function(){var n=_().suiteName()[0];return R(function(){var n=D(),t=R({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=un(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=un(t.groups[r],n))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}(),{getErrors:I.bind(t,dn),getErrorsByGroup:I.bind(t,hn),getWarnings:I.bind(t,vn),getWarningsByGroup:I.bind(t,En),hasErrors:I.bind(t,Nn),hasErrorsByGroup:I.bind(t,Cn),hasWarnings:I.bind(t,Sn),hasWarningsByGroup:I.bind(t,Rn),isValid:I.bind(t,(function(n){return An(Ln(),n)})),suiteName:n})})))}function xn(n){var t=G();return!_n(t)&&(n?t.some((function(t){return an(t,n)})):On(t))}var Fn=f(20);function Gn(){var n=D(),t={stateRef:_()};return Fn([n],I.bind(t,(function(){return R({},Ln(),{done:I.bind(t,Un)})})))}function Pn(n,t,e){return!(v(n)&&(!t||e.tests[t]&&!_n(e.tests[t].testCount)))}function Wn(n){return!(xn()&&(!n||xn(n)))}var Dn,Un=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Gn(),Pn(e,n,t))return t;var r=function(){return e(Ln())};return Wn(n)?(r(),t):(wn(r,n),t)};function wn(n,t){var e=I.bind({},n);(0,A()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Xn(n){return n.forEach((function(n){return n()}))}function Hn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Dn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=A()[0].fieldCallbacks;n&&!xn(n)&&l(t[n])&&Xn(t[n])}(t.fieldName),xn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=k()[0];if(!_n(n)){var t={};F((function(e){return m(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];v(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Dn.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(A()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){U((function(t){an(t,n)&&(t.cancel(),function(n){F((function(t){return m(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){U((function(t){an(t,n)&&t.reset()}))})),n}function Kn(){var n=I.useX();return n.bus||J(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Dn||(Dn={}));function qn(){return!!I.useX().skipped}function Mn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Bn(n){var t=n.fieldName;if(n=n.groupName,qn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;if(In(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Yn(u)||!1===u[t])}return!!function(n){var t=I.useX().exclusion;return!!function(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Yn(u)&&!g(e[t]))}function Vn(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&c(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function Yn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Jn(n){J("Wrong arguments passed to group. Group ".concat(n,"."))}function zn(n){return!(!function(n){return I.useX().mode[0]===n}(C.EAGER)||!Nn(n.fieldName))}function Qn(){return!!I.useX().omitted}Mn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Zn=i(u);function $n(n){return n&&v(n.then)}function nt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function tt(n){var t=n.asyncTest,e=n.message;if($n(t)){var r=Kn().emit,i=_(),o=I.bind({stateRef:i},(function(){x(),r(Dn.TEST_COMPLETED,n)}));i=I.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:e,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function et(n){var t=Kn(),e=function(n){return I.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){s(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{$n(e)?(n.asyncTest=e,n.setPending(),tt(n)):t.emit(Dn.TEST_COMPLETED,n)}catch(t){J("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function rt(n){var t=L()[0].prev;return _n(t)?(ut(n),n):(t=function(n){var t=nn();return function(n,t){return S(n,t)[E(t)]}(n,t)}(t),$(n.key)?(function(n,t){return On(n)&&!nt(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===b.EACH||z("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.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.'))}(t,n),function(){var n=L(),t=n[1],e=n[0].prev;n=S(e,nn());var r=tn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),ut(n=h(t,n)),n):(ut(n=function(n,t){var e=function(n){return I.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=I.useX().isolate.keys.current;$(e[n])?e[n]=t:z('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function ut(n){var t=nn();F((function(e){return y(e,t,n)}))}function it(n){var t=rt(n);return zn(n)?(en(),n.skip(),n):Qn()?(t.omit(),en(),t):Bn(n)?(t.skip(qn()),en(),t):(function(n,t){t!==n&&nt(n,t)&&n.isPending()&&n.cancel()}(t,n),ut(n),en(),function(n){n.isUntested()?et(n):$n(n.asyncTest)&&(n.setPending(),tt(n))}(n),n)}function ot(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=v(t[1])?t:sn([void 0],t,!0);t=r[0],e=r[1],r=r[2],Zn(n)&&ct("fieldName","string"),v(e)||ct("Test callback","function");var u=I.useX();return it(t=new X(n,e,{message:t,groupName:u.groupName,key:r}))}var st=R(ot,{memo:function(n){var t=f(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=tn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[O(),e,u].concat(i),p(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):it(r[1])}}(ot)});function ct(n,t){J("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.2.1",exports.context=I,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];n=n[1],v(e)||J("vest.create: Expected callback to be a function.");var u=Hn(),i=Q();return n={stateRef:Z(i,{suiteId:r(),suiteName:n}),bus:u},R(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),rn({type:b.SUITE},(function(){e.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Gn()})),{get:I.bind(n,Ln),remove:I.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,t){v(t)||J("each callback must be a function"),rn({type:b.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(C.EAGER)},exports.group=function(n,t){u(n)||Jn("name must be a string"),v(t)||Jn("callback must be a function"),rn({type:b.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){function t(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return In(r.tests,n)?h(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Ln))}}var e=I.useX();return n?(e.inclusion[n]=h(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,t){rn({type:b.OMIT_WHEN},(function(){I.run({omitted:Qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.only=Mn,exports.optional=function(n){(0,k()[1])((function(t){if(l(n)||u(n))c(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,t){rn({type:b.SKIP_WHEN},(function(){I.run({skipped:qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.test=st,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");n.currentTest||J("warn called outside of a test."),n.currentTest.warn()};
@@ -949,7 +949,7 @@ function noMissingTests(fieldName) {
949
949
  }
950
950
 
951
951
  var cache$1 = createCache(20);
952
- function produceBase() {
952
+ function produceSuiteResult() {
953
953
  var testObjects = useTestsFlat();
954
954
  var ctxRef = { stateRef: useStateRef() };
955
955
  return cache$1([testObjects], context.bind(ctxRef, function () {
@@ -964,7 +964,7 @@ function produceBase() {
964
964
  hasWarnings: context.bind(ctxRef, hasWarnings),
965
965
  hasWarningsByGroup: context.bind(ctxRef, hasWarningsByGroup),
966
966
  isValid: context.bind(ctxRef, function (fieldName) {
967
- return isValid(produceBase(), fieldName);
967
+ return isValid(produceSuiteResult(), fieldName);
968
968
  }),
969
969
  suiteName: suiteName
970
970
  });
@@ -992,7 +992,7 @@ function produceFullResult() {
992
992
  var testObjects = useTestsFlat();
993
993
  var ctxRef = { stateRef: useStateRef() };
994
994
  return cache([testObjects], context.bind(ctxRef, function () {
995
- return assign({}, produceBase(), {
995
+ return assign({}, produceSuiteResult(), {
996
996
  done: context.bind(ctxRef, done)
997
997
  });
998
998
  }));
@@ -1025,7 +1025,7 @@ var done = function done() {
1025
1025
  if (shouldSkipDoneRegistration(callback, fieldName, output)) {
1026
1026
  return output;
1027
1027
  }
1028
- var doneCallback = function () { return callback(produceBase()); };
1028
+ var doneCallback = function () { return callback(produceSuiteResult()); };
1029
1029
  if (shouldRunDoneCallback(fieldName)) {
1030
1030
  doneCallback();
1031
1031
  return output;
@@ -1226,7 +1226,7 @@ function create() {
1226
1226
  // Return the result
1227
1227
  return produceFullResult();
1228
1228
  }), {
1229
- get: context.bind(ctxRef, produceBase),
1229
+ get: context.bind(ctxRef, produceSuiteResult),
1230
1230
  remove: context.bind(ctxRef, function (fieldName) {
1231
1231
  bus.emit(Events.REMOVE_FIELD, fieldName);
1232
1232
  }),
@@ -1284,7 +1284,7 @@ function skipWhen(conditional, callback) {
1284
1284
  // we should skip the test if the parent conditional is true.
1285
1285
  isExcludedIndividually() ||
1286
1286
  // Otherwise, we should skip the test if the conditional is true.
1287
- optionalFunctionValue(conditional, optionalFunctionValue(produceBase))
1287
+ optionalFunctionValue(conditional, optionalFunctionValue(produceSuiteResult))
1288
1288
  }, function () { return callback(); });
1289
1289
  });
1290
1290
  }
@@ -1484,7 +1484,7 @@ function include(fieldName) {
1484
1484
  if (isStringValue(condition)) {
1485
1485
  return Boolean(exclusion.tests[condition]);
1486
1486
  }
1487
- return optionalFunctionValue(condition, optionalFunctionValue(produceBase));
1487
+ return optionalFunctionValue(condition, optionalFunctionValue(produceSuiteResult));
1488
1488
  };
1489
1489
  }
1490
1490
  }
@@ -1541,7 +1541,7 @@ function omitWhen(conditional, callback) {
1541
1541
  isolate({ type: IsolateTypes.OMIT_WHEN }, function () {
1542
1542
  context.run({
1543
1543
  omitted: isOmitted() ||
1544
- optionalFunctionValue(conditional, optionalFunctionValue(produceBase))
1544
+ optionalFunctionValue(conditional, optionalFunctionValue(produceSuiteResult))
1545
1545
  }, function () { return callback(); });
1546
1546
  });
1547
1547
  }
@@ -1873,6 +1873,6 @@ function warn() {
1873
1873
  ctx.currentTest.warn();
1874
1874
  }
1875
1875
 
1876
- var VERSION = "4.2.1-dev-ee64be";
1876
+ var VERSION = "4.2.1";
1877
1877
 
1878
1878
  export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, test, warn };
@@ -1 +1 @@
1
- import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,E=g||(g={});E[E.DEFAULT=0]="DEFAULT",E[E.SUITE=1]="SUITE",E[E.EACH=2]="EACH",E[E.SKIP_WHEN=3]="SKIP_WHEN",E[E.OMIT_WHEN=4]="OMIT_WHEN",E[E.GROUP=5]="GROUP";var m,y=m||(m={});y[y.ALL=0]="ALL",y[y.EAGER=1]="EAGER";var N=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return N.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function I(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var k,O=k||(k={});O.Error="error",O.Warning="warning";var _=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=k.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(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===k.Warning},t.prototype.setPending=function(){this.setStatus(X)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=k.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(X)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",W="PASSING",X="PENDING",w="CANCELED",D="OMITTED";function U(t,n){throw Error(c(n,t))}function x(t,n){setTimeout((function(){U(t,n)}),0)}function H(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function K(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function j(t){return null==t}function M(){return N.useX().testCursor.getCursor()}function q(){return N.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return N.run({isolate:{type:t,keys:e}},(function(){N.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof _&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return N.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});function J(t,n){function e(t){i[t===V.ERRORS?"errorCount":"warnCount"]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function z(){return(z=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(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 Z(t,n){return!(!n||t.fieldName!==n)}function $(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Z(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),z({},i&&((r={})[i]=[],r)))}function tt(t){return et(V.ERRORS,t)}function nt(t){return et(V.WARNINGS,t)}function et(t,n){return t=$(t,I(),{fieldName:n}),n?t[n]:t}function rt(t,n){return t=it(V.ERRORS,t,n),n?t[n]:t}function ut(t,n){return t=it(V.WARNINGS,t,n),n?t[n]:t}function it(t,n,e){return n||U("get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),$(t,I(),{group:n,fieldName:e})}function ot(t,n,e){return(e=!t.hasFailures()||e&&!Z(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function st(t){return ct(V.ERRORS,t)}function at(t){return ct(V.WARNINGS,t)}function ct(t,n){return I().some((function(e){return ot(e,t,n)}))}function ft(t,n){return pt(V.ERRORS,t,n)}function lt(t,n){return pt(V.WARNINGS,t,n)}function pt(t,n,e){return I().some((function(r){return n===r.groupName&&ot(r,t,e)}))}function dt(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}Y.WARNINGS="warnings",Y.ERRORS="errors";var vt=u(dt);var ht=i(20);function gt(){var t=I(),n={stateRef:b()};return ht([t],N.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=I(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return t.forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=J(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=J(n.groups[r],t))})),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)}(),{getErrors:N.bind(n,tt),getErrorsByGroup:N.bind(n,rt),getWarnings:N.bind(n,nt),getWarningsByGroup:N.bind(n,ut),hasErrors:N.bind(n,st),hasErrorsByGroup:N.bind(n,ft),hasWarnings:N.bind(n,at),hasWarningsByGroup:N.bind(n,lt),isValid:N.bind(n,(function(t){var n=gt(),e=I().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(dt(e=I())||t&&dt(n.tests[t])||function(t){var n=b().optionalFields()[0];return vt(T().filter((function(e){return!(t&&!Z(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=I(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||Z(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}function Et(t){var n=T();return!dt(n)&&(t?n.some((function(n){return Z(n,t)})):vt(n))}var mt=i(20);function yt(){var t=I(),n={stateRef:b()};return mt([t],N.bind(n,(function(){return v({},gt(),{done:N.bind(n,St)})})))}function Nt(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!dt(e.tests[n].testCount)))}function bt(t){return!(Et()&&(!t||Et(t)))}function St(){function t(){return r(gt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=yt(),Nt(r,n,e)?e:bt(n)?(t(),e):(Ct(t,n),e)}function Ct(t,n){var e=N.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Rt(t){return t.forEach((function(t){return t()}))}function Tt(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(It.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!Et(n)&&Array.isArray(e[n])&&Rt(e[n]),Et()||t.emit(It.ALL_RUNNING_TESTS_FINISHED)}})),t.on(It.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!dt(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(It.ALL_RUNNING_TESTS_FINISHED,(function(){Rt(b().testCallbacks()[0].doneCallbacks)})),t.on(It.REMOVE_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(It.RESET_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&n.reset()}))})),t}function At(){var t=N.useX();return t.bus||U(),t.bus}var It,kt=It||(It={});function Ot(t){return Lt(0,"tests",t)}function _t(t){return Lt(1,"tests",t)}function Lt(t,n,e){var u=N.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ft(t){for(var n in t)if(!0===t[n])return!0;return!1}function Gt(t){U("Wrong arguments passed to group. Group ".concat(t,"."))}kt.TEST_COMPLETED="test_completed",kt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ot.group=function(t){return Lt(0,"groups",t)},_t.group=function(t){return Lt(1,"groups",t)};var Pt=u(r);function Wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=At().emit,i=b(),o=N.bind({stateRef:i},(function(){C(),u(It.TEST_COMPLETED,t)}));i=N.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function wt(t){var n=S()[0].prev;if(dt(n))Xt(t),n=t;else{var e=M();if(n=d(n,e)[f(e)],j(t.key))!vt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(N.useX().isolate.type!==g.EACH&&x("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.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.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=N.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=c(n,t));else{n=t.key;var u=N.useX().isolate.keys.prev[n];e=t,u&&(e=u),u=e;var i=N.useX().isolate.keys.current;j(i[n])?i[n]=u:x('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Xt(n=e)}}if(e=m.EAGER,e=!(N.useX().mode[0]!==e||!st(t.fieldName)))return q(),t.skip(),t;if(N.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,N.useX().skipped)return!0;var e=N.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=N.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ft(u)&&!1!==u[n])}r=N.useX().exclusion;t:{for(c in(s=N.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ft(u)&&!a(e[n])}(t))return n.skip(!!N.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),q(),t.isUntested()){n=At(),e=function(t){return N.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),Wt(t)):n.emit(It.TEST_COMPLETED,t)}catch(n){U("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),Wt(t));return t}function Dt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=s(n[1])?n:Q([void 0],n,!0);n=r[0],e=r[1],r=r[2],Pt(t)&&xt("fieldName","string"),s(e)||xt("Test callback","function");var u=N.useX();return wt(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}var Ut=v(Dt,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=N.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):wt(r[1])}}(Dt)});function xt(t,n){U("Incompatible params passed to test function. ".concat(t," must be a ").concat(n))}var Ht="4.2.1-dev-ee64be";function Kt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],s(r)||U("vest.create: Expected callback to be a function.");var u=Tt(),i=H();return t={stateRef:K(i,{suiteId:e(),suiteName:t}),bus:u},v(N.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(It.SUITE_CALLBACK_DONE_RUNNING),yt()})),{get:N.bind(t,gt),remove:N.bind(t,(function(t){u.emit(It.REMOVE_FIELD,t)})),reset:i.reset,resetField:N.bind(t,(function(t){u.emit(It.RESET_FIELD,t)}))})}function jt(t,n){s(n)||U("each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Mt(){var t=m.EAGER;N.useX().mode[0]=t}function qt(t,n){r(t)||Gt("name must be a string"),s(n)||Gt("callback must be a function"),B({type:g.GROUP},(function(){N.run({groupName:t},n)}))}function Bt(t){function n(n){var e=N.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(gt))}}var e=N.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function Vt(t,n){B({type:g.OMIT_WHEN},(function(){N.run({omitted:!!N.useX().omitted||a(t,a(gt))},(function(){return n()}))}))}function Yt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Jt(t,n){B({type:g.SKIP_WHEN},(function(){N.run({skipped:!!N.useX().skipped||a(t,a(gt))},(function(){return n()}))}))}function zt(){var t=N.useX("warn hook called outside of a running suite.");t.currentTest||U("warn called outside of a test."),t.currentTest.warn()}export{Ht as VERSION,N as context,Kt as create,jt as each,Mt as eager,qt as group,Bt as include,Vt as omitWhen,Ot as only,Yt as optional,_t as skip,Jt as skipWhen,Ut as test,zt as warn};
1
+ import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,E=g||(g={});E[E.DEFAULT=0]="DEFAULT",E[E.SUITE=1]="SUITE",E[E.EACH=2]="EACH",E[E.SKIP_WHEN=3]="SKIP_WHEN",E[E.OMIT_WHEN=4]="OMIT_WHEN",E[E.GROUP=5]="GROUP";var m,y=m||(m={});y[y.ALL=0]="ALL",y[y.EAGER=1]="EAGER";var N=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return N.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function I(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var k,O=k||(k={});O.Error="error",O.Warning="warning";var _=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=k.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(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===k.Warning},t.prototype.setPending=function(){this.setStatus(X)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=k.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(X)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",W="PASSING",X="PENDING",w="CANCELED",D="OMITTED";function U(t,n){throw Error(c(n,t))}function x(t,n){setTimeout((function(){U(t,n)}),0)}function H(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function K(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function j(t){return null==t}function M(){return N.useX().testCursor.getCursor()}function q(){return N.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return N.run({isolate:{type:t,keys:e}},(function(){N.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof _&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return N.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});function J(t,n){function e(t){i[t===V.ERRORS?"errorCount":"warnCount"]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function z(){return(z=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(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 Z(t,n){return!(!n||t.fieldName!==n)}function $(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Z(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),z({},i&&((r={})[i]=[],r)))}function tt(t){return et(V.ERRORS,t)}function nt(t){return et(V.WARNINGS,t)}function et(t,n){return t=$(t,I(),{fieldName:n}),n?t[n]:t}function rt(t,n){return t=it(V.ERRORS,t,n),n?t[n]:t}function ut(t,n){return t=it(V.WARNINGS,t,n),n?t[n]:t}function it(t,n,e){return n||U("get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),$(t,I(),{group:n,fieldName:e})}function ot(t,n,e){return(e=!t.hasFailures()||e&&!Z(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function st(t){return ct(V.ERRORS,t)}function at(t){return ct(V.WARNINGS,t)}function ct(t,n){return I().some((function(e){return ot(e,t,n)}))}function ft(t,n){return pt(V.ERRORS,t,n)}function lt(t,n){return pt(V.WARNINGS,t,n)}function pt(t,n,e){return I().some((function(r){return n===r.groupName&&ot(r,t,e)}))}function dt(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}Y.WARNINGS="warnings",Y.ERRORS="errors";var vt=u(dt);var ht=i(20);function gt(){var t=I(),n={stateRef:b()};return ht([t],N.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=I(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return t.forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=J(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=J(n.groups[r],t))})),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)}(),{getErrors:N.bind(n,tt),getErrorsByGroup:N.bind(n,rt),getWarnings:N.bind(n,nt),getWarningsByGroup:N.bind(n,ut),hasErrors:N.bind(n,st),hasErrorsByGroup:N.bind(n,ft),hasWarnings:N.bind(n,at),hasWarningsByGroup:N.bind(n,lt),isValid:N.bind(n,(function(t){var n=gt(),e=I().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(dt(e=I())||t&&dt(n.tests[t])||function(t){var n=b().optionalFields()[0];return vt(T().filter((function(e){return!(t&&!Z(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=I(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||Z(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}function Et(t){var n=T();return!dt(n)&&(t?n.some((function(n){return Z(n,t)})):vt(n))}var mt=i(20);function yt(){var t=I(),n={stateRef:b()};return mt([t],N.bind(n,(function(){return v({},gt(),{done:N.bind(n,St)})})))}function Nt(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!dt(e.tests[n].testCount)))}function bt(t){return!(Et()&&(!t||Et(t)))}function St(){function t(){return r(gt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=yt(),Nt(r,n,e)?e:bt(n)?(t(),e):(Ct(t,n),e)}function Ct(t,n){var e=N.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Rt(t){return t.forEach((function(t){return t()}))}function Tt(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(It.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!Et(n)&&Array.isArray(e[n])&&Rt(e[n]),Et()||t.emit(It.ALL_RUNNING_TESTS_FINISHED)}})),t.on(It.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!dt(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(It.ALL_RUNNING_TESTS_FINISHED,(function(){Rt(b().testCallbacks()[0].doneCallbacks)})),t.on(It.REMOVE_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(It.RESET_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&n.reset()}))})),t}function At(){var t=N.useX();return t.bus||U(),t.bus}var It,kt=It||(It={});function Ot(t){return Lt(0,"tests",t)}function _t(t){return Lt(1,"tests",t)}function Lt(t,n,e){var u=N.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ft(t){for(var n in t)if(!0===t[n])return!0;return!1}function Gt(t){U("Wrong arguments passed to group. Group ".concat(t,"."))}kt.TEST_COMPLETED="test_completed",kt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ot.group=function(t){return Lt(0,"groups",t)},_t.group=function(t){return Lt(1,"groups",t)};var Pt=u(r);function Wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=At().emit,i=b(),o=N.bind({stateRef:i},(function(){C(),u(It.TEST_COMPLETED,t)}));i=N.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function wt(t){var n=S()[0].prev;if(dt(n))Xt(t),n=t;else{var e=M();if(n=d(n,e)[f(e)],j(t.key))!vt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(N.useX().isolate.type!==g.EACH&&x("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.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.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=N.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=c(n,t));else{n=t.key;var u=N.useX().isolate.keys.prev[n];e=t,u&&(e=u),u=e;var i=N.useX().isolate.keys.current;j(i[n])?i[n]=u:x('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Xt(n=e)}}if(e=m.EAGER,e=!(N.useX().mode[0]!==e||!st(t.fieldName)))return q(),t.skip(),t;if(N.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,N.useX().skipped)return!0;var e=N.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=N.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ft(u)&&!1!==u[n])}r=N.useX().exclusion;t:{for(c in(s=N.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ft(u)&&!a(e[n])}(t))return n.skip(!!N.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),q(),t.isUntested()){n=At(),e=function(t){return N.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),Wt(t)):n.emit(It.TEST_COMPLETED,t)}catch(n){U("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),Wt(t));return t}function Dt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=s(n[1])?n:Q([void 0],n,!0);n=r[0],e=r[1],r=r[2],Pt(t)&&xt("fieldName","string"),s(e)||xt("Test callback","function");var u=N.useX();return wt(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}var Ut=v(Dt,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=N.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):wt(r[1])}}(Dt)});function xt(t,n){U("Incompatible params passed to test function. ".concat(t," must be a ").concat(n))}var Ht="4.2.1";function Kt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],s(r)||U("vest.create: Expected callback to be a function.");var u=Tt(),i=H();return t={stateRef:K(i,{suiteId:e(),suiteName:t}),bus:u},v(N.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(It.SUITE_CALLBACK_DONE_RUNNING),yt()})),{get:N.bind(t,gt),remove:N.bind(t,(function(t){u.emit(It.REMOVE_FIELD,t)})),reset:i.reset,resetField:N.bind(t,(function(t){u.emit(It.RESET_FIELD,t)}))})}function jt(t,n){s(n)||U("each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Mt(){var t=m.EAGER;N.useX().mode[0]=t}function qt(t,n){r(t)||Gt("name must be a string"),s(n)||Gt("callback must be a function"),B({type:g.GROUP},(function(){N.run({groupName:t},n)}))}function Bt(t){function n(n){var e=N.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(gt))}}var e=N.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function Vt(t,n){B({type:g.OMIT_WHEN},(function(){N.run({omitted:!!N.useX().omitted||a(t,a(gt))},(function(){return n()}))}))}function Yt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Jt(t,n){B({type:g.SKIP_WHEN},(function(){N.run({skipped:!!N.useX().skipped||a(t,a(gt))},(function(){return n()}))}))}function zt(){var t=N.useX("warn hook called outside of a running suite.");t.currentTest||U("warn called outside of a test."),t.currentTest.warn()}export{Ht as VERSION,N as context,Kt as create,jt as each,Mt as eager,qt as group,Bt as include,Vt as omitWhen,Ot as only,Yt as optional,_t as skip,Jt as skipWhen,Ut as test,zt as warn};
@@ -1497,7 +1497,7 @@
1497
1497
  }
1498
1498
 
1499
1499
  var cache$1 = createCache(20);
1500
- function produceBase() {
1500
+ function produceSuiteResult() {
1501
1501
  var testObjects = useTestsFlat();
1502
1502
  var ctxRef = { stateRef: useStateRef() };
1503
1503
  return cache$1([testObjects], context.bind(ctxRef, function () {
@@ -1512,7 +1512,7 @@
1512
1512
  hasWarnings: context.bind(ctxRef, hasWarnings),
1513
1513
  hasWarningsByGroup: context.bind(ctxRef, hasWarningsByGroup),
1514
1514
  isValid: context.bind(ctxRef, function (fieldName) {
1515
- return isValid(produceBase(), fieldName);
1515
+ return isValid(produceSuiteResult(), fieldName);
1516
1516
  }),
1517
1517
  suiteName: suiteName
1518
1518
  });
@@ -1540,7 +1540,7 @@
1540
1540
  var testObjects = useTestsFlat();
1541
1541
  var ctxRef = { stateRef: useStateRef() };
1542
1542
  return cache([testObjects], context.bind(ctxRef, function () {
1543
- return assign({}, produceBase(), {
1543
+ return assign({}, produceSuiteResult(), {
1544
1544
  done: context.bind(ctxRef, done)
1545
1545
  });
1546
1546
  }));
@@ -1573,7 +1573,7 @@
1573
1573
  if (shouldSkipDoneRegistration(callback, fieldName, output)) {
1574
1574
  return output;
1575
1575
  }
1576
- var doneCallback = function () { return callback(produceBase()); };
1576
+ var doneCallback = function () { return callback(produceSuiteResult()); };
1577
1577
  if (shouldRunDoneCallback(fieldName)) {
1578
1578
  doneCallback();
1579
1579
  return output;
@@ -1774,7 +1774,7 @@
1774
1774
  // Return the result
1775
1775
  return produceFullResult();
1776
1776
  }), {
1777
- get: context.bind(ctxRef, produceBase),
1777
+ get: context.bind(ctxRef, produceSuiteResult),
1778
1778
  remove: context.bind(ctxRef, function (fieldName) {
1779
1779
  bus.emit(Events.REMOVE_FIELD, fieldName);
1780
1780
  }),
@@ -1832,7 +1832,7 @@
1832
1832
  // we should skip the test if the parent conditional is true.
1833
1833
  isExcludedIndividually() ||
1834
1834
  // Otherwise, we should skip the test if the conditional is true.
1835
- optionalFunctionValue(conditional, optionalFunctionValue(produceBase))
1835
+ optionalFunctionValue(conditional, optionalFunctionValue(produceSuiteResult))
1836
1836
  }, function () { return callback(); });
1837
1837
  });
1838
1838
  }
@@ -2032,7 +2032,7 @@
2032
2032
  if (isStringValue(condition)) {
2033
2033
  return Boolean(exclusion.tests[condition]);
2034
2034
  }
2035
- return optionalFunctionValue(condition, optionalFunctionValue(produceBase));
2035
+ return optionalFunctionValue(condition, optionalFunctionValue(produceSuiteResult));
2036
2036
  };
2037
2037
  }
2038
2038
  }
@@ -2089,7 +2089,7 @@
2089
2089
  isolate({ type: IsolateTypes.OMIT_WHEN }, function () {
2090
2090
  context.run({
2091
2091
  omitted: isOmitted() ||
2092
- optionalFunctionValue(conditional, optionalFunctionValue(produceBase))
2092
+ optionalFunctionValue(conditional, optionalFunctionValue(produceSuiteResult))
2093
2093
  }, function () { return callback(); });
2094
2094
  });
2095
2095
  }
@@ -2419,7 +2419,7 @@
2419
2419
  ctx.currentTest.warn();
2420
2420
  }
2421
2421
 
2422
- var VERSION = "4.2.1-dev-ee64be";
2422
+ var VERSION = "4.2.1";
2423
2423
 
2424
2424
  exports.VERSION = VERSION;
2425
2425
  exports.context = context;
@@ -1 +1 @@
1
- "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function N(n){return!!n===n}function m(n){return"number"==typeof n}function y(n,t){return n.length===Number(t)}function E(n){if(n){if(m(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}function b(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return!!c(n)&&0>Number(n)}function C(n){return!!n}function O(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function R(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function I(n,t){return n.length>Number(t)}function k(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function A(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function _(n,t){return o(n)&&o(t)&&n.startsWith(t)}function F(n){for(var e in gt){var r=gt[e];t(r)&&n(e,r)}}function L(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function w(n,t){var e;return null!==(e=L(n))&&void 0!==e?e:t}function P(n,t){throw Error(w(t,n))}function W(n,t){setTimeout((function(){P(n,t)}),0)}function x(n){function t(t,u){var i,o,s=e();return t=Vn({},s||{},null!==(i=L(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:P(w(n,"Context was used after it was closed"))}}}function G(){return null}function X(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function U(){try{return t(Proxy)}catch(n){return!1}}function D(n,t){return n={pass:n},t&&(n.message=t),n}function q(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return N(n)||n&&N(n.pass)||P("Incorrect return value for rule: "+JSON.stringify(n)),N(n)?D(n):D(n.pass,L.apply(void 0,X([n.message,t,e],r,!1)))}function K(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=q.apply(void 0,X([Nt.run({value:n},(function(){return e.apply(void 0,X([n],u,!1))})),r,n],u,!1))).pass){if(!E(i.message))throw i.message;P("enforce/".concat(r," failed with ").concat(JSON.stringify(n)))}return t}}var e={};if(!U())return F((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=gt[e])return t(r,n,e)}});return r}function j(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function B(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=gt[r];e.push((function(n){return q.apply(void 0,X([o.apply(void 0,X([n],u,!1)),r,n],u,!1))}));var s={run:function(n){return w(j(e,(function(e,r){var u,i=Nt.run({value:n},(function(){return e(n)}));i.pass||r(D(!!i.pass,null!==(u=L(t,n,i.message))&&void 0!==u?u:i.message))})),D(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return U()?s=new Proxy(s,{get:function(t,e){return gt[e]?n(e):t[e]}}):(F((function(t){s[t]=n(t)})),s)}}(n)}function H(n){function t(n){return e.findIndex((function(t){var e=t[0];return y(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),I(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function M(n){return(n=[].concat(n))[n.length-1]}function V(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(V(u,t)):(u=t(u),Jn(u)&&e.push(u))}return e}function J(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(J(t)):[].concat(n).concat(t)}),[])}function Y(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=w(n[r],[]),n=n[r]}return n}function z(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return M(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,M(t)},removeLevel:function(){t.pop()},reset:n}}function Q(){return St.useX().stateRef}function Z(){return Q().testObjects()}function $(){(0,Z()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function nn(n){(0,Z()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function tn(){return J(V(Z()[0].current,(function(n){return n.isPending()?n:null})))}function en(){var n=Z()[0].current;return Tt([n],(function(){return J(n)}))}function rn(n){function e(n,t,e){return u.references.push(),r(n,L(t,e)),function(){return[u.references[n],function(t){return r(n,L(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function un(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function on(){return St.useX().testCursor.getCursor()}function sn(){return St.useX().testCursor.next()}function an(n,e){if(n=void 0===(n=n.type)?Bn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=on();return St.run({isolate:{type:n,keys:r}},(function(){St.useX().testCursor.addLevel(),r.prev=function(){var n=Z()[0].prev;return[].concat(Y(n,on())).reduce((function(n,t){return t instanceof Ot&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),nn((function(n){return Y(n,u)[M(u)]=[],n}));var n=e();return St.useX().testCursor.removeLevel(),sn(),n}))}}function cn(n,t){function e(n){i[n===Ct.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(Ct.ERRORS):t.isWarning()&&e(Ct.WARNINGS)),i}function fn(n,t){return!(!t||n.fieldName!==t)}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!fn(e,i)?r=!0:(r=e.warns(),r=n===Ct.WARNINGS!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),mt({},i&&((r={})[i]=[],r)))}function pn(n){return vn(Ct.ERRORS,n)}function dn(n){return vn(Ct.WARNINGS,n)}function vn(n,t){return n=ln(n,en(),{fieldName:t}),t?n[t]:n}function hn(n,t){return n=Nn(Ct.ERRORS,n,t),t?n[t]:n}function gn(n,t){return n=Nn(Ct.WARNINGS,n,t),t?n[t]:n}function Nn(n,t,e){return t||P("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,en(),{group:t,fieldName:e})}function mn(n,t,e){return(e=!n.hasFailures()||e&&!fn(n,e))||(n=n.warns(),e=t===Ct.WARNINGS!=!!n),!e}function yn(n){return bn(Ct.ERRORS,n)}function En(n){return bn(Ct.WARNINGS,n)}function bn(n,t){return en().some((function(e){return mn(e,n,t)}))}function Sn(n,t){return Cn(Ct.ERRORS,n,t)}function Tn(n,t){return Cn(Ct.WARNINGS,n,t)}function Cn(n,t,e){return en().some((function(r){return t===r.groupName&&mn(r,n,e)}))}function On(){var n=en(),t={stateRef:Q()};return Wt([n],St.bind(t,(function(){var n=Q().suiteName()[0];return Vn(function(){var n=en(),t=Vn({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=cn(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=cn(t.groups[r],n))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}(),{getErrors:St.bind(t,pn),getErrorsByGroup:St.bind(t,hn),getWarnings:St.bind(t,dn),getWarningsByGroup:St.bind(t,gn),hasErrors:St.bind(t,yn),hasErrorsByGroup:St.bind(t,Sn),hasWarnings:St.bind(t,En),hasWarningsByGroup:St.bind(t,Tn),isValid:St.bind(t,(function(n){var t=On(),e=en().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=en())||n&&E(t.tests[n])||function(n){var t=Q().optionalFields()[0];return st(tn().filter((function(e){return!(n&&!fn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=en(),e=Q().optionalFields()[0];return t.every((function(t){return!(!n||fn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function Rn(n){var t=tn();return!E(t)&&(n?t.some((function(t){return fn(t,n)})):st(t))}function In(){var n=en(),t={stateRef:Q()};return xt([n],St.bind(t,(function(){return Vn({},On(),{done:St.bind(t,Gt)})})))}function kn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function An(n){return!(Rn()&&(!n||Rn(n)))}function _n(n,t){var e=St.bind({},n);(0,Q().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Fn(n){return n.forEach((function(n){return n()}))}function Ln(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Pt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var e=Q().testCallbacks()[0].fieldCallbacks;t&&!Rn(t)&&p(e[t])&&Fn(e[t]),Rn()||n.emit(Pt.ALL_RUNNING_TESTS_FINISHED)}})),n.on(Pt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=Q().optionalFields()[0];if(!E(n)){var e={};nn((function(r){return V(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Pt.ALL_RUNNING_TESTS_FINISHED,(function(){Fn(Q().testCallbacks()[0].doneCallbacks)})),n.on(Pt.REMOVE_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&(t.cancel(),function(n){nn((function(t){return V(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Pt.RESET_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&t.reset()}))})),n}function wn(){var n=St.useX();return n.bus||P(),n.bus}function Pn(n){return xn(0,"tests",n)}function Wn(n){return xn(1,"tests",n)}function xn(n,t,e){var r=St.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Gn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Xn(n){P("Wrong arguments passed to group. Group ".concat(n,"."))}function Un(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=wn().emit,i=Q(),s=St.bind({stateRef:i},(function(){$(),u(Pt.TEST_COMPLETED,n)}));i=St.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Dn(n){var t=on();nn((function(e){return Y(e,t)[M(t)]=n,e}))}function qn(n){var e=Z()[0].prev;if(E(e))Dn(n),e=n;else{var r=on();if(e=Y(e,r)[M(r)],i(n.key))!st(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(St.useX().isolate.type!==Bn.EACH&&W("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(e.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.')),function(){var n=Z(),t=n[1],e=n[0].prev;n=Y(e,on());var r=St.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Dn(e=w(e,n));else{e=n.key;var s=St.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=St.useX().isolate.keys.current;i(a[e])?a[e]=s:W('Encountered the same test key "'.concat(e,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Dn(e=r)}}if(r=Mn.EAGER,r=!(St.useX().mode[0]!==r||!yn(n.fieldName)))return sn(),n.skip(),n;if(St.useX().omitted)return e.omit(),sn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,St.useX().skipped)return!0;var e=St.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=St.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Gn(u)&&!1!==u[t])}r=St.useX().exclusion;n:{for(a in(s=St.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Gn(u)&&!L(e[t])}(n))return e.skip(!!St.useX().skipped),sn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Dn(n),sn(),n.isUntested()){e=wn(),r=function(n){return St.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Un(n)):e.emit(Pt.TEST_COMPLETED,n)}catch(t){P("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Un(n));return n}function Kn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:X([void 0],e,!0);e=u[0],r=u[1],u=u[2],lt(n)&&jn("fieldName","string"),t(r)||jn("Test callback","function");var i=St.useX();return qn(e=new Ot(n,r,{message:e,groupName:i.groupName,key:u}))}function jn(n,t){P("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}var Bn,Hn,Mn,Vn=Object.assign,Jn=e(r),Yn=e(u),zn=e(i),Qn=e(s),Zn=e(a),$n=e(c),nt=e(p),tt=e(d),et=e(h),rt=e(g),ut=e(N),it=e(m),ot=e(y),st=e(E),at=e(b),ct=e(S),ft=e(T),lt=e(o),pt=e(C),dt=e(O),vt=e(k),ht=e(A),gt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Qn,doesNotStartWith:e(_),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:N,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:pt,isKeyOf:b,isNaN:S,isNegative:T,isNotArray:nt,isNotBetween:et,isNotBlank:rt,isNotBoolean:ut,isNotEmpty:st,isNotKeyOf:at,isNotNaN:ct,isNotNull:Jn,isNotNullish:zn,isNotNumber:it,isNotNumeric:$n,isNotString:lt,isNotUndefined:Yn,isNotValueOf:dt,isNull:r,isNullish:i,isNumber:m,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:ft,isString:o,isTruthy:C,isUndefined:u,isValueOf:O,lengthEquals:y,lengthNotEquals:ot,lessThan:R,lessThanOrEquals:v,longerThan:I,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:R,lte:v,matches:k,notEquals:Zn,notInside:tt,notMatches:vt,numberEquals:A,numberNotEquals:ht,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:_},Nt=x((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Vn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Vn(e,{parent:G})})),mt=function(){return(mt=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)},yt=(Hn={context:function(){return Nt.useX()},extend:function(n){Vn(gt,n)}},U()?new Proxy(Vn(K,Hn),{get:function(n,t){return t in n?n[t]:gt[t]?B(t):void 0}}):(F((function(n){Hn[n]=B(n)})),Vn(K,Hn))),Et=function(n){return function(){return"".concat(n++)}}(0);!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(Bn||(Bn={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(Mn||(Mn={}));var bt,St=x((function(n,t){return t?null:Vn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Bn.DEFAULT,keys:{current:{},prev:{}}},mode:[Mn.ALL],testCursor:z()},n)})),Tt=H();!function(n){n.Error="error",n.Warning="warning"}(bt||(bt={}));var Ct,Ot=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=Et(),this.severity=bt.Error,this.status=Rt,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==wt||(this.status=n)},n.prototype.warns=function(){return this.severity===bt.Warning},n.prototype.setPending=function(){this.setStatus(Ft)},n.prototype.fail=function(){this.setStatus(this.warns()?At:kt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(_t)},n.prototype.warn=function(){this.severity=bt.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(It)},n.prototype.cancel=function(){this.setStatus(Lt),$()},n.prototype.reset=function(){this.status=Rt,$()},n.prototype.omit=function(){this.setStatus(wt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Ft)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(wt)},n.prototype.isUntested=function(){return this.statusEquals(Rt)},n.prototype.isFailing=function(){return this.statusEquals(kt)},n.prototype.isCanceled=function(){return this.statusEquals(Lt)},n.prototype.isSkipped=function(){return this.statusEquals(It)},n.prototype.isPassing=function(){return this.statusEquals(_t)},n.prototype.isWarning=function(){return this.statusEquals(At)},n.prototype.statusEquals=function(n){return this.status===n},n}(),Rt="UNTESTED",It="SKIPPED",kt="FAILED",At="WARNING",_t="PASSING",Ft="PENDING",Lt="CANCELED",wt="OMITTED";!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(Ct||(Ct={}));var Pt,Wt=H(20),xt=H(20),Gt=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=In(),kn(e,n,t))return t;var r=function(){return e(On())};return An(n)?(r(),t):(_n(r,n),t)};!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Pt||(Pt={})),Pn.group=function(n){return xn(0,"groups",n)},Wn.group=function(n){return xn(1,"groups",n)};var Xt=Vn(Kn,{memo:function(n){var t=H(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=St.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[Q().suiteId()[0],e,u].concat(i),null===(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):qn(r[1])}}(Kn)});n.VERSION="4.2.1-dev-ee64be",n.context=St,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||P("vest.create: Expected callback to be a function.");var u=Ln(),i=rn();return n={stateRef:un(i,{suiteId:Et(),suiteName:n}),bus:u},Vn(St.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:Bn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Pt.SUITE_CALLBACK_DONE_RUNNING),In()})),{get:St.bind(n,On),remove:St.bind(n,(function(n){u.emit(Pt.REMOVE_FIELD,n)})),reset:i.reset,resetField:St.bind(n,(function(n){u.emit(Pt.RESET_FIELD,n)}))})},n.each=function(n,e){t(e)||P("each callback must be a function"),an({type:Bn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.eager=function(){var n=Mn.EAGER;St.useX().mode[0]=n},n.enforce=yt,n.group=function(n,e){o(n)||Xn("name must be a string"),t(e)||Xn("callback must be a function"),an({type:Bn.GROUP},(function(){St.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=St.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?w(r.tests[n],!0):o(t)?!!r.tests[t]:L(t,L(On))}}var e=St.useX();return n?(e.inclusion[n]=w(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){an({type:Bn.OMIT_WHEN},(function(){St.run({omitted:!!St.useX().omitted||L(n,L(On))},(function(){return t()}))}))},n.only=Pn,n.optional=function(n){(0,Q().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=Wn,n.skipWhen=function(n,t){an({type:Bn.SKIP_WHEN},(function(){St.run({skipped:!!St.useX().skipped||L(n,L(On))},(function(){return t()}))}))},n.test=Xt,n.warn=function(){var n=St.useX("warn hook called outside of a running suite.");n.currentTest||P("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
1
+ "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function N(n){return!!n===n}function m(n){return"number"==typeof n}function y(n,t){return n.length===Number(t)}function E(n){if(n){if(m(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}function b(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return!!c(n)&&0>Number(n)}function C(n){return!!n}function O(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function R(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function I(n,t){return n.length>Number(t)}function k(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function A(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function _(n,t){return o(n)&&o(t)&&n.startsWith(t)}function F(n){for(var e in gt){var r=gt[e];t(r)&&n(e,r)}}function L(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function w(n,t){var e;return null!==(e=L(n))&&void 0!==e?e:t}function P(n,t){throw Error(w(t,n))}function W(n,t){setTimeout((function(){P(n,t)}),0)}function x(n){function t(t,u){var i,o,s=e();return t=Vn({},s||{},null!==(i=L(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:P(w(n,"Context was used after it was closed"))}}}function G(){return null}function X(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function U(){try{return t(Proxy)}catch(n){return!1}}function D(n,t){return n={pass:n},t&&(n.message=t),n}function q(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return N(n)||n&&N(n.pass)||P("Incorrect return value for rule: "+JSON.stringify(n)),N(n)?D(n):D(n.pass,L.apply(void 0,X([n.message,t,e],r,!1)))}function K(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=q.apply(void 0,X([Nt.run({value:n},(function(){return e.apply(void 0,X([n],u,!1))})),r,n],u,!1))).pass){if(!E(i.message))throw i.message;P("enforce/".concat(r," failed with ").concat(JSON.stringify(n)))}return t}}var e={};if(!U())return F((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=gt[e])return t(r,n,e)}});return r}function j(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function B(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=gt[r];e.push((function(n){return q.apply(void 0,X([o.apply(void 0,X([n],u,!1)),r,n],u,!1))}));var s={run:function(n){return w(j(e,(function(e,r){var u,i=Nt.run({value:n},(function(){return e(n)}));i.pass||r(D(!!i.pass,null!==(u=L(t,n,i.message))&&void 0!==u?u:i.message))})),D(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return U()?s=new Proxy(s,{get:function(t,e){return gt[e]?n(e):t[e]}}):(F((function(t){s[t]=n(t)})),s)}}(n)}function H(n){function t(n){return e.findIndex((function(t){var e=t[0];return y(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),I(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function M(n){return(n=[].concat(n))[n.length-1]}function V(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(V(u,t)):(u=t(u),Jn(u)&&e.push(u))}return e}function J(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(J(t)):[].concat(n).concat(t)}),[])}function Y(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=w(n[r],[]),n=n[r]}return n}function z(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return M(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,M(t)},removeLevel:function(){t.pop()},reset:n}}function Q(){return St.useX().stateRef}function Z(){return Q().testObjects()}function $(){(0,Z()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function nn(n){(0,Z()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function tn(){return J(V(Z()[0].current,(function(n){return n.isPending()?n:null})))}function en(){var n=Z()[0].current;return Tt([n],(function(){return J(n)}))}function rn(n){function e(n,t,e){return u.references.push(),r(n,L(t,e)),function(){return[u.references[n],function(t){return r(n,L(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function un(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function on(){return St.useX().testCursor.getCursor()}function sn(){return St.useX().testCursor.next()}function an(n,e){if(n=void 0===(n=n.type)?Bn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=on();return St.run({isolate:{type:n,keys:r}},(function(){St.useX().testCursor.addLevel(),r.prev=function(){var n=Z()[0].prev;return[].concat(Y(n,on())).reduce((function(n,t){return t instanceof Ot&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),nn((function(n){return Y(n,u)[M(u)]=[],n}));var n=e();return St.useX().testCursor.removeLevel(),sn(),n}))}}function cn(n,t){function e(n){i[n===Ct.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(Ct.ERRORS):t.isWarning()&&e(Ct.WARNINGS)),i}function fn(n,t){return!(!t||n.fieldName!==t)}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!fn(e,i)?r=!0:(r=e.warns(),r=n===Ct.WARNINGS!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),mt({},i&&((r={})[i]=[],r)))}function pn(n){return vn(Ct.ERRORS,n)}function dn(n){return vn(Ct.WARNINGS,n)}function vn(n,t){return n=ln(n,en(),{fieldName:t}),t?n[t]:n}function hn(n,t){return n=Nn(Ct.ERRORS,n,t),t?n[t]:n}function gn(n,t){return n=Nn(Ct.WARNINGS,n,t),t?n[t]:n}function Nn(n,t,e){return t||P("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,en(),{group:t,fieldName:e})}function mn(n,t,e){return(e=!n.hasFailures()||e&&!fn(n,e))||(n=n.warns(),e=t===Ct.WARNINGS!=!!n),!e}function yn(n){return bn(Ct.ERRORS,n)}function En(n){return bn(Ct.WARNINGS,n)}function bn(n,t){return en().some((function(e){return mn(e,n,t)}))}function Sn(n,t){return Cn(Ct.ERRORS,n,t)}function Tn(n,t){return Cn(Ct.WARNINGS,n,t)}function Cn(n,t,e){return en().some((function(r){return t===r.groupName&&mn(r,n,e)}))}function On(){var n=en(),t={stateRef:Q()};return Wt([n],St.bind(t,(function(){var n=Q().suiteName()[0];return Vn(function(){var n=en(),t=Vn({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=cn(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=cn(t.groups[r],n))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}(),{getErrors:St.bind(t,pn),getErrorsByGroup:St.bind(t,hn),getWarnings:St.bind(t,dn),getWarningsByGroup:St.bind(t,gn),hasErrors:St.bind(t,yn),hasErrorsByGroup:St.bind(t,Sn),hasWarnings:St.bind(t,En),hasWarningsByGroup:St.bind(t,Tn),isValid:St.bind(t,(function(n){var t=On(),e=en().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=en())||n&&E(t.tests[n])||function(n){var t=Q().optionalFields()[0];return st(tn().filter((function(e){return!(n&&!fn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=en(),e=Q().optionalFields()[0];return t.every((function(t){return!(!n||fn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function Rn(n){var t=tn();return!E(t)&&(n?t.some((function(t){return fn(t,n)})):st(t))}function In(){var n=en(),t={stateRef:Q()};return xt([n],St.bind(t,(function(){return Vn({},On(),{done:St.bind(t,Gt)})})))}function kn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function An(n){return!(Rn()&&(!n||Rn(n)))}function _n(n,t){var e=St.bind({},n);(0,Q().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Fn(n){return n.forEach((function(n){return n()}))}function Ln(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Pt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var e=Q().testCallbacks()[0].fieldCallbacks;t&&!Rn(t)&&p(e[t])&&Fn(e[t]),Rn()||n.emit(Pt.ALL_RUNNING_TESTS_FINISHED)}})),n.on(Pt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=Q().optionalFields()[0];if(!E(n)){var e={};nn((function(r){return V(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Pt.ALL_RUNNING_TESTS_FINISHED,(function(){Fn(Q().testCallbacks()[0].doneCallbacks)})),n.on(Pt.REMOVE_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&(t.cancel(),function(n){nn((function(t){return V(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Pt.RESET_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&t.reset()}))})),n}function wn(){var n=St.useX();return n.bus||P(),n.bus}function Pn(n){return xn(0,"tests",n)}function Wn(n){return xn(1,"tests",n)}function xn(n,t,e){var r=St.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Gn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Xn(n){P("Wrong arguments passed to group. Group ".concat(n,"."))}function Un(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=wn().emit,i=Q(),s=St.bind({stateRef:i},(function(){$(),u(Pt.TEST_COMPLETED,n)}));i=St.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Dn(n){var t=on();nn((function(e){return Y(e,t)[M(t)]=n,e}))}function qn(n){var e=Z()[0].prev;if(E(e))Dn(n),e=n;else{var r=on();if(e=Y(e,r)[M(r)],i(n.key))!st(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(St.useX().isolate.type!==Bn.EACH&&W("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(e.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.')),function(){var n=Z(),t=n[1],e=n[0].prev;n=Y(e,on());var r=St.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Dn(e=w(e,n));else{e=n.key;var s=St.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=St.useX().isolate.keys.current;i(a[e])?a[e]=s:W('Encountered the same test key "'.concat(e,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Dn(e=r)}}if(r=Mn.EAGER,r=!(St.useX().mode[0]!==r||!yn(n.fieldName)))return sn(),n.skip(),n;if(St.useX().omitted)return e.omit(),sn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,St.useX().skipped)return!0;var e=St.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=St.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Gn(u)&&!1!==u[t])}r=St.useX().exclusion;n:{for(a in(s=St.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Gn(u)&&!L(e[t])}(n))return e.skip(!!St.useX().skipped),sn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Dn(n),sn(),n.isUntested()){e=wn(),r=function(n){return St.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Un(n)):e.emit(Pt.TEST_COMPLETED,n)}catch(t){P("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Un(n));return n}function Kn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:X([void 0],e,!0);e=u[0],r=u[1],u=u[2],lt(n)&&jn("fieldName","string"),t(r)||jn("Test callback","function");var i=St.useX();return qn(e=new Ot(n,r,{message:e,groupName:i.groupName,key:u}))}function jn(n,t){P("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}var Bn,Hn,Mn,Vn=Object.assign,Jn=e(r),Yn=e(u),zn=e(i),Qn=e(s),Zn=e(a),$n=e(c),nt=e(p),tt=e(d),et=e(h),rt=e(g),ut=e(N),it=e(m),ot=e(y),st=e(E),at=e(b),ct=e(S),ft=e(T),lt=e(o),pt=e(C),dt=e(O),vt=e(k),ht=e(A),gt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Qn,doesNotStartWith:e(_),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:N,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:pt,isKeyOf:b,isNaN:S,isNegative:T,isNotArray:nt,isNotBetween:et,isNotBlank:rt,isNotBoolean:ut,isNotEmpty:st,isNotKeyOf:at,isNotNaN:ct,isNotNull:Jn,isNotNullish:zn,isNotNumber:it,isNotNumeric:$n,isNotString:lt,isNotUndefined:Yn,isNotValueOf:dt,isNull:r,isNullish:i,isNumber:m,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:ft,isString:o,isTruthy:C,isUndefined:u,isValueOf:O,lengthEquals:y,lengthNotEquals:ot,lessThan:R,lessThanOrEquals:v,longerThan:I,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:R,lte:v,matches:k,notEquals:Zn,notInside:tt,notMatches:vt,numberEquals:A,numberNotEquals:ht,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:_},Nt=x((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Vn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Vn(e,{parent:G})})),mt=function(){return(mt=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)},yt=(Hn={context:function(){return Nt.useX()},extend:function(n){Vn(gt,n)}},U()?new Proxy(Vn(K,Hn),{get:function(n,t){return t in n?n[t]:gt[t]?B(t):void 0}}):(F((function(n){Hn[n]=B(n)})),Vn(K,Hn))),Et=function(n){return function(){return"".concat(n++)}}(0);!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(Bn||(Bn={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(Mn||(Mn={}));var bt,St=x((function(n,t){return t?null:Vn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Bn.DEFAULT,keys:{current:{},prev:{}}},mode:[Mn.ALL],testCursor:z()},n)})),Tt=H();!function(n){n.Error="error",n.Warning="warning"}(bt||(bt={}));var Ct,Ot=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=Et(),this.severity=bt.Error,this.status=Rt,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==wt||(this.status=n)},n.prototype.warns=function(){return this.severity===bt.Warning},n.prototype.setPending=function(){this.setStatus(Ft)},n.prototype.fail=function(){this.setStatus(this.warns()?At:kt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(_t)},n.prototype.warn=function(){this.severity=bt.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(It)},n.prototype.cancel=function(){this.setStatus(Lt),$()},n.prototype.reset=function(){this.status=Rt,$()},n.prototype.omit=function(){this.setStatus(wt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Ft)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(wt)},n.prototype.isUntested=function(){return this.statusEquals(Rt)},n.prototype.isFailing=function(){return this.statusEquals(kt)},n.prototype.isCanceled=function(){return this.statusEquals(Lt)},n.prototype.isSkipped=function(){return this.statusEquals(It)},n.prototype.isPassing=function(){return this.statusEquals(_t)},n.prototype.isWarning=function(){return this.statusEquals(At)},n.prototype.statusEquals=function(n){return this.status===n},n}(),Rt="UNTESTED",It="SKIPPED",kt="FAILED",At="WARNING",_t="PASSING",Ft="PENDING",Lt="CANCELED",wt="OMITTED";!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(Ct||(Ct={}));var Pt,Wt=H(20),xt=H(20),Gt=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=In(),kn(e,n,t))return t;var r=function(){return e(On())};return An(n)?(r(),t):(_n(r,n),t)};!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Pt||(Pt={})),Pn.group=function(n){return xn(0,"groups",n)},Wn.group=function(n){return xn(1,"groups",n)};var Xt=Vn(Kn,{memo:function(n){var t=H(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=St.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[Q().suiteId()[0],e,u].concat(i),null===(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):qn(r[1])}}(Kn)});n.VERSION="4.2.1",n.context=St,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||P("vest.create: Expected callback to be a function.");var u=Ln(),i=rn();return n={stateRef:un(i,{suiteId:Et(),suiteName:n}),bus:u},Vn(St.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:Bn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Pt.SUITE_CALLBACK_DONE_RUNNING),In()})),{get:St.bind(n,On),remove:St.bind(n,(function(n){u.emit(Pt.REMOVE_FIELD,n)})),reset:i.reset,resetField:St.bind(n,(function(n){u.emit(Pt.RESET_FIELD,n)}))})},n.each=function(n,e){t(e)||P("each callback must be a function"),an({type:Bn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.eager=function(){var n=Mn.EAGER;St.useX().mode[0]=n},n.enforce=yt,n.group=function(n,e){o(n)||Xn("name must be a string"),t(e)||Xn("callback must be a function"),an({type:Bn.GROUP},(function(){St.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=St.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?w(r.tests[n],!0):o(t)?!!r.tests[t]:L(t,L(On))}}var e=St.useX();return n?(e.inclusion[n]=w(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){an({type:Bn.OMIT_WHEN},(function(){St.run({omitted:!!St.useX().omitted||L(n,L(On))},(function(){return t()}))}))},n.only=Pn,n.optional=function(n){(0,Q().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=Wn,n.skipWhen=function(n,t){an({type:Bn.SKIP_WHEN},(function(){St.run({skipped:!!St.useX().skipped||L(n,L(On))},(function(){return t()}))}))},n.test=Xt,n.warn=function(){var n=St.useX("warn hook called outside of a running suite.");n.currentTest||P("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.2.1-dev-ee64be",
2
+ "version": "4.2.1",
3
3
  "license": "MIT",
4
4
  "name": "vest",
5
5
  "author": "ealush",
@@ -20,8 +20,8 @@
20
20
  "url": "https://github.com/ealush/vest.git/issues"
21
21
  },
22
22
  "dependencies": {
23
- "context": "dev",
24
- "n4s": "dev"
23
+ "context": "^2.0.1",
24
+ "n4s": "^4.1.2"
25
25
  },
26
26
  "homepage": "https://vestjs.dev/",
27
27
  "exports": {
@@ -5,25 +5,25 @@ import { dummyTest } from './testDummy';
5
5
  import { optional, create, skip } from 'vest';
6
6
 
7
7
  export function failing(failingFields?: string | string[]) {
8
- return createSuiteResult(failingFields, fieldName => {
8
+ return createSuiteRunResult(failingFields, fieldName => {
9
9
  dummyTest.failing(fieldName);
10
10
  });
11
11
  }
12
12
 
13
13
  export function warning(failingFields?: string | string[]) {
14
- return createSuiteResult(failingFields, fieldName => {
14
+ return createSuiteRunResult(failingFields, fieldName => {
15
15
  dummyTest.failingWarning(fieldName);
16
16
  });
17
17
  }
18
18
 
19
19
  export function failingAsync(failingFields?: string | string[]) {
20
- return createSuiteResult(failingFields, fieldName => {
20
+ return createSuiteRunResult(failingFields, fieldName => {
21
21
  dummyTest.failingAsync(fieldName);
22
22
  });
23
23
  }
24
24
 
25
25
  export function passing(fields?: string | string[]) {
26
- return createSuiteResult(fields, fieldName => {
26
+ return createSuiteRunResult(fields, fieldName => {
27
27
  dummyTest.passing(fieldName);
28
28
  });
29
29
  }
@@ -87,7 +87,7 @@ export function untested(fields?: string | string[]) {
87
87
  return suite.get();
88
88
  }
89
89
 
90
- function createSuiteResult(
90
+ function createSuiteRunResult(
91
91
  fieldNames: string[] | string | undefined,
92
92
  callback: (fieldName?: string) => void // eslint-disable-line no-unused-vars
93
93
  ) {
@@ -28,7 +28,7 @@ declare function hasErrors(fieldName?: string): boolean;
28
28
  declare function hasWarnings(fieldName?: string): boolean;
29
29
  declare function hasErrorsByGroup(groupName: string, fieldName?: string): boolean;
30
30
  declare function hasWarningsByGroup(groupName: string, fieldName?: string): boolean;
31
- type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
31
+ type SuiteResult = ReturnType<typeof genTestsSummary> & {
32
32
  /**
33
33
  * Returns whether the suite as a whole is valid.
34
34
  * Determined if there are no errors, and if no
@@ -44,22 +44,22 @@ type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
44
44
  getErrorsByGroup: typeof getErrorsByGroup;
45
45
  getWarningsByGroup: typeof getWarningsByGroup;
46
46
  };
47
- type SuiteResult = ReadOnlySuiteResult & {
47
+ type SuiteRunResult = SuiteResult & {
48
48
  done: IDone;
49
49
  };
50
50
  interface IDone {
51
51
  (...args: [
52
- cb: (res: ReadOnlySuiteResult) => void
53
- ]): SuiteResult;
52
+ cb: (res: SuiteResult) => void
53
+ ]): SuiteRunResult;
54
54
  (...args: [
55
55
  fieldName: string,
56
- cb: (res: ReadOnlySuiteResult) => void
57
- ]): SuiteResult;
56
+ cb: (res: SuiteResult) => void
57
+ ]): SuiteRunResult;
58
58
  }
59
59
  /**
60
60
  * Creates a function that returns class names that match the validation result
61
61
  */
62
- declare function classnames(res: SuiteResult | ReadOnlySuiteResult, classes?: TSupportedClasses): (fieldName: string) => string;
62
+ declare function classnames(res: SuiteRunResult | SuiteResult, classes?: TSupportedClasses): (fieldName: string) => string;
63
63
  type TSupportedClasses = {
64
64
  valid?: string;
65
65
  tested?: string;
package/types/parser.d.ts CHANGED
@@ -28,7 +28,7 @@ declare function hasErrors(fieldName?: string): boolean;
28
28
  declare function hasWarnings(fieldName?: string): boolean;
29
29
  declare function hasErrorsByGroup(groupName: string, fieldName?: string): boolean;
30
30
  declare function hasWarningsByGroup(groupName: string, fieldName?: string): boolean;
31
- type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
31
+ type SuiteResult = ReturnType<typeof genTestsSummary> & {
32
32
  /**
33
33
  * Returns whether the suite as a whole is valid.
34
34
  * Determined if there are no errors, and if no
@@ -44,19 +44,19 @@ type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
44
44
  getErrorsByGroup: typeof getErrorsByGroup;
45
45
  getWarningsByGroup: typeof getWarningsByGroup;
46
46
  };
47
- type SuiteResult = ReadOnlySuiteResult & {
47
+ type SuiteRunResult = SuiteResult & {
48
48
  done: IDone;
49
49
  };
50
50
  interface IDone {
51
51
  (...args: [
52
- cb: (res: ReadOnlySuiteResult) => void
53
- ]): SuiteResult;
52
+ cb: (res: SuiteResult) => void
53
+ ]): SuiteRunResult;
54
54
  (...args: [
55
55
  fieldName: string,
56
- cb: (res: ReadOnlySuiteResult) => void
57
- ]): SuiteResult;
56
+ cb: (res: SuiteResult) => void
57
+ ]): SuiteRunResult;
58
58
  }
59
- declare function parse(res: SuiteResult | ReadOnlySuiteResult): {
59
+ declare function parse(res: SuiteRunResult | SuiteResult): {
60
60
  valid: (fieldName?: string) => boolean;
61
61
  tested: (fieldName?: string) => boolean;
62
62
  invalid: (fieldName?: string) => boolean;
@@ -28,7 +28,7 @@ declare function hasErrors(fieldName?: string): boolean;
28
28
  declare function hasWarnings(fieldName?: string): boolean;
29
29
  declare function hasErrorsByGroup(groupName: string, fieldName?: string): boolean;
30
30
  declare function hasWarningsByGroup(groupName: string, fieldName?: string): boolean;
31
- type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
31
+ type SuiteResult = ReturnType<typeof genTestsSummary> & {
32
32
  /**
33
33
  * Returns whether the suite as a whole is valid.
34
34
  * Determined if there are no errors, and if no
@@ -44,17 +44,17 @@ type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
44
44
  getErrorsByGroup: typeof getErrorsByGroup;
45
45
  getWarningsByGroup: typeof getWarningsByGroup;
46
46
  };
47
- type SuiteResult = ReadOnlySuiteResult & {
47
+ type SuiteRunResult = SuiteResult & {
48
48
  done: IDone;
49
49
  };
50
50
  interface IDone {
51
51
  (...args: [
52
- cb: (res: ReadOnlySuiteResult) => void
53
- ]): SuiteResult;
52
+ cb: (res: SuiteResult) => void
53
+ ]): SuiteRunResult;
54
54
  (...args: [
55
55
  fieldName: string,
56
- cb: (res: ReadOnlySuiteResult) => void
57
- ]): SuiteResult;
56
+ cb: (res: SuiteResult) => void
57
+ ]): SuiteRunResult;
58
58
  }
59
- declare const promisify: (validatorFn: (...args: any[]) => SuiteResult) => (...args: any[]) => Promise<ReadOnlySuiteResult>;
59
+ declare const promisify: (validatorFn: (...args: any[]) => SuiteRunResult) => (...args: any[]) => Promise<SuiteResult>;
60
60
  export { promisify as default };
package/types/vest.d.ts CHANGED
@@ -78,7 +78,7 @@ declare function hasErrors(fieldName?: string): boolean;
78
78
  declare function hasWarnings(fieldName?: string): boolean;
79
79
  declare function hasErrorsByGroup(groupName: string, fieldName?: string): boolean;
80
80
  declare function hasWarningsByGroup(groupName: string, fieldName?: string): boolean;
81
- type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
81
+ type SuiteResult = ReturnType<typeof genTestsSummary> & {
82
82
  /**
83
83
  * Returns whether the suite as a whole is valid.
84
84
  * Determined if there are no errors, and if no
@@ -94,27 +94,27 @@ type ReadOnlySuiteResult = ReturnType<typeof genTestsSummary> & {
94
94
  getErrorsByGroup: typeof getErrorsByGroup;
95
95
  getWarningsByGroup: typeof getWarningsByGroup;
96
96
  };
97
- type SuiteResult = ReadOnlySuiteResult & {
97
+ type SuiteRunResult = SuiteResult & {
98
98
  done: IDone;
99
99
  };
100
100
  interface IDone {
101
101
  (...args: [
102
- cb: (res: ReadOnlySuiteResult) => void
103
- ]): SuiteResult;
102
+ cb: (res: SuiteResult) => void
103
+ ]): SuiteRunResult;
104
104
  (...args: [
105
105
  fieldName: string,
106
- cb: (res: ReadOnlySuiteResult) => void
107
- ]): SuiteResult;
106
+ cb: (res: SuiteResult) => void
107
+ ]): SuiteRunResult;
108
108
  }
109
109
  type CreateProperties = {
110
- get: () => ReadOnlySuiteResult;
110
+ get: () => SuiteResult;
111
111
  reset: () => void;
112
112
  resetField: (fieldName: string) => void;
113
113
  remove: (fieldName: string) => void;
114
114
  };
115
115
  type CB = (...args: any[]) => void;
116
116
  type SuiteReturnType<T extends CB> = {
117
- (...args: Parameters<T>): SuiteResult;
117
+ (...args: Parameters<T>): SuiteRunResult;
118
118
  } & CreateProperties;
119
119
  /**
120
120
  * Creates a new validation suite
@@ -175,8 +175,8 @@ declare function createStateRef(state: TState, { suiteId, suiteName }: {
175
175
  suiteId: () => TStateHandlerReturn<string>;
176
176
  suiteName: () => TStateHandlerReturn<string | void>;
177
177
  testCallbacks: () => TStateHandlerReturn<{
178
- fieldCallbacks: Record<string, ((res: ReadOnlySuiteResult) => void)[]>;
179
- doneCallbacks: ((res: ReadOnlySuiteResult) => void)[];
178
+ fieldCallbacks: Record<string, ((res: SuiteResult) => void)[]>;
179
+ doneCallbacks: ((res: SuiteResult) => void)[];
180
180
  }>;
181
181
  testObjects: () => TStateHandlerReturn<{
182
182
  prev: NestedArray<VestTest>;
@@ -265,7 +265,7 @@ declare namespace skip {
265
265
  */
266
266
  declare function group(groupName: string, tests: () => void): void;
267
267
  declare function include(fieldName: string): {
268
- when: (condition: string | boolean | ((draft: ReadOnlySuiteResult) => boolean)) => void;
268
+ when: (condition: string | boolean | ((draft: SuiteResult) => boolean)) => void;
269
269
  };
270
270
  /**
271
271
  * Sets the suite to "eager" (fail fast) mode.
@@ -296,7 +296,7 @@ declare function eager(): void;
296
296
  * test('username', 'User already taken', async () => await doesUserExist(username)
297
297
  * });
298
298
  */
299
- declare function omitWhen(conditional: boolean | ((draft: ReadOnlySuiteResult) => boolean), callback: (...args: any[]) => void): void;
299
+ declare function omitWhen(conditional: boolean | ((draft: SuiteResult) => boolean), callback: (...args: any[]) => void): void;
300
300
  /**
301
301
  * Marks a field as optional, either just by name, or by a given condition.
302
302
  *
@@ -320,7 +320,7 @@ type TOptionalsObject = Record<string, () => boolean>;
320
320
  * test('username', 'User already taken', async () => await doesUserExist(username)
321
321
  * });
322
322
  */
323
- declare function skipWhen(conditional: boolean | ((draft: ReadOnlySuiteResult) => boolean), callback: (...args: any[]) => void): void;
323
+ declare function skipWhen(conditional: boolean | ((draft: SuiteResult) => boolean), callback: (...args: any[]) => void): void;
324
324
  declare function testBase(fieldName: string, message: string, cb: TTestFn): VestTest;
325
325
  declare function testBase(fieldName: string, cb: TTestFn): VestTest;
326
326
  declare function testBase(fieldName: string, message: string, cb: TTestFn, key: string): VestTest;
@@ -344,6 +344,6 @@ declare const test: typeof testBase & {
344
344
  * Sets a running test to warn only mode.
345
345
  */
346
346
  declare function warn(): void;
347
- declare const VERSION = "4.2.1-dev-ee64be";
347
+ declare const VERSION = "4.2.1";
348
348
  export { test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include, eager };
349
- export type { ReadOnlySuiteResult, SuiteResult, VestTest };
349
+ export type { SuiteResult, SuiteRunResult, VestTest };