vest 4.3.3 → 4.4.0
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.
- package/dist/cjs/vest.development.js +243 -166
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +243 -166
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +1 -1
- package/dist/umd/enforce/compounds.development.js +1 -1
- package/dist/umd/enforce/schema.development.js +1 -1
- package/dist/umd/vest.development.js +221 -144
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -3
- package/types/classnames.d.ts +3 -5
- package/types/parser.d.ts +3 -5
- package/types/promisify.d.ts +7 -6
- package/types/vest.d.ts +37 -45
|
@@ -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"),r=require("context"),e=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];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 r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))}void 0===n&&(n=1);var r=[],e=function(t,u){var i=e.get(t);return i?i[1]:(u=u(),r.unshift([t.concat(),u]),function(n,t){return l(n.length,t)}(r,n)&&(r.length=n),u)};return e.invalidate=function(n){-1<(n=t(n))&&r.splice(n,1)},e.get=function(n){return r[t(n)]||null},e}function d(n){return!!Array.isArray(n)}function v(n){return null===n}var h,E,g=i(v);function N(n){return"function"==typeof n}function m(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return N(n)?n.apply(void 0,t):n}function y(n,t){var r;return null!==(r=m(n))&&void 0!==r?r:t}function R(n){return(n=s(n))[n.length-1]}function S(n,t){for(var r=[],e=0;e<n.length;e++){var u=n[e];d(u)?r.push(S(u,t)):(u=t(u),g(u)&&r.push(u))}return r}function b(n,t,r){return C(n,t)[R(t)]=r,n}function T(n){return s(n).reduce((function(n,t){return d(t)?n.concat(T(t)):s(n).concat(t)}),[])}function C(n,t){var r=0;for(t=t.slice(0,-1);r<t.length;r++){var e=t[r];n[e]=y(n[e],[]),n=n[e]}return n}function _(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?m(t):t)}function I(){var n=0;return{current:function(){return n},next:function(){n++}}}function O(n){return v(n)||o(n)}function A(n){setTimeout((function(){throw Error(n)}),0)}function k(n,t){n=void 0===(n=n.type)?h.DEFAULT:n,_(N(t));var r=U(n,L());return n=W.run({isolate:r},(function(){return r.keys.prev=s(C(M()[0].prev,L())).reduce((function(n,t){return t instanceof $&&!O(t.key)?(n[t.key]=t,n):n}),{}),j((function(n){return b(n,r.path,[])})),t()})),F().next(),n}function x(){return W.useX().isolate}function L(){var n=x();return n.path.concat(n.cursor.current())}function F(){return x().cursor}function U(n,t){return void 0===t&&(t=[]),{cursor:I(),keys:{current:{},prev:{}},path:t,type: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"}(E||(E={}));var W=r.createContext((function(n,t){return t?null:c({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:U(h.DEFAULT),mode:[E.ALL]},n)}));function G(){return W.useX().stateRef}function P(){return G().suiteId()[0]}function D(){return G().testCallbacks()}function w(n){return X()[0][n]}function X(){return G().optionalFields()}function H(n,t){(0,X()[1])((function(r){var e;return c(r,((e={})[n]=m(t,r[n]),e))}))}function K(n){var t;return null===(t=w(n))||void 0===t?void 0:t[0]}function M(){return G().testObjects()}function q(){j((function(n){return n}))}function j(n){(0,M()[1])((function(t){return{prev:t.prev,current:s(n(t.current))}}))}function B(){return J().filter((function(n){return n.isPending()}))}var V,Y=p();function J(){var n=M()[0].current;return Y([n],(function(){return T(n)}))}function z(n){J().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(V||(V={}));var Q,Z,$=function(){function n(n,t,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=V.Error,this.status=nn,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),r&&(this.message=r),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!==cn||(this.status=n)},n.prototype.warns=function(){return this.severity===V.Warning},n.prototype.setPending=function(){this.setStatus(on)},n.prototype.fail=function(){this.setStatus(this.warns()?en:rn)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(un)},n.prototype.warn=function(){this.severity=V.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(tn)},n.prototype.cancel=function(){this.setStatus(sn),q()},n.prototype.reset=function(){this.status=nn,q()},n.prototype.omit=function(){this.setStatus(cn)},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(on)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(cn)},n.prototype.isUntested=function(){return this.statusEquals(nn)},n.prototype.isFailing=function(){return this.statusEquals(rn)},n.prototype.isCanceled=function(){return this.statusEquals(sn)},n.prototype.isSkipped=function(){return this.statusEquals(tn)},n.prototype.isPassing=function(){return this.statusEquals(un)},n.prototype.isWarning=function(){return this.statusEquals(en)},n.prototype.statusEquals=function(n){return this.status===n},n}(),nn="UNTESTED",tn="SKIPPED",rn="FAILED",en="WARNING",un="PASSING",on="PENDING",sn="CANCELED",cn="OMITTED";function an(n){function t(n,t,u){return e.references.push(),r(n,m(t,u)),function(){return[e.references[n],function(t){return r(n,m(t,e.references[n]))}]}}function r(t,r){var i=e.references[t];e.references[t]=r,N(t=u[t][1])&&t(r,i),N(n)&&n()}var e={references:[]},u=[];return{registerStateKey:function(n,r){var e=u.length;return u.push([n,r]),t(e,n)},reset:function(){var n=e.references;e.references=[],u.forEach((function(r,e){return t(e,r[0],n[e])}))}}}function fn(n,t){var r=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(r),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function ln(n){return n===Q.ERRORS?Z.ERROR_COUNT:Z.WARN_COUNT}function pn(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function dn(n){return!n||(function(n){return"number"==typeof n}(n)?0===n:pn(n,"length")?f(n,0):"object"==typeof n&&f(Object.keys(n),0))}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(Q||(Q={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(Z||(Z={}));var vn=i(dn);function hn(n,t){return!!t&&!En(n,t)}function En(n,t){return!(!t||n.fieldName!==t)}var gn=i((function(n,t){return n.groupName===t}));function Nn(n){return function(n,t){return J().some((function(r){return mn(r,n,t)}))}(Q.ERRORS,n)}function mn(n,t,r){return!(!n.hasFailures()||hn(n,r)||function(n,t){return function(n,t){return!!n!=!!t}(n===Q.WARNINGS,t.warns())}(t,n))}function yn(n){return!!Sn(n)||!Nn(n)&&(!dn(J())&&!function(n){return vn(B().filter((function(t){return bn(t,n)})))}(n)&&function(n){return J().every((function(t){return!!hn(t,n)||Tn(t,n)}))}(n))}function Rn(n,t){return!!Sn(t)||!function(n,t,r){return J().some((function(e){return!gn(e,t)&&mn(e,n,r)}))}(Q.ERRORS,n,t)&&!function(n,t){return vn(B().filter((function(r){return!gn(r,n)&&bn(r,t)})))}(n,t)&&function(n,t){return J().every((function(r){return!!gn(r,n)||Tn(r,t)}))}(n,t)}function Sn(n){return!!n&&!0===function(n){var t;return null===(t=w(n))||void 0===t?void 0:t[1]}(n)}function bn(n,t){return!hn(n,t)&&!0!==K(n.fieldName)}function Tn(n,t){return!!hn(n,t)||(!0===K(n.fieldName)||n.isTested()||n.isOmitted())}function Cn(){var n=W.useX().summary;return _(n),n}function _n(){var n=J(),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]=In(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&yn(t.fieldName)}(n.tests,t),function(n,t){var r=t.groupName;r&&(n[r]=n[r]||{},n[r][t.fieldName]=In(n[r],t),n[r][t.fieldName].valid=!1!==n[r][t.fieldName].valid&&Rn(r,t.fieldName))}(n.groups,t),n}),t),t.valid=yn(),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 In(n,t){function r(n){var t=ln(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||c({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[e];return t.isNonActionable()||(n[e].testCount++,t.isFailing()?r(Q.ERRORS):t.isWarning()&&r(Q.WARNINGS)),i}function On(n){return l(n,0)}function An(n,t,r){return r?function(n,t,r){var e;return(null===(e=null==n?void 0:n[r])||void 0===e?void 0:e[t])||[]}(n,t,r):function(n,t){var r,e={},u=ln(t);for(r in n)On(n[r][u])&&(e[r]=n[r][t]||[]);return e}(n,t)}function kn(n){return Ln(Q.ERRORS,n)}function xn(n){return Ln(Q.WARNINGS,n)}function Ln(n,t){return An(Cn().tests,n,t)}function Fn(n,t){return Wn(n,Q.ERRORS,t)}function Un(n,t){return Wn(n,Q.WARNINGS,t)}function Wn(n,t,r){return An(Cn().groups[n],t,r)}function Gn(n){return Dn(Z.ERROR_COUNT,n)}function Pn(n){return Dn(Z.WARN_COUNT,n)}function Dn(n,t){var r,e=Cn();return On(t?null===(r=e.tests[t])||void 0===r?void 0:r[n]:e[n])}function wn(n,t){return Hn(Q.ERRORS,n,t)}function Xn(n,t){return Hn(Q.WARNINGS,n,t)}function Hn(n,t,r){var e,u,i=Cn();if(n=ln(n),!(t=i.groups[t]))return!1;if(r)return On(null===(e=t[r])||void 0===e?void 0:e[n]);for(var o in t)if(On(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function Kn(n){var t=Cn();return n?!!qn(t.tests,n):t.valid}function Mn(n,t){if(!(n=Cn().groups[n]))return!1;if(t)return qn(n,t);for(var r in n)if(!qn(n,r))return!1;return!0}function qn(n,t){var r;return!(null===(r=n[t])||void 0===r||!r.valid)}var jn=p(1);function Bn(){var n=J(),t={stateRef:G()};return jn([n],W.bind(t,(function(){var n=_n(),t=G().suiteName()[0],r={summary:n};return c(n,{getErrors:W.bind(r,kn),getErrorsByGroup:W.bind(r,Fn),getWarnings:W.bind(r,xn),getWarningsByGroup:W.bind(r,Un),hasErrors:W.bind(r,Gn),hasErrorsByGroup:W.bind(r,wn),hasWarnings:W.bind(r,Pn),hasWarningsByGroup:W.bind(r,Xn),isValid:W.bind(r,Kn),isValidByGroup:W.bind(r,Mn),suiteName:t})})))}function Vn(n){var t=B();return!dn(t)&&(n?t.some((function(t){return En(t,n)})):vn(t))}var Yn=p(20);function Jn(){var n=J(),t={stateRef:G()};return Yn([n],W.bind(t,(function(){return c({},Bn(),{done:W.bind(t,$n)})})))}function zn(n,t,r){return!(N(n)&&(!t||r.tests[t]&&!dn(r.tests[t].testCount)))}function Qn(n){return!(Vn()&&(!n||Vn(n)))}var Zn,$n=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];if(n=n[1],t=Jn(),zn(r,n,t))return t;var e=function(){return r(Bn())};return Qn(n)?(e(),t):(nt(e,n),t)};function nt(n,t){(0,D()[1])((function(r){return t?r.fieldCallbacks[t]=(r.fieldCallbacks[t]||[]).concat(n):r.doneCallbacks.push(n),r}))}function tt(n){return n.forEach((function(n){return n()}))}function rt(){var n=function(){var n={};return{emit:function(t,r){(n[t]||[]).forEach((function(n){n(r)}))},on:function(t,r){return n[t]=(n[t]||[]).concat(r),{off:function(){n[t]=(n[t]||[]).filter((function(n){return n!==r}))}}}}}();return n.on(Zn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=D()[0].fieldCallbacks;n&&!Vn(n)&&d(t[n])&&tt(t[n])}(t.fieldName),Vn()||n.emit(Zn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Zn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){t[n.fieldName]&&(n.omit(),H(n.fieldName,(function(n){return[n[0],!0]})))}if(!dn(X()[0])){var t={};j((function(r){return S(r,(function(r){if(pn(t,r.fieldName))n(r);else{var e=K(r.fieldName);N(e)&&(t[r.fieldName]=e(),n(r))}return r}))}))}}()})),n.on(Zn.ALL_RUNNING_TESTS_FINISHED,(function(){tt(D()[0].doneCallbacks)})),n.on(Zn.REMOVE_FIELD,(function(n){z((function(t){En(t,n)&&(t.cancel(),function(n){j((function(t){return S(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Zn.RESET_FIELD,(function(n){z((function(t){En(t,n)&&t.reset()}))})),n}function et(){var n=W.useX();return _(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"}(Zn||(Zn={}));function ut(){return!!W.useX().skipped}function it(n){return ct(0,"tests",n)}function ot(n){return ct(1,"tests",n)}function st(n){var t=n.fieldName;if(n=n.groupName,ut())return!0;var r=W.useX(),e=r.exclusion;r=r.inclusion;var u=e.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=W.useX().exclusion.groups;return pn(t,n)?!1===t[n]:ft()}(n))return!0;if(!0===e.groups[n])return!i&&(!!at(u)||!1===u[t])}return!!function(n){return!!ft()&&!n}(n)||!i&&(!!at(u)&&!m(r[t]))}function ct(n,t,r){var e=W.useX("hook called outside of a running suite.");r&&s(r).forEach((function(r){u(r)&&(e.exclusion[t][r]=0===n)}))}function at(n){for(var t in n)if(!0===n[t])return!0;return!1}function ft(){var n,t=W.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function lt(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function pt(n){return!(!function(n){return W.useX().mode[0]===n}(E.EAGER)||!Nn(n.fieldName))}function dt(){return!!W.useX().omitted}function vt(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function ht(n){return n&&N(n.then)}function Et(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function gt(n){var t=n.asyncTest,r=n.message;if(ht(t)){var e=et().emit,i=G(),o=W.bind({stateRef:i},(function(){q(),e(Zn.TEST_COMPLETED,n)}));i=W.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:r,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function Nt(n){var t=et(),r=function(n){return W.run({currentTest:n},(function(){return n.run()}))}(n);try{ht(r)?(n.asyncTest=r,n.setPending(),gt(n)):t.emit(Zn.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 mt(n){var t=M()[0].prev;return dn(t)?(yt(n),n):(t=function(n){var t=L();return function(n,t){return C(n,t)[R(t)]}(n,t)}(t),O(n.key)?(function(n,t){return vn(n)&&!Et(n,t)}(t,n)&&(function(n,t){W.useX().isolate.type===h.EACH||A("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=M(),t=n[1],r=n[0].prev;n=C(r,L());var e=F().current();n.splice(e),t((function(n){return{prev:r,current:n.current}}))}(),t=null),yt(n=y(t,n)),n):(yt(n=function(n,t){var r=function(n){return W.useX().isolate.keys.prev[n]}(n);return r&&(t=r),function(n,t){var r=W.useX().isolate.keys.current;O(r[n])?r[n]=t:A('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 yt(n){var t=L();j((function(r){return b(r,t,n)}))}function Rt(n){var t=F();if(pt(n))return n.skip(),mt(n),t.next(),n;var r=mt(n);return dt()?(r.omit(),t.next(),r):st(n)?(r.skip(ut()),t.next(),r):(function(n,t){t!==n&&Et(n,t)&&n.isPending()&&n.cancel()}(r,n),yt(n),function(n){n.isUntested()?Nt(n):ht(n.asyncTest)&&(n.setPending(),gt(n))}(n),t.next(),n)}function St(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=N(t[1])?t:vt([void 0],t,!0);t=e[0],r=e[1],e=e[2],_(u(n),Tt("fieldName","string")),_(N(r),Tt("Test callback","function"));var i=W.useX();return Rt(t=new $(n,r,{message:t,groupName:i.groupName,key:e}))}it.group=function(n){return ct(0,"groups",n)},ot.group=function(n){return ct(1,"groups",n)};var bt=c(St,{memo:function(n){var t=p(10);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=F().current();var i=(e=e.reverse())[0],o=e[1],s=e[2];return u=[P(),r,u].concat(i),v(e=t.get(u))?t(u,(function(){return n(r,s,o)})):e[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(r,s,o)}))):Rt(e[1])}}(St)});function Tt(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.4.0",exports.context=W,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];n=n[1],_(N(r),"vest.create: Expected callback to be a function.");var u=rt(),i=an();return n={stateRef:fn(i,{suiteId:e(),suiteName:n}),bus:u},c(W.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),k({type:h.SUITE},(function(){r.apply(void 0,n)})),u.emit(Zn.SUITE_CALLBACK_DONE_RUNNING),Jn()})),{get:W.bind(n,Bn),remove:W.bind(n,(function(n){u.emit(Zn.REMOVE_FIELD,n)})),reset:i.reset,resetField:W.bind(n,(function(n){u.emit(Zn.RESET_FIELD,n)}))})},exports.each=function(n,t){_(N(t),"each callback must be a function"),k({type:h.EACH},(function(){n.forEach((function(n,r){t(n,r)}))}))},exports.eager=function(){!function(n){W.useX().mode[0]=n}(E.EAGER)},exports.group=function(n,t){_(u(n),lt("name must be a string")),_(N(t),lt("callback must be a function")),k({type:h.GROUP},(function(){W.run({groupName:n},t)}))},exports.include=function(n){var t=W.useX(),r=t.inclusion;return t=t.exclusion,_(u(n)),r[n]=y(t.tests[n],!0),{when:function(t){var r=W.useX(),e=r.exclusion;r.inclusion[n]=function(){return pn(e.tests,n)?y(e.tests[n],!0):u(t)?!!e.tests[t]:m(t,m(Bn))}}}},exports.omitWhen=function(n,t){k({type:h.OMIT_WHEN},(function(){W.run({omitted:dt()||m(n,m(Bn))},(function(){return t()}))}))},exports.only=it,exports.optional=function(n){if(d(n)||u(n))s(n).forEach((function(n){H(n,[!0,!1])}));else for(var t in n)H(t,[n[t],!1])},exports.skip=ot,exports.skipWhen=function(n,t){k({type:h.SKIP_WHEN},(function(){W.run({skipped:ut()||m(n,m(Bn))},(function(){return t()}))}))},exports.test=bt,exports.warn=function(){var n=W.useX("warn hook called outside of a running suite.");_(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|