vest 4.2.3-dev-87ebfa → 4.3.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.
Files changed (33) hide show
  1. package/dist/cjs/classnames.development.js +58 -23
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/parser.development.js +84 -22
  4. package/dist/cjs/parser.production.js +1 -1
  5. package/dist/cjs/vest.development.js +447 -440
  6. package/dist/cjs/vest.production.js +1 -1
  7. package/dist/es/classnames.development.js +58 -23
  8. package/dist/es/classnames.production.js +1 -1
  9. package/dist/es/parser.development.js +84 -22
  10. package/dist/es/parser.production.js +1 -1
  11. package/dist/es/vest.development.js +447 -440
  12. package/dist/es/vest.production.js +1 -1
  13. package/dist/umd/classnames.development.js +58 -23
  14. package/dist/umd/classnames.production.js +1 -1
  15. package/dist/umd/enforce/compose.development.js +16 -16
  16. package/dist/umd/enforce/compose.production.js +1 -1
  17. package/dist/umd/enforce/compounds.development.js +16 -16
  18. package/dist/umd/enforce/compounds.production.js +1 -1
  19. package/dist/umd/enforce/schema.development.js +16 -16
  20. package/dist/umd/enforce/schema.production.js +1 -1
  21. package/dist/umd/parser.development.js +84 -22
  22. package/dist/umd/parser.production.js +1 -1
  23. package/dist/umd/vest.development.js +320 -313
  24. package/dist/umd/vest.production.js +1 -1
  25. package/package.json +3 -3
  26. package/testUtils/suiteDummy.ts +5 -1
  27. package/types/classnames.d.ts +13 -55
  28. package/types/enforce/compose.d.ts +2 -1
  29. package/types/enforce/compounds.d.ts +2 -1
  30. package/types/enforce/schema.d.ts +2 -1
  31. package/types/parser.d.ts +12 -54
  32. package/types/promisify.d.ts +12 -10
  33. package/types/vest.d.ts +63 -61
@@ -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){if(!n)throw t instanceof String?t.valueOf():Error(t?c(t):t)}function f(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 l(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 p(n){return[].concat(n)}function d(n){return(n=p(n))[n.length-1]}function v(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return d(t)},getCursor:function(){return p(t)},next:function(){return t[t.length-1]++,d(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 g=u.createContext((function(n,r){return r?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:t.DEFAULT,keys:{current:{},prev:{}}},mode:[e.ALL],testCursor:v()},n)}));function h(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function E(n){return!!Array.isArray(n)}function N(n){return null===n}var m=h(N);function y(n,t){var e;return null!==(e=c(n))&&void 0!==e?e:t}function S(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];E(u)?e.push(S(u,t)):(u=t(u),m(u)&&e.push(u))}return e}function R(n,t,e){return b(n,t)[d(t)]=e,n}function C(n){return p(n).reduce((function(n,t){return E(t)?n.concat(C(t)):p(n).concat(t)}),[])}function b(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 T(n){return void 0===n}function I(n){return N(n)||T(n)}function O(n){setTimeout((function(){throw Error(n)}),0)}function _(n){return String(n)===n}function A(n,t){return T(n)&&_(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 g.useX().stateRef}function F(){return x().suiteId()[0]}function W(){return x().testCallbacks()}function G(){return x().optionalFields()}function P(){return x().testObjects()}function U(){(0,P()[1])((function(n){return{prev:n.prev,current:p(n.current)}}))}function w(n){(0,P()[1])((function(t){return{prev:t.prev,current:p(n(t.current))}}))}function D(){return C(S(P()[0].current,(function(n){return n.isPending()?n:null})))}var X,H=L();function K(){var n=P()[0].current;return H([n],(function(){return C(n)}))}function q(n){K().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(X||(X={}));var M,j,B=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=V,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){A(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==nn||(this.status=n)},n.prototype.warns=function(){return this.severity===X.Warning},n.prototype.setPending=function(){this.setStatus(Z)},n.prototype.fail=function(){this.setStatus(this.warns()?z:J)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Q)},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(Y)},n.prototype.cancel=function(){this.setStatus($),U()},n.prototype.reset=function(){this.status=V,U()},n.prototype.omit=function(){this.setStatus(nn)},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(Z)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(nn)},n.prototype.isUntested=function(){return this.statusEquals(V)},n.prototype.isFailing=function(){return this.statusEquals(J)},n.prototype.isCanceled=function(){return this.statusEquals($)},n.prototype.isSkipped=function(){return this.statusEquals(Y)},n.prototype.isPassing=function(){return this.statusEquals(Q)},n.prototype.isWarning=function(){return this.statusEquals(z)},n.prototype.statusEquals=function(n){return this.status===n},n}(),V="UNTESTED",Y="SKIPPED",J="FAILED",z="WARNING",Q="PASSING",Z="PENDING",$="CANCELED",nn="OMITTED";function tn(){return g.useX().testCursor.getCursor()}function en(){return g.useX().testCursor.cursorAt()}function rn(){return g.useX().testCursor.next()}function un(n,e){if(n=void 0===(n=n.type)?t.DEFAULT:n,s(e)){var r={current:{},prev:{}},u=tn();return g.run({isolate:{type:n,keys:r}},(function(){g.useX().testCursor.addLevel(),r.prev=p(b(P()[0].prev,tn())).reduce((function(n,t){return t instanceof B&&!I(t.key)?(n[t.key]=t,n):n}),{}),w((function(n){return R(n,u,[])}));var n=e();return g.useX().testCursor.removeLevel(),rn(),n}))}}function on(){var n=K(),t=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=sn(n,t)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=sn(n[e],t))}(n.groups,t),n}),t),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 sn(n,t){function e(n){var t=function(n){return n===M.ERRORS?j.ERROR_COUNT:j.WARN_COUNT}(n);i[t]++,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(M.ERRORS):t.isWarning()&&e(M.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(M||(M={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(j||(j={}));var cn=function(){return(cn=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 an(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 fn(n,t){return!!t&&!ln(n,t)}function ln(n,t){return!(!t||n.fieldName!==t)}function pn(n,t){return function(n,t){return!!n!=!!t}(n===M.WARNINGS,t.warns())}function dn(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)||fn(n,r)||pn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),cn({},i&&((r={})[i]=[],r)))}function vn(n,t){return t?n[t]:n}function gn(n){return En(M.ERRORS,n)}function hn(n){return En(M.WARNINGS,n)}function En(n,t){return vn(n=dn(n,K(),{fieldName:t}),t)}function Nn(n,t){return vn(n=yn(M.ERRORS,n,t),t)}function mn(n,t){return vn(n=yn(M.WARNINGS,n,t),t)}function yn(n,t,e){return a(t,"get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),dn(n,K(),{group:t,fieldName:e})}function Sn(n,t,e){return!(!n.hasFailures()||fn(n,e)||pn(t,n))}function Rn(n){return bn(M.ERRORS,n)}function Cn(n){return bn(M.WARNINGS,n)}function bn(n,t){return K().some((function(e){return Sn(e,n,t)}))}function Tn(n,t){return On(M.ERRORS,n,t)}function In(n,t){return On(M.WARNINGS,n,t)}function On(n,t,e){return K().some((function(r){return t===r.groupName&&Sn(r,n,e)}))}function _n(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function An(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(_n(n,"length"))return k(n,0);if("object"==typeof n)return k(Object.keys(n),0)}return!0}var kn=h(An);function Ln(n){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]}(n)||!Rn(n)&&(!(An(K())||function(n){var t=K();return!!n&&!t.find((function(t){return t.fieldName===n}))}(n)||function(n){var t=G()[0];return kn(D().filter((function(e){return!fn(e,n)&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=K(),e=G()[0];return t.every((function(t){return!!fn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(n))}var xn=L(20);function Fn(){var n=K(),t={stateRef:x()};return xn([n],g.bind(t,(function(){var n=x().suiteName()[0];return i(on(),{getErrors:g.bind(t,gn),getErrorsByGroup:g.bind(t,Nn),getWarnings:g.bind(t,hn),getWarningsByGroup:g.bind(t,mn),hasErrors:g.bind(t,Rn),hasErrorsByGroup:g.bind(t,Tn),hasWarnings:g.bind(t,Cn),hasWarningsByGroup:g.bind(t,In),isValid:g.bind(t,Ln),suiteName:n})})))}function Wn(n){var t=D();return!An(t)&&(n?t.some((function(t){return ln(t,n)})):kn(t))}var Gn=L(20);function Pn(){var n=K(),t={stateRef:x()};return Gn([n],g.bind(t,(function(){return i({},Fn(),{done:g.bind(t,Xn)})})))}function Un(n,t,e){return!(s(n)&&(!t||e.tests[t]&&!An(e.tests[t].testCount)))}function wn(n){return!(Wn()&&(!n||Wn(n)))}var Dn,Xn=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=Pn(),Un(e,n,t))return t;var r=function(){return e(Fn())};return wn(n)?(r(),t):(Hn(r,n),t)};function Hn(n,t){var e=g.bind({},n);(0,W()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Kn(n){return n.forEach((function(n){return n()}))}function qn(){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=W()[0].fieldCallbacks;n&&!Wn(n)&&E(t[n])&&Kn(t[n])}(t.fieldName),Wn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=G()[0];if(!An(n)){var t={};w((function(e){return S(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(){Kn(W()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){q((function(t){ln(t,n)&&(t.cancel(),function(n){w((function(t){return S(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){q((function(t){ln(t,n)&&t.reset()}))})),n}function Mn(){var n=g.useX();return a(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"}(Dn||(Dn={}));function jn(){return!!g.useX().skipped}function Bn(n){return Jn(0,"tests",n)}function Vn(n){return Jn(1,"tests",n)}function Yn(n){var t=n.fieldName;if(n=n.groupName,jn())return!0;var e=g.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=g.useX().exclusion.groups;if(_n(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&&(!!zn(u)||!1===u[t])}return!!function(n){var t=g.useX().exclusion;return!!function(){var n,t=g.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&&(!!zn(u)&&!c(e[t]))}function Jn(n,t,e){var r=g.useX("hook called outside of a running suite.");e&&p(e).forEach((function(e){_(e)&&(r.exclusion[t][e]=0===n)}))}function zn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Qn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Zn(n){return!(!function(n){return g.useX().mode[0]===n}(e.EAGER)||!Rn(n.fieldName))}function $n(){return!!g.useX().omitted}function nt(n){return n&&s(n.then)}function tt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function et(n){var t=n.asyncTest,e=n.message;if(nt(t)){var r=Mn().emit,u=x(),i=g.bind({stateRef:u},(function(){U(),r(Dn.TEST_COMPLETED,n)}));u=g.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=_(t)?t:e,n.fail(),i())}));try{t.then(i,u)}catch(n){u()}}}function rt(n){var t=Mn(),e=function(n){return g.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){A(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{nt(e)?(n.asyncTest=e,n.setPending(),et(n)):t.emit(Dn.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 ut(n){var e=P()[0].prev;return An(e)?(it(n),n):(e=function(n){var t=tn();return function(n,t){return b(n,t)[d(t)]}(n,t)}(e),I(n.key)?(function(n,t){return kn(n)&&!tt(n,t)}(e,n)&&(function(n,e){g.useX().isolate.type===t.EACH||O("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=P(),t=n[1],e=n[0].prev;n=b(e,tn());var r=en();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),it(n=y(e,n)),n):(it(n=function(n,t){var e=function(n){return g.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=g.useX().isolate.keys.current;I(e[n])?e[n]=t:O('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 it(n){var t=tn();w((function(e){return R(e,t,n)}))}function ot(n){if(Zn(n))return n.skip(),ut(n),rn(),n;var t=ut(n);return $n()?(t.omit(),rn(),t):Yn(n)?(t.skip(jn()),rn(),t):(function(n,t){t!==n&&tt(n,t)&&n.isPending()&&n.cancel()}(t,n),it(n),rn(),function(n){n.isUntested()?rt(n):nt(n.asyncTest)&&(n.setPending(),et(n))}(n),n)}function st(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=s(t[1])?t:an([void 0],t,!0);t=r[0],e=r[1],r=r[2],a(_(n),at("fieldName","string")),a(s(e),at("Test callback","function"));var u=g.useX();return ot(t=new B(n,e,{message:t,groupName:u.groupName,key:r}))}Bn.group=function(n){return Jn(0,"groups",n)},Vn.group=function(n){return Jn(1,"groups",n)};var ct=i(st,{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=en();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)}))):ot(r[1])}}(st)});function at(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 r.enforce}}),exports.VERSION="4.2.3-dev-87ebfa",exports.context=g,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],a(s(r),"vest.create: Expected callback to be a function.");var u=qn(),c=f();return n={stateRef:l(c,{suiteId:o(),suiteName:n}),bus:u},i(g.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return c.reset(),un({type:t.SUITE},(function(){r.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Pn()})),{get:g.bind(n,Fn),remove:g.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:c.reset,resetField:g.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,e){a(s(e),"each callback must be a function"),un({type:t.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){g.useX().mode[0]=n}(e.EAGER)},exports.group=function(n,e){a(_(n),Qn("name must be a string")),a(s(e),Qn("callback must be a function")),un({type:t.GROUP},(function(){g.run({groupName:n},e)}))},exports.include=function(n){function t(t){var e=g.useX(),r=e.exclusion;e.inclusion[n]=function(){return _n(r.tests,n)?y(r.tests[n],!0):_(t)?!!r.tests[t]:c(t,c(Fn))}}var e=g.useX();return n?(e.inclusion[n]=y(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,e){un({type:t.OMIT_WHEN},(function(){g.run({omitted:$n()||c(n,c(Fn))},(function(){return e()}))}))},exports.only=Bn,exports.optional=function(n){(0,G()[1])((function(t){if(E(n)||_(n))p(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=Vn,exports.skipWhen=function(n,e){un({type:t.SKIP_WHEN},(function(){g.run({skipped:jn()||c(n,c(Fn))},(function(){return e()}))}))},exports.test=ct,exports.warn=function(){var n=g.useX("warn hook called outside of a running suite.");a(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,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 N(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];l(u)?e.push(N(u,t)):(u=t(u),d(u)&&e.push(u))}return e}function m(n,t,e){return S(n,t)[E(t)]=e,n}function y(n){return c(n).reduce((function(n,t){return l(t)?n.concat(y(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 R,C,b=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"}(R||(R={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(C||(C={}));var I=e.createContext((function(n,t){return t?null:b({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:R.DEFAULT,keys:{current:{},prev:{}}},mode:[C.ALL],testCursor:T()},n)}));function O(){return I.useX().stateRef}function _(){return O().suiteId()[0]}function A(){return O().testCallbacks()}function k(){return O().optionalFields()}function L(){return O().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 W(){return y(N(L()[0].current,(function(n){return n.isPending()?n:null})))}var G,P=f();function U(){var n=L()[0].current;return P([n],(function(){return y(n)}))}function w(n){U().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(G||(G={}));var D,X,H=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=G.Error,this.status=K,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!==J||(this.status=n)},n.prototype.warns=function(){return this.severity===G.Warning},n.prototype.setPending=function(){this.setStatus(V)},n.prototype.fail=function(){this.setStatus(this.warns()?j:M)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(B)},n.prototype.warn=function(){this.severity=G.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(q)},n.prototype.cancel=function(){this.setStatus(Y),x()},n.prototype.reset=function(){this.status=K,x()},n.prototype.omit=function(){this.setStatus(J)},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(V)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(J)},n.prototype.isUntested=function(){return this.statusEquals(K)},n.prototype.isFailing=function(){return this.statusEquals(M)},n.prototype.isCanceled=function(){return this.statusEquals(Y)},n.prototype.isSkipped=function(){return this.statusEquals(q)},n.prototype.isPassing=function(){return this.statusEquals(B)},n.prototype.isWarning=function(){return this.statusEquals(j)},n.prototype.statusEquals=function(n){return this.status===n},n}(),K="UNTESTED",q="SKIPPED",M="FAILED",j="WARNING",B="PASSING",V="PENDING",Y="CANCELED",J="OMITTED";function z(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?g(t):t)}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(n){setTimeout((function(){throw Error(n)}),0)}function tn(){return I.useX().testCursor.getCursor()}function en(){return I.useX().testCursor.cursorAt()}function rn(){return I.useX().testCursor.next()}function un(n,t){if(n=void 0===(n=n.type)?R.DEFAULT:n,v(t)){var e={current:{},prev:{}},r=tn();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=c(S(L()[0].prev,tn())).reduce((function(n,t){return t instanceof H&&!$(t.key)?(n[t.key]=t,n):n}),{}),F((function(n){return m(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),rn(),n}))}}function on(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function sn(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(on(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(D||(D={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(X||(X={}));var cn=i(sn);function an(n,t){return!!t&&!fn(n,t)}function fn(n,t){return!(!t||n.fieldName!==t)}function ln(n,t){return function(n,t){return!!n!=!!t}(n===D.WARNINGS,t.warns())}function pn(n,t,e){return!(!n.hasFailures()||an(n,e)||ln(t,n))}function dn(n){return gn(D.ERRORS,n)}function vn(n){return gn(D.WARNINGS,n)}function gn(n,t){return U().some((function(e){return pn(e,n,t)}))}function hn(n){return!!function(n){var t=U().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(n)||!dn(n)&&(!(sn(U())||function(n){var t=U();return!!n&&!t.find((function(t){return t.fieldName===n}))}(n)||function(n){var t=k()[0];return cn(W().filter((function(e){return!an(e,n)&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=U(),e=k()[0];return t.every((function(t){return!!an(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(n))}function En(){var n=U(),t=b({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=Nn(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&hn(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=Nn(n[e],t))}(n.groups,t),n}),t),t.valid=hn(),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 Nn(n,t){function e(n){var t=function(n){return n===D.ERRORS?X.ERROR_COUNT:X.WARN_COUNT}(n);i[t]++,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(D.ERRORS):t.isWarning()&&e(D.WARNINGS)),i}var mn=function(){return(mn=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 yn(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 Sn(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)||an(n,r)||ln(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),mn({},i&&((r={})[i]=[],r)))}function Rn(n,t){return t?n[t]:n}function Cn(n){return Tn(D.ERRORS,n)}function bn(n){return Tn(D.WARNINGS,n)}function Tn(n,t){return Rn(n=Sn(n,U(),{fieldName:t}),t)}function In(n,t){return Rn(n=_n(D.ERRORS,n,t),t)}function On(n,t){return Rn(n=_n(D.WARNINGS,n,t),t)}function _n(n,t,e){return z(t,"get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),Sn(n,U(),{group:t,fieldName:e})}function An(n,t){return Ln(D.ERRORS,n,t)}function kn(n,t){return Ln(D.WARNINGS,n,t)}function Ln(n,t,e){return U().some((function(r){return t===r.groupName&&pn(r,n,e)}))}var xn=f(20);function Fn(){var n=U(),t={stateRef:O()};return xn([n],I.bind(t,(function(){var n=O().suiteName()[0];return b(En(),{getErrors:I.bind(t,Cn),getErrorsByGroup:I.bind(t,In),getWarnings:I.bind(t,bn),getWarningsByGroup:I.bind(t,On),hasErrors:I.bind(t,dn),hasErrorsByGroup:I.bind(t,An),hasWarnings:I.bind(t,vn),hasWarningsByGroup:I.bind(t,kn),isValid:I.bind(t,hn),suiteName:n})})))}function Wn(n){var t=W();return!sn(t)&&(n?t.some((function(t){return fn(t,n)})):cn(t))}var Gn=f(20);function Pn(){var n=U(),t={stateRef:O()};return Gn([n],I.bind(t,(function(){return b({},Fn(),{done:I.bind(t,Xn)})})))}function Un(n,t,e){return!(v(n)&&(!t||e.tests[t]&&!sn(e.tests[t].testCount)))}function wn(n){return!(Wn()&&(!n||Wn(n)))}var Dn,Xn=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=Pn(),Un(e,n,t))return t;var r=function(){return e(Fn())};return wn(n)?(r(),t):(Hn(r,n),t)};function Hn(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 Kn(n){return n.forEach((function(n){return n()}))}function qn(){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&&!Wn(n)&&l(t[n])&&Kn(t[n])}(t.fieldName),Wn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=k()[0];if(!sn(n)){var t={};F((function(e){return N(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(){Kn(A()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){w((function(t){fn(t,n)&&(t.cancel(),function(n){F((function(t){return N(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){w((function(t){fn(t,n)&&t.reset()}))})),n}function Mn(){var n=I.useX();return z(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"}(Dn||(Dn={}));function jn(){return!!I.useX().skipped}function Bn(n){return Jn(0,"tests",n)}function Vn(n){return Jn(1,"tests",n)}function Yn(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;if(on(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&&(!!zn(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&&(!!zn(u)&&!g(e[t]))}function Jn(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 zn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Qn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Zn(n){return!(!function(n){return I.useX().mode[0]===n}(C.EAGER)||!dn(n.fieldName))}function $n(){return!!I.useX().omitted}function nt(n){return n&&v(n.then)}function tt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function et(n){var t=n.asyncTest,e=n.message;if(nt(t)){var r=Mn().emit,i=O(),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 rt(n){var t=Mn(),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{nt(e)?(n.asyncTest=e,n.setPending(),et(n)):t.emit(Dn.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 ut(n){var t=L()[0].prev;return sn(t)?(it(n),n):(t=function(n){var t=tn();return function(n,t){return S(n,t)[E(t)]}(n,t)}(t),$(n.key)?(function(n,t){return cn(n)&&!tt(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===R.EACH||nn("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,tn());var r=en();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),it(n=h(t,n)),n):(it(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:nn('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 it(n){var t=tn();F((function(e){return m(e,t,n)}))}function ot(n){if(Zn(n))return n.skip(),ut(n),rn(),n;var t=ut(n);return $n()?(t.omit(),rn(),t):Yn(n)?(t.skip(jn()),rn(),t):(function(n,t){t!==n&&tt(n,t)&&n.isPending()&&n.cancel()}(t,n),it(n),rn(),function(n){n.isUntested()?rt(n):nt(n.asyncTest)&&(n.setPending(),et(n))}(n),n)}function st(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=v(t[1])?t:yn([void 0],t,!0);t=r[0],e=r[1],r=r[2],z(u(n),at("fieldName","string")),z(v(e),at("Test callback","function"));var i=I.useX();return ot(t=new H(n,e,{message:t,groupName:i.groupName,key:r}))}Bn.group=function(n){return Jn(0,"groups",n)},Vn.group=function(n){return Jn(1,"groups",n)};var ct=b(st,{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=en();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[_(),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)}))):ot(r[1])}}(st)});function at(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.0",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],z(v(e),"vest.create: Expected callback to be a function.");var u=qn(),i=Q();return n={stateRef:Z(i,{suiteId:r(),suiteName:n}),bus:u},b(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),un({type:R.SUITE},(function(){e.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Pn()})),{get:I.bind(n,Fn),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){z(v(t),"each callback must be a function"),un({type:R.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){z(u(n),Qn("name must be a string")),z(v(t),Qn("callback must be a function")),un({type:R.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 on(r.tests,n)?h(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Fn))}}var e=I.useX();return n?(e.inclusion[n]=h(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,t){un({type:R.OMIT_WHEN},(function(){I.run({omitted:$n()||g(n,g(Fn))},(function(){return t()}))}))},exports.only=Bn,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=Vn,exports.skipWhen=function(n,t){un({type:R.SKIP_WHEN},(function(){I.run({skipped:jn()||g(n,g(Fn))},(function(){return t()}))}))},exports.test=ct,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");z(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
@@ -2,6 +2,13 @@ function isFunction(value) {
2
2
  return typeof value === 'function';
3
3
  }
4
4
 
5
+ /**
6
+ * A safe hasOwnProperty access
7
+ */
8
+ function hasOwnProperty(obj, key) {
9
+ return Object.prototype.hasOwnProperty.call(obj, key);
10
+ }
11
+
5
12
  function optionalFunctionValue(value) {
6
13
  var args = [];
7
14
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -35,35 +42,64 @@ function greaterThan(value, gt) {
35
42
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
36
43
  }
37
44
 
38
- /**
39
- * A safe hasOwnProperty access
40
- */
41
- function hasOwnProperty(obj, key) {
42
- return Object.prototype.hasOwnProperty.call(obj, key);
45
+ function isPositive(value) {
46
+ return greaterThan(value, 0);
43
47
  }
44
48
 
49
+ var Severity;
50
+ (function (Severity) {
51
+ Severity["WARNINGS"] = "warnings";
52
+ Severity["ERRORS"] = "errors";
53
+ })(Severity || (Severity = {}));
54
+ var SeverityCount;
55
+ (function (SeverityCount) {
56
+ SeverityCount["ERROR_COUNT"] = "errorCount";
57
+ SeverityCount["WARN_COUNT"] = "warnCount";
58
+ })(SeverityCount || (SeverityCount = {}));
59
+
60
+ // eslint-disable-next-line max-lines-per-function
45
61
  function parse(res) {
62
+ invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
46
63
  var testedStorage = {};
47
64
  var selectors = {
48
- invalid: res.hasErrors,
49
- tested: function (fieldName) {
50
- if (!fieldName) {
51
- return greaterThan(res.testCount, 0);
52
- }
53
- if (hasOwnProperty(testedStorage, fieldName))
54
- return testedStorage[fieldName];
55
- testedStorage[fieldName] =
56
- hasOwnProperty(res.tests, fieldName) &&
57
- greaterThan(res.tests[fieldName].testCount, 0);
58
- return selectors.tested(fieldName);
59
- },
60
- untested: function (fieldName) {
61
- return res.testCount === 0 || !selectors.tested(fieldName);
62
- },
63
- valid: res.isValid,
64
- warning: res.hasWarnings
65
+ invalid: hasErrors,
66
+ tested: isTested,
67
+ untested: isUntested,
68
+ valid: isValid,
69
+ warning: hasWarnings
65
70
  };
66
71
  return selectors;
72
+ function isTested(fieldName) {
73
+ if (!fieldName) {
74
+ return isPositive(res.testCount);
75
+ }
76
+ if (hasOwnProperty(testedStorage, fieldName))
77
+ return testedStorage[fieldName];
78
+ testedStorage[fieldName] =
79
+ hasOwnProperty(res.tests, fieldName) &&
80
+ isPositive(res.tests[fieldName].testCount);
81
+ return selectors.tested(fieldName);
82
+ }
83
+ function isUntested(fieldName) {
84
+ return res.testCount === 0 || !selectors.tested(fieldName);
85
+ }
86
+ function isValid(fieldName) {
87
+ var _a, _b;
88
+ return Boolean(fieldName ? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b.valid : res.valid);
89
+ }
90
+ function hasWarnings(fieldName) {
91
+ return hasFailures(res, SeverityCount.WARN_COUNT, fieldName);
92
+ }
93
+ function hasErrors(fieldName) {
94
+ return hasFailures(res, SeverityCount.ERROR_COUNT, fieldName);
95
+ }
96
+ }
97
+ function hasFailures(res, countKey, fieldName) {
98
+ var _a, _b, _c;
99
+ var failureCount = fieldName
100
+ ? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b[countKey]
101
+ : (_c = res[countKey]) !== null && _c !== void 0 ? _c : 0;
102
+ return isPositive(failureCount);
67
103
  }
68
104
 
69
105
  /**
@@ -71,7 +107,6 @@ function parse(res) {
71
107
  */
72
108
  function classnames(res, classes) {
73
109
  if (classes === void 0) { classes = {}; }
74
- invariant(res && isFunction(res.hasErrors), "classnames: Expected first argument to be Vest's result object.");
75
110
  var selectors = parse(res);
76
111
  return function (key) {
77
112
  var classesArray = [];
@@ -1 +1 @@
1
- function t(t){return"function"==typeof t}function r(r,n){if(!r)throw n instanceof String?n.valueOf():Error(n?function(r){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return t(r)?r.apply(void 0,n):r}(n):n)}function n(t){var r=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(r))}function e(t,r){return n(t)&&n(r)&&Number(t)>Number(r)}export default function(n,o){void 0===o&&(o={}),r(n&&t(n.hasErrors),"classnames: Expected first argument to be Vest's result object.");var s=function(t){var r={},n={invalid:t.hasErrors,tested:function(o){return o?Object.prototype.hasOwnProperty.call(r,o)?r[o]:(r[o]=Object.prototype.hasOwnProperty.call(t.tests,o)&&e(t.tests[o].testCount,0),n.tested(o)):e(t.testCount,0)},untested:function(r){return 0===t.testCount||!n.tested(r)},valid:t.isValid,warning:t.hasWarnings};return n}(n);return function(r){var n,e=[];for(n in o){var u=n;t(s[u])&&s[u](r)&&e.push(o[u])}return e.join(" ")}}
1
+ function t(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function n(n,r){return t(n)&&t(r)&&Number(n)>Number(r)}var r,e=r||(r={});e.WARNINGS="warnings",e.ERRORS="errors";var o,u=o||(o={});function i(t){!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return"function"==typeof t?t.apply(void 0,n):t}(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var r={},e={invalid:function(n){return a(t,o.ERROR_COUNT,n)},tested:function(o){return o?Object.prototype.hasOwnProperty.call(r,o)?r[o]:(r[o]=Object.prototype.hasOwnProperty.call(t.tests,o)&&n(t.tests[o].testCount,0),e.tested(o)):n(t.testCount,0)},untested:function(n){return 0===t.testCount||!e.tested(n)},valid:function(n){var r,e;return!!(n?null!==(e=null===(r=t.tests)||void 0===r?void 0:r[n])&&void 0!==e&&e.valid:t.valid)},warning:function(n){return a(t,o.WARN_COUNT,n)}};return e}function a(t,r,e){var o,u,i;return n(t=e?null===(u=null===(o=t.tests)||void 0===o?void 0:o[e])||void 0===u?void 0:u[r]:null!==(i=t[r])&&void 0!==i?i:0,0)}u.ERROR_COUNT="errorCount",u.WARN_COUNT="warnCount";export default function(t,n){void 0===n&&(n={});var r=i(t);return function(t){var e,o=[];for(e in n){var u=e;"function"==typeof r[u]&&r[u](t)&&o.push(n[u])}return o.join(" ")}}
@@ -1,3 +1,36 @@
1
+ /**
2
+ * A safe hasOwnProperty access
3
+ */
4
+ function hasOwnProperty(obj, key) {
5
+ return Object.prototype.hasOwnProperty.call(obj, key);
6
+ }
7
+
8
+ function isFunction(value) {
9
+ return typeof value === 'function';
10
+ }
11
+
12
+ function optionalFunctionValue(value) {
13
+ var args = [];
14
+ for (var _i = 1; _i < arguments.length; _i++) {
15
+ args[_i - 1] = arguments[_i];
16
+ }
17
+ return isFunction(value) ? value.apply(void 0, args) : value;
18
+ }
19
+
20
+ function invariant(condition,
21
+ // eslint-disable-next-line @typescript-eslint/ban-types
22
+ message) {
23
+ if (condition) {
24
+ return;
25
+ }
26
+ // If message is a string object (rather than string literal)
27
+ // Throw the value directly as a string
28
+ // Alternatively, throw an error with the message
29
+ throw message instanceof String
30
+ ? message.valueOf()
31
+ : new Error(message ? optionalFunctionValue(message) : message);
32
+ }
33
+
1
34
  function isNumeric(value) {
2
35
  var str = String(value);
3
36
  var num = Number(value);
@@ -9,35 +42,64 @@ function greaterThan(value, gt) {
9
42
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
10
43
  }
11
44
 
12
- /**
13
- * A safe hasOwnProperty access
14
- */
15
- function hasOwnProperty(obj, key) {
16
- return Object.prototype.hasOwnProperty.call(obj, key);
45
+ function isPositive(value) {
46
+ return greaterThan(value, 0);
17
47
  }
18
48
 
49
+ var Severity;
50
+ (function (Severity) {
51
+ Severity["WARNINGS"] = "warnings";
52
+ Severity["ERRORS"] = "errors";
53
+ })(Severity || (Severity = {}));
54
+ var SeverityCount;
55
+ (function (SeverityCount) {
56
+ SeverityCount["ERROR_COUNT"] = "errorCount";
57
+ SeverityCount["WARN_COUNT"] = "warnCount";
58
+ })(SeverityCount || (SeverityCount = {}));
59
+
60
+ // eslint-disable-next-line max-lines-per-function
19
61
  function parse(res) {
62
+ invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
20
63
  var testedStorage = {};
21
64
  var selectors = {
22
- invalid: res.hasErrors,
23
- tested: function (fieldName) {
24
- if (!fieldName) {
25
- return greaterThan(res.testCount, 0);
26
- }
27
- if (hasOwnProperty(testedStorage, fieldName))
28
- return testedStorage[fieldName];
29
- testedStorage[fieldName] =
30
- hasOwnProperty(res.tests, fieldName) &&
31
- greaterThan(res.tests[fieldName].testCount, 0);
32
- return selectors.tested(fieldName);
33
- },
34
- untested: function (fieldName) {
35
- return res.testCount === 0 || !selectors.tested(fieldName);
36
- },
37
- valid: res.isValid,
38
- warning: res.hasWarnings
65
+ invalid: hasErrors,
66
+ tested: isTested,
67
+ untested: isUntested,
68
+ valid: isValid,
69
+ warning: hasWarnings
39
70
  };
40
71
  return selectors;
72
+ function isTested(fieldName) {
73
+ if (!fieldName) {
74
+ return isPositive(res.testCount);
75
+ }
76
+ if (hasOwnProperty(testedStorage, fieldName))
77
+ return testedStorage[fieldName];
78
+ testedStorage[fieldName] =
79
+ hasOwnProperty(res.tests, fieldName) &&
80
+ isPositive(res.tests[fieldName].testCount);
81
+ return selectors.tested(fieldName);
82
+ }
83
+ function isUntested(fieldName) {
84
+ return res.testCount === 0 || !selectors.tested(fieldName);
85
+ }
86
+ function isValid(fieldName) {
87
+ var _a, _b;
88
+ return Boolean(fieldName ? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b.valid : res.valid);
89
+ }
90
+ function hasWarnings(fieldName) {
91
+ return hasFailures(res, SeverityCount.WARN_COUNT, fieldName);
92
+ }
93
+ function hasErrors(fieldName) {
94
+ return hasFailures(res, SeverityCount.ERROR_COUNT, fieldName);
95
+ }
96
+ }
97
+ function hasFailures(res, countKey, fieldName) {
98
+ var _a, _b, _c;
99
+ var failureCount = fieldName
100
+ ? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b[countKey]
101
+ : (_c = res[countKey]) !== null && _c !== void 0 ? _c : 0;
102
+ return isPositive(failureCount);
41
103
  }
42
104
 
43
105
  export { parse };
@@ -1 +1 @@
1
- function t(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function e(e,r){return t(e)&&t(r)&&Number(e)>Number(r)}export function parse(t){var r={},n={invalid:t.hasErrors,tested:function(s){return s?Object.prototype.hasOwnProperty.call(r,s)?r[s]:(r[s]=Object.prototype.hasOwnProperty.call(t.tests,s)&&e(t.tests[s].testCount,0),n.tested(s)):e(t.testCount,0)},untested:function(e){return 0===t.testCount||!n.tested(e)},valid:t.isValid,warning:t.hasWarnings};return n}
1
+ function t(t){var r=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(r))}function r(r,n){return t(r)&&t(n)&&Number(r)>Number(n)}var n,e=n||(n={});e.WARNINGS="warnings",e.ERRORS="errors";var o,i=o||(o={});function u(t,n,e){var o,i,u;return r(t=e?null===(i=null===(o=t.tests)||void 0===o?void 0:o[e])||void 0===i?void 0:i[n]:null!==(u=t[n])&&void 0!==u?u:0,0)}i.ERROR_COUNT="errorCount",i.WARN_COUNT="warnCount";export function parse(t){!function(t,r){if(!t)throw r instanceof String?r.valueOf():Error(r?function(t){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];return"function"==typeof t?t.apply(void 0,r):t}(r):r)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var n={},e={invalid:function(r){return u(t,o.ERROR_COUNT,r)},tested:function(o){return o?Object.prototype.hasOwnProperty.call(n,o)?n[o]:(n[o]=Object.prototype.hasOwnProperty.call(t.tests,o)&&r(t.tests[o].testCount,0),e.tested(o)):r(t.testCount,0)},untested:function(r){return 0===t.testCount||!e.tested(r)},valid:function(r){var n,e;return!!(r?null!==(e=null===(n=t.tests)||void 0===n?void 0:n[r])&&void 0!==e&&e.valid:t.valid)},warning:function(r){return u(t,o.WARN_COUNT,r)}};return e}