vest 4.2.0 → 4.2.1-dev-ee64be

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e,r=require("n4s"),u=require("context"),i=Object.assign,o=(n=0,function(){return"".concat(n++)});function s(n){return"function"==typeof n}function c(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return s(n)?n.apply(void 0,t):n}function a(n,t){var e;return null!==(e=c(n))&&void 0!==e?e:t}function f(n,t){throw Error(a(t,n))}function l(n,t){setTimeout((function(){f(n,t)}),0)}function p(n){function t(n,t,u){return r.references.push(),e(n,c(t,u)),function(){return[r.references[n],function(t){return e(n,c(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,s(t=u[t][1])&&t(e,i),s(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 d(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 v(n){return[].concat(n)}function g(n){return(n=v(n))[n.length-1]}function h(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return g(t)},getCursor:function(){return v(t)},next:function(){return t[t.length-1]++,g(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"}(t||(t={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(e||(e={}));var E=u.createContext((function(n,r){return r?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:t.DEFAULT,keys:{current:{},prev:{}}},mode:[e.ALL],testCursor:h()},n)}));function m(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function y(n){return!!Array.isArray(n)}function N(n){return null===n}var S=m(N);function b(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];y(u)?e.push(b(u,t)):(u=t(u),S(u)&&e.push(u))}return e}function C(n,t,e){return T(n,t)[g(t)]=e,n}function R(n){return v(n).reduce((function(n,t){return y(t)?n.concat(R(t)):v(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]=a(n[r],[]),n=n[r]}return n}function I(n){return void 0===n}function _(n){return N(n)||I(n)}function A(n){return String(n)===n}function O(n,t){return I(n)&&A(t)}function k(n,t){return n.length===Number(t)}function L(n){function t(n){return e.findIndex((function(t){var e=t[0];return k(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return n.length>Number(t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function x(){return E.useX().stateRef}function F(){return x().suiteId()[0]}function G(){return x().testCallbacks()}function P(){return x().optionalFields()}function W(){return x().testObjects()}function D(){(0,W()[1])((function(n){return{prev:n.prev,current:v(n.current)}}))}function U(n){(0,W()[1])((function(t){return{prev:t.prev,current:v(n(t.current))}}))}function w(){return R(b(W()[0].current,(function(n){return n.isPending()?n:null})))}var X,H=L();function K(){var n=W()[0].current;return H([n],(function(){return R(n)}))}function q(n){K().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(X||(X={}));var M=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=o(),this.severity=X.Error,this.status=j,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){O(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Z||(this.status=n)},n.prototype.warns=function(){return this.severity===X.Warning},n.prototype.setPending=function(){this.setStatus(J)},n.prototype.fail=function(){this.setStatus(this.warns()?Y:V)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(z)},n.prototype.warn=function(){this.severity=X.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(B)},n.prototype.cancel=function(){this.setStatus(Q),D()},n.prototype.reset=function(){this.status=j,D()},n.prototype.omit=function(){this.setStatus(Z)},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(J)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Z)},n.prototype.isUntested=function(){return this.statusEquals(j)},n.prototype.isFailing=function(){return this.statusEquals(V)},n.prototype.isCanceled=function(){return this.statusEquals(Q)},n.prototype.isSkipped=function(){return this.statusEquals(B)},n.prototype.isPassing=function(){return this.statusEquals(z)},n.prototype.isWarning=function(){return this.statusEquals(Y)},n.prototype.statusEquals=function(n){return this.status===n},n}(),j="UNTESTED",B="SKIPPED",V="FAILED",Y="WARNING",z="PASSING",J="PENDING",Q="CANCELED",Z="OMITTED";function $(){return E.useX().testCursor.getCursor()}function nn(){return E.useX().testCursor.cursorAt()}function tn(){return E.useX().testCursor.next()}function en(n,e){if(n=void 0===(n=n.type)?t.DEFAULT:n,s(e)){var r={current:{},prev:{}},u=$();return E.run({isolate:{type:n,keys:r}},(function(){E.useX().testCursor.addLevel(),r.prev=v(T(W()[0].prev,$())).reduce((function(n,t){return t instanceof M&&!_(t.key)?(n[t.key]=t,n):n}),{}),U((function(n){return C(n,u,[])}));var n=e();return E.useX().testCursor.removeLevel(),tn(),n}))}}function rn(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function un(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(rn(n,"length"))return k(n,0);if("object"==typeof n)return k(Object.keys(n),0)}return!0}var on,sn=m(un);function cn(n,t){return!!t&&!an(n,t)}function an(n,t){return!(!t||n.fieldName!==t)}function fn(n){var t=w();return!un(t)&&(n?t.some((function(t){return an(t,n)})):sn(t))}function ln(n,t){function e(n){i[n===on.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(on.ERRORS):t.isWarning()&&e(on.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(on||(on={}));var pn=function(){return(pn=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function dn(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 vn(n,t){return function(n,t){return!!n!=!!t}(n===on.WARNINGS,t.warns())}function gn(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||cn(n,r)||vn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),pn({},i&&((r={})[i]=[],r)))}function hn(n,t){return t?n[t]:n}function En(n){return yn(on.ERRORS,n)}function mn(n){return yn(on.WARNINGS,n)}function yn(n,t){return hn(n=gn(n,K(),{fieldName:t}),t)}function Nn(n,t){return hn(n=bn(on.ERRORS,n,t),t)}function Sn(n,t){return hn(n=bn(on.WARNINGS,n,t),t)}function bn(n,t,e){return t||f("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),gn(n,K(),{group:t,fieldName:e})}function Cn(n,t,e){return!(!n.hasFailures()||cn(n,e)||vn(t,n))}function Rn(n){return In(on.ERRORS,n)}function Tn(n){return In(on.WARNINGS,n)}function In(n,t){return K().some((function(e){return Cn(e,n,t)}))}function _n(n,t){return On(on.ERRORS,n,t)}function An(n,t){return On(on.WARNINGS,n,t)}function On(n,t,e){return K().some((function(r){return t===r.groupName&&Cn(r,n,e)}))}function kn(n,t){return!!function(n){var t=K().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(un(K())||function(n,t){return!!t&&un(n.tests[t])}(n,t)||function(n){var t=P()[0];return sn(w().filter((function(e){return!cn(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=K(),e=P()[0];return t.every((function(t){return!!cn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var Ln=L(20);function xn(){var n=K(),t={stateRef:x()};return Ln([n],E.bind(t,(function(){var n=x().suiteName()[0];return i(function(){var n=K(),t=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=ln(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=ln(t.groups[r],n))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}(),{getErrors:E.bind(t,En),getErrorsByGroup:E.bind(t,Nn),getWarnings:E.bind(t,mn),getWarningsByGroup:E.bind(t,Sn),hasErrors:E.bind(t,Rn),hasErrorsByGroup:E.bind(t,_n),hasWarnings:E.bind(t,Tn),hasWarningsByGroup:E.bind(t,An),isValid:E.bind(t,(function(n){return kn(xn(),n)})),suiteName:n})})))}var Fn=L(20);function Gn(){var n=K(),t={stateRef:x()};return Fn([n],E.bind(t,(function(){return i({},xn(),{done:E.bind(t,Un)})})))}function Pn(n,t,e){return!(s(n)&&(!t||e.tests[t]&&!un(e.tests[t].testCount)))}function Wn(n){return!(fn()&&(!n||fn(n)))}var Dn,Un=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Gn(),Pn(e,n,t))return t;var r=function(){return e(xn())};return Wn(n)?(r(),t):(wn(r,n),t)};function wn(n,t){var e=E.bind({},n);(0,G()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Xn(n){return n.forEach((function(n){return n()}))}function Hn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Dn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=G()[0].fieldCallbacks;n&&!fn(n)&&y(t[n])&&Xn(t[n])}(t.fieldName),fn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=P()[0];if(!un(n)){var t={};U((function(e){return b(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];s(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Dn.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(G()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){q((function(t){an(t,n)&&(t.cancel(),function(n){U((function(t){return b(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){q((function(t){an(t,n)&&t.reset()}))})),n}function Kn(){var n=E.useX();return n.bus||f(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Dn||(Dn={}));function qn(){return!!E.useX().skipped}function Mn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Bn(n){var t=n.fieldName;if(n=n.groupName,qn())return!0;var e=E.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=E.useX().exclusion.groups;if(rn(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Yn(u)||!1===u[t])}return!!function(n){var t=E.useX().exclusion;return!!function(){var n,t=E.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Yn(u)&&!c(e[t]))}function Vn(n,t,e){var r=E.useX("hook called outside of a running suite.");e&&v(e).forEach((function(e){A(e)&&(r.exclusion[t][e]=0===n)}))}function Yn(n){for(var t in n)if(!0===n[t])return!0;return!1}function zn(n){f("Wrong arguments passed to group. Group ".concat(n,"."))}function Jn(n){return!(!function(n){return E.useX().mode[0]===n}(e.EAGER)||!Rn(n.fieldName))}function Qn(){return!!E.useX().omitted}Mn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Zn=m(A);function $n(n){return n&&s(n.then)}function nt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function tt(n){var t=n.asyncTest,e=n.message;if($n(t)){var r=Kn().emit,u=x(),i=E.bind({stateRef:u},(function(){D(),r(Dn.TEST_COMPLETED,n)}));u=E.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=A(t)?t:e,n.fail(),i())}));try{t.then(i,u)}catch(n){u()}}}function et(n){var t=Kn(),e=function(n){return E.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){O(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{$n(e)?(n.asyncTest=e,n.setPending(),tt(n)):t.emit(Dn.TEST_COMPLETED,n)}catch(t){f("Unexpected error encountered during test registration.\n Test Object: ".concat(n,".\n Error: ").concat(t,"."))}}function rt(n){var e=W()[0].prev;return un(e)?(ut(n),n):(e=function(n){var t=$();return function(n,t){return T(n,t)[g(t)]}(n,t)}(e),_(n.key)?(function(n,t){return sn(n)&&!nt(n,t)}(e,n)&&(function(n,e){E.useX().isolate.type===t.EACH||l("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(e.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.'))}(e,n),function(){var n=W(),t=n[1],e=n[0].prev;n=T(e,$());var r=nn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),ut(n=a(e,n)),n):(ut(n=function(n,t){var e=function(n){return E.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=E.useX().isolate.keys.current;_(e[n])?e[n]=t:l('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function ut(n){var t=$();U((function(e){return C(e,t,n)}))}function it(n){var t=rt(n);return Jn(n)?(tn(),n.skip(),n):Qn()?(t.omit(),tn(),t):Bn(n)?(t.skip(qn()),tn(),t):(function(n,t){t!==n&&nt(n,t)&&n.isPending()&&n.cancel()}(t,n),ut(n),tn(),function(n){n.isUntested()?et(n):$n(n.asyncTest)&&(n.setPending(),tt(n))}(n),n)}function ot(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=s(t[1])?t:dn([void 0],t,!0);t=r[0],e=r[1],r=r[2],Zn(n)&&ct("fieldName","string"),s(e)||ct("Test callback","function");var u=E.useX();return it(t=new M(n,e,{message:t,groupName:u.groupName,key:r}))}var st=i(ot,{memo:function(n){var t=L(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=nn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[F(),e,u].concat(i),N(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):it(r[1])}}(ot)});function ct(n,t){f("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return r.enforce}}),exports.VERSION="4.2.0",exports.context=E,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],s(r)||f("vest.create: Expected callback to be a function.");var u=Hn(),c=p();return n={stateRef:d(c,{suiteId:o(),suiteName:n}),bus:u},i(E.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return c.reset(),en({type:t.SUITE},(function(){r.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Gn()})),{get:E.bind(n,xn),remove:E.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:c.reset,resetField:E.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,e){s(e)||f("each callback must be a function"),en({type:t.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){E.useX().mode[0]=n}(e.EAGER)},exports.group=function(n,e){A(n)||zn("name must be a string"),s(e)||zn("callback must be a function"),en({type:t.GROUP},(function(){E.run({groupName:n},e)}))},exports.include=function(n){function t(t){var e=E.useX(),r=e.exclusion;e.inclusion[n]=function(){return rn(r.tests,n)?a(r.tests[n],!0):A(t)?!!r.tests[t]:c(t,c(xn))}}var e=E.useX();return n?(e.inclusion[n]=a(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,e){en({type:t.OMIT_WHEN},(function(){E.run({omitted:Qn()||c(n,c(xn))},(function(){return e()}))}))},exports.only=Mn,exports.optional=function(n){(0,P()[1])((function(t){if(y(n)||A(n))v(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,e){en({type:t.SKIP_WHEN},(function(){E.run({skipped:qn()||c(n,c(xn))},(function(){return e()}))}))},exports.test=st,exports.warn=function(){var n=E.useX("warn hook called outside of a running suite.");n.currentTest||f("warn called outside of a test."),n.currentTest.warn()};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),e=require("context"),r=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n,t){return o(n)&&u(t)}function c(n){return[].concat(n)}function a(n,t){return n.length===Number(t)}function f(n){function t(n){return e.findIndex((function(t){var e=t[0];return a(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return n.length>Number(t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function l(n){return!!Array.isArray(n)}function p(n){return null===n}var d=i(p);function v(n){return"function"==typeof n}function g(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return v(n)?n.apply(void 0,t):n}function h(n,t){var e;return null!==(e=g(n))&&void 0!==e?e:t}function E(n){return(n=c(n))[n.length-1]}function m(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];l(u)?e.push(m(u,t)):(u=t(u),d(u)&&e.push(u))}return e}function y(n,t,e){return S(n,t)[E(t)]=e,n}function N(n){return c(n).reduce((function(n,t){return l(t)?n.concat(N(t)):c(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=h(n[r],[]),n=n[r]}return n}var b,C,R=Object.assign;function T(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return E(t)},getCursor:function(){return c(t)},next:function(){return t[t.length-1]++,E(t)},removeLevel:function(){t.pop()},reset:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(b||(b={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(C||(C={}));var I=e.createContext((function(n,t){return t?null:R({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:b.DEFAULT,keys:{current:{},prev:{}}},mode:[C.ALL],testCursor:T()},n)}));function _(){return I.useX().stateRef}function O(){return _().suiteId()[0]}function A(){return _().testCallbacks()}function k(){return _().optionalFields()}function L(){return _().testObjects()}function x(){(0,L()[1])((function(n){return{prev:n.prev,current:c(n.current)}}))}function F(n){(0,L()[1])((function(t){return{prev:t.prev,current:c(n(t.current))}}))}function G(){return N(m(L()[0].current,(function(n){return n.isPending()?n:null})))}var P,W=f();function D(){var n=L()[0].current;return W([n],(function(){return N(n)}))}function U(n){D().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(P||(P={}));var w,X=function(){function n(n,t,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=P.Error,this.status=H,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){s(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Y||(this.status=n)},n.prototype.warns=function(){return this.severity===P.Warning},n.prototype.setPending=function(){this.setStatus(B)},n.prototype.fail=function(){this.setStatus(this.warns()?M:q)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},n.prototype.warn=function(){this.severity=P.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(K)},n.prototype.cancel=function(){this.setStatus(V),x()},n.prototype.reset=function(){this.status=H,x()},n.prototype.omit=function(){this.setStatus(Y)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(B)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Y)},n.prototype.isUntested=function(){return this.statusEquals(H)},n.prototype.isFailing=function(){return this.statusEquals(q)},n.prototype.isCanceled=function(){return this.statusEquals(V)},n.prototype.isSkipped=function(){return this.statusEquals(K)},n.prototype.isPassing=function(){return this.statusEquals(j)},n.prototype.isWarning=function(){return this.statusEquals(M)},n.prototype.statusEquals=function(n){return this.status===n},n}(),H="UNTESTED",K="SKIPPED",q="FAILED",M="WARNING",j="PASSING",B="PENDING",V="CANCELED",Y="OMITTED";function J(n,t){throw Error(h(t,n))}function z(n,t){setTimeout((function(){J(n,t)}),0)}function Q(n){function t(n,t,u){return r.references.push(),e(n,g(t,u)),function(){return[r.references[n],function(t){return e(n,g(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,v(t=u[t][1])&&t(e,i),v(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function Z(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function $(n){return p(n)||o(n)}function nn(){return I.useX().testCursor.getCursor()}function tn(){return I.useX().testCursor.cursorAt()}function en(){return I.useX().testCursor.next()}function rn(n,t){if(n=void 0===(n=n.type)?b.DEFAULT:n,v(t)){var e={current:{},prev:{}},r=nn();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=c(S(L()[0].prev,nn())).reduce((function(n,t){return t instanceof X&&!$(t.key)?(n[t.key]=t,n):n}),{}),F((function(n){return y(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),en(),n}))}}function un(n,t){function e(n){i[n===w.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(w.ERRORS):t.isWarning()&&e(w.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(w||(w={}));var on=function(){return(on=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function sn(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function cn(n,t){return!!t&&!an(n,t)}function an(n,t){return!(!t||n.fieldName!==t)}function fn(n,t){return function(n,t){return!!n!=!!t}(n===w.WARNINGS,t.warns())}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||cn(n,r)||fn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),on({},i&&((r={})[i]=[],r)))}function pn(n,t){return t?n[t]:n}function dn(n){return gn(w.ERRORS,n)}function vn(n){return gn(w.WARNINGS,n)}function gn(n,t){return pn(n=ln(n,D(),{fieldName:t}),t)}function hn(n,t){return pn(n=mn(w.ERRORS,n,t),t)}function En(n,t){return pn(n=mn(w.WARNINGS,n,t),t)}function mn(n,t,e){return t||J("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,D(),{group:t,fieldName:e})}function yn(n,t,e){return!(!n.hasFailures()||cn(n,e)||fn(t,n))}function Nn(n){return bn(w.ERRORS,n)}function Sn(n){return bn(w.WARNINGS,n)}function bn(n,t){return D().some((function(e){return yn(e,n,t)}))}function Cn(n,t){return Tn(w.ERRORS,n,t)}function Rn(n,t){return Tn(w.WARNINGS,n,t)}function Tn(n,t,e){return D().some((function(r){return t===r.groupName&&yn(r,n,e)}))}function In(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function _n(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(In(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}var On=i(_n);function An(n,t){return!!function(n){var t=D().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(_n(D())||function(n,t){return!!t&&_n(n.tests[t])}(n,t)||function(n){var t=k()[0];return On(G().filter((function(e){return!cn(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=D(),e=k()[0];return t.every((function(t){return!!cn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var kn=f(20);function Ln(){var n=D(),t={stateRef:_()};return kn([n],I.bind(t,(function(){var n=_().suiteName()[0];return R(function(){var n=D(),t=R({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=un(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=un(t.groups[r],n))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}(),{getErrors:I.bind(t,dn),getErrorsByGroup:I.bind(t,hn),getWarnings:I.bind(t,vn),getWarningsByGroup:I.bind(t,En),hasErrors:I.bind(t,Nn),hasErrorsByGroup:I.bind(t,Cn),hasWarnings:I.bind(t,Sn),hasWarningsByGroup:I.bind(t,Rn),isValid:I.bind(t,(function(n){return An(Ln(),n)})),suiteName:n})})))}function xn(n){var t=G();return!_n(t)&&(n?t.some((function(t){return an(t,n)})):On(t))}var Fn=f(20);function Gn(){var n=D(),t={stateRef:_()};return Fn([n],I.bind(t,(function(){return R({},Ln(),{done:I.bind(t,Un)})})))}function Pn(n,t,e){return!(v(n)&&(!t||e.tests[t]&&!_n(e.tests[t].testCount)))}function Wn(n){return!(xn()&&(!n||xn(n)))}var Dn,Un=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Gn(),Pn(e,n,t))return t;var r=function(){return e(Ln())};return Wn(n)?(r(),t):(wn(r,n),t)};function wn(n,t){var e=I.bind({},n);(0,A()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Xn(n){return n.forEach((function(n){return n()}))}function Hn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Dn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=A()[0].fieldCallbacks;n&&!xn(n)&&l(t[n])&&Xn(t[n])}(t.fieldName),xn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=k()[0];if(!_n(n)){var t={};F((function(e){return m(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];v(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Dn.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(A()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){U((function(t){an(t,n)&&(t.cancel(),function(n){F((function(t){return m(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){U((function(t){an(t,n)&&t.reset()}))})),n}function Kn(){var n=I.useX();return n.bus||J(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Dn||(Dn={}));function qn(){return!!I.useX().skipped}function Mn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Bn(n){var t=n.fieldName;if(n=n.groupName,qn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;if(In(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Yn(u)||!1===u[t])}return!!function(n){var t=I.useX().exclusion;return!!function(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Yn(u)&&!g(e[t]))}function Vn(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&c(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function Yn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Jn(n){J("Wrong arguments passed to group. Group ".concat(n,"."))}function zn(n){return!(!function(n){return I.useX().mode[0]===n}(C.EAGER)||!Nn(n.fieldName))}function Qn(){return!!I.useX().omitted}Mn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Zn=i(u);function $n(n){return n&&v(n.then)}function nt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function tt(n){var t=n.asyncTest,e=n.message;if($n(t)){var r=Kn().emit,i=_(),o=I.bind({stateRef:i},(function(){x(),r(Dn.TEST_COMPLETED,n)}));i=I.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:e,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function et(n){var t=Kn(),e=function(n){return I.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){s(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{$n(e)?(n.asyncTest=e,n.setPending(),tt(n)):t.emit(Dn.TEST_COMPLETED,n)}catch(t){J("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function rt(n){var t=L()[0].prev;return _n(t)?(ut(n),n):(t=function(n){var t=nn();return function(n,t){return S(n,t)[E(t)]}(n,t)}(t),$(n.key)?(function(n,t){return On(n)&&!nt(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===b.EACH||z("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.'))}(t,n),function(){var n=L(),t=n[1],e=n[0].prev;n=S(e,nn());var r=tn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),ut(n=h(t,n)),n):(ut(n=function(n,t){var e=function(n){return I.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=I.useX().isolate.keys.current;$(e[n])?e[n]=t:z('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function ut(n){var t=nn();F((function(e){return y(e,t,n)}))}function it(n){var t=rt(n);return zn(n)?(en(),n.skip(),n):Qn()?(t.omit(),en(),t):Bn(n)?(t.skip(qn()),en(),t):(function(n,t){t!==n&&nt(n,t)&&n.isPending()&&n.cancel()}(t,n),ut(n),en(),function(n){n.isUntested()?et(n):$n(n.asyncTest)&&(n.setPending(),tt(n))}(n),n)}function ot(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=v(t[1])?t:sn([void 0],t,!0);t=r[0],e=r[1],r=r[2],Zn(n)&&ct("fieldName","string"),v(e)||ct("Test callback","function");var u=I.useX();return it(t=new X(n,e,{message:t,groupName:u.groupName,key:r}))}var st=R(ot,{memo:function(n){var t=f(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=tn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[O(),e,u].concat(i),p(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):it(r[1])}}(ot)});function ct(n,t){J("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.2.1-dev-ee64be",exports.context=I,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];n=n[1],v(e)||J("vest.create: Expected callback to be a function.");var u=Hn(),i=Q();return n={stateRef:Z(i,{suiteId:r(),suiteName:n}),bus:u},R(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),rn({type:b.SUITE},(function(){e.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Gn()})),{get:I.bind(n,Ln),remove:I.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,t){v(t)||J("each callback must be a function"),rn({type:b.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(C.EAGER)},exports.group=function(n,t){u(n)||Jn("name must be a string"),v(t)||Jn("callback must be a function"),rn({type:b.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){function t(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return In(r.tests,n)?h(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Ln))}}var e=I.useX();return n?(e.inclusion[n]=h(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,t){rn({type:b.OMIT_WHEN},(function(){I.run({omitted:Qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.only=Mn,exports.optional=function(n){(0,k()[1])((function(t){if(l(n)||u(n))c(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,t){rn({type:b.SKIP_WHEN},(function(){I.run({skipped:qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.test=st,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");n.currentTest||J("warn called outside of a test."),n.currentTest.warn()};