vest 4.4.3-dev-c786f7 → 4.6.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 +13 -36
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/parser.development.js +13 -36
  4. package/dist/cjs/parser.production.js +1 -1
  5. package/dist/cjs/vest.development.js +232 -187
  6. package/dist/cjs/vest.production.js +1 -1
  7. package/dist/es/classnames.development.js +14 -37
  8. package/dist/es/classnames.production.js +1 -1
  9. package/dist/es/parser.development.js +14 -37
  10. package/dist/es/parser.production.js +1 -1
  11. package/dist/es/vest.development.js +233 -189
  12. package/dist/es/vest.production.js +1 -1
  13. package/dist/umd/classnames.development.js +19 -96
  14. package/dist/umd/classnames.production.js +1 -1
  15. package/dist/umd/enforce/compose.development.js +9 -665
  16. package/dist/umd/enforce/compose.production.js +1 -1
  17. package/dist/umd/enforce/compounds.development.js +17 -667
  18. package/dist/umd/enforce/compounds.production.js +1 -1
  19. package/dist/umd/enforce/schema.development.js +12 -668
  20. package/dist/umd/enforce/schema.production.js +1 -1
  21. package/dist/umd/parser.development.js +18 -95
  22. package/dist/umd/parser.production.js +1 -1
  23. package/dist/umd/promisify.development.js +5 -31
  24. package/dist/umd/promisify.production.js +1 -1
  25. package/dist/umd/vest.development.js +336 -1067
  26. package/dist/umd/vest.production.js +1 -1
  27. package/package.json +4 -4
  28. package/types/enforce/compose.d.ts +2 -1
  29. package/types/enforce/compounds.d.ts +8 -9
  30. package/types/enforce/schema.d.ts +7 -5
  31. package/types/parser.d.ts +8 -7
  32. package/types/promisify.d.ts +20 -35
  33. package/types/vest.d.ts +79 -81
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e,r=require("n4s"),i=require("vest-utils"),u=require("context");function o(){var n=0;return{current:function(){return n},next:function(){n++}}}function s(n,t){return void 0===t&&(t=[]),{cursor:o(),keys:{current:{},prev:{}},path:t,type:n}}(t=n||(n={}))[t.DEFAULT=0]="DEFAULT",t[t.SUITE=1]="SUITE",t[t.EACH=2]="EACH",t[t.SKIP_WHEN=3]="SKIP_WHEN",t[t.OMIT_WHEN=4]="OMIT_WHEN",t[t.GROUP=5]="GROUP",function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(e||(e={}));var a=u.createContext((function(t,r){return r?null:i.assign({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(n.DEFAULT),mode:[e.ALL]},t)}));function c(){return a.useX().stateRef}function f(){return c().suiteId()[0]}function l(){return c().testCallbacks()}function p(n){return d()[0][n]}function d(){return c().optionalFields()}function v(n,t){(0,d()[1])((function(e){var r;return i.assign(e,((r={})[n]=i.optionalFunctionValue(t,e[n]),r))}))}function E(n){var t;return null===(t=p(n))||void 0===t?void 0:t[0]}function g(){return c().testObjects()}function h(){N((function(n){return n}))}function N(n){(0,g()[1])((function(t){return{prev:t.prev,current:i.asArray(n(t.current))}}))}function y(){return R().filter((function(n){return n.isPending()}))}var m,S=i.cache();function R(){var n=g()[0].current;return S([n],(function(){return i.nestedArray.flatten(n)}))}function T(n){R().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(m||(m={}));var A,C,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=i.genId(),this.severity=m.Error,this.status=I,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){(function(n,t){return i.isUndefined(n)&&i.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==L||(this.status=n)},n.prototype.warns=function(){return this.severity===m.Warning},n.prototype.setPending=function(){this.setStatus(P)},n.prototype.fail=function(){this.setStatus(this.warns()?O:F)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(k)},n.prototype.warn=function(){this.severity=m.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(_)},n.prototype.cancel=function(){this.setStatus(x),h()},n.prototype.reset=function(){this.status=I,h()},n.prototype.omit=function(){this.setStatus(L)},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(P)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(L)},n.prototype.isUntested=function(){return this.statusEquals(I)},n.prototype.isFailing=function(){return this.statusEquals(F)},n.prototype.isCanceled=function(){return this.statusEquals(x)},n.prototype.isSkipped=function(){return this.statusEquals(_)},n.prototype.isPassing=function(){return this.statusEquals(k)},n.prototype.isWarning=function(){return this.statusEquals(O)},n.prototype.statusEquals=function(n){return this.status===n},n}(),I="UNTESTED",_="SKIPPED",F="FAILED",O="WARNING",k="PASSING",P="PENDING",x="CANCELED",L="OMITTED";function U(n){function t(n,t,u){return r.references.push(),e(n,i.optionalFunctionValue(t,u)),function(){return[r.references[n],function(t){return e(n,i.optionalFunctionValue(t,r.references[n]))}]}}function e(t,e){var o=r.references[t];r.references[t]=e,t=u[t][1],i.isFunction(t)&&t(e,o),i.isFunction(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 W(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(){return a.useX().isolate}function G(){var n=V();return n.path.concat(n.cursor.current())}function w(){return V().cursor}function D(t,e){t=void 0===(t=t.type)?n.DEFAULT:t,i.invariant(i.isFunction(e));var r=s(t,G());return t=a.run({isolate:r},(function(){return r.keys.prev=function(){var n=g()[0].prev;return i.asArray(i.nestedArray.getCurrent(n,G())).reduce((function(n,t){return t instanceof b&&!i.isNullish(t.key)?(n[t.key]=t,n):n}),{})}(),N((function(n){return i.nestedArray.setValueAtPath(n,r.path,[])})),e()})),w().next(),t}function X(n){return n===A.ERRORS?C.ERROR_COUNT:C.WARN_COUNT}function H(n,t){return!!t&&!K(n,t)}function K(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(A||(A={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(C||(C={}));var q=i.bindNot((function(n,t){return n.groupName===t}));function M(n){return function(n,t){return R().some((function(e){return B(e,n,t)}))}(A.ERRORS,n)}function B(n,t,e){return!(!n.hasFailures()||H(n,e)||function(n,t){return i.either(n===A.WARNINGS,t.warns())}(t,n))}function j(n){if(J(n))return!0;if(M(n))return!1;var t=R();return!i.isEmpty(t)&&!function(n){return i.isNotEmpty(y().filter((function(t){return z(t,n)})))}(n)&&function(n){return R().every((function(t){return!!H(t,n)||Q(t,n)}))}(n)}function Y(n,t){return!!J(t)||!function(n,t,e){return R().some((function(r){return!q(r,t)&&B(r,n,e)}))}(A.ERRORS,n,t)&&!function(n,t){return i.isNotEmpty(y().filter((function(e){return!q(e,n)&&z(e,t)})))}(n,t)&&function(n,t){return R().every((function(e){return!!q(e,n)||Q(e,t)}))}(n,t)}function J(n){return!!n&&!0===function(n){var t;return null===(t=p(n))||void 0===t?void 0:t[1]}(n)}function z(n,t){return!H(n,t)&&!0!==E(n.fieldName)}function Q(n,t){return!!H(n,t)||(!0===E(n.fieldName)||n.isTested()||n.isOmitted())}function Z(){var n=a.useX().summary;return i.invariant(n),n}function $(){var n=R(),t=i.assign({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&&j(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[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&Y(e,t.fieldName))}(n.groups,t),n}),t),t.valid=j(),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=X(n);o[t]++,u&&(o[n]=(o[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(A.ERRORS):t.isWarning()&&e(A.WARNINGS)),o}function tn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=X(t);for(e in n)i.isPositive(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function en(n){return un(A.ERRORS,n)}function rn(n){return un(A.WARNINGS,n)}function un(n,t){return tn(Z().tests,n,t)}function on(n,t){return an(n,A.ERRORS,t)}function sn(n,t){return an(n,A.WARNINGS,t)}function an(n,t,e){return tn(Z().groups[n],t,e)}function cn(n){return ln(C.ERROR_COUNT,n)}function fn(n){return ln(C.WARN_COUNT,n)}function ln(n,t){var e,r=Z();return t?i.isPositive(null===(e=r.tests[t])||void 0===e?void 0:e[n]):i.isPositive(r[n])}function pn(n,t){return vn(A.ERRORS,n,t)}function dn(n,t){return vn(A.WARNINGS,n,t)}function vn(n,t,e){var r,u,o=Z();if(n=X(n),!(t=o.groups[t]))return!1;if(e)return i.isPositive(null===(r=t[e])||void 0===r?void 0:r[n]);for(var s in t)if(i.isPositive(null===(u=t[s])||void 0===u?void 0:u[n]))return!0;return!1}function En(n){var t=Z();return n?!!hn(t.tests,n):t.valid}function gn(n,t){if(!(n=Z().groups[n]))return!1;if(t)return hn(n,t);for(var e in n)if(!hn(n,e))return!1;return!0}function hn(n,t){var e;return!(null===(e=n[t])||void 0===e||!e.valid)}var Nn=i.cache(1);function yn(){var n=R(),t={stateRef:c()};return Nn([n],a.bind(t,(function(){var n=$(),t=c().suiteName()[0],e={summary:n};return i.assign(n,{getErrors:a.bind(e,en),getErrorsByGroup:a.bind(e,on),getWarnings:a.bind(e,rn),getWarningsByGroup:a.bind(e,sn),hasErrors:a.bind(e,cn),hasErrorsByGroup:a.bind(e,pn),hasWarnings:a.bind(e,fn),hasWarningsByGroup:a.bind(e,dn),isValid:a.bind(e,En),isValidByGroup:a.bind(e,gn),suiteName:t})})))}function mn(n){var t=y();return!i.isEmpty(t)&&(n?t.some((function(t){return K(t,n)})):i.isNotEmpty(t))}var Sn=i.cache(20);function Rn(){var n=R(),t={stateRef:c()};return Sn([n],a.bind(t,(function(){return i.assign({},yn(),{done:a.bind(t,bn)})})))}function Tn(n,t,e){return!(i.isFunction(n)&&(!t||e.tests[t]&&!i.isEmpty(e.tests[t].testCount)))}function An(n){return!(mn()&&(!n||mn(n)))}var Cn,bn=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=Rn(),Tn(e,n,t))return t;var r=function(){return e(yn())};return An(n)?(r(),t):(In(r,n),t)};function In(n,t){(0,l()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function _n(){var n=i.bus.createBus();return n.on(Cn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=l()[0].fieldCallbacks;n&&!mn(n)&&i.isArray(t[n])&&i.callEach(t[n])}(t.fieldName),mn()||n.emit(Cn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Cn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),v(n.fieldName,(function(n){return[n[0],!0]})))}var t=d()[0];if(!i.isEmpty(t)){var e={};N((function(t){return i.nestedArray.transform(t,(function(t){if(i.hasOwnProperty(e,t.fieldName))n(t);else{var r=E(t.fieldName);i.isFunction(r)&&(e[t.fieldName]=r(),n(t))}return t}))}))}}()})),n.on(Cn.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var n=l()[0].doneCallbacks;i.callEach(n)}()})),n.on(Cn.REMOVE_FIELD,(function(n){T((function(t){K(t,n)&&(t.cancel(),function(n){N((function(t){return i.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Cn.RESET_FIELD,(function(n){T((function(t){K(t,n)&&t.reset()}))})),n}function Fn(){var n=a.useX();return i.invariant(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"}(Cn||(Cn={}));function On(){return!!a.useX().skipped}function kn(n){return Ln(0,"tests",n)}function Pn(n){return Ln(1,"tests",n)}function xn(n){var t=n.fieldName;if(n=n.groupName,On())return!0;var e=a.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[t];if(!1===o)return!0;if(o=!0===o,n){if(function(n){var t=a.useX().exclusion.groups;return i.hasOwnProperty(t,n)?!1===t[n]:Wn()}(n))return!0;if(!0===r.groups[n])return!o&&(!!Un(u)||!1===u[t])}return!!function(n){return!!Wn()&&!n}(n)||!o&&(!!Un(u)&&!i.optionalFunctionValue(e[t]))}function Ln(n,t,e){var r=a.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[t][e]=0===n)}))}function Un(n){for(var t in n)if(!0===n[t])return!0;return!1}function Wn(){var n,t=a.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function Vn(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Gn(n){return function(n){return a.useX().mode[0]===n}(e.EAGER)&&M(n.fieldName)}function wn(){return!!a.useX().omitted}function Dn(n,t,e){if(e||2===arguments.length)for(var r,i=0,u=t.length;i<u;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return n.concat(r||Array.prototype.slice.call(t))}function Xn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Hn(n){var t=n.asyncTest,e=n.message;if(i.isPromise(t)){var r=Fn().emit,u=c(),o=a.bind({stateRef:u},(function(){h(),r(Cn.TEST_COMPLETED,n)}));u=a.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=i.isStringValue(t)?t:e,n.fail(),o())}));try{t.then(o,u)}catch(n){u()}}}function Kn(n){var t=Fn(),e=function(n){return a.run({currentTest:n},(function(){return n.run()}))}(n);try{i.isPromise(e)?(n.asyncTest=e,n.setPending(),Hn(n)):t.emit(Cn.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 qn(t){var e=g()[0].prev;return i.isEmpty(e)?(Mn(t),t):(e=function(n){var t=G();return i.nestedArray.valueAtPath(n,t)}(e),i.isNullish(t.key)?(function(n,t){return i.isNotEmpty(n)&&!Xn(n,t)}(e,t)&&(function(t,e){V().type===n.EACH||i.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.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,t),function(){var n=w().current();N((function(t){return t.splice(n),t}))}(),e=null),Mn(t=i.defaultTo(e,t)),t):(Mn(t=function(n,t){var e=function(n){return V().keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=V().keys.current;i.isNullish(e[n])?e[n]=t:i.deferThrow('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}(t.key,t)),t))}function Mn(n){var t=G();N((function(e){return i.nestedArray.setValueAtPath(e,t,n)}))}function Bn(n){var t=w();if(Gn(n))return n.skip(),qn(n),t.next(),n;var e=qn(n);return wn()?(e.omit(),t.next(),e):xn(n)?(e.skip(On()),t.next(),e):(function(n,t){t!==n&&Xn(n,t)&&n.isPending()&&n.cancel()}(e,n),Mn(n),function(n){n.isUntested()?Kn(n):i.isPromise(n.asyncTest)&&(n.setPending(),Hn(n))}(n),t.next(),n)}function jn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=i.isFunction(t[1])?t:Dn([void 0],t,!0);t=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(n),Jn("fieldName","string")),i.invariant(i.isFunction(e),Jn("Test callback","function"));var u=a.useX();return Bn(t=new b(n,e,{message:t,groupName:u.groupName,key:r}))}kn.group=function(n){return Ln(0,"groups",n)},Pn.group=function(n){return Ln(1,"groups",n)},i.bindNot(i.isStringValue);var Yn=i.assign(jn,{memo:function(n){var t=i.cache(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=w().current();var o=(r=r.reverse())[0],s=r[1],a=r[2];return u=[f(),e,u].concat(o),r=t.get(u),i.isNull(r)?t(u,(function(){return n(e,a,s)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,a,s)}))):Bn(r[1])}}(jn)});function Jn(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.4.3-dev-c786f7",exports.context=a,exports.create=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=(t=t.reverse())[0];t=t[1],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=_n(),o=U();return t={stateRef:W(o,{suiteId:i.genId(),suiteName:t}),bus:u},i.assign(a.bind(t,(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.reset(),D({type:n.SUITE},(function(){r.apply(void 0,t)})),u.emit(Cn.SUITE_CALLBACK_DONE_RUNNING),Rn()})),{get:a.bind(t,yn),remove:a.bind(t,(function(n){u.emit(Cn.REMOVE_FIELD,n)})),reset:o.reset,resetField:a.bind(t,(function(n){u.emit(Cn.RESET_FIELD,n)}))})},exports.each=function(t,e){i.invariant(i.isFunction(e),"each callback must be a function"),D({type:n.EACH},(function(){t.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){a.useX().mode[0]=n}(e.EAGER)},exports.group=function(t,e){i.invariant(i.isStringValue(t),Vn("name must be a string")),i.invariant(i.isFunction(e),Vn("callback must be a function")),D({type:n.GROUP},(function(){a.run({groupName:t},e)}))},exports.include=function(n){var t=a.useX(),e=t.inclusion;return t=t.exclusion,i.invariant(i.isStringValue(n)),e[n]=i.defaultTo(t.tests[n],!0),{when:function(t){var e=a.useX(),r=e.exclusion;e.inclusion[n]=function(){return i.hasOwnProperty(r.tests,n)?i.defaultTo(r.tests[n],!0):i.isStringValue(t)?!!r.tests[t]:i.optionalFunctionValue(t,i.optionalFunctionValue(yn))}}}},exports.omitWhen=function(t,e){D({type:n.OMIT_WHEN},(function(){a.run({omitted:wn()||i.optionalFunctionValue(t,i.optionalFunctionValue(yn))},(function(){return e()}))}))},exports.only=kn,exports.optional=function(n){if(i.isArray(n)||i.isStringValue(n))i.asArray(n).forEach((function(n){v(n,[!0,!1])}));else for(var t in n)v(t,[n[t],!1])},exports.skip=Pn,exports.skipWhen=function(t,e){D({type:n.SKIP_WHEN},(function(){a.run({skipped:On()||i.optionalFunctionValue(t,i.optionalFunctionValue(yn))},(function(){return e()}))}))},exports.test=Yn,exports.warn=function(){var n=a.useX("warn hook called outside of a running suite.");i.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e,r=require("n4s"),i=require("vest-utils"),u=require("context");function o(){var n=0;return{current:function(){return n},next:function(){n++}}}function s(n,t){return void 0===t&&(t=[]),{cursor:o(),keys:{current:{},prev:{}},path:t,type:n}}(t=n||(n={}))[t.DEFAULT=0]="DEFAULT",t[t.SUITE=1]="SUITE",t[t.EACH=2]="EACH",t[t.SKIP_WHEN=3]="SKIP_WHEN",t[t.OMIT_WHEN=4]="OMIT_WHEN",t[t.GROUP=5]="GROUP",function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(e||(e={}));var a=u.createContext((function(t,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(n.DEFAULT),mode:[e.ALL]},t)}));function c(){return a.useX().stateRef}function f(){return c().suiteId()[0]}function l(){return c().testCallbacks()}function p(){return c().optionalFields()}function d(n,t){(0,p()[1])((function(e){var r;return i.assign(e,((r={})[n]=i.assign({},e[n],t(e[n])),r))}))}function v(n){var t;return null!==(t=p()[0][n])&&void 0!==t?t:{}}function E(){return c().testObjects()}function h(){g((function(n){return n}))}function g(n){(0,E()[1])((function(t){return{prev:t.prev,current:i.asArray(n(t.current))}}))}function y(){return R().filter((function(n){return n.isPending()}))}var N,m=i.cache();function R(){var n=E()[0].current;return m([n],(function(){return i.nestedArray.flatten(n)}))}function S(n){R().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(N||(N={}));var T,C,A=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=i.seq(),this.severity=N.Error,this.status=_,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){(function(n,t){return i.isUndefined(n)&&i.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==x||(this.status=n)},n.prototype.warns=function(){return this.severity===N.Warning},n.prototype.setPending=function(){this.setStatus(k)},n.prototype.fail=function(){this.setStatus(this.warns()?O:F)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(b)},n.prototype.warn=function(){this.severity=N.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(I)},n.prototype.cancel=function(){this.setStatus(P),h()},n.prototype.reset=function(){this.status=_,h()},n.prototype.omit=function(){this.setStatus(x)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.isPending=function(){return this.statusEquals(k)},n.prototype.isOmitted=function(){return this.statusEquals(x)},n.prototype.isUntested=function(){return this.statusEquals(_)},n.prototype.isFailing=function(){return this.statusEquals(F)},n.prototype.isCanceled=function(){return this.statusEquals(P)},n.prototype.isSkipped=function(){return this.statusEquals(I)},n.prototype.isPassing=function(){return this.statusEquals(b)},n.prototype.isWarning=function(){return this.statusEquals(O)},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},n.prototype.statusEquals=function(n){return this.status===n},n}(),_="UNTESTED",I="SKIPPED",F="FAILED",O="WARNING",b="PASSING",k="PENDING",P="CANCELED",x="OMITTED";function L(n){function t(n,t,u){return r.references.push(),e(n,i.optionalFunctionValue(t,u)),function(){return[r.references[n],function(t){return e(n,i.optionalFunctionValue(t,r.references[n]))}]}}function e(t,e){var o=r.references[t];r.references[t]=e,t=u[t][1],i.isFunction(t)&&t(e,o),i.isFunction(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 U(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 D(){return a.useX().isolate}function W(){var n=D();return n.path.concat(n.cursor.current())}function V(){return D().cursor}function w(t,e){t=void 0===(t=t.type)?n.DEFAULT:t,i.invariant(i.isFunction(e));var r=s(t,W());return t=a.run({isolate:r},(function(){return r.keys.prev=function(){var n=E()[0].prev;return i.asArray(i.nestedArray.getCurrent(n,W())).reduce((function(n,t){return t instanceof A&&!i.isNullish(t.key)?(n[t.key]=t,n):n}),{})}(),g((function(n){return i.nestedArray.setValueAtPath(n,r.path,[])})),e()})),V().next(),t}function G(n){return n===T.ERRORS?C.ERROR_COUNT:C.WARN_COUNT}function q(n,t){return!!t&&!X(n,t)}function X(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(T||(T={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(C||(C={}));var H,K=i.bindNot((function(n,t){return n.groupName===t}));function M(n){return function(n,t){return R().some((function(e){return B(e,n,t)}))}(T.ERRORS,n)}function B(n,t,e){return!(!n.hasFailures()||q(n,e)||function(n,t){return i.either(n===T.WARNINGS,t.warns())}(t,n))}function j(n){return!!n&&v(n).applied}function Y(n){if(j(n))return!0;var t=R();return!(i.isEmpty(t)||M(n)||function(n){return i.isNotEmpty(y().filter((function(t){return z(t,n)})))}(n))&&function(n){return R().every((function(t){return Q(t,n)}))}(n)}function J(n,t){return!!j(t)||!function(n,t,e){return R().some((function(r){return!K(r,t)&&B(r,n,e)}))}(T.ERRORS,n,t)&&!function(n,t){return i.isNotEmpty(y().filter((function(e){return!K(e,n)&&z(e,t)})))}(n,t)&&function(n,t){return R().every((function(e){return!!K(e,n)||Q(e,t)}))}(n,t)}function z(n,t){return!q(n,t)&&j(t)}function Q(n,t){return!!q(n,t)||(function(n){return v(n.fieldName).type===H.Delayed&&n.awaitsResolution()}(n)||n.isTested()||n.isOmitted())}function Z(){var n=R(),t=i.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=$(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&Y(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=$(n[e],t),n[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&J(e,t.fieldName))}(n.groups,t),n}),t),t.valid=Y(),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 $(n,t){function e(n){var t=G(n);o[t]++,u&&(o[n]=(o[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(T.ERRORS):t.isWarning()&&e(T.WARNINGS)),o}function nn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=G(t);for(e in n)i.isPositive(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function tn(n){return{getErrors:function(t){return en(n,T.ERRORS,t)},getErrorsByGroup:function(t,e){return rn(n,T.ERRORS,t,e)},getWarnings:function(t){return en(n,T.WARNINGS,t)},getWarningsByGroup:function(t,e){return rn(n,T.WARNINGS,t,e)},hasErrors:function(t){return sn(n,C.ERROR_COUNT,t)},hasErrorsByGroup:function(t,e){return on(n,C.ERROR_COUNT,t,e)},hasWarnings:function(t){return sn(n,C.WARN_COUNT,t)},hasWarningsByGroup:function(t,e){return on(n,C.WARN_COUNT,t,e)},isValid:function(t){var e;return t?!(null===(e=n.tests[t])||void 0===e||!e.valid):n.valid},isValidByGroup:function(t,e){if(!(t=n.groups[t]))return!1;if(e)return un(t,e);for(var r in t)if(!un(t,r))return!1;return!0}}}function en(n,t,e){return nn(n.tests,t,e)}function rn(n,t,e,r){return nn(n.groups[e],t,r)}function un(n,t){var e;return!(null===(e=n[t])||void 0===e||!e.valid)}function on(n,t,e,r){var u,o;if(!(n=n.groups[e]))return!1;if(r)return i.isPositive(null===(u=n[r])||void 0===u?void 0:u[t]);for(var s in n)if(i.isPositive(null===(o=n[s])||void 0===o?void 0:o[t]))return!0;return!1}function sn(n,t,e){var r;return n=e?null===(r=n.tests[e])||void 0===r?void 0:r[t]:n[t]||0,i.isPositive(n)}!function(n){n[n.Immediate=0]="Immediate",n[n.Delayed=1]="Delayed"}(H||(H={}));var an=i.cache(1);function cn(){var n=R(),t={stateRef:c()};return an([n],a.bind(t,(function(){var n=Z(),t=c().suiteName()[0];return i.assign(n,tn(n),{suiteName:t})})))}function fn(n){var t=y();return!i.isEmpty(t)&&(!n||t.some((function(t){return X(t,n)})))}var ln=i.cache(20);function pn(){var n=R(),t={stateRef:c()};return ln([n],a.bind(t,(function(){return i.assign({},cn(),{done:a.bind(t,hn)})})))}function dn(n,t,e){var r;return!!(!i.isFunction(n)||t&&i.numberEquals(null===(r=e.tests[t])||void 0===r?void 0:r.testCount,0))}function vn(n){return!(fn()&&(!n||fn(n)))}var En,hn=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(),dn(e,n,t))return t;var r=function(){return e(cn())};return vn(n)?(r(),t):(gn(r,n),t)};function gn(n,t){(0,l()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function yn(){var n=i.bus.createBus();return n.on(En.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=l()[0].fieldCallbacks;n&&!fn(n)&&i.isArray(t[n])&&i.callEach(t[n])}(t.fieldName),fn()||n.emit(En.ALL_RUNNING_TESTS_FINISHED))})),n.on(En.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),d(n.fieldName,(function(){return{applied:!0}})))}var t=p()[0];if(!i.isEmpty(t)){var e={};R().forEach((function(t){if(i.hasOwnProperty(e,t.fieldName))n(t);else{var r=v(t.fieldName);r.type===H.Immediate&&(e[t.fieldName]=i.optionalFunctionValue(r.rule),n(t))}})),h()}}()})),n.on(En.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var n=l()[0].doneCallbacks;i.callEach(n)}()})),n.on(En.REMOVE_FIELD,(function(n){S((function(t){X(t,n)&&(t.cancel(),function(n){g((function(t){return i.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(En.RESET_FIELD,(function(n){S((function(t){X(t,n)&&t.reset()}))})),n}function Nn(){var n=a.useX();return i.invariant(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"}(En||(En={}));function mn(){return!!a.useX().skipped}function Rn(n){return Cn(0,"tests",n)}function Sn(n){return Cn(1,"tests",n)}function Tn(n){var t=n.fieldName;if(n=n.groupName,mn())return!0;var e=a.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[t];if(!1===o)return!0;if(o=!0===o,n){if(function(n){var t=a.useX().exclusion.groups;return i.hasOwnProperty(t,n)?!1===t[n]:_n()}(n))return!0;if(!0===r.groups[n])return!o&&(!!An(u)||!1===u[t])}return!!function(n){return!!_n()&&!n}(n)||!o&&(!!An(u)&&!i.optionalFunctionValue(e[t]))}function Cn(n,t,e){var r=a.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[t][e]=0===n)}))}function An(n){for(var t in n)if(!0===n[t])return!0;return!1}function _n(){var n,t=a.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function In(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Fn(n){return function(n){return a.useX().mode[0]===n}(e.EAGER)&&M(n.fieldName)}function On(){return!!a.useX().omitted}function bn(n,t,e){if(e||2===arguments.length)for(var r,i=0,u=t.length;i<u;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return n.concat(r||Array.prototype.slice.call(t))}function kn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Pn(n){var t=n.asyncTest,e=n.message;if(i.isPromise(t)){var r=Nn().emit,u=c(),o=a.bind({stateRef:u},(function(){h(),r(En.TEST_COMPLETED,n)}));u=a.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=i.isStringValue(t)?t:e,n.fail(),o())}));try{t.then(o,u)}catch(n){u()}}}function xn(n){var t=Nn(),e=function(n){return a.run({currentTest:n},(function(){return n.run()}))}(n);try{i.isPromise(e)?(n.asyncTest=e,n.setPending(),Pn(n)):t.emit(En.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 Ln(t){var e=E()[0].prev;return i.isEmpty(e)?(Un(t),t):(e=function(n){var t=W();return i.nestedArray.valueAtPath(n,t)}(e),i.isNullish(t.key)?(function(n,t){return i.isNotEmpty(n)&&!kn(n,t)}(e,t)&&(function(t,e){D().type===n.EACH||i.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.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,t),function(){var n=V().current();g((function(t){return t.splice(n),t}))}(),e=null),Un(t=i.defaultTo(e,t)),t):(t=function(n,t){var e=function(n){return D().keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=D().keys.current;i.isNullish(e[n])?e[n]=t:i.deferThrow('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}(t.key,t),Un(t),t))}function Un(n){var t=W();g((function(e){return i.nestedArray.setValueAtPath(e,t,n)}))}function Dn(n){var t=V();if(Fn(n))return n.skip(),Ln(n),t.next(),n;var e=Ln(n);return On()||j(n.fieldName)?(e.omit(),t.next(),e):Tn(n)?(e.skip(mn()),t.next(),e):(function(n,t){t!==n&&kn(n,t)&&n.isPending()&&n.cancel()}(e,n),Un(n),function(n){n.isUntested()?xn(n):i.isPromise(n.asyncTest)&&(n.setPending(),Pn(n))}(n),t.next(),n)}function Wn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=i.isFunction(t[1])?t:bn([void 0],t,!0);t=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(n),wn("fieldName","string")),i.invariant(i.isFunction(e),wn("Test callback","function"));var u=a.useX();return Dn(t=new A(n,e,{message:t,groupName:u.groupName,key:r}))}Rn.group=function(n){return Cn(0,"groups",n)},Sn.group=function(n){return Cn(1,"groups",n)};var Vn=i.assign(Wn,{memo:function(n){var t=i.cache(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=V().current();var o=(r=r.reverse())[0],s=r[1],a=r[2];return u=[f(),e,u].concat(o),r=t.get(u),i.isNull(r)?t(u,(function(){return n(e,a,s)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,a,s)}))):Dn(r[1])}}(Wn)});function wn(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.6.0",exports.context=a,exports.create=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=(t=t.reverse())[0];t=t[1],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=yn(),o=L();return t={stateRef:U(o,{suiteId:i.seq(),suiteName:t}),bus:u},i.assign(a.bind(t,(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.reset(),w({type:n.SUITE},(function(){r.apply(void 0,t)})),u.emit(En.SUITE_CALLBACK_DONE_RUNNING),pn()})),{get:a.bind(t,cn),remove:a.bind(t,(function(n){u.emit(En.REMOVE_FIELD,n)})),reset:o.reset,resetField:a.bind(t,(function(n){u.emit(En.RESET_FIELD,n)}))})},exports.each=function(t,e){i.invariant(i.isFunction(e),"each callback must be a function"),w({type:n.EACH},(function(){t.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){a.useX().mode[0]=n}(e.EAGER)},exports.group=function(t,e){i.invariant(i.isStringValue(t),In("name must be a string")),i.invariant(i.isFunction(e),In("callback must be a function")),w({type:n.GROUP},(function(){a.run({groupName:t},e)}))},exports.include=function(n){var t=a.useX(),e=t.inclusion;return t=t.exclusion,i.invariant(i.isStringValue(n)),e[n]=i.defaultTo(t.tests[n],!0),{when:function(t){var e=a.useX(),r=e.exclusion;e.inclusion[n]=function(){return i.hasOwnProperty(r.tests,n)?i.defaultTo(r.tests[n],!0):i.isStringValue(t)?!!r.tests[t]:i.optionalFunctionValue(t,i.optionalFunctionValue(cn))}}}},exports.omitWhen=function(t,e){w({type:n.OMIT_WHEN},(function(){a.run({omitted:On()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.only=Rn,exports.optional=function(n){if(i.isArray(n)||i.isStringValue(n))i.asArray(n).forEach((function(n){d(n,(function(){return{type:H.Delayed,applied:!1,rule:null}}))}));else{var t,e=function(t){var e=n[t];d(t,(function(){return{type:H.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(t in n)e(t)}},exports.skip=Sn,exports.skipWhen=function(t,e){w({type:n.SKIP_WHEN},(function(){a.run({skipped:mn()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.suiteSelectors=tn,exports.test=Vn,exports.warn=function(){var n=a.useX("warn hook called outside of a running suite.");i.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
@@ -1,56 +1,33 @@
1
- import { invariant, hasOwnProperty, isPositive, defaultTo, isFunction } from 'vest-utils';
1
+ import { invariant, hasOwnProperty, isPositive, isFunction } from 'vest-utils';
2
+ import { suiteSelectors } from 'vest';
2
3
 
3
- var Severity;
4
- (function (Severity) {
5
- Severity["WARNINGS"] = "warnings";
6
- Severity["ERRORS"] = "errors";
7
- })(Severity || (Severity = {}));
8
- var SeverityCount;
9
- (function (SeverityCount) {
10
- SeverityCount["ERROR_COUNT"] = "errorCount";
11
- SeverityCount["WARN_COUNT"] = "warnCount";
12
- })(SeverityCount || (SeverityCount = {}));
13
-
14
- // eslint-disable-next-line max-lines-per-function
15
- function parse(res) {
16
- invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
4
+ // eslint-disable-next-line max-statements
5
+ function parse(summary) {
6
+ invariant(summary && hasOwnProperty(summary, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
7
+ var sel = suiteSelectors(summary);
17
8
  var testedStorage = {};
18
9
  var selectors = {
19
- invalid: hasErrors,
10
+ invalid: sel.hasErrors,
20
11
  tested: isTested,
21
12
  untested: isUntested,
22
- valid: isValid,
23
- warning: hasWarnings
13
+ valid: sel.isValid,
14
+ warning: sel.hasWarnings
24
15
  };
25
16
  return selectors;
17
+ // Booleans
26
18
  function isTested(fieldName) {
27
19
  if (!fieldName) {
28
- return isPositive(res.testCount);
20
+ return isPositive(summary.testCount);
29
21
  }
30
22
  if (hasOwnProperty(testedStorage, fieldName))
31
23
  return testedStorage[fieldName];
32
24
  testedStorage[fieldName] =
33
- hasOwnProperty(res.tests, fieldName) &&
34
- isPositive(res.tests[fieldName].testCount);
25
+ hasOwnProperty(summary.tests, fieldName) &&
26
+ isPositive(summary.tests[fieldName].testCount);
35
27
  return selectors.tested(fieldName);
36
28
  }
37
29
  function isUntested(fieldName) {
38
- return res.testCount === 0 || !selectors.tested(fieldName);
39
- }
40
- function isValid(fieldName) {
41
- var _a;
42
- return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
43
- }
44
- function hasWarnings(fieldName) {
45
- return hasFailures(SeverityCount.WARN_COUNT, fieldName);
46
- }
47
- function hasErrors(fieldName) {
48
- return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
49
- }
50
- function hasFailures(countKey, fieldName) {
51
- var _a;
52
- var failureCount = defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
53
- return isPositive(failureCount);
30
+ return !(isPositive(summary.testCount) && selectors.tested(fieldName));
54
31
  }
55
32
  }
56
33
 
@@ -1 +1 @@
1
- import{invariant as t,hasOwnProperty as n,isPositive as r,defaultTo as e,isFunction as u}from"vest-utils";var o,i=o||(o={});i.WARNINGS="warnings",i.ERRORS="errors";var s,a=s||(s={});a.ERROR_COUNT="errorCount",a.WARN_COUNT="warnCount";export default function(o,i){void 0===i&&(i={});var a=function(u){function o(t,n){var o;return t=e(n?null===(o=u.tests[n])||void 0===o?void 0:o[t]:u[t],0),r(t)}t(u&&n(u,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var i={},a={invalid:function(t){return o(s.ERROR_COUNT,t)},tested:function(t){return t?n(i,t)?i[t]:(i[t]=n(u.tests,t)&&r(u.tests[t].testCount),a.tested(t)):r(u.testCount)},untested:function(t){return 0===u.testCount||!a.tested(t)},valid:function(t){var n;return t?!(null===(n=u.tests[t])||void 0===n||!n.valid):u.valid},warning:function(t){return o(s.WARN_COUNT,t)}};return a}(o);return function(t){var n,r=[];for(n in i){var e=n;u(a[e])&&a[e](t)&&r.push(i[e])}return r.join(" ")}}
1
+ import{suiteSelectors as t}from"vest";import{invariant as e,hasOwnProperty as r,isPositive as n,isFunction as s}from"vest-utils";export default function(i,o){void 0===o&&(o={});var u=function(s){e(s&&r(s,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var i=t(s),o={},u={invalid:i.hasErrors,tested:function(t){return t?r(o,t)?o[t]:(o[t]=r(s.tests,t)&&n(s.tests[t].testCount),u.tested(t)):n(s.testCount)},untested:function(t){return!(n(s.testCount)&&u.tested(t))},valid:i.isValid,warning:i.hasWarnings};return u}(i);return function(t){var e,r=[];for(e in o){var n=e;s(u[n])&&u[n](t)&&r.push(o[n])}return r.join(" ")}}
@@ -1,56 +1,33 @@
1
- import { invariant, hasOwnProperty, isPositive, defaultTo } from 'vest-utils';
1
+ import { suiteSelectors } from 'vest';
2
+ import { invariant, hasOwnProperty, isPositive } from 'vest-utils';
2
3
 
3
- var Severity;
4
- (function (Severity) {
5
- Severity["WARNINGS"] = "warnings";
6
- Severity["ERRORS"] = "errors";
7
- })(Severity || (Severity = {}));
8
- var SeverityCount;
9
- (function (SeverityCount) {
10
- SeverityCount["ERROR_COUNT"] = "errorCount";
11
- SeverityCount["WARN_COUNT"] = "warnCount";
12
- })(SeverityCount || (SeverityCount = {}));
13
-
14
- // eslint-disable-next-line max-lines-per-function
15
- function parse(res) {
16
- invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
4
+ // eslint-disable-next-line max-statements
5
+ function parse(summary) {
6
+ invariant(summary && hasOwnProperty(summary, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
7
+ var sel = suiteSelectors(summary);
17
8
  var testedStorage = {};
18
9
  var selectors = {
19
- invalid: hasErrors,
10
+ invalid: sel.hasErrors,
20
11
  tested: isTested,
21
12
  untested: isUntested,
22
- valid: isValid,
23
- warning: hasWarnings
13
+ valid: sel.isValid,
14
+ warning: sel.hasWarnings
24
15
  };
25
16
  return selectors;
17
+ // Booleans
26
18
  function isTested(fieldName) {
27
19
  if (!fieldName) {
28
- return isPositive(res.testCount);
20
+ return isPositive(summary.testCount);
29
21
  }
30
22
  if (hasOwnProperty(testedStorage, fieldName))
31
23
  return testedStorage[fieldName];
32
24
  testedStorage[fieldName] =
33
- hasOwnProperty(res.tests, fieldName) &&
34
- isPositive(res.tests[fieldName].testCount);
25
+ hasOwnProperty(summary.tests, fieldName) &&
26
+ isPositive(summary.tests[fieldName].testCount);
35
27
  return selectors.tested(fieldName);
36
28
  }
37
29
  function isUntested(fieldName) {
38
- return res.testCount === 0 || !selectors.tested(fieldName);
39
- }
40
- function isValid(fieldName) {
41
- var _a;
42
- return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
43
- }
44
- function hasWarnings(fieldName) {
45
- return hasFailures(SeverityCount.WARN_COUNT, fieldName);
46
- }
47
- function hasErrors(fieldName) {
48
- return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
49
- }
50
- function hasFailures(countKey, fieldName) {
51
- var _a;
52
- var failureCount = defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
53
- return isPositive(failureCount);
30
+ return !(isPositive(summary.testCount) && selectors.tested(fieldName));
54
31
  }
55
32
  }
56
33
 
@@ -1 +1 @@
1
- import{invariant as t,hasOwnProperty as e,isPositive as n,defaultTo as r}from"vest-utils";var s,u=s||(s={});u.WARNINGS="warnings",u.ERRORS="errors";var o,i=o||(o={});i.ERROR_COUNT="errorCount",i.WARN_COUNT="warnCount";export function parse(s){function u(t,e){var u;return t=r(e?null===(u=s.tests[e])||void 0===u?void 0:u[t]:s[t],0),n(t)}t(s&&e(s,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var i={},a={invalid:function(t){return u(o.ERROR_COUNT,t)},tested:function(t){return t?e(i,t)?i[t]:(i[t]=e(s.tests,t)&&n(s.tests[t].testCount),a.tested(t)):n(s.testCount)},untested:function(t){return 0===s.testCount||!a.tested(t)},valid:function(t){var e;return t?!(null===(e=s.tests[t])||void 0===e||!e.valid):s.valid},warning:function(t){return u(o.WARN_COUNT,t)}};return a}
1
+ import{invariant as t,hasOwnProperty as e,isPositive as s}from"vest-utils";import{suiteSelectors as r}from"vest";export function parse(n){t(n&&e(n,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var i=r(n),o={},a={invalid:i.hasErrors,tested:function(t){return t?e(o,t)?o[t]:(o[t]=e(n.tests,t)&&s(n.tests[t].testCount),a.tested(t)):s(n.testCount)},untested:function(t){return!(s(n.testCount)&&a.tested(t))},valid:i.isValid,warning:i.hasWarnings};return a}