vest 4.2.3-dev-87ebfa → 4.3.2-dev-2805e3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classnames.development.js +61 -23
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +20 -5
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +1 -1
- package/dist/cjs/parser.development.js +87 -22
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/vest.development.js +548 -566
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +61 -23
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -1
- package/dist/es/enforce/compounds.development.js +20 -5
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -1
- package/dist/es/parser.development.js +87 -22
- package/dist/es/parser.production.js +1 -1
- package/dist/es/vest.development.js +548 -566
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +61 -23
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +34 -30
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +36 -32
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +34 -30
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +87 -22
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +482 -515
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/testUtils/suiteDummy.ts +5 -1
- package/types/classnames.d.ts +17 -55
- package/types/enforce/compose.d.ts +22 -21
- package/types/enforce/compounds.d.ts +24 -23
- package/types/enforce/schema.d.ts +26 -25
- package/types/parser.d.ts +16 -54
- package/types/promisify.d.ts +23 -16
- package/types/vest.d.ts +109 -101
|
@@ -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){return[].concat(n)}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function a(n,t){return function(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}(n.length,t)}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(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 f(n.length,t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function p(n){return!!Array.isArray(n)}function d(n){return null===n}var v=i(d);function h(n){return"function"==typeof n}function g(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return h(n)?n.apply(void 0,t):n}function E(n,t){var e;return null!==(e=g(n))&&void 0!==e?e:t}function N(n){return(n=s(n))[n.length-1]}function m(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(m(u,t)):(u=t(u),v(u)&&e.push(u))}return e}function y(n,t,e){return S(n,t)[N(t)]=e,n}function R(n){return s(n).reduce((function(n,t){return p(t)?n.concat(R(t)):s(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]=E(n[r],[]),n=n[r]}return n}var C,b,T=Object.assign;function _(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return N(t)},getCursor:function(){return s(t)},next:function(){return t[t.length-1]++,N(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"}(C||(C={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(b||(b={}));var I=e.createContext((function(n,t){return t?null:T({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:C.DEFAULT,keys:{current:{},prev:{}}},mode:[b.ALL],testCursor:_()},n)}));function O(){return I.useX().stateRef}function A(){return O().suiteId()[0]}function k(){return O().testCallbacks()}function L(){return O().optionalFields()}function x(){return O().testObjects()}function F(){(0,x()[1])((function(n){return{prev:n.prev,current:s(n.current)}}))}function U(n){(0,x()[1])((function(t){return{prev:t.prev,current:s(n(t.current))}}))}function W(){return R(m(x()[0].current,(function(n){return n.isPending()?n:null})))}var G,P=l();function D(){var n=x()[0].current;return P([n],(function(){return R(n)}))}function w(n){D().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(G||(G={}));var X,H,K=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=M,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){(function(n,t){return o(n)&&u(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==z||(this.status=n)},n.prototype.warns=function(){return this.severity===G.Warning},n.prototype.setPending=function(){this.setStatus(Y)},n.prototype.fail=function(){this.setStatus(this.warns()?B:j)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(V)},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(J),F()},n.prototype.reset=function(){this.status=M,F()},n.prototype.omit=function(){this.setStatus(z)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Y)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(z)},n.prototype.isUntested=function(){return this.statusEquals(M)},n.prototype.isFailing=function(){return this.statusEquals(j)},n.prototype.isCanceled=function(){return this.statusEquals(J)},n.prototype.isSkipped=function(){return this.statusEquals(q)},n.prototype.isPassing=function(){return this.statusEquals(V)},n.prototype.isWarning=function(){return this.statusEquals(B)},n.prototype.statusEquals=function(n){return this.status===n},n}(),M="UNTESTED",q="SKIPPED",j="FAILED",B="WARNING",V="PASSING",Y="PENDING",J="CANCELED",z="OMITTED";function Q(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?g(t):t)}function Z(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,h(t=u[t][1])&&t(e,i),h(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 $(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 nn(n){return d(n)||o(n)}function tn(n){setTimeout((function(){throw Error(n)}),0)}function en(){return I.useX().testCursor.getCursor()}function rn(){return I.useX().testCursor.cursorAt()}function un(){return I.useX().testCursor.next()}function on(n,t){n=void 0===(n=n.type)?C.DEFAULT:n,Q(h(t));var e={current:{},prev:{}},r=en();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=s(S(x()[0].prev,en())).reduce((function(n,t){return t instanceof K&&!nn(t.key)?(n[t.key]=t,n):n}),{}),U((function(n){return y(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),un(),n}))}function sn(n){return n===X.ERRORS?H.ERROR_COUNT:H.WARN_COUNT}function cn(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function an(n){return!n||(function(n){return"number"==typeof n}(n)?0===n:cn(n,"length")?a(n,0):"object"==typeof n&&a(Object.keys(n),0))}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(X||(X={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(H||(H={}));var fn=i(an);function ln(n,t){return!!t&&!pn(n,t)}function pn(n,t){return!(!t||n.fieldName!==t)}function dn(n){return function(n,t){return D().some((function(e){return function(n,t,e){return!(!n.hasFailures()||ln(n,e)||function(n,t){return function(n,t){return!!n!=!!t}(n===X.WARNINGS,t.warns())}(t,n))}(e,n,t)}))}(X.ERRORS,n)}function vn(n){return!!function(n){return!!n&&D().some((function(t){return t.fieldName===n&&t.isOmitted()}))}(n)||!dn(n)&&(!an(D())&&!function(n){var t=L()[0];return fn(W().filter((function(e){return!ln(e,n)&&!0!==t[e.fieldName]})))}(n)&&function(n){var t=D(),e=L()[0];return t.every((function(t){return!!ln(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(n))}function hn(){var n=I.useX().summary;return Q(n),n}function gn(){var n=D(),t=T({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=En(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&vn(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=En(n[e],t))}(n.groups,t),n}),t),t.valid=vn(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function En(n,t){function e(n){var t=sn(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||T({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(X.ERRORS):t.isWarning()&&e(X.WARNINGS)),i}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={};for(e in n)r[e]=n[e][t]||[];return r}(n,t)}function mn(n){return Rn(X.ERRORS,n)}function yn(n){return Rn(X.WARNINGS,n)}function Rn(n,t){return Nn(hn().tests,n,t)}function Sn(n,t){return bn(n,X.ERRORS,t)}function Cn(n,t){return bn(n,X.WARNINGS,t)}function bn(n,t,e){return Nn(hn().groups[n],t,e)}function Tn(n){return f(n,0)}function _n(n){return On(H.ERROR_COUNT,n)}function In(n){return On(H.WARN_COUNT,n)}function On(n,t){var e,r=hn();return Tn(t?null===(e=r.tests[t])||void 0===e?void 0:e[n]:r[n])}function An(n,t){return Ln(X.ERRORS,n,t)}function kn(n,t){return Ln(X.WARNINGS,n,t)}function Ln(n,t,e){var r,u,i=hn();if(n=sn(n),!(t=i.groups[t]))return!1;if(e)return Tn(null===(r=t[e])||void 0===r?void 0:r[n]);for(var o in t)if(Tn(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function xn(n){var t,e=hn();return n?!(null===(t=e.tests[n])||void 0===t||!t.valid):e.valid}var Fn=l(1);function Un(){var n=D(),t={stateRef:O()};return Fn([n],I.bind(t,(function(){var n=gn(),t=O().suiteName()[0],e={summary:n};return T(n,{getErrors:I.bind(e,mn),getErrorsByGroup:I.bind(e,Sn),getWarnings:I.bind(e,yn),getWarningsByGroup:I.bind(e,Cn),hasErrors:I.bind(e,_n),hasErrorsByGroup:I.bind(e,An),hasWarnings:I.bind(e,In),hasWarningsByGroup:I.bind(e,kn),isValid:I.bind(e,xn),suiteName:t})})))}function Wn(n){var t=W();return!an(t)&&(n?t.some((function(t){return pn(t,n)})):fn(t))}var Gn=l(20);function Pn(){var n=D(),t={stateRef:O()};return Gn([n],I.bind(t,(function(){return T({},Un(),{done:I.bind(t,Hn)})})))}function Dn(n,t,e){return!(h(n)&&(!t||e.tests[t]&&!an(e.tests[t].testCount)))}function wn(n){return!(Wn()&&(!n||Wn(n)))}var Xn,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(Un())};return wn(n)?(r(),t):(Kn(r,n),t)};function Kn(n,t){(0,k()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function Mn(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(Xn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=k()[0].fieldCallbacks;n&&!Wn(n)&&p(t[n])&&Mn(t[n])}(t.fieldName),Wn()||n.emit(Xn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Xn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=L()[0];if(!an(n)){var t={};U((function(e){return m(e,(function(e){if(cn(t,e.fieldName))t[e.fieldName]&&e.omit();else{var r=n[e.fieldName];h(r)&&(t[e.fieldName]=r(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Xn.ALL_RUNNING_TESTS_FINISHED,(function(){Mn(k()[0].doneCallbacks)})),n.on(Xn.REMOVE_FIELD,(function(n){w((function(t){pn(t,n)&&(t.cancel(),function(n){U((function(t){return m(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Xn.RESET_FIELD,(function(n){w((function(t){pn(t,n)&&t.reset()}))})),n}function jn(){var n=I.useX();return Q(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"}(Xn||(Xn={}));function Bn(){return!!I.useX().skipped}function Vn(n){return zn(0,"tests",n)}function Yn(n){return zn(1,"tests",n)}function Jn(n){var t=n.fieldName;if(n=n.groupName,Bn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;return cn(t,n)?!1===t[n]:Zn()}(n))return!0;if(!0===r.groups[n])return!i&&(!!Qn(u)||!1===u[t])}return!!function(n){return!!Zn()&&!n}(n)||!i&&(!!Qn(u)&&!g(e[t]))}function zn(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&s(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function Qn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Zn(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function $n(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function nt(n){return!(!function(n){return I.useX().mode[0]===n}(b.EAGER)||!dn(n.fieldName))}function tt(){return!!I.useX().omitted}function et(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 rt(n){return n&&h(n.then)}function ut(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function it(n){var t=n.asyncTest,e=n.message;if(rt(t)){var r=jn().emit,i=O(),o=I.bind({stateRef:i},(function(){F(),r(Xn.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 ot(n){var t=jn(),e=function(n){return I.run({currentTest:n},(function(){return n.run()}))}(n);try{rt(e)?(n.asyncTest=e,n.setPending(),it(n)):t.emit(Xn.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 st(n){var t=x()[0].prev;return an(t)?(ct(n),n):(t=function(n){var t=en();return function(n,t){return S(n,t)[N(t)]}(n,t)}(t),nn(n.key)?(function(n,t){return fn(n)&&!ut(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===C.EACH||tn("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=x(),t=n[1],e=n[0].prev;n=S(e,en());var r=rn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),ct(n=E(t,n)),n):(ct(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;nn(e[n])?e[n]=t:tn('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 ct(n){var t=en();U((function(e){return y(e,t,n)}))}function at(n){if(nt(n))return n.skip(),st(n),un(),n;var t=st(n);return tt()?(t.omit(),un(),t):Jn(n)?(t.skip(Bn()),un(),t):(function(n,t){t!==n&&ut(n,t)&&n.isPending()&&n.cancel()}(t,n),ct(n),un(),function(n){n.isUntested()?ot(n):rt(n.asyncTest)&&(n.setPending(),it(n))}(n),n)}function ft(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=h(t[1])?t:et([void 0],t,!0);t=r[0],e=r[1],r=r[2],Q(u(n),pt("fieldName","string")),Q(h(e),pt("Test callback","function"));var i=I.useX();return at(t=new K(n,e,{message:t,groupName:i.groupName,key:r}))}Vn.group=function(n){return zn(0,"groups",n)},Yn.group=function(n){return zn(1,"groups",n)};var lt=T(ft,{memo:function(n){var t=l(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=rn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[A(),e,u].concat(i),d(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)}))):at(r[1])}}(ft)});function pt(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.2-dev-2805e3",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],Q(h(e),"vest.create: Expected callback to be a function.");var u=qn(),i=Z();return n={stateRef:$(i,{suiteId:r(),suiteName:n}),bus:u},T(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),on({type:C.SUITE},(function(){e.apply(void 0,n)})),u.emit(Xn.SUITE_CALLBACK_DONE_RUNNING),Pn()})),{get:I.bind(n,Un),remove:I.bind(n,(function(n){u.emit(Xn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Xn.RESET_FIELD,n)}))})},exports.each=function(n,t){Q(h(t),"each callback must be a function"),on({type:C.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(b.EAGER)},exports.group=function(n,t){Q(u(n),$n("name must be a string")),Q(h(t),$n("callback must be a function")),on({type:C.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){var t=I.useX(),e=t.inclusion;return t=t.exclusion,Q(u(n)),e[n]=E(t.tests[n],!0),{when:function(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return cn(r.tests,n)?E(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Un))}}}},exports.omitWhen=function(n,t){on({type:C.OMIT_WHEN},(function(){I.run({omitted:tt()||g(n,g(Un))},(function(){return t()}))}))},exports.only=Vn,exports.optional=function(n){(0,L()[1])((function(t){if(p(n)||u(n))s(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=Yn,exports.skipWhen=function(n,t){on({type:C.SKIP_WHEN},(function(){I.run({skipped:Bn()||g(n,g(Un))},(function(){return t()}))}))},exports.test=lt,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");Q(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|
|
@@ -10,6 +10,18 @@ function optionalFunctionValue(value) {
|
|
|
10
10
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
function defaultTo(callback, defaultValue) {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A safe hasOwnProperty access
|
|
20
|
+
*/
|
|
21
|
+
function hasOwnProperty(obj, key) {
|
|
22
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
23
|
+
}
|
|
24
|
+
|
|
13
25
|
function invariant(condition,
|
|
14
26
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
15
27
|
message) {
|
|
@@ -35,35 +47,62 @@ function greaterThan(value, gt) {
|
|
|
35
47
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
36
48
|
}
|
|
37
49
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
function hasOwnProperty(obj, key) {
|
|
42
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
50
|
+
function isPositive(value) {
|
|
51
|
+
return greaterThan(value, 0);
|
|
43
52
|
}
|
|
44
53
|
|
|
54
|
+
var Severity;
|
|
55
|
+
(function (Severity) {
|
|
56
|
+
Severity["WARNINGS"] = "warnings";
|
|
57
|
+
Severity["ERRORS"] = "errors";
|
|
58
|
+
})(Severity || (Severity = {}));
|
|
59
|
+
var SeverityCount;
|
|
60
|
+
(function (SeverityCount) {
|
|
61
|
+
SeverityCount["ERROR_COUNT"] = "errorCount";
|
|
62
|
+
SeverityCount["WARN_COUNT"] = "warnCount";
|
|
63
|
+
})(SeverityCount || (SeverityCount = {}));
|
|
64
|
+
|
|
65
|
+
// eslint-disable-next-line max-lines-per-function
|
|
45
66
|
function parse(res) {
|
|
67
|
+
invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
46
68
|
var testedStorage = {};
|
|
47
69
|
var selectors = {
|
|
48
|
-
invalid:
|
|
49
|
-
tested:
|
|
50
|
-
|
|
51
|
-
|
|
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
|
|
70
|
+
invalid: hasErrors,
|
|
71
|
+
tested: isTested,
|
|
72
|
+
untested: isUntested,
|
|
73
|
+
valid: isValid,
|
|
74
|
+
warning: hasWarnings
|
|
65
75
|
};
|
|
66
76
|
return selectors;
|
|
77
|
+
function isTested(fieldName) {
|
|
78
|
+
if (!fieldName) {
|
|
79
|
+
return isPositive(res.testCount);
|
|
80
|
+
}
|
|
81
|
+
if (hasOwnProperty(testedStorage, fieldName))
|
|
82
|
+
return testedStorage[fieldName];
|
|
83
|
+
testedStorage[fieldName] =
|
|
84
|
+
hasOwnProperty(res.tests, fieldName) &&
|
|
85
|
+
isPositive(res.tests[fieldName].testCount);
|
|
86
|
+
return selectors.tested(fieldName);
|
|
87
|
+
}
|
|
88
|
+
function isUntested(fieldName) {
|
|
89
|
+
return res.testCount === 0 || !selectors.tested(fieldName);
|
|
90
|
+
}
|
|
91
|
+
function isValid(fieldName) {
|
|
92
|
+
var _a;
|
|
93
|
+
return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
|
|
94
|
+
}
|
|
95
|
+
function hasWarnings(fieldName) {
|
|
96
|
+
return hasFailures(SeverityCount.WARN_COUNT, fieldName);
|
|
97
|
+
}
|
|
98
|
+
function hasErrors(fieldName) {
|
|
99
|
+
return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
|
|
100
|
+
}
|
|
101
|
+
function hasFailures(countKey, fieldName) {
|
|
102
|
+
var _a;
|
|
103
|
+
var failureCount = defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
|
|
104
|
+
return isPositive(failureCount);
|
|
105
|
+
}
|
|
67
106
|
}
|
|
68
107
|
|
|
69
108
|
/**
|
|
@@ -71,7 +110,6 @@ function parse(res) {
|
|
|
71
110
|
*/
|
|
72
111
|
function classnames(res, classes) {
|
|
73
112
|
if (classes === void 0) { classes = {}; }
|
|
74
|
-
invariant(res && isFunction(res.hasErrors), "classnames: Expected first argument to be Vest's result object.");
|
|
75
113
|
var selectors = parse(res);
|
|
76
114
|
return function (key) {
|
|
77
115
|
var classesArray = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(t){
|
|
1
|
+
function t(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}function n(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function r(t,r){return n(t)&&n(r)&&Number(t)>Number(r)}var e,o=e||(e={});o.WARNINGS="warnings",o.ERRORS="errors";var u,i=u||(u={});function a(n){function e(e,o){var u,i;return e=o?null===(u=n.tests[o])||void 0===u?void 0:u[e]:n[e],r(u=null!==(i=t(e))&&void 0!==i?i:0,0)}!function(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}(n&&Object.prototype.hasOwnProperty.call(n,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return e(u.ERROR_COUNT,t)},tested:function(t){return t?Object.prototype.hasOwnProperty.call(o,t)?o[t]:(o[t]=Object.prototype.hasOwnProperty.call(n.tests,t)&&r(n.tests[t].testCount,0),i.tested(t)):r(n.testCount,0)},untested:function(t){return 0===n.testCount||!i.tested(t)},valid:function(t){var r;return t?!(null===(r=n.tests[t])||void 0===r||!r.valid):n.valid},warning:function(t){return e(u.WARN_COUNT,t)}};return i}i.ERROR_COUNT="errorCount",i.WARN_COUNT="warnCount";export default function(t,n){void 0===n&&(n={});var r=a(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(" ")}}
|
|
@@ -89,7 +89,7 @@ function compose() {
|
|
|
89
89
|
return ctx.run({ value: value }, function () {
|
|
90
90
|
return defaultToPassing(mapFirst(composites, function (composite, breakout) {
|
|
91
91
|
/* HACK: Just a small white lie. ~~HELP WANTED~~.
|
|
92
|
-
The ideal is that instead of `
|
|
92
|
+
The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
|
|
93
93
|
The problem is that lazy rules can't really be passed to this function due to some generic hell
|
|
94
94
|
so we're limiting it to a small set of functions.
|
|
95
95
|
*/
|
|
@@ -100,12 +100,27 @@ function noneOf(value) {
|
|
|
100
100
|
}));
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
+
function isNumeric(value) {
|
|
104
|
+
var str = String(value);
|
|
105
|
+
var num = Number(value);
|
|
106
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
107
|
+
return Boolean(result);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function numberEquals(value, eq) {
|
|
111
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
112
|
+
}
|
|
113
|
+
|
|
103
114
|
function lengthEquals(value, arg1) {
|
|
104
|
-
return value.length
|
|
115
|
+
return numberEquals(value.length, arg1);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function greaterThan(value, gt) {
|
|
119
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
105
120
|
}
|
|
106
121
|
|
|
107
122
|
function longerThan(value, arg1) {
|
|
108
|
-
return value.length
|
|
123
|
+
return greaterThan(value.length, arg1);
|
|
109
124
|
}
|
|
110
125
|
|
|
111
126
|
var REQUIRED_COUNT = 1;
|
|
@@ -116,13 +131,13 @@ function oneOf(value) {
|
|
|
116
131
|
}
|
|
117
132
|
var passing = [];
|
|
118
133
|
rules.some(function (rule) {
|
|
119
|
-
if (longerThan(passing, REQUIRED_COUNT)) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
134
|
var res = runLazyRule(rule, value);
|
|
123
135
|
if (res.pass) {
|
|
124
136
|
passing.push(res);
|
|
125
137
|
}
|
|
138
|
+
if (longerThan(passing, REQUIRED_COUNT)) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
126
141
|
});
|
|
127
142
|
return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
|
|
128
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{enforce as n}from"n4s";function r(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,
|
|
1
|
+
import{enforce as n}from"n4s";function r(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function t(n,r){var t;return null!==(t=function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return"function"==typeof n?n.apply(void 0,r):n}(n))&&void 0!==t?t:r}function u(n,r){return n={pass:n},r&&(n.message=r),n}function e(n,r){try{return n.run(r)}catch(n){return u(!1)}}function o(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}function f(n,r){return o(n)&&o(r)&&Number(n)===Number(r)}n.extend({allOf:function(n){for(var o=[],f=1;f<arguments.length;f++)o[f-1]=arguments[f];return t(r(o,(function(r,t){(r=e(r,n)).pass||t(r)})),u(!0))},anyOf:function(n){for(var o=[],f=1;f<arguments.length;f++)o[f-1]=arguments[f];return t(r(o,(function(r,t){(r=e(r,n)).pass&&t(r)})),u(!1))},noneOf:function(n){for(var o=[],f=1;f<arguments.length;f++)o[f-1]=arguments[f];return t(r(o,(function(r,t){e(r,n).pass&&t(u(!1))})),u(!0))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var i=[];return r.some((function(r){if((r=e(r,n)).pass&&i.push(r),o(r=i.length)&&o(1)&&Number(r)>Number(1))return!1})),u(f(i.length,1))}});
|
|
@@ -126,7 +126,7 @@ function shape(inputObject, shapeObject) {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// Help needed improving the typings of this file.
|
|
129
|
-
// Ideally, we'd be able to extend
|
|
129
|
+
// Ideally, we'd be able to extend ShapeObject, but that's not possible.
|
|
130
130
|
function partial(shapeObject) {
|
|
131
131
|
var output = {};
|
|
132
132
|
for (var key in shapeObject) {
|
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
function isFunction(value) {
|
|
2
|
+
return typeof value === 'function';
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
function optionalFunctionValue(value) {
|
|
6
|
+
var args = [];
|
|
7
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8
|
+
args[_i - 1] = arguments[_i];
|
|
9
|
+
}
|
|
10
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function defaultTo(callback, defaultValue) {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A safe hasOwnProperty access
|
|
20
|
+
*/
|
|
21
|
+
function hasOwnProperty(obj, key) {
|
|
22
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function invariant(condition,
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
27
|
+
message) {
|
|
28
|
+
if (condition) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// If message is a string object (rather than string literal)
|
|
32
|
+
// Throw the value directly as a string
|
|
33
|
+
// Alternatively, throw an error with the message
|
|
34
|
+
throw message instanceof String
|
|
35
|
+
? message.valueOf()
|
|
36
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
37
|
+
}
|
|
38
|
+
|
|
1
39
|
function isNumeric(value) {
|
|
2
40
|
var str = String(value);
|
|
3
41
|
var num = Number(value);
|
|
@@ -9,35 +47,62 @@ function greaterThan(value, gt) {
|
|
|
9
47
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
10
48
|
}
|
|
11
49
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
function hasOwnProperty(obj, key) {
|
|
16
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
50
|
+
function isPositive(value) {
|
|
51
|
+
return greaterThan(value, 0);
|
|
17
52
|
}
|
|
18
53
|
|
|
54
|
+
var Severity;
|
|
55
|
+
(function (Severity) {
|
|
56
|
+
Severity["WARNINGS"] = "warnings";
|
|
57
|
+
Severity["ERRORS"] = "errors";
|
|
58
|
+
})(Severity || (Severity = {}));
|
|
59
|
+
var SeverityCount;
|
|
60
|
+
(function (SeverityCount) {
|
|
61
|
+
SeverityCount["ERROR_COUNT"] = "errorCount";
|
|
62
|
+
SeverityCount["WARN_COUNT"] = "warnCount";
|
|
63
|
+
})(SeverityCount || (SeverityCount = {}));
|
|
64
|
+
|
|
65
|
+
// eslint-disable-next-line max-lines-per-function
|
|
19
66
|
function parse(res) {
|
|
67
|
+
invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
20
68
|
var testedStorage = {};
|
|
21
69
|
var selectors = {
|
|
22
|
-
invalid:
|
|
23
|
-
tested:
|
|
24
|
-
|
|
25
|
-
|
|
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
|
|
70
|
+
invalid: hasErrors,
|
|
71
|
+
tested: isTested,
|
|
72
|
+
untested: isUntested,
|
|
73
|
+
valid: isValid,
|
|
74
|
+
warning: hasWarnings
|
|
39
75
|
};
|
|
40
76
|
return selectors;
|
|
77
|
+
function isTested(fieldName) {
|
|
78
|
+
if (!fieldName) {
|
|
79
|
+
return isPositive(res.testCount);
|
|
80
|
+
}
|
|
81
|
+
if (hasOwnProperty(testedStorage, fieldName))
|
|
82
|
+
return testedStorage[fieldName];
|
|
83
|
+
testedStorage[fieldName] =
|
|
84
|
+
hasOwnProperty(res.tests, fieldName) &&
|
|
85
|
+
isPositive(res.tests[fieldName].testCount);
|
|
86
|
+
return selectors.tested(fieldName);
|
|
87
|
+
}
|
|
88
|
+
function isUntested(fieldName) {
|
|
89
|
+
return res.testCount === 0 || !selectors.tested(fieldName);
|
|
90
|
+
}
|
|
91
|
+
function isValid(fieldName) {
|
|
92
|
+
var _a;
|
|
93
|
+
return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
|
|
94
|
+
}
|
|
95
|
+
function hasWarnings(fieldName) {
|
|
96
|
+
return hasFailures(SeverityCount.WARN_COUNT, fieldName);
|
|
97
|
+
}
|
|
98
|
+
function hasErrors(fieldName) {
|
|
99
|
+
return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
|
|
100
|
+
}
|
|
101
|
+
function hasFailures(countKey, fieldName) {
|
|
102
|
+
var _a;
|
|
103
|
+
var failureCount = defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
|
|
104
|
+
return isPositive(failureCount);
|
|
105
|
+
}
|
|
41
106
|
}
|
|
42
107
|
|
|
43
108
|
export { parse };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(t){var
|
|
1
|
+
function t(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}function r(t){var r=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(r))}function n(t,n){return r(t)&&r(n)&&Number(t)>Number(n)}var e,o=e||(e={});o.WARNINGS="warnings",o.ERRORS="errors";var u,i=u||(u={});i.ERROR_COUNT="errorCount",i.WARN_COUNT="warnCount";export function parse(r){function e(e,o){var u,i;return e=o?null===(u=r.tests[o])||void 0===u?void 0:u[e]:r[e],n(u=null!==(i=t(e))&&void 0!==i?i:0,0)}!function(r,n){if(!r)throw n instanceof String?n.valueOf():Error(n?t(n):n)}(r&&Object.prototype.hasOwnProperty.call(r,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return e(u.ERROR_COUNT,t)},tested:function(t){return t?Object.prototype.hasOwnProperty.call(o,t)?o[t]:(o[t]=Object.prototype.hasOwnProperty.call(r.tests,t)&&n(r.tests[t].testCount,0),i.tested(t)):n(r.testCount,0)},untested:function(t){return 0===r.testCount||!i.tested(t)},valid:function(t){var n;return t?!(null===(n=r.tests[t])||void 0===n||!n.valid):r.valid},warning:function(t){return e(u.WARN_COUNT,t)}};return i}
|