vest 4.3.3 → 4.3.4

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.
@@ -867,6 +867,10 @@ function baseTestStats() {
867
867
  });
868
868
  }
869
869
 
870
+ function isPositive(value) {
871
+ return greaterThan(value, 0);
872
+ }
873
+
870
874
  // calls collectAll or getByFieldName depending on whether fieldName is provided
871
875
  function gatherFailures(testGroup, severityKey, fieldName) {
872
876
  return fieldName
@@ -879,10 +883,13 @@ function getByFieldName(testGroup, severityKey, fieldName) {
879
883
  }
880
884
  function collectAll(testGroup, severityKey) {
881
885
  var output = {};
886
+ var countKey = countKeyBySeverity(severityKey);
882
887
  for (var field in testGroup) {
883
- // We will probably never get to the fallback array
884
- // leaving it just in case the implementation changes
885
- output[field] = testGroup[field][severityKey] || [];
888
+ if (isPositive(testGroup[field][countKey])) {
889
+ // We will probably never get to the fallback array
890
+ // leaving it just in case the implementation changes
891
+ output[field] = testGroup[field][severityKey] || [];
892
+ }
886
893
  }
887
894
  return output;
888
895
  }
@@ -912,10 +919,6 @@ function getFailuresByGroup(groupName, severityKey, fieldName) {
912
919
  return gatherFailures(summary.groups[groupName], severityKey, fieldName);
913
920
  }
914
921
 
915
- function isPositive(value) {
916
- return greaterThan(value, 0);
917
- }
918
-
919
922
  function hasErrors(fieldName) {
920
923
  return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
921
924
  }
@@ -1877,7 +1880,7 @@ function warn() {
1877
1880
  ctx.currentTest.warn();
1878
1881
  }
1879
1882
 
1880
- var VERSION = "4.3.3";
1883
+ var VERSION = "4.3.4";
1881
1884
 
1882
1885
  Object.defineProperty(exports, 'enforce', {
1883
1886
  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){return[].concat(n)}var c=Object.assign;function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return function(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}(n.length,t)}function l(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function p(n){function t(n){return e.findIndex((function(t){var e=t[0];return f(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 l(n.length,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 d(n){return!!Array.isArray(n)}function v(n){return null===n}var h,g,E=i(v);function N(n){return"function"==typeof n}function m(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return N(n)?n.apply(void 0,t):n}function y(n,t){var e;return null!==(e=m(n))&&void 0!==e?e:t}function R(n){return(n=s(n))[n.length-1]}function S(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];d(u)?e.push(S(u,t)):(u=t(u),E(u)&&e.push(u))}return e}function C(n,t,e){return T(n,t)[R(t)]=e,n}function b(n){return s(n).reduce((function(n,t){return d(t)?n.concat(b(t)):s(n).concat(t)}),[])}function T(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=y(n[r],[]),n=n[r]}return n}function _(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return R(t)},getCursor:function(){return s(t)},next:function(){return t[t.length-1]++,R(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"}(h||(h={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(g||(g={}));var I=e.createContext((function(n,t){return t?null:c({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:h.DEFAULT,keys:{current:{},prev:{}}},mode:[g.ALL],testCursor:_()},n)}));function O(){return I.useX().stateRef}function A(){return O().suiteId()[0]}function k(){return O().testCallbacks()}function L(n){return x()[0][n]}function x(){return O().optionalFields()}function F(n,t){(0,x()[1])((function(e){var r;return c(e,((r={})[n]=m(t,e[n]),r))}))}function U(n){var t;return null===(t=L(n))||void 0===t?void 0:t[0]}function W(){return O().testObjects()}function G(){P((function(n){return n}))}function P(n){(0,W()[1])((function(t){return{prev:t.prev,current:s(n(t.current))}}))}function D(){return H().filter((function(n){return n.isPending()}))}var w,X=p();function H(){var n=W()[0].current;return X([n],(function(){return b(n)}))}function K(n){H().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(w||(w={}));var M,q,j=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=w.Error,this.status=B,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){(function(n,t){return o(n)&&u(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==$||(this.status=n)},n.prototype.warns=function(){return this.severity===w.Warning},n.prototype.setPending=function(){this.setStatus(Q)},n.prototype.fail=function(){this.setStatus(this.warns()?J:Y)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(z)},n.prototype.warn=function(){this.severity=w.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(V)},n.prototype.cancel=function(){this.setStatus(Z),G()},n.prototype.reset=function(){this.status=B,G()},n.prototype.omit=function(){this.setStatus($)},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(Q)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals($)},n.prototype.isUntested=function(){return this.statusEquals(B)},n.prototype.isFailing=function(){return this.statusEquals(Y)},n.prototype.isCanceled=function(){return this.statusEquals(Z)},n.prototype.isSkipped=function(){return this.statusEquals(V)},n.prototype.isPassing=function(){return this.statusEquals(z)},n.prototype.isWarning=function(){return this.statusEquals(J)},n.prototype.statusEquals=function(n){return this.status===n},n}(),B="UNTESTED",V="SKIPPED",Y="FAILED",J="WARNING",z="PASSING",Q="PENDING",Z="CANCELED",$="OMITTED";function nn(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?m(t):t)}function tn(n){function t(n,t,u){return r.references.push(),e(n,m(t,u)),function(){return[r.references[n],function(t){return e(n,m(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,N(t=u[t][1])&&t(e,i),N(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 en(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 rn(n){return v(n)||o(n)}function un(n){setTimeout((function(){throw Error(n)}),0)}function on(){return I.useX().testCursor.getCursor()}function sn(){return I.useX().testCursor.cursorAt()}function cn(){return I.useX().testCursor.next()}function an(n,t){n=void 0===(n=n.type)?h.DEFAULT:n,nn(N(t));var e={current:{},prev:{}},r=on();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=s(T(W()[0].prev,on())).reduce((function(n,t){return t instanceof j&&!rn(t.key)?(n[t.key]=t,n):n}),{}),P((function(n){return C(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),cn(),n}))}function fn(n){return n===M.ERRORS?q.ERROR_COUNT:q.WARN_COUNT}function ln(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function pn(n){return!n||(function(n){return"number"==typeof n}(n)?0===n:ln(n,"length")?f(n,0):"object"==typeof n&&f(Object.keys(n),0))}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(M||(M={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(q||(q={}));var dn=i(pn);function vn(n,t){return!!t&&!hn(n,t)}function hn(n,t){return!(!t||n.fieldName!==t)}function gn(n){return function(n,t){return H().some((function(e){return function(n,t,e){return!(!n.hasFailures()||vn(n,e)||function(n,t){return function(n,t){return!!n!=!!t}(n===M.WARNINGS,t.warns())}(t,n))}(e,n,t)}))}(M.ERRORS,n)}function En(n){return!!function(n){return!!n&&!0===function(n){var t;return null===(t=L(n))||void 0===t?void 0:t[1]}(n)}(n)||!gn(n)&&(!pn(H())&&!function(n){return dn(D().filter((function(t){return!vn(t,n)&&!0!==U(t.fieldName)})))}(n)&&function(n){return H().every((function(t){return!!vn(t,n)||(!0===U(t.fieldName)||t.isTested()||t.isOmitted())}))}(n))}function Nn(){var n=I.useX().summary;return nn(n),n}function mn(){var n=H(),t=c({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=yn(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&En(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=yn(n[e],t))}(n.groups,t),n}),t),t.valid=En(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function yn(n,t){function e(n){var t=fn(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||c({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(M.ERRORS):t.isWarning()&&e(M.WARNINGS)),i}function Rn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={};for(e in n)r[e]=n[e][t]||[];return r}(n,t)}function Sn(n){return bn(M.ERRORS,n)}function Cn(n){return bn(M.WARNINGS,n)}function bn(n,t){return Rn(Nn().tests,n,t)}function Tn(n,t){return In(n,M.ERRORS,t)}function _n(n,t){return In(n,M.WARNINGS,t)}function In(n,t,e){return Rn(Nn().groups[n],t,e)}function On(n){return l(n,0)}function An(n){return Ln(q.ERROR_COUNT,n)}function kn(n){return Ln(q.WARN_COUNT,n)}function Ln(n,t){var e,r=Nn();return On(t?null===(e=r.tests[t])||void 0===e?void 0:e[n]:r[n])}function xn(n,t){return Un(M.ERRORS,n,t)}function Fn(n,t){return Un(M.WARNINGS,n,t)}function Un(n,t,e){var r,u,i=Nn();if(n=fn(n),!(t=i.groups[t]))return!1;if(e)return On(null===(r=t[e])||void 0===r?void 0:r[n]);for(var o in t)if(On(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function Wn(n){var t,e=Nn();return n?!(null===(t=e.tests[n])||void 0===t||!t.valid):e.valid}var Gn=p(1);function Pn(){var n=H(),t={stateRef:O()};return Gn([n],I.bind(t,(function(){var n=mn(),t=O().suiteName()[0],e={summary:n};return c(n,{getErrors:I.bind(e,Sn),getErrorsByGroup:I.bind(e,Tn),getWarnings:I.bind(e,Cn),getWarningsByGroup:I.bind(e,_n),hasErrors:I.bind(e,An),hasErrorsByGroup:I.bind(e,xn),hasWarnings:I.bind(e,kn),hasWarningsByGroup:I.bind(e,Fn),isValid:I.bind(e,Wn),suiteName:t})})))}function Dn(n){var t=D();return!pn(t)&&(n?t.some((function(t){return hn(t,n)})):dn(t))}var wn=p(20);function Xn(){var n=H(),t={stateRef:O()};return wn([n],I.bind(t,(function(){return c({},Pn(),{done:I.bind(t,qn)})})))}function Hn(n,t,e){return!(N(n)&&(!t||e.tests[t]&&!pn(e.tests[t].testCount)))}function Kn(n){return!(Dn()&&(!n||Dn(n)))}var Mn,qn=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=Xn(),Hn(e,n,t))return t;var r=function(){return e(Pn())};return Kn(n)?(r(),t):(jn(r,n),t)};function jn(n,t){(0,k()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function Bn(n){return n.forEach((function(n){return n()}))}function Vn(){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(Mn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=k()[0].fieldCallbacks;n&&!Dn(n)&&d(t[n])&&Bn(t[n])}(t.fieldName),Dn()||n.emit(Mn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Mn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){t[n.fieldName]&&(n.omit(),F(n.fieldName,(function(n){return[n[0],!0]})))}if(!pn(x()[0])){var t={};P((function(e){return S(e,(function(e){if(ln(t,e.fieldName))n(e);else{var r=U(e.fieldName);N(r)&&(t[e.fieldName]=r(),n(e))}return e}))}))}}()})),n.on(Mn.ALL_RUNNING_TESTS_FINISHED,(function(){Bn(k()[0].doneCallbacks)})),n.on(Mn.REMOVE_FIELD,(function(n){K((function(t){hn(t,n)&&(t.cancel(),function(n){P((function(t){return S(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Mn.RESET_FIELD,(function(n){K((function(t){hn(t,n)&&t.reset()}))})),n}function Yn(){var n=I.useX();return nn(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Mn||(Mn={}));function Jn(){return!!I.useX().skipped}function zn(n){return $n(0,"tests",n)}function Qn(n){return $n(1,"tests",n)}function Zn(n){var t=n.fieldName;if(n=n.groupName,Jn())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;return ln(t,n)?!1===t[n]:tt()}(n))return!0;if(!0===r.groups[n])return!i&&(!!nt(u)||!1===u[t])}return!!function(n){return!!tt()&&!n}(n)||!i&&(!!nt(u)&&!m(e[t]))}function $n(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&s(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function nt(n){for(var t in n)if(!0===n[t])return!0;return!1}function tt(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function et(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function rt(n){return!(!function(n){return I.useX().mode[0]===n}(g.EAGER)||!gn(n.fieldName))}function ut(){return!!I.useX().omitted}function it(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 ot(n){return n&&N(n.then)}function st(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function ct(n){var t=n.asyncTest,e=n.message;if(ot(t)){var r=Yn().emit,i=O(),o=I.bind({stateRef:i},(function(){G(),r(Mn.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 at(n){var t=Yn(),e=function(n){return I.run({currentTest:n},(function(){return n.run()}))}(n);try{ot(e)?(n.asyncTest=e,n.setPending(),ct(n)):t.emit(Mn.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function ft(n){var t=W()[0].prev;return pn(t)?(lt(n),n):(t=function(n){var t=on();return function(n,t){return T(n,t)[R(t)]}(n,t)}(t),rn(n.key)?(function(n,t){return dn(n)&&!st(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===h.EACH||un("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=W(),t=n[1],e=n[0].prev;n=T(e,on());var r=sn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),lt(n=y(t,n)),n):(lt(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;rn(e[n])?e[n]=t:un('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 lt(n){var t=on();P((function(e){return C(e,t,n)}))}function pt(n){if(rt(n))return n.skip(),ft(n),cn(),n;var t=ft(n);return ut()?(t.omit(),cn(),t):Zn(n)?(t.skip(Jn()),cn(),t):(function(n,t){t!==n&&st(n,t)&&n.isPending()&&n.cancel()}(t,n),lt(n),cn(),function(n){n.isUntested()?at(n):ot(n.asyncTest)&&(n.setPending(),ct(n))}(n),n)}function dt(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=N(t[1])?t:it([void 0],t,!0);t=r[0],e=r[1],r=r[2],nn(u(n),ht("fieldName","string")),nn(N(e),ht("Test callback","function"));var i=I.useX();return pt(t=new j(n,e,{message:t,groupName:i.groupName,key:r}))}zn.group=function(n){return $n(0,"groups",n)},Qn.group=function(n){return $n(1,"groups",n)};var vt=c(dt,{memo:function(n){var t=p(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=sn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[A(),e,u].concat(i),v(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)}))):pt(r[1])}}(dt)});function ht(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.3.3",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],nn(N(e),"vest.create: Expected callback to be a function.");var u=Vn(),i=tn();return n={stateRef:en(i,{suiteId:r(),suiteName:n}),bus:u},c(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:h.SUITE},(function(){e.apply(void 0,n)})),u.emit(Mn.SUITE_CALLBACK_DONE_RUNNING),Xn()})),{get:I.bind(n,Pn),remove:I.bind(n,(function(n){u.emit(Mn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Mn.RESET_FIELD,n)}))})},exports.each=function(n,t){nn(N(t),"each callback must be a function"),an({type:h.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(g.EAGER)},exports.group=function(n,t){nn(u(n),et("name must be a string")),nn(N(t),et("callback must be a function")),an({type:h.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){var t=I.useX(),e=t.inclusion;return t=t.exclusion,nn(u(n)),e[n]=y(t.tests[n],!0),{when:function(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return ln(r.tests,n)?y(r.tests[n],!0):u(t)?!!r.tests[t]:m(t,m(Pn))}}}},exports.omitWhen=function(n,t){an({type:h.OMIT_WHEN},(function(){I.run({omitted:ut()||m(n,m(Pn))},(function(){return t()}))}))},exports.only=zn,exports.optional=function(n){if(d(n)||u(n))s(n).forEach((function(n){F(n,[!0,!1])}));else for(var t in n)F(t,[n[t],!1])},exports.skip=Qn,exports.skipWhen=function(n,t){an({type:h.SKIP_WHEN},(function(){I.run({skipped:Jn()||m(n,m(Pn))},(function(){return t()}))}))},exports.test=vt,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");nn(n.currentTest,"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){return[].concat(n)}var c=Object.assign;function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return function(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}(n.length,t)}function l(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function p(n){function t(n){return e.findIndex((function(t){var e=t[0];return f(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 l(n.length,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 d(n){return!!Array.isArray(n)}function v(n){return null===n}var h,g,E=i(v);function N(n){return"function"==typeof n}function m(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return N(n)?n.apply(void 0,t):n}function y(n,t){var e;return null!==(e=m(n))&&void 0!==e?e:t}function R(n){return(n=s(n))[n.length-1]}function S(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];d(u)?e.push(S(u,t)):(u=t(u),E(u)&&e.push(u))}return e}function C(n,t,e){return T(n,t)[R(t)]=e,n}function b(n){return s(n).reduce((function(n,t){return d(t)?n.concat(b(t)):s(n).concat(t)}),[])}function T(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=y(n[r],[]),n=n[r]}return n}function _(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return R(t)},getCursor:function(){return s(t)},next:function(){return t[t.length-1]++,R(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"}(h||(h={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(g||(g={}));var I=e.createContext((function(n,t){return t?null:c({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:h.DEFAULT,keys:{current:{},prev:{}}},mode:[g.ALL],testCursor:_()},n)}));function O(){return I.useX().stateRef}function A(){return O().suiteId()[0]}function k(){return O().testCallbacks()}function L(n){return x()[0][n]}function x(){return O().optionalFields()}function F(n,t){(0,x()[1])((function(e){var r;return c(e,((r={})[n]=m(t,e[n]),r))}))}function U(n){var t;return null===(t=L(n))||void 0===t?void 0:t[0]}function W(){return O().testObjects()}function G(){P((function(n){return n}))}function P(n){(0,W()[1])((function(t){return{prev:t.prev,current:s(n(t.current))}}))}function D(){return H().filter((function(n){return n.isPending()}))}var w,X=p();function H(){var n=W()[0].current;return X([n],(function(){return b(n)}))}function K(n){H().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(w||(w={}));var M,q,j=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=w.Error,this.status=B,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){(function(n,t){return o(n)&&u(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==$||(this.status=n)},n.prototype.warns=function(){return this.severity===w.Warning},n.prototype.setPending=function(){this.setStatus(Q)},n.prototype.fail=function(){this.setStatus(this.warns()?J:Y)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(z)},n.prototype.warn=function(){this.severity=w.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(V)},n.prototype.cancel=function(){this.setStatus(Z),G()},n.prototype.reset=function(){this.status=B,G()},n.prototype.omit=function(){this.setStatus($)},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(Q)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals($)},n.prototype.isUntested=function(){return this.statusEquals(B)},n.prototype.isFailing=function(){return this.statusEquals(Y)},n.prototype.isCanceled=function(){return this.statusEquals(Z)},n.prototype.isSkipped=function(){return this.statusEquals(V)},n.prototype.isPassing=function(){return this.statusEquals(z)},n.prototype.isWarning=function(){return this.statusEquals(J)},n.prototype.statusEquals=function(n){return this.status===n},n}(),B="UNTESTED",V="SKIPPED",Y="FAILED",J="WARNING",z="PASSING",Q="PENDING",Z="CANCELED",$="OMITTED";function nn(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?m(t):t)}function tn(n){function t(n,t,u){return r.references.push(),e(n,m(t,u)),function(){return[r.references[n],function(t){return e(n,m(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,N(t=u[t][1])&&t(e,i),N(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 en(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 rn(n){return v(n)||o(n)}function un(n){setTimeout((function(){throw Error(n)}),0)}function on(){return I.useX().testCursor.getCursor()}function sn(){return I.useX().testCursor.cursorAt()}function cn(){return I.useX().testCursor.next()}function an(n,t){n=void 0===(n=n.type)?h.DEFAULT:n,nn(N(t));var e={current:{},prev:{}},r=on();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=s(T(W()[0].prev,on())).reduce((function(n,t){return t instanceof j&&!rn(t.key)?(n[t.key]=t,n):n}),{}),P((function(n){return C(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),cn(),n}))}function fn(n){return n===M.ERRORS?q.ERROR_COUNT:q.WARN_COUNT}function ln(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function pn(n){return!n||(function(n){return"number"==typeof n}(n)?0===n:ln(n,"length")?f(n,0):"object"==typeof n&&f(Object.keys(n),0))}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(M||(M={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(q||(q={}));var dn=i(pn);function vn(n,t){return!!t&&!hn(n,t)}function hn(n,t){return!(!t||n.fieldName!==t)}function gn(n){return function(n,t){return H().some((function(e){return function(n,t,e){return!(!n.hasFailures()||vn(n,e)||function(n,t){return function(n,t){return!!n!=!!t}(n===M.WARNINGS,t.warns())}(t,n))}(e,n,t)}))}(M.ERRORS,n)}function En(n){return!!function(n){return!!n&&!0===function(n){var t;return null===(t=L(n))||void 0===t?void 0:t[1]}(n)}(n)||!gn(n)&&(!pn(H())&&!function(n){return dn(D().filter((function(t){return!vn(t,n)&&!0!==U(t.fieldName)})))}(n)&&function(n){return H().every((function(t){return!!vn(t,n)||(!0===U(t.fieldName)||t.isTested()||t.isOmitted())}))}(n))}function Nn(){var n=I.useX().summary;return nn(n),n}function mn(){var n=H(),t=c({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=yn(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&En(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=yn(n[e],t))}(n.groups,t),n}),t),t.valid=En(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function yn(n,t){function e(n){var t=fn(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||c({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(M.ERRORS):t.isWarning()&&e(M.WARNINGS)),i}function Rn(n){return l(n,0)}function Sn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=fn(t);for(e in n)Rn(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function Cn(n){return Tn(M.ERRORS,n)}function bn(n){return Tn(M.WARNINGS,n)}function Tn(n,t){return Sn(Nn().tests,n,t)}function _n(n,t){return On(n,M.ERRORS,t)}function In(n,t){return On(n,M.WARNINGS,t)}function On(n,t,e){return Sn(Nn().groups[n],t,e)}function An(n){return Ln(q.ERROR_COUNT,n)}function kn(n){return Ln(q.WARN_COUNT,n)}function Ln(n,t){var e,r=Nn();return Rn(t?null===(e=r.tests[t])||void 0===e?void 0:e[n]:r[n])}function xn(n,t){return Un(M.ERRORS,n,t)}function Fn(n,t){return Un(M.WARNINGS,n,t)}function Un(n,t,e){var r,u,i=Nn();if(n=fn(n),!(t=i.groups[t]))return!1;if(e)return Rn(null===(r=t[e])||void 0===r?void 0:r[n]);for(var o in t)if(Rn(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function Wn(n){var t,e=Nn();return n?!(null===(t=e.tests[n])||void 0===t||!t.valid):e.valid}var Gn=p(1);function Pn(){var n=H(),t={stateRef:O()};return Gn([n],I.bind(t,(function(){var n=mn(),t=O().suiteName()[0],e={summary:n};return c(n,{getErrors:I.bind(e,Cn),getErrorsByGroup:I.bind(e,_n),getWarnings:I.bind(e,bn),getWarningsByGroup:I.bind(e,In),hasErrors:I.bind(e,An),hasErrorsByGroup:I.bind(e,xn),hasWarnings:I.bind(e,kn),hasWarningsByGroup:I.bind(e,Fn),isValid:I.bind(e,Wn),suiteName:t})})))}function Dn(n){var t=D();return!pn(t)&&(n?t.some((function(t){return hn(t,n)})):dn(t))}var wn=p(20);function Xn(){var n=H(),t={stateRef:O()};return wn([n],I.bind(t,(function(){return c({},Pn(),{done:I.bind(t,qn)})})))}function Hn(n,t,e){return!(N(n)&&(!t||e.tests[t]&&!pn(e.tests[t].testCount)))}function Kn(n){return!(Dn()&&(!n||Dn(n)))}var Mn,qn=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=Xn(),Hn(e,n,t))return t;var r=function(){return e(Pn())};return Kn(n)?(r(),t):(jn(r,n),t)};function jn(n,t){(0,k()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function Bn(n){return n.forEach((function(n){return n()}))}function Vn(){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(Mn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=k()[0].fieldCallbacks;n&&!Dn(n)&&d(t[n])&&Bn(t[n])}(t.fieldName),Dn()||n.emit(Mn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Mn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){t[n.fieldName]&&(n.omit(),F(n.fieldName,(function(n){return[n[0],!0]})))}if(!pn(x()[0])){var t={};P((function(e){return S(e,(function(e){if(ln(t,e.fieldName))n(e);else{var r=U(e.fieldName);N(r)&&(t[e.fieldName]=r(),n(e))}return e}))}))}}()})),n.on(Mn.ALL_RUNNING_TESTS_FINISHED,(function(){Bn(k()[0].doneCallbacks)})),n.on(Mn.REMOVE_FIELD,(function(n){K((function(t){hn(t,n)&&(t.cancel(),function(n){P((function(t){return S(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Mn.RESET_FIELD,(function(n){K((function(t){hn(t,n)&&t.reset()}))})),n}function Yn(){var n=I.useX();return nn(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Mn||(Mn={}));function Jn(){return!!I.useX().skipped}function zn(n){return $n(0,"tests",n)}function Qn(n){return $n(1,"tests",n)}function Zn(n){var t=n.fieldName;if(n=n.groupName,Jn())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;return ln(t,n)?!1===t[n]:tt()}(n))return!0;if(!0===r.groups[n])return!i&&(!!nt(u)||!1===u[t])}return!!function(n){return!!tt()&&!n}(n)||!i&&(!!nt(u)&&!m(e[t]))}function $n(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&s(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function nt(n){for(var t in n)if(!0===n[t])return!0;return!1}function tt(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function et(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function rt(n){return!(!function(n){return I.useX().mode[0]===n}(g.EAGER)||!gn(n.fieldName))}function ut(){return!!I.useX().omitted}function it(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 ot(n){return n&&N(n.then)}function st(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function ct(n){var t=n.asyncTest,e=n.message;if(ot(t)){var r=Yn().emit,i=O(),o=I.bind({stateRef:i},(function(){G(),r(Mn.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 at(n){var t=Yn(),e=function(n){return I.run({currentTest:n},(function(){return n.run()}))}(n);try{ot(e)?(n.asyncTest=e,n.setPending(),ct(n)):t.emit(Mn.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function ft(n){var t=W()[0].prev;return pn(t)?(lt(n),n):(t=function(n){var t=on();return function(n,t){return T(n,t)[R(t)]}(n,t)}(t),rn(n.key)?(function(n,t){return dn(n)&&!st(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===h.EACH||un("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=W(),t=n[1],e=n[0].prev;n=T(e,on());var r=sn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),lt(n=y(t,n)),n):(lt(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;rn(e[n])?e[n]=t:un('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 lt(n){var t=on();P((function(e){return C(e,t,n)}))}function pt(n){if(rt(n))return n.skip(),ft(n),cn(),n;var t=ft(n);return ut()?(t.omit(),cn(),t):Zn(n)?(t.skip(Jn()),cn(),t):(function(n,t){t!==n&&st(n,t)&&n.isPending()&&n.cancel()}(t,n),lt(n),cn(),function(n){n.isUntested()?at(n):ot(n.asyncTest)&&(n.setPending(),ct(n))}(n),n)}function dt(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=N(t[1])?t:it([void 0],t,!0);t=r[0],e=r[1],r=r[2],nn(u(n),ht("fieldName","string")),nn(N(e),ht("Test callback","function"));var i=I.useX();return pt(t=new j(n,e,{message:t,groupName:i.groupName,key:r}))}zn.group=function(n){return $n(0,"groups",n)},Qn.group=function(n){return $n(1,"groups",n)};var vt=c(dt,{memo:function(n){var t=p(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=sn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[A(),e,u].concat(i),v(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)}))):pt(r[1])}}(dt)});function ht(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.3.4",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],nn(N(e),"vest.create: Expected callback to be a function.");var u=Vn(),i=tn();return n={stateRef:en(i,{suiteId:r(),suiteName:n}),bus:u},c(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:h.SUITE},(function(){e.apply(void 0,n)})),u.emit(Mn.SUITE_CALLBACK_DONE_RUNNING),Xn()})),{get:I.bind(n,Pn),remove:I.bind(n,(function(n){u.emit(Mn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Mn.RESET_FIELD,n)}))})},exports.each=function(n,t){nn(N(t),"each callback must be a function"),an({type:h.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(g.EAGER)},exports.group=function(n,t){nn(u(n),et("name must be a string")),nn(N(t),et("callback must be a function")),an({type:h.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){var t=I.useX(),e=t.inclusion;return t=t.exclusion,nn(u(n)),e[n]=y(t.tests[n],!0),{when:function(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return ln(r.tests,n)?y(r.tests[n],!0):u(t)?!!r.tests[t]:m(t,m(Pn))}}}},exports.omitWhen=function(n,t){an({type:h.OMIT_WHEN},(function(){I.run({omitted:ut()||m(n,m(Pn))},(function(){return t()}))}))},exports.only=zn,exports.optional=function(n){if(d(n)||u(n))s(n).forEach((function(n){F(n,[!0,!1])}));else for(var t in n)F(t,[n[t],!1])},exports.skip=Qn,exports.skipWhen=function(n,t){an({type:h.SKIP_WHEN},(function(){I.run({skipped:Jn()||m(n,m(Pn))},(function(){return t()}))}))},exports.test=vt,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");nn(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
@@ -863,6 +863,10 @@ function baseTestStats() {
863
863
  });
864
864
  }
865
865
 
866
+ function isPositive(value) {
867
+ return greaterThan(value, 0);
868
+ }
869
+
866
870
  // calls collectAll or getByFieldName depending on whether fieldName is provided
867
871
  function gatherFailures(testGroup, severityKey, fieldName) {
868
872
  return fieldName
@@ -875,10 +879,13 @@ function getByFieldName(testGroup, severityKey, fieldName) {
875
879
  }
876
880
  function collectAll(testGroup, severityKey) {
877
881
  var output = {};
882
+ var countKey = countKeyBySeverity(severityKey);
878
883
  for (var field in testGroup) {
879
- // We will probably never get to the fallback array
880
- // leaving it just in case the implementation changes
881
- output[field] = testGroup[field][severityKey] || [];
884
+ if (isPositive(testGroup[field][countKey])) {
885
+ // We will probably never get to the fallback array
886
+ // leaving it just in case the implementation changes
887
+ output[field] = testGroup[field][severityKey] || [];
888
+ }
882
889
  }
883
890
  return output;
884
891
  }
@@ -908,10 +915,6 @@ function getFailuresByGroup(groupName, severityKey, fieldName) {
908
915
  return gatherFailures(summary.groups[groupName], severityKey, fieldName);
909
916
  }
910
917
 
911
- function isPositive(value) {
912
- return greaterThan(value, 0);
913
- }
914
-
915
918
  function hasErrors(fieldName) {
916
919
  return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
917
920
  }
@@ -1873,6 +1876,6 @@ function warn() {
1873
1876
  ctx.currentTest.warn();
1874
1877
  }
1875
1878
 
1876
- var VERSION = "4.3.3";
1879
+ var VERSION = "4.3.4";
1877
1880
 
1878
1881
  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)}}var i=Object.assign;function o(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function s(t,n){return o(t)&&o(n)&&Number(t)===Number(n)}function a(t,n){return o(t)&&o(n)&&Number(t)>Number(n)}function c(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),a(r.length,t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return s(t.length,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 f=u((function(t){return null===t}));function l(t){return"function"==typeof t}function p(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return l(t)?t.apply(void 0,n):t}function d(t,n){var e;return null!==(e=p(t))&&void 0!==e?e:n}function v(t){return(t=[].concat(t))[t.length-1]}function h(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(h(u,n)):(u=n(u),f(u)&&e.push(u))}return e}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function g(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=d(t[r],[]),t=t[r]}return t}function N(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return v(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,v(n)},removeLevel:function(){n.pop()},reset:t}}var m,y=m||(m={});y[y.DEFAULT=0]="DEFAULT",y[y.SUITE=1]="SUITE",y[y.EACH=2]="EACH",y[y.SKIP_WHEN=3]="SKIP_WHEN",y[y.OMIT_WHEN=4]="OMIT_WHEN",y[y.GROUP=5]="GROUP";var R,b=R||(R={});b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var C=t((function(t,n){return n?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:m.DEFAULT,keys:{current:{},prev:{}}},mode:[R.ALL],testCursor:N()},t)}));function S(){return C.useX().stateRef}function O(t){return S().optionalFields()[0][t]}function T(t,n){(0,S().optionalFields()[1])((function(e){var r;return i(e,((r={})[t]=p(n,e[t]),r))}))}function A(t){var n;return null===(n=O(t))||void 0===n?void 0:n[0]}function _(){I((function(t){return t}))}function I(t){(0,S().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function k(){return F().filter((function(t){return t.isPending()}))}var L=c();function F(){var t=S().testObjects()[0].current;return L([t],(function(){return E(t)}))}var U,W=U||(U={});W.Error="error",W.Warning="warning";var P=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=U.Error,this.status=G,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!==K||(this.status=t)},t.prototype.warns=function(){return this.severity===U.Warning},t.prototype.setPending=function(){this.setStatus(j)},t.prototype.fail=function(){this.setStatus(this.warns()?D:w)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=U.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(X)},t.prototype.cancel=function(){this.setStatus(H),_()},t.prototype.reset=function(){this.status=G,_()},t.prototype.omit=function(){this.setStatus(K)},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(j)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(K)},t.prototype.isUntested=function(){return this.statusEquals(G)},t.prototype.isFailing=function(){return this.statusEquals(w)},t.prototype.isCanceled=function(){return this.statusEquals(H)},t.prototype.isSkipped=function(){return this.statusEquals(X)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(D)},t.prototype.statusEquals=function(t){return this.status===t},t}(),G="UNTESTED",X="SKIPPED",w="FAILED",D="WARNING",x="PASSING",j="PENDING",H="CANCELED",K="OMITTED";function M(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?p(n):n)}function q(t){function n(t,n,u){return r.references.push(),e(t,p(n,u)),function(){return[r.references[t],function(n){return e(t,p(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,l(n=u[n][1])&&n(e,i),l(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 B(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 V(t){return null==t}function Y(t){setTimeout((function(){throw Error(t)}),0)}function J(){return C.useX().testCursor.getCursor()}function z(){return C.useX().testCursor.next()}function Q(t,n){t=void 0===(t=t.type)?m.DEFAULT:t,M(l(n));var e={current:{},prev:{}},r=J();return C.run({isolate:{type:t,keys:e}},(function(){C.useX().testCursor.addLevel(),e.prev=function(){var t=S().testObjects()[0].prev;return[].concat(g(t,J())).reduce((function(t,n){return n instanceof P&&!V(n.key)?(t[n.key]=n,t):t}),{})}(),I((function(t){return g(t,r)[v(r)]=[],t}));var t=n();return C.useX().testCursor.removeLevel(),z(),t}))}var Z,$=Z||(Z={});$.WARNINGS="warnings",$.ERRORS="errors";var tt,nt=tt||(tt={});function et(t){return!t||("number"==typeof t?0===t:Object.prototype.hasOwnProperty.call(t,"length")?s(t.length,0):"object"==typeof t&&s((t=Object.keys(t)).length,0))}nt.ERROR_COUNT="errorCount",nt.WARN_COUNT="warnCount";var rt=u(et);function ut(t,n){return!(!n||t.fieldName!==n)}function it(t,n){return F().some((function(e){return e.hasFailures()?n&&!ut(e,n)?e=!1:(e=e.warns(),e=t===Z.WARNINGS==!!e):e=!1,e}))}function ot(t){if(t)var n,e=!0===(null===(n=O(t))||void 0===n?void 0:n[1]);else e=!1;return!!e||!it(Z.ERRORS,t)&&(!et(e=F())&&!function(t){return rt(k().filter((function(n){return!(t&&!ut(n,t))&&!0!==A(n.fieldName)})))}(t)&&function(t){return F().every((function(n){return!(!t||ut(n,t))||(!0===A(n.fieldName)||n.isTested()||n.isOmitted())}))}(t))}function st(){var t=C.useX().summary;return M(t),t}function at(t,n){function e(t){o[t===Z.ERRORS?tt.ERROR_COUNT:tt.WARN_COUNT]++,u&&(o[t]=(o[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(Z.ERRORS):n.isWarning()&&e(Z.WARNINGS)),o}function ct(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function ft(t,n){var e,r={};for(e in t)r[e]=t[e][n]||[];return r}function lt(t){return dt(Z.ERRORS,t)}function pt(t){return dt(Z.WARNINGS,t)}function dt(t,n){var e=st().tests;return n?ct(e,t,n):ft(e,t)}function vt(t,n){return Et(t,Z.ERRORS,n)}function ht(t,n){return Et(t,Z.WARNINGS,n)}function Et(t,n,e){return t=st().groups[t],e?ct(t,n,e):ft(t,n)}function gt(t){return mt(tt.ERROR_COUNT,t)}function Nt(t){return mt(tt.WARN_COUNT,t)}function mt(t,n){var e,r=st();return a(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t],0)}function yt(t,n){return bt(Z.ERRORS,t,n)}function Rt(t,n){return bt(Z.WARNINGS,t,n)}function bt(t,n,e){var r,u,i=st();if(t=t===Z.ERRORS?tt.ERROR_COUNT:tt.WARN_COUNT,!(n=i.groups[n]))return!1;if(e)return a(null===(r=n[e])||void 0===r?void 0:r[t],0);for(var o in n)if(a(null===(u=n[o])||void 0===u?void 0:u[t],0))return!0;return!1}function Ct(t){var n,e=st();return t?!(null===(n=e.tests[t])||void 0===n||!n.valid):e.valid}var St=c(1);function Ot(){var t=F(),n={stateRef:S()};return St([t],C.bind(n,(function(){var t=function(){var t=F(),n=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=at(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&ot(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=at(e[r],n)),t}),n),n.valid=ot(),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)}(),n=S().suiteName()[0],e={summary:t};return i(t,{getErrors:C.bind(e,lt),getErrorsByGroup:C.bind(e,vt),getWarnings:C.bind(e,pt),getWarningsByGroup:C.bind(e,ht),hasErrors:C.bind(e,gt),hasErrorsByGroup:C.bind(e,yt),hasWarnings:C.bind(e,Nt),hasWarningsByGroup:C.bind(e,Rt),isValid:C.bind(e,Ct),suiteName:n})})))}function Tt(t){var n=k();return!et(n)&&(t?n.some((function(n){return ut(n,t)})):rt(n))}var At=c(20);function _t(){var t=F(),n={stateRef:S()};return At([t],C.bind(n,(function(){return i({},Ot(),{done:C.bind(n,Lt)})})))}function It(t,n,e){return!(l(t)&&(!n||e.tests[n]&&!et(e.tests[n].testCount)))}function kt(t){return!(Tt()&&(!t||Tt(t)))}function Lt(){function t(){return r(Ot())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=_t(),It(r,n,e)?e:kt(n)?(t(),e):(Ft(t,n),e)}function Ft(t,n){(0,S().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Ut(t){return t.forEach((function(t){return t()}))}function Wt(){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(Gt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=S().testCallbacks()[0].fieldCallbacks;n&&!Tt(n)&&Array.isArray(e[n])&&Ut(e[n]),Tt()||t.emit(Gt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Gt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){n[t.fieldName]&&(t.omit(),T(t.fieldName,(function(t){return[t[0],!0]})))}if(!et(S().optionalFields()[0])){var n={};I((function(e){return h(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))t(e);else{var r=A(e.fieldName);l(r)&&(n[e.fieldName]=r(),t(e))}return e}))}))}}()})),t.on(Gt.ALL_RUNNING_TESTS_FINISHED,(function(){Ut(S().testCallbacks()[0].doneCallbacks)})),t.on(Gt.REMOVE_FIELD,(function(t){F().forEach((function(n){ut(n,t)&&(n.cancel(),function(t){I((function(n){return h(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Gt.RESET_FIELD,(function(t){F().forEach((function(n){ut(n,t)&&n.reset()}))})),t}function Pt(){var t=C.useX();return M(t.bus),t.bus}var Gt,Xt=Gt||(Gt={});function wt(t){return xt(0,"tests",t)}function Dt(t){return xt(1,"tests",t)}function xt(t,n,e){var u=C.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function jt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ht(){var t,n=C.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Kt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Mt(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 qt(t){var n=t.asyncTest,e=t.message;if(n&&l(n.then)){var u=Pt().emit,i=S(),o=C.bind({stateRef:i},(function(){_(),u(Gt.TEST_COMPLETED,t)}));i=C.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 Bt(t){var n=S().testObjects()[0].prev;if(et(n))return Vt(t),t;var e=J();if(n=g(n,e)[v(e)],!V(t.key)){n=t.key,(e=C.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=C.useX().isolate.keys.current;return V(r[n])?r[n]=e:Y('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Vt(t),t}return!rt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(C.useX().isolate.type===m.EACH||Y("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().testObjects(),n=t[1],e=t[0].prev;t=g(e,J());var r=C.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Vt(t=d(n,t)),t}function Vt(t){var n=J();I((function(e){return g(e,n)[v(n)]=t,e}))}function Yt(t){var n=R.EAGER;if(n=!(C.useX().mode[0]!==n||!it(Z.ERRORS,t.fieldName)))return t.skip(),Bt(t),z(),t;if(n=Bt(t),C.useX().omitted)return n.omit(),z(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,C.useX().skipped)return!0;var e=C.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){var o=C.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:Ht())return!0;if(!0===r.groups[t])return!(i||!jt(u)&&!1!==u[n])}return!!(t=!!Ht()&&!t)||!i&&!!jt(u)&&!p(e[n])}(t))return n.skip(!!C.useX().skipped),z(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Vt(t),z(),t.isUntested()){n=Pt();var e=function(t){return C.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&l(e.then)?(t.asyncTest=e,t.setPending(),qt(t)):n.emit(Gt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&l(n.then)&&(t.setPending(),qt(t));return t}function Jt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:Mt([void 0],n,!0);n=u[0],e=u[1],u=u[2],M(r(t),Qt("fieldName","string")),M(l(e),Qt("Test callback","function"));var i=C.useX();return Yt(n=new P(t,e,{message:n,groupName:i.groupName,key:u}))}Xt.TEST_COMPLETED="test_completed",Xt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Xt.REMOVE_FIELD="remove_field",Xt.RESET_FIELD="reset_field",Xt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",wt.group=function(t){return xt(0,"groups",t)},Dt.group=function(t){return xt(1,"groups",t)};var zt=i(Jt,{memo:function(t){var n=c(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=C.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[S().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)}))):Yt(r[1])}}(Jt)});function Qt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var Zt="4.3.3";function $t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],M(l(r),"vest.create: Expected callback to be a function.");var u=Wt(),o=q();return t={stateRef:B(o,{suiteId:e(),suiteName:t}),bus:u},i(C.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.reset(),Q({type:m.SUITE},(function(){r.apply(void 0,t)})),u.emit(Gt.SUITE_CALLBACK_DONE_RUNNING),_t()})),{get:C.bind(t,Ot),remove:C.bind(t,(function(t){u.emit(Gt.REMOVE_FIELD,t)})),reset:o.reset,resetField:C.bind(t,(function(t){u.emit(Gt.RESET_FIELD,t)}))})}function tn(t,n){M(l(n),"each callback must be a function"),Q({type:m.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function nn(){var t=R.EAGER;C.useX().mode[0]=t}function en(t,n){M(r(t),Kt("name must be a string")),M(l(n),Kt("callback must be a function")),Q({type:m.GROUP},(function(){C.run({groupName:t},n)}))}function rn(t){var n=C.useX(),e=n.inclusion;return n=n.exclusion,M(r(t)),e[t]=d(n.tests[t],!0),{when:function(n){var e=C.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?d(u.tests[t],!0):r(n)?!!u.tests[n]:p(n,p(Ot))}}}}function un(t,n){Q({type:m.OMIT_WHEN},(function(){C.run({omitted:!!C.useX().omitted||p(t,p(Ot))},(function(){return n()}))}))}function on(t){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){T(t,[!0,!1])}));else for(var n in t)T(n,[t[n],!1])}function sn(t,n){Q({type:m.SKIP_WHEN},(function(){C.run({skipped:!!C.useX().skipped||p(t,p(Ot))},(function(){return n()}))}))}function an(){var t=C.useX("warn hook called outside of a running suite.");M(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Zt as VERSION,C as context,$t as create,tn as each,nn as eager,en as group,rn as include,un as omitWhen,wt as only,on as optional,Dt as skip,sn as skipWhen,zt as test,an 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)}}var i=Object.assign;function o(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function s(t,n){return o(t)&&o(n)&&Number(t)===Number(n)}function a(t,n){return o(t)&&o(n)&&Number(t)>Number(n)}function c(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),a(r.length,t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return s(t.length,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 f=u((function(t){return null===t}));function l(t){return"function"==typeof t}function p(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return l(t)?t.apply(void 0,n):t}function d(t,n){var e;return null!==(e=p(t))&&void 0!==e?e:n}function v(t){return(t=[].concat(t))[t.length-1]}function h(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(h(u,n)):(u=n(u),f(u)&&e.push(u))}return e}function g(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(g(n)):[].concat(t).concat(n)}),[])}function E(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=d(t[r],[]),t=t[r]}return t}function N(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return v(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,v(n)},removeLevel:function(){n.pop()},reset:t}}var m,y=m||(m={});y[y.DEFAULT=0]="DEFAULT",y[y.SUITE=1]="SUITE",y[y.EACH=2]="EACH",y[y.SKIP_WHEN=3]="SKIP_WHEN",y[y.OMIT_WHEN=4]="OMIT_WHEN",y[y.GROUP=5]="GROUP";var R,b=R||(R={});b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var C=t((function(t,n){return n?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:m.DEFAULT,keys:{current:{},prev:{}}},mode:[R.ALL],testCursor:N()},t)}));function S(){return C.useX().stateRef}function T(t){return S().optionalFields()[0][t]}function O(t,n){(0,S().optionalFields()[1])((function(e){var r;return i(e,((r={})[t]=p(n,e[t]),r))}))}function A(t){var n;return null===(n=T(t))||void 0===n?void 0:n[0]}function I(){_((function(t){return t}))}function _(t){(0,S().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function k(){return F().filter((function(t){return t.isPending()}))}var L=c();function F(){var t=S().testObjects()[0].current;return L([t],(function(){return g(t)}))}var U,P=U||(U={});P.Error="error",P.Warning="warning";var W=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=U.Error,this.status=G,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!==K||(this.status=t)},t.prototype.warns=function(){return this.severity===U.Warning},t.prototype.setPending=function(){this.setStatus(j)},t.prototype.fail=function(){this.setStatus(this.warns()?D:w)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=U.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(X)},t.prototype.cancel=function(){this.setStatus(H),I()},t.prototype.reset=function(){this.status=G,I()},t.prototype.omit=function(){this.setStatus(K)},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(j)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(K)},t.prototype.isUntested=function(){return this.statusEquals(G)},t.prototype.isFailing=function(){return this.statusEquals(w)},t.prototype.isCanceled=function(){return this.statusEquals(H)},t.prototype.isSkipped=function(){return this.statusEquals(X)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(D)},t.prototype.statusEquals=function(t){return this.status===t},t}(),G="UNTESTED",X="SKIPPED",w="FAILED",D="WARNING",x="PASSING",j="PENDING",H="CANCELED",K="OMITTED";function M(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?p(n):n)}function q(t){function n(t,n,u){return r.references.push(),e(t,p(n,u)),function(){return[r.references[t],function(n){return e(t,p(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,l(n=u[n][1])&&n(e,i),l(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 B(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 V(t){return null==t}function Y(t){setTimeout((function(){throw Error(t)}),0)}function J(){return C.useX().testCursor.getCursor()}function z(){return C.useX().testCursor.next()}function Q(t,n){t=void 0===(t=t.type)?m.DEFAULT:t,M(l(n));var e={current:{},prev:{}},r=J();return C.run({isolate:{type:t,keys:e}},(function(){C.useX().testCursor.addLevel(),e.prev=function(){var t=S().testObjects()[0].prev;return[].concat(E(t,J())).reduce((function(t,n){return n instanceof W&&!V(n.key)?(t[n.key]=n,t):t}),{})}(),_((function(t){return E(t,r)[v(r)]=[],t}));var t=n();return C.useX().testCursor.removeLevel(),z(),t}))}var Z,$=Z||(Z={});$.WARNINGS="warnings",$.ERRORS="errors";var tt,nt=tt||(tt={});function et(t){return t===Z.ERRORS?tt.ERROR_COUNT:tt.WARN_COUNT}function rt(t){return!t||("number"==typeof t?0===t:Object.prototype.hasOwnProperty.call(t,"length")?s(t.length,0):"object"==typeof t&&s((t=Object.keys(t)).length,0))}nt.ERROR_COUNT="errorCount",nt.WARN_COUNT="warnCount";var ut=u(rt);function it(t,n){return!(!n||t.fieldName!==n)}function ot(t,n){return F().some((function(e){return e.hasFailures()?n&&!it(e,n)?e=!1:(e=e.warns(),e=t===Z.WARNINGS==!!e):e=!1,e}))}function st(t){if(t)var n,e=!0===(null===(n=T(t))||void 0===n?void 0:n[1]);else e=!1;return!!e||!ot(Z.ERRORS,t)&&(!rt(e=F())&&!function(t){return ut(k().filter((function(n){return!(t&&!it(n,t))&&!0!==A(n.fieldName)})))}(t)&&function(t){return F().every((function(n){return!(!t||it(n,t))||(!0===A(n.fieldName)||n.isTested()||n.isOmitted())}))}(t))}function at(){var t=C.useX().summary;return M(t),t}function ct(t,n){function e(t){var n=et(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(Z.ERRORS):n.isWarning()&&e(Z.WARNINGS)),o}function ft(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function lt(t,n){var e,r={},u=et(n);for(e in t)a(t[e][u],0)&&(r[e]=t[e][n]||[]);return r}function pt(t){return vt(Z.ERRORS,t)}function dt(t){return vt(Z.WARNINGS,t)}function vt(t,n){var e=at().tests;return n?ft(e,t,n):lt(e,t)}function ht(t,n){return Et(t,Z.ERRORS,n)}function gt(t,n){return Et(t,Z.WARNINGS,n)}function Et(t,n,e){return t=at().groups[t],e?ft(t,n,e):lt(t,n)}function Nt(t){return yt(tt.ERROR_COUNT,t)}function mt(t){return yt(tt.WARN_COUNT,t)}function yt(t,n){var e,r=at();return a(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t],0)}function Rt(t,n){return Ct(Z.ERRORS,t,n)}function bt(t,n){return Ct(Z.WARNINGS,t,n)}function Ct(t,n,e){var r,u,i=at();if(t=et(t),!(n=i.groups[n]))return!1;if(e)return a(null===(r=n[e])||void 0===r?void 0:r[t],0);for(var o in n)if(a(null===(u=n[o])||void 0===u?void 0:u[t],0))return!0;return!1}function St(t){var n,e=at();return t?!(null===(n=e.tests[t])||void 0===n||!n.valid):e.valid}var Tt=c(1);function Ot(){var t=F(),n={stateRef:S()};return Tt([t],C.bind(n,(function(){var t=function(){var t=F(),n=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=ct(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&st(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=ct(e[r],n)),t}),n),n.valid=st(),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)}(),n=S().suiteName()[0],e={summary:t};return i(t,{getErrors:C.bind(e,pt),getErrorsByGroup:C.bind(e,ht),getWarnings:C.bind(e,dt),getWarningsByGroup:C.bind(e,gt),hasErrors:C.bind(e,Nt),hasErrorsByGroup:C.bind(e,Rt),hasWarnings:C.bind(e,mt),hasWarningsByGroup:C.bind(e,bt),isValid:C.bind(e,St),suiteName:n})})))}function At(t){var n=k();return!rt(n)&&(t?n.some((function(n){return it(n,t)})):ut(n))}var It=c(20);function _t(){var t=F(),n={stateRef:S()};return It([t],C.bind(n,(function(){return i({},Ot(),{done:C.bind(n,Ft)})})))}function kt(t,n,e){return!(l(t)&&(!n||e.tests[n]&&!rt(e.tests[n].testCount)))}function Lt(t){return!(At()&&(!t||At(t)))}function Ft(){function t(){return r(Ot())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=_t(),kt(r,n,e)?e:Lt(n)?(t(),e):(Ut(t,n),e)}function Ut(t,n){(0,S().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Pt(t){return t.forEach((function(t){return t()}))}function Wt(){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(Xt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=S().testCallbacks()[0].fieldCallbacks;n&&!At(n)&&Array.isArray(e[n])&&Pt(e[n]),At()||t.emit(Xt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Xt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){n[t.fieldName]&&(t.omit(),O(t.fieldName,(function(t){return[t[0],!0]})))}if(!rt(S().optionalFields()[0])){var n={};_((function(e){return h(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))t(e);else{var r=A(e.fieldName);l(r)&&(n[e.fieldName]=r(),t(e))}return e}))}))}}()})),t.on(Xt.ALL_RUNNING_TESTS_FINISHED,(function(){Pt(S().testCallbacks()[0].doneCallbacks)})),t.on(Xt.REMOVE_FIELD,(function(t){F().forEach((function(n){it(n,t)&&(n.cancel(),function(t){_((function(n){return h(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Xt.RESET_FIELD,(function(t){F().forEach((function(n){it(n,t)&&n.reset()}))})),t}function Gt(){var t=C.useX();return M(t.bus),t.bus}var Xt,wt=Xt||(Xt={});function Dt(t){return jt(0,"tests",t)}function xt(t){return jt(1,"tests",t)}function jt(t,n,e){var u=C.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ht(t){for(var n in t)if(!0===t[n])return!0;return!1}function Kt(){var t,n=C.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Mt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function qt(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 Bt(t){var n=t.asyncTest,e=t.message;if(n&&l(n.then)){var u=Gt().emit,i=S(),o=C.bind({stateRef:i},(function(){I(),u(Xt.TEST_COMPLETED,t)}));i=C.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 Vt(t){var n=S().testObjects()[0].prev;if(rt(n))return Yt(t),t;var e=J();if(n=E(n,e)[v(e)],!V(t.key)){n=t.key,(e=C.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=C.useX().isolate.keys.current;return V(r[n])?r[n]=e:Y('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Yt(t),t}return!ut(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(C.useX().isolate.type===m.EACH||Y("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().testObjects(),n=t[1],e=t[0].prev;t=E(e,J());var r=C.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Yt(t=d(n,t)),t}function Yt(t){var n=J();_((function(e){return E(e,n)[v(n)]=t,e}))}function Jt(t){var n=R.EAGER;if(n=!(C.useX().mode[0]!==n||!ot(Z.ERRORS,t.fieldName)))return t.skip(),Vt(t),z(),t;if(n=Vt(t),C.useX().omitted)return n.omit(),z(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,C.useX().skipped)return!0;var e=C.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){var o=C.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:Kt())return!0;if(!0===r.groups[t])return!(i||!Ht(u)&&!1!==u[n])}return!!(t=!!Kt()&&!t)||!i&&!!Ht(u)&&!p(e[n])}(t))return n.skip(!!C.useX().skipped),z(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Yt(t),z(),t.isUntested()){n=Gt();var e=function(t){return C.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&l(e.then)?(t.asyncTest=e,t.setPending(),Bt(t)):n.emit(Xt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&l(n.then)&&(t.setPending(),Bt(t));return t}function zt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:qt([void 0],n,!0);n=u[0],e=u[1],u=u[2],M(r(t),Zt("fieldName","string")),M(l(e),Zt("Test callback","function"));var i=C.useX();return Jt(n=new W(t,e,{message:n,groupName:i.groupName,key:u}))}wt.TEST_COMPLETED="test_completed",wt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",wt.REMOVE_FIELD="remove_field",wt.RESET_FIELD="reset_field",wt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Dt.group=function(t){return jt(0,"groups",t)},xt.group=function(t){return jt(1,"groups",t)};var Qt=i(zt,{memo:function(t){var n=c(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=C.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[S().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)}))):Jt(r[1])}}(zt)});function Zt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var $t="4.3.4";function tn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],M(l(r),"vest.create: Expected callback to be a function.");var u=Wt(),o=q();return t={stateRef:B(o,{suiteId:e(),suiteName:t}),bus:u},i(C.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.reset(),Q({type:m.SUITE},(function(){r.apply(void 0,t)})),u.emit(Xt.SUITE_CALLBACK_DONE_RUNNING),_t()})),{get:C.bind(t,Ot),remove:C.bind(t,(function(t){u.emit(Xt.REMOVE_FIELD,t)})),reset:o.reset,resetField:C.bind(t,(function(t){u.emit(Xt.RESET_FIELD,t)}))})}function nn(t,n){M(l(n),"each callback must be a function"),Q({type:m.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function en(){var t=R.EAGER;C.useX().mode[0]=t}function rn(t,n){M(r(t),Mt("name must be a string")),M(l(n),Mt("callback must be a function")),Q({type:m.GROUP},(function(){C.run({groupName:t},n)}))}function un(t){var n=C.useX(),e=n.inclusion;return n=n.exclusion,M(r(t)),e[t]=d(n.tests[t],!0),{when:function(n){var e=C.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?d(u.tests[t],!0):r(n)?!!u.tests[n]:p(n,p(Ot))}}}}function on(t,n){Q({type:m.OMIT_WHEN},(function(){C.run({omitted:!!C.useX().omitted||p(t,p(Ot))},(function(){return n()}))}))}function sn(t){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){O(t,[!0,!1])}));else for(var n in t)O(n,[t[n],!1])}function an(t,n){Q({type:m.SKIP_WHEN},(function(){C.run({skipped:!!C.useX().skipped||p(t,p(Ot))},(function(){return n()}))}))}function cn(){var t=C.useX("warn hook called outside of a running suite.");M(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{$t as VERSION,C as context,tn as create,nn as each,en as eager,rn as group,un as include,on as omitWhen,Dt as only,sn as optional,xt as skip,an as skipWhen,Qt as test,cn as warn};
@@ -1428,10 +1428,13 @@
1428
1428
  }
1429
1429
  function collectAll(testGroup, severityKey) {
1430
1430
  var output = {};
1431
+ var countKey = countKeyBySeverity(severityKey);
1431
1432
  for (var field in testGroup) {
1432
- // We will probably never get to the fallback array
1433
- // leaving it just in case the implementation changes
1434
- output[field] = testGroup[field][severityKey] || [];
1433
+ if (isPositive(testGroup[field][countKey])) {
1434
+ // We will probably never get to the fallback array
1435
+ // leaving it just in case the implementation changes
1436
+ output[field] = testGroup[field][severityKey] || [];
1437
+ }
1435
1438
  }
1436
1439
  return output;
1437
1440
  }
@@ -2397,7 +2400,7 @@
2397
2400
  ctx.currentTest.warn();
2398
2401
  }
2399
2402
 
2400
- var VERSION = "4.3.3";
2403
+ var VERSION = "4.3.4";
2401
2404
 
2402
2405
  exports.VERSION = VERSION;
2403
2406
  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 d(n,t){return l(n,t)||f(n,t)}function p(n){return!!Array.isArray(n)}function v(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function h(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function N(n,t){return l(n,t)||h(n,t)}function g(n,t,e){return d(n,t)&&N(n,e)}function E(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function y(n){return"number"==typeof n}function b(n,t){return l(n.length,t)}function R(n){return!n||(y(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?b(n,0):"object"==typeof n&&b(Object.keys(n),0))}function O(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return f(n,0)}function C(n){return!!n}function _(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function I(n,t){return f(n.length,t)}function A(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function k(n,t){return o(n)&&o(t)&&n.startsWith(t)}function L(n){for(var e in Ot){var r=Ot[e];t(r)&&n(e,r)}}function w(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=w(n))&&void 0!==e?e:t}function F(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?w(t):t)}function P(n){function t(t,u){var i,o,s=e();return t=tt({},s||{},null!==(i=w(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){return F(r.ctx,W(n,"Context was used after it was closed")),r.ctx}}}function U(){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 X(){try{return t(Proxy)}catch(n){return!1}}function G(n,t){return n={pass:n},t&&(n.message=t),n}function D(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return F(m(n)||n&&m(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),m(n)?G(n):G(n.pass,w.apply(void 0,x([n.message,t,e],r,!1)))}function q(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return F((i=D.apply(void 0,x([St.run({value:n},(function(){return e.apply(void 0,x([n],u,!1))})),r,n],u,!1))).pass,R(i.message)?"enforce/".concat(r," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var e={};if(!X())return L((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=Ot[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 K(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=Ot[r];e.push((function(n){return D.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=St.run({value:n},(function(){return e(n)}));i.pass||r(G(!!i.pass,null!==(u=w(t,n,i.message))&&void 0!==u?u:i.message))})),G(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return X()?s=new Proxy(s,{get:function(t,e){return Ot[e]?n(e):t[e]}}):(L((function(t){s[t]=n(t)})),s)}}(n)}function B(n){function t(n){return e.findIndex((function(t){var e=t[0];return b(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 H(n){return(n=[].concat(n))[n.length-1]}function M(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(M(u,t)):(u=t(u),et(u)&&e.push(u))}return e}function V(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(V(t)):[].concat(n).concat(t)}),[])}function J(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 Y(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return H(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,H(t)},removeLevel:function(){t.pop()},reset:n}}function z(){return It.useX().stateRef}function Q(n){return z().optionalFields()[0][n]}function Z(n,t){(0,z().optionalFields()[1])((function(e){var r;return tt(e,((r={})[n]=w(t,e[n]),r))}))}function $(n){var t;return null===(t=Q(n))||void 0===t?void 0:t[0]}function nn(){tn((function(n){return n}))}function tn(n){(0,z().testObjects()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function en(){return rn().filter((function(n){return n.isPending()}))}function rn(){var n=z().testObjects()[0].current;return At([n],(function(){return V(n)}))}function un(n){function e(n,t,e){return u.references.push(),r(n,w(t,e)),function(){return[u.references[n],function(t){return r(n,w(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 on(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 sn(n){setTimeout((function(){throw Error(n)}),0)}function an(){return It.useX().testCursor.getCursor()}function cn(){return It.useX().testCursor.next()}function fn(n,e){n=void 0===(n=n.type)?Zn.DEFAULT:n,F(t(e));var r={current:{},prev:{}},u=an();return It.run({isolate:{type:n,keys:r}},(function(){It.useX().testCursor.addLevel(),r.prev=function(){var n=z().testObjects()[0].prev;return[].concat(J(n,an())).reduce((function(n,t){return t instanceof wt&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),tn((function(n){return J(n,u)[H(u)]=[],n}));var n=e();return It.useX().testCursor.removeLevel(),cn(),n}))}function ln(n,t){return!(!t||n.fieldName!==t)}function dn(n,t){return rn().some((function(e){return e.hasFailures()?t&&!ln(e,t)?e=!1:(e=e.warns(),e=n===kt.WARNINGS==!!e):e=!1,e}))}function pn(n){if(n)var t,e=!0===(null===(t=Q(n))||void 0===t?void 0:t[1]);else e=!1;return!!e||!dn(kt.ERRORS,n)&&(!R(e=rn())&&!function(n){return Nt(en().filter((function(t){return!(n&&!ln(t,n))&&!0!==$(t.fieldName)})))}(n)&&function(n){return rn().every((function(t){return!(!n||ln(t,n))||(!0===$(t.fieldName)||t.isTested()||t.isOmitted())}))}(n))}function vn(){var n=It.useX().summary;return F(n),n}function hn(n,t){function e(n){i[n===kt.ERRORS?Lt.ERROR_COUNT:Lt.WARN_COUNT]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||tt({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(kt.ERRORS):t.isWarning()&&e(kt.WARNINGS)),i}function Nn(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}function gn(n,t){var e,r={};for(e in n)r[e]=n[e][t]||[];return r}function En(n){return yn(kt.ERRORS,n)}function mn(n){return yn(kt.WARNINGS,n)}function yn(n,t){var e=vn().tests;return t?Nn(e,n,t):gn(e,n)}function bn(n,t){return On(n,kt.ERRORS,t)}function Rn(n,t){return On(n,kt.WARNINGS,t)}function On(n,t,e){return n=vn().groups[n],e?Nn(n,t,e):gn(n,t)}function Sn(n){return Cn(Lt.ERROR_COUNT,n)}function Tn(n){return Cn(Lt.WARN_COUNT,n)}function Cn(n,t){var e,r=vn();return T(t?null===(e=r.tests[t])||void 0===e?void 0:e[n]:r[n])}function _n(n,t){return An(kt.ERRORS,n,t)}function In(n,t){return An(kt.WARNINGS,n,t)}function An(n,t,e){var r,u,i=vn();if(n=n===kt.ERRORS?Lt.ERROR_COUNT:Lt.WARN_COUNT,!(t=i.groups[t]))return!1;if(e)return T(null===(r=t[e])||void 0===r?void 0:r[n]);for(var o in t)if(T(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function kn(n){var t,e=vn();return n?!(null===(t=e.tests[n])||void 0===t||!t.valid):e.valid}function Ln(){var n=rn(),t={stateRef:z()};return jt([n],It.bind(t,(function(){var n=function(){var n=rn(),t=tt({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){var e=n.tests;e[t.fieldName]=hn(e,t),e[t.fieldName].valid=!1!==e[t.fieldName].valid&&pn(t.fieldName),e=n.groups;var r=t.groupName;return r&&(e[r]=e[r]||{},e[r][t.fieldName]=hn(e[r],t)),n}),t),t.valid=pn(),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)}(),t=z().suiteName()[0],e={summary:n};return tt(n,{getErrors:It.bind(e,En),getErrorsByGroup:It.bind(e,bn),getWarnings:It.bind(e,mn),getWarningsByGroup:It.bind(e,Rn),hasErrors:It.bind(e,Sn),hasErrorsByGroup:It.bind(e,_n),hasWarnings:It.bind(e,Tn),hasWarningsByGroup:It.bind(e,In),isValid:It.bind(e,kn),suiteName:t})})))}function wn(n){var t=en();return!R(t)&&(n?t.some((function(t){return ln(t,n)})):Nt(t))}function Wn(){var n=rn(),t={stateRef:z()};return Kt([n],It.bind(t,(function(){return tt({},Ln(),{done:It.bind(t,Bt)})})))}function Fn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!R(r.tests[e].testCount)))}function Pn(n){return!(wn()&&(!n||wn(n)))}function Un(n,t){(0,z().testCallbacks()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function xn(n){return n.forEach((function(n){return n()}))}function Xn(){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(qt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var e=z().testCallbacks()[0].fieldCallbacks;t&&!wn(t)&&p(e[t])&&xn(e[t]),wn()||n.emit(qt.ALL_RUNNING_TESTS_FINISHED)}})),n.on(qt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),Z(n.fieldName,(function(n){return[n[0],!0]})))}if(!R(z().optionalFields()[0])){var e={};tn((function(r){return M(r,(function(r){if(Object.prototype.hasOwnProperty.call(e,r.fieldName))n(r);else{var u=$(r.fieldName);t(u)&&(e[r.fieldName]=u(),n(r))}return r}))}))}}()})),n.on(qt.ALL_RUNNING_TESTS_FINISHED,(function(){xn(z().testCallbacks()[0].doneCallbacks)})),n.on(qt.REMOVE_FIELD,(function(n){rn().forEach((function(t){ln(t,n)&&(t.cancel(),function(n){tn((function(t){return M(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(qt.RESET_FIELD,(function(n){rn().forEach((function(t){ln(t,n)&&t.reset()}))})),n}function Gn(){var n=It.useX();return F(n.bus),n.bus}function Dn(n){return jn(0,"tests",n)}function qn(n){return jn(1,"tests",n)}function jn(n,t,e){var r=It.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Kn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Bn(){var n,t=It.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function Hn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Mn(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=Gn().emit,i=z(),s=It.bind({stateRef:i},(function(){nn(),u(qt.TEST_COMPLETED,n)}));i=It.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 Vn(n){var t=z().testObjects()[0].prev;if(R(t))return Jn(n),n;var e=an();if(t=J(t,e)[H(e)],!i(n.key)){t=n.key,(e=It.useX().isolate.keys.prev[t])&&(n=e),e=n;var r=It.useX().isolate.keys.current;return i(r[t])?r[t]=e:sn('Encountered the same test key "'.concat(t,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Jn(n),n}return!Nt(e=t)||e.fieldName===n.fieldName&&e.groupName===n.groupName||(It.useX().isolate.type===Zn.EACH||sn("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(n.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var n=z().testObjects(),t=n[1],e=n[0].prev;n=J(e,an());var r=It.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),Jn(n=W(t,n)),n}function Jn(n){var t=an();tn((function(e){return J(e,t)[H(t)]=n,e}))}function Yn(n){var e=nt.EAGER;if(e=!(It.useX().mode[0]!==e||!dn(kt.ERRORS,n.fieldName)))return n.skip(),Vn(n),cn(),n;if(e=Vn(n),It.useX().omitted)return e.omit(),cn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,It.useX().skipped)return!0;var e=It.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){var o=It.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,n)?!1===o[n]:Bn())return!0;if(!0===r.groups[n])return!(i||!Kn(u)&&!1!==u[t])}return!!(n=!!Bn()&&!n)||!i&&!!Kn(u)&&!w(e[t])}(n))return e.skip(!!It.useX().skipped),cn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Jn(n),cn(),n.isUntested()){e=Gn();var r=function(n){return It.run({currentTest:n},(function(){return n.run()}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Mn(n)):e.emit(qt.TEST_COMPLETED,n)}catch(t){throw Error("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(),Mn(n));return n}function zn(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],F(o(n),Qn("fieldName","string")),F(t(r),Qn("Test callback","function"));var i=It.useX();return Yn(e=new wt(n,r,{message:e,groupName:i.groupName,key:u}))}function Qn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}var Zn,$n,nt,tt=Object.assign,et=e(r),rt=e(u),ut=e(i),it=e(s),ot=e(a),st=e(c),at=e(l),ct=e(p),ft=e(v),lt=e(g),dt=e(E),pt=e(m),vt=e(y),ht=e(b),Nt=e(R),gt=e(O),Et=e(S),mt=e(o),yt=e(C),bt=e(_),Rt=e(A),Ot={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:it,doesNotStartWith:e(k),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:d,gt:f,gte:d,inside:v,isArray:p,isBetween:g,isBlank:E,isBoolean:m,isEmpty:R,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:yt,isKeyOf:O,isNaN:S,isNegative:function(n){return h(n,0)},isNotArray:ct,isNotBetween:lt,isNotBlank:dt,isNotBoolean:pt,isNotEmpty:Nt,isNotKeyOf:gt,isNotNaN:Et,isNotNull:et,isNotNullish:ut,isNotNumber:vt,isNotNumeric:st,isNotString:mt,isNotUndefined:rt,isNotValueOf:bt,isNull:r,isNullish:i,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:T,isString:o,isTruthy:C,isUndefined:u,isValueOf:_,lengthEquals:b,lengthNotEquals:ht,lessThan:h,lessThanOrEquals:N,longerThan:I,longerThanOrEquals:function(n,t){return d(n.length,t)},lt:h,lte:N,matches:A,notEquals:ot,notInside:ft,notMatches:Rt,numberEquals:l,numberNotEquals:at,shorterThan:function(n,t){return h(n.length,t)},shorterThanOrEquals:function(n,t){return N(n.length,t)},startsWith:k},St=P((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?tt(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:tt(e,{parent:U})})),Tt=function(){function n(){if(!X())return L((function(n){t[n]=K(n)})),tt(q,t)}var t={context:function(){return St.useX()},extend:function(t){tt(Ot,t),n()}};return n(),new Proxy(tt(q,t),{get:function(n,t){return t in n?n[t]:Ot[t]?K(t):void 0}})}(),Ct=($n=0,function(){return"".concat($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"}(Zn||(Zn={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(nt||(nt={}));var _t,It=P((function(n,t){return t?null:tt({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Zn.DEFAULT,keys:{current:{},prev:{}}},mode:[nt.ALL],testCursor:Y()},n)})),At=B();!function(n){n.Error="error",n.Warning="warning"}(_t||(_t={}));var kt,Lt,wt=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=Ct(),this.severity=_t.Error,this.status=Wt,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!==Dt||(this.status=n)},n.prototype.warns=function(){return this.severity===_t.Warning},n.prototype.setPending=function(){this.setStatus(Xt)},n.prototype.fail=function(){this.setStatus(this.warns()?Ut:Pt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(xt)},n.prototype.warn=function(){this.severity=_t.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(Ft)},n.prototype.cancel=function(){this.setStatus(Gt),nn()},n.prototype.reset=function(){this.status=Wt,nn()},n.prototype.omit=function(){this.setStatus(Dt)},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(Xt)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Dt)},n.prototype.isUntested=function(){return this.statusEquals(Wt)},n.prototype.isFailing=function(){return this.statusEquals(Pt)},n.prototype.isCanceled=function(){return this.statusEquals(Gt)},n.prototype.isSkipped=function(){return this.statusEquals(Ft)},n.prototype.isPassing=function(){return this.statusEquals(xt)},n.prototype.isWarning=function(){return this.statusEquals(Ut)},n.prototype.statusEquals=function(n){return this.status===n},n}(),Wt="UNTESTED",Ft="SKIPPED",Pt="FAILED",Ut="WARNING",xt="PASSING",Xt="PENDING",Gt="CANCELED",Dt="OMITTED";!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(kt||(kt={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(Lt||(Lt={}));var qt,jt=B(1),Kt=B(20),Bt=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=Wn(),Fn(e,n,t))return t;var r=function(){return e(Ln())};return Pn(n)?(r(),t):(Un(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"}(qt||(qt={})),Dn.group=function(n){return jn(0,"groups",n)},qn.group=function(n){return jn(1,"groups",n)};var Ht=tt(zn,{memo:function(n){var t=B(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=It.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[z().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)}))):Yn(r[1])}}(zn)});n.VERSION="4.3.3",n.context=It,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],F(t(r),"vest.create: Expected callback to be a function.");var u=Xn(),i=un();return n={stateRef:on(i,{suiteId:Ct(),suiteName:n}),bus:u},tt(It.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),fn({type:Zn.SUITE},(function(){r.apply(void 0,n)})),u.emit(qt.SUITE_CALLBACK_DONE_RUNNING),Wn()})),{get:It.bind(n,Ln),remove:It.bind(n,(function(n){u.emit(qt.REMOVE_FIELD,n)})),reset:i.reset,resetField:It.bind(n,(function(n){u.emit(qt.RESET_FIELD,n)}))})},n.each=function(n,e){F(t(e),"each callback must be a function"),fn({type:Zn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.eager=function(){var n=nt.EAGER;It.useX().mode[0]=n},n.enforce=Tt,n.group=function(n,e){F(o(n),Hn("name must be a string")),F(t(e),Hn("callback must be a function")),fn({type:Zn.GROUP},(function(){It.run({groupName:n},e)}))},n.include=function(n){var t=It.useX(),e=t.inclusion;return t=t.exclusion,F(o(n)),e[n]=W(t.tests[n],!0),{when:function(t){var e=It.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]:w(t,w(Ln))}}}},n.omitWhen=function(n,t){fn({type:Zn.OMIT_WHEN},(function(){It.run({omitted:!!It.useX().omitted||w(n,w(Ln))},(function(){return t()}))}))},n.only=Dn,n.optional=function(n){if(p(n)||o(n))[].concat(n).forEach((function(n){Z(n,[!0,!1])}));else for(var t in n)Z(t,[n[t],!1])},n.skip=qn,n.skipWhen=function(n,t){fn({type:Zn.SKIP_WHEN},(function(){It.run({skipped:!!It.useX().skipped||w(n,w(Ln))},(function(){return t()}))}))},n.test=Ht,n.warn=function(){var n=It.useX("warn hook called outside of a running suite.");F(n.currentTest,"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 d(n,t){return l(n,t)||f(n,t)}function p(n){return!!Array.isArray(n)}function v(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function h(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function g(n,t){return l(n,t)||h(n,t)}function N(n,t,e){return d(n,t)&&g(n,e)}function E(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function y(n){return"number"==typeof n}function b(n,t){return l(n.length,t)}function O(n){return!n||(y(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?b(n,0):"object"==typeof n&&b(Object.keys(n),0))}function S(n,t){return n in t}function R(n){return Number.isNaN(n)}function T(n){return f(n,0)}function C(n){return!!n}function I(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function _(n,t){return f(n.length,t)}function A(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function k(n,t){return o(n)&&o(t)&&n.startsWith(t)}function L(n){for(var e in Rt){var r=Rt[e];t(r)&&n(e,r)}}function w(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=w(n))&&void 0!==e?e:t}function F(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?w(t):t)}function P(n){function t(t,u){var i,o,s=e();return t=et({},s||{},null!==(i=w(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){return F(r.ctx,W(n,"Context was used after it was closed")),r.ctx}}}function x(){return null}function U(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 X(){try{return t(Proxy)}catch(n){return!1}}function G(n,t){return n={pass:n},t&&(n.message=t),n}function D(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return F(m(n)||n&&m(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),m(n)?G(n):G(n.pass,w.apply(void 0,U([n.message,t,e],r,!1)))}function q(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return F((i=D.apply(void 0,U([Tt.run({value:n},(function(){return e.apply(void 0,U([n],u,!1))})),r,n],u,!1))).pass,O(i.message)?"enforce/".concat(r," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var e={};if(!X())return L((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=Rt[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 K(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=Rt[r];e.push((function(n){return D.apply(void 0,U([o.apply(void 0,U([n],u,!1)),r,n],u,!1))}));var s={run:function(n){return W(j(e,(function(e,r){var u,i=Tt.run({value:n},(function(){return e(n)}));i.pass||r(G(!!i.pass,null!==(u=w(t,n,i.message))&&void 0!==u?u:i.message))})),G(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return X()?s=new Proxy(s,{get:function(t,e){return Rt[e]?n(e):t[e]}}):(L((function(t){s[t]=n(t)})),s)}}(n)}function B(n){function t(n){return e.findIndex((function(t){var e=t[0];return b(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]),_(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 H(n){return(n=[].concat(n))[n.length-1]}function M(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(M(u,t)):(u=t(u),rt(u)&&e.push(u))}return e}function V(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(V(t)):[].concat(n).concat(t)}),[])}function J(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 Y(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return H(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,H(t)},removeLevel:function(){t.pop()},reset:n}}function z(){return At.useX().stateRef}function Q(n){return z().optionalFields()[0][n]}function Z(n,t){(0,z().optionalFields()[1])((function(e){var r;return et(e,((r={})[n]=w(t,e[n]),r))}))}function $(n){var t;return null===(t=Q(n))||void 0===t?void 0:t[0]}function nn(){tn((function(n){return n}))}function tn(n){(0,z().testObjects()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function en(){return rn().filter((function(n){return n.isPending()}))}function rn(){var n=z().testObjects()[0].current;return kt([n],(function(){return V(n)}))}function un(n){function e(n,t,e){return u.references.push(),r(n,w(t,e)),function(){return[u.references[n],function(t){return r(n,w(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 on(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 sn(n){setTimeout((function(){throw Error(n)}),0)}function an(){return At.useX().testCursor.getCursor()}function cn(){return At.useX().testCursor.next()}function fn(n,e){n=void 0===(n=n.type)?$n.DEFAULT:n,F(t(e));var r={current:{},prev:{}},u=an();return At.run({isolate:{type:n,keys:r}},(function(){At.useX().testCursor.addLevel(),r.prev=function(){var n=z().testObjects()[0].prev;return[].concat(J(n,an())).reduce((function(n,t){return t instanceof Wt&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),tn((function(n){return J(n,u)[H(u)]=[],n}));var n=e();return At.useX().testCursor.removeLevel(),cn(),n}))}function ln(n){return n===Lt.ERRORS?wt.ERROR_COUNT:wt.WARN_COUNT}function dn(n,t){return!(!t||n.fieldName!==t)}function pn(n,t){return rn().some((function(e){return e.hasFailures()?t&&!dn(e,t)?e=!1:(e=e.warns(),e=n===Lt.WARNINGS==!!e):e=!1,e}))}function vn(n){if(n)var t,e=!0===(null===(t=Q(n))||void 0===t?void 0:t[1]);else e=!1;return!!e||!pn(Lt.ERRORS,n)&&(!O(e=rn())&&!function(n){return Nt(en().filter((function(t){return!(n&&!dn(t,n))&&!0!==$(t.fieldName)})))}(n)&&function(n){return rn().every((function(t){return!(!n||dn(t,n))||(!0===$(t.fieldName)||t.isTested()||t.isOmitted())}))}(n))}function hn(){var n=At.useX().summary;return F(n),n}function gn(n,t){function e(n){var t=ln(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||et({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(Lt.ERRORS):t.isWarning()&&e(Lt.WARNINGS)),i}function Nn(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}function En(n,t){var e,r={},u=ln(t);for(e in n)T(n[e][u])&&(r[e]=n[e][t]||[]);return r}function mn(n){return bn(Lt.ERRORS,n)}function yn(n){return bn(Lt.WARNINGS,n)}function bn(n,t){var e=hn().tests;return t?Nn(e,n,t):En(e,n)}function On(n,t){return Rn(n,Lt.ERRORS,t)}function Sn(n,t){return Rn(n,Lt.WARNINGS,t)}function Rn(n,t,e){return n=hn().groups[n],e?Nn(n,t,e):En(n,t)}function Tn(n){return In(wt.ERROR_COUNT,n)}function Cn(n){return In(wt.WARN_COUNT,n)}function In(n,t){var e,r=hn();return T(t?null===(e=r.tests[t])||void 0===e?void 0:e[n]:r[n])}function _n(n,t){return kn(Lt.ERRORS,n,t)}function An(n,t){return kn(Lt.WARNINGS,n,t)}function kn(n,t,e){var r,u,i=hn();if(n=ln(n),!(t=i.groups[t]))return!1;if(e)return T(null===(r=t[e])||void 0===r?void 0:r[n]);for(var o in t)if(T(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function Ln(n){var t,e=hn();return n?!(null===(t=e.tests[n])||void 0===t||!t.valid):e.valid}function wn(){var n=rn(),t={stateRef:z()};return Kt([n],At.bind(t,(function(){var n=function(){var n=rn(),t=et({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){var e=n.tests;e[t.fieldName]=gn(e,t),e[t.fieldName].valid=!1!==e[t.fieldName].valid&&vn(t.fieldName),e=n.groups;var r=t.groupName;return r&&(e[r]=e[r]||{},e[r][t.fieldName]=gn(e[r],t)),n}),t),t.valid=vn(),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)}(),t=z().suiteName()[0],e={summary:n};return et(n,{getErrors:At.bind(e,mn),getErrorsByGroup:At.bind(e,On),getWarnings:At.bind(e,yn),getWarningsByGroup:At.bind(e,Sn),hasErrors:At.bind(e,Tn),hasErrorsByGroup:At.bind(e,_n),hasWarnings:At.bind(e,Cn),hasWarningsByGroup:At.bind(e,An),isValid:At.bind(e,Ln),suiteName:t})})))}function Wn(n){var t=en();return!O(t)&&(n?t.some((function(t){return dn(t,n)})):Nt(t))}function Fn(){var n=rn(),t={stateRef:z()};return Bt([n],At.bind(t,(function(){return et({},wn(),{done:At.bind(t,Ht)})})))}function Pn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!O(r.tests[e].testCount)))}function xn(n){return!(Wn()&&(!n||Wn(n)))}function Un(n,t){(0,z().testCallbacks()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function Xn(n){return n.forEach((function(n){return n()}))}function Gn(){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(jt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var e=z().testCallbacks()[0].fieldCallbacks;t&&!Wn(t)&&p(e[t])&&Xn(e[t]),Wn()||n.emit(jt.ALL_RUNNING_TESTS_FINISHED)}})),n.on(jt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),Z(n.fieldName,(function(n){return[n[0],!0]})))}if(!O(z().optionalFields()[0])){var e={};tn((function(r){return M(r,(function(r){if(Object.prototype.hasOwnProperty.call(e,r.fieldName))n(r);else{var u=$(r.fieldName);t(u)&&(e[r.fieldName]=u(),n(r))}return r}))}))}}()})),n.on(jt.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(z().testCallbacks()[0].doneCallbacks)})),n.on(jt.REMOVE_FIELD,(function(n){rn().forEach((function(t){dn(t,n)&&(t.cancel(),function(n){tn((function(t){return M(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(jt.RESET_FIELD,(function(n){rn().forEach((function(t){dn(t,n)&&t.reset()}))})),n}function Dn(){var n=At.useX();return F(n.bus),n.bus}function qn(n){return Kn(0,"tests",n)}function jn(n){return Kn(1,"tests",n)}function Kn(n,t,e){var r=At.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Bn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Hn(){var n,t=At.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function Mn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Vn(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=Dn().emit,i=z(),s=At.bind({stateRef:i},(function(){nn(),u(jt.TEST_COMPLETED,n)}));i=At.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 Jn(n){var t=z().testObjects()[0].prev;if(O(t))return Yn(n),n;var e=an();if(t=J(t,e)[H(e)],!i(n.key)){t=n.key,(e=At.useX().isolate.keys.prev[t])&&(n=e),e=n;var r=At.useX().isolate.keys.current;return i(r[t])?r[t]=e:sn('Encountered the same test key "'.concat(t,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Yn(n),n}return!Nt(e=t)||e.fieldName===n.fieldName&&e.groupName===n.groupName||(At.useX().isolate.type===$n.EACH||sn("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.fieldName,"\n received: ").concat(n.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var n=z().testObjects(),t=n[1],e=n[0].prev;n=J(e,an());var r=At.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),Yn(n=W(t,n)),n}function Yn(n){var t=an();tn((function(e){return J(e,t)[H(t)]=n,e}))}function zn(n){var e=tt.EAGER;if(e=!(At.useX().mode[0]!==e||!pn(Lt.ERRORS,n.fieldName)))return n.skip(),Jn(n),cn(),n;if(e=Jn(n),At.useX().omitted)return e.omit(),cn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,At.useX().skipped)return!0;var e=At.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){var o=At.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,n)?!1===o[n]:Hn())return!0;if(!0===r.groups[n])return!(i||!Bn(u)&&!1!==u[t])}return!!(n=!!Hn()&&!n)||!i&&!!Bn(u)&&!w(e[t])}(n))return e.skip(!!At.useX().skipped),cn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Yn(n),cn(),n.isUntested()){e=Dn();var r=function(n){return At.run({currentTest:n},(function(){return n.run()}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Vn(n)):e.emit(jt.TEST_COMPLETED,n)}catch(t){throw Error("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(),Vn(n));return n}function Qn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:U([void 0],e,!0);e=u[0],r=u[1],u=u[2],F(o(n),Zn("fieldName","string")),F(t(r),Zn("Test callback","function"));var i=At.useX();return zn(e=new Wt(n,r,{message:e,groupName:i.groupName,key:u}))}function Zn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}var $n,nt,tt,et=Object.assign,rt=e(r),ut=e(u),it=e(i),ot=e(s),st=e(a),at=e(c),ct=e(l),ft=e(p),lt=e(v),dt=e(N),pt=e(E),vt=e(m),ht=e(y),gt=e(b),Nt=e(O),Et=e(S),mt=e(R),yt=e(o),bt=e(C),Ot=e(I),St=e(A),Rt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:ot,doesNotStartWith:e(k),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:d,gt:f,gte:d,inside:v,isArray:p,isBetween:N,isBlank:E,isBoolean:m,isEmpty:O,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:bt,isKeyOf:S,isNaN:R,isNegative:function(n){return h(n,0)},isNotArray:ft,isNotBetween:dt,isNotBlank:pt,isNotBoolean:vt,isNotEmpty:Nt,isNotKeyOf:Et,isNotNaN:mt,isNotNull:rt,isNotNullish:it,isNotNumber:ht,isNotNumeric:at,isNotString:yt,isNotUndefined:ut,isNotValueOf:Ot,isNull:r,isNullish:i,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:T,isString:o,isTruthy:C,isUndefined:u,isValueOf:I,lengthEquals:b,lengthNotEquals:gt,lessThan:h,lessThanOrEquals:g,longerThan:_,longerThanOrEquals:function(n,t){return d(n.length,t)},lt:h,lte:g,matches:A,notEquals:st,notInside:lt,notMatches:St,numberEquals:l,numberNotEquals:ct,shorterThan:function(n,t){return h(n.length,t)},shorterThanOrEquals:function(n,t){return g(n.length,t)},startsWith:k},Tt=P((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?et(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:et(e,{parent:x})})),Ct=function(){function n(){if(!X())return L((function(n){t[n]=K(n)})),et(q,t)}var t={context:function(){return Tt.useX()},extend:function(t){et(Rt,t),n()}};return n(),new Proxy(et(q,t),{get:function(n,t){return t in n?n[t]:Rt[t]?K(t):void 0}})}(),It=(nt=0,function(){return"".concat(nt++)});!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"}($n||($n={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(tt||(tt={}));var _t,At=P((function(n,t){return t?null:et({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:$n.DEFAULT,keys:{current:{},prev:{}}},mode:[tt.ALL],testCursor:Y()},n)})),kt=B();!function(n){n.Error="error",n.Warning="warning"}(_t||(_t={}));var Lt,wt,Wt=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=It(),this.severity=_t.Error,this.status=Ft,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!==qt||(this.status=n)},n.prototype.warns=function(){return this.severity===_t.Warning},n.prototype.setPending=function(){this.setStatus(Gt)},n.prototype.fail=function(){this.setStatus(this.warns()?Ut:xt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Xt)},n.prototype.warn=function(){this.severity=_t.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(Pt)},n.prototype.cancel=function(){this.setStatus(Dt),nn()},n.prototype.reset=function(){this.status=Ft,nn()},n.prototype.omit=function(){this.setStatus(qt)},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(Gt)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(qt)},n.prototype.isUntested=function(){return this.statusEquals(Ft)},n.prototype.isFailing=function(){return this.statusEquals(xt)},n.prototype.isCanceled=function(){return this.statusEquals(Dt)},n.prototype.isSkipped=function(){return this.statusEquals(Pt)},n.prototype.isPassing=function(){return this.statusEquals(Xt)},n.prototype.isWarning=function(){return this.statusEquals(Ut)},n.prototype.statusEquals=function(n){return this.status===n},n}(),Ft="UNTESTED",Pt="SKIPPED",xt="FAILED",Ut="WARNING",Xt="PASSING",Gt="PENDING",Dt="CANCELED",qt="OMITTED";!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(Lt||(Lt={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(wt||(wt={}));var jt,Kt=B(1),Bt=B(20),Ht=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=Fn(),Pn(e,n,t))return t;var r=function(){return e(wn())};return xn(n)?(r(),t):(Un(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"}(jt||(jt={})),qn.group=function(n){return Kn(0,"groups",n)},jn.group=function(n){return Kn(1,"groups",n)};var Mt=et(Qn,{memo:function(n){var t=B(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=At.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[z().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)}))):zn(r[1])}}(Qn)});n.VERSION="4.3.4",n.context=At,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],F(t(r),"vest.create: Expected callback to be a function.");var u=Gn(),i=un();return n={stateRef:on(i,{suiteId:It(),suiteName:n}),bus:u},et(At.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),fn({type:$n.SUITE},(function(){r.apply(void 0,n)})),u.emit(jt.SUITE_CALLBACK_DONE_RUNNING),Fn()})),{get:At.bind(n,wn),remove:At.bind(n,(function(n){u.emit(jt.REMOVE_FIELD,n)})),reset:i.reset,resetField:At.bind(n,(function(n){u.emit(jt.RESET_FIELD,n)}))})},n.each=function(n,e){F(t(e),"each callback must be a function"),fn({type:$n.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.eager=function(){var n=tt.EAGER;At.useX().mode[0]=n},n.enforce=Ct,n.group=function(n,e){F(o(n),Mn("name must be a string")),F(t(e),Mn("callback must be a function")),fn({type:$n.GROUP},(function(){At.run({groupName:n},e)}))},n.include=function(n){var t=At.useX(),e=t.inclusion;return t=t.exclusion,F(o(n)),e[n]=W(t.tests[n],!0),{when:function(t){var e=At.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]:w(t,w(wn))}}}},n.omitWhen=function(n,t){fn({type:$n.OMIT_WHEN},(function(){At.run({omitted:!!At.useX().omitted||w(n,w(wn))},(function(){return t()}))}))},n.only=qn,n.optional=function(n){if(p(n)||o(n))[].concat(n).forEach((function(n){Z(n,[!0,!1])}));else for(var t in n)Z(t,[n[t],!1])},n.skip=jn,n.skipWhen=function(n,t){fn({type:$n.SKIP_WHEN},(function(){At.run({skipped:!!At.useX().skipped||w(n,w(wn))},(function(){return t()}))}))},n.test=Mt,n.warn=function(){var n=At.useX("warn hook called outside of a running suite.");F(n.currentTest,"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.3.3",
2
+ "version": "4.3.4",
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": "^2.0.5",
24
- "n4s": "^4.1.6"
23
+ "context": "^2.0.6",
24
+ "n4s": "^4.1.7"
25
25
  },
26
26
  "homepage": "https://vestjs.dev/",
27
27
  "exports": {
package/types/vest.d.ts CHANGED
@@ -356,6 +356,6 @@ declare const test: typeof testBase & {
356
356
  * Sets a running test to warn only mode.
357
357
  */
358
358
  declare function warn(): void;
359
- declare const VERSION = "4.3.3";
359
+ declare const VERSION = "4.3.4";
360
360
  export { test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include, eager };
361
361
  export type { SuiteResult, SuiteRunResult, SuiteSummary, VestTest, Suite };