vest 4.0.2-dev-6e9534 → 4.0.2-dev-72921c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/vest.development.js +1 -1
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +1 -1
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +16 -1
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +16 -1
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +16 -1
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/vest.development.js +17 -2
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/types/enforce/compose.d.ts +3 -0
- package/types/enforce/compounds.d.ts +3 -0
- package/types/enforce/schema.d.ts +3 -0
- package/types/vest.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e=require("n4s"),r=require("context"),u=Object.assign,i=(n=0,function(){return""+n++});function o(n){return"function"==typeof n}function s(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return o(n)?n.apply(void 0,t):n}function c(n,t){var e;return null!==(e=s(n))&&void 0!==e?e:t}function a(n,t){throw Error(c(t,n))}function f(n,t){setTimeout((function(){a(n,t)}),0)}function l(n){function t(n,t,u){return r.references.push(),e(n,s(t,u)),function(){return[r.references[n],function(t){return e(n,s(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,o(t=u[t][1])&&t(e,i),o(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 p(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function v(n){return[].concat(n)}function d(n){return(n=v(n))[n.length-1]}function g(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return d(t)},getCursor:function(){return v(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={}));var h=r.createContext((function(n,e){return e?null:u({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:t.DEFAULT,keys:{current:{},prev:{}}},testCursor:g()},n)}));function m(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function y(n){return!!Array.isArray(n)}function E(n){return null===n}var N=m(E);function b(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];y(u)?e.push(b(u,t)):(u=t(u),N(u)&&e.push(u))}return e}function C(n,t,e){return k(n,t)[d(t)]=e,n}function T(n){return v(n).reduce((function(n,t){return y(t)?n.concat(T(t)):v(n).concat(t)}),[])}function k(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=c(n[r],[]),n=n[r]}return n}function S(n){return void 0===n}function O(n){return E(n)||S(n)}function x(n){return String(n)===n}function P(n,t){return S(n)&&x(t)}function I(n,t){return n.length===Number(t)}function w(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),function(n,t){return n.length>Number(t)}(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return I(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return I(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function F(){return h.useX().stateRef}function W(){return F().suiteId()[0]}function X(){return F().testCallbacks()}function _(){return F().optionalFields()}function A(){return F().testObjects()}function D(){(0,A()[1])((function(n){return{prev:n.prev,current:v(n.current)}}))}function L(n){(0,A()[1])((function(t){return{prev:t.prev,current:v(n(t.current))}}))}function U(){return T(b(A()[0].current,(function(n){return n.isPending()?n:null})))}var M,R=w();function G(){var n=A()[0].current;return R([n],(function(){return T(n)}))}!function(n){n.Error="error",n.Warning="warning"}(M||(M={}));var j=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(),this.severity=M.Error,this.status=H,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){P(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==J||(this.status=n)},n.prototype.warns=function(){return this.severity===M.Warning},n.prototype.setPending=function(){this.setStatus(Y)},n.prototype.fail=function(){this.setStatus(this.warns()?B:V)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(q)},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(K)},n.prototype.cancel=function(){this.setStatus(z),D()},n.prototype.omit=function(){this.setStatus(J)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.status===Y},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===J},n.prototype.isUntested=function(){return this.status===H},n.prototype.isFailing=function(){return this.status===V},n.prototype.isCanceled=function(){return this.status===z},n.prototype.isSkipped=function(){return this.status===K},n.prototype.isPassing=function(){return this.status===q},n.prototype.isWarning=function(){return this.status===B},n}(),H="UNTESTED",K="SKIPPED",V="FAILED",B="WARNING",q="PASSING",Y="PENDING",z="CANCELED",J="OMITTED";function Q(){return h.useX().testCursor.getCursor()}function Z(){return h.useX().testCursor.cursorAt()}function $(){return h.useX().testCursor.next()}function nn(n,e){if(n=void 0===(n=n.type)?t.DEFAULT:n,o(e)){var r={current:{},prev:{}},u=Q();return h.run({isolate:{type:n,keys:r}},(function(){h.useX().testCursor.addLevel(),r.prev=v(k(A()[0].prev,Q())).reduce((function(n,t){return t instanceof j&&!O(t.key)?(n[t.key]=t,n):n}),{}),L((function(n){return C(n,u,[])}));var n=e();return h.useX().testCursor.removeLevel(),$(),n}))}}function tn(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function en(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(tn(n,"length"))return I(n,0);if("object"==typeof n)return I(Object.keys(n),0)}return!0}var rn=m(en);function un(n,t){return!!t&&!on(n,t)}function on(n,t){return!(!t||n.fieldName!==t)}function sn(n){var t=U();return!en(t)&&(n?t.some((function(t){return on(t,n)})):rn(t))}function cn(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).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("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}var an=function(){return(an=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 fn(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 ln(n,t){return function(n,t){return!!n!=!!t}("warnings"===n,t.warns())}function pn(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)||un(n,r)||ln(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),an({},i&&((r={})[i]=[],r)))}function vn(n,t){return t?n[t]:n}function dn(n){return hn("errors",n)}function gn(n){return hn("warnings",n)}function hn(n,t){return vn(n=pn(n,G(),{fieldName:t}),t)}function mn(n,t){return vn(n=En("errors",n,t),t)}function yn(n,t){return vn(n=En("warnings",n,t),t)}function En(n,t,e){return t||a("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),pn(n,G(),{group:t,fieldName:e})}function Nn(n,t,e){return!(!n.hasFailures()||un(n,e)||ln(t,n))}function bn(n){return Tn("errors",n)}function Cn(n){return Tn("warnings",n)}function Tn(n,t){return G().some((function(e){return Nn(e,n,t)}))}function kn(n,t){return On("errors",n,t)}function Sn(n,t){return On("warnings",n,t)}function On(n,t,e){return G().some((function(r){return t===r.groupName&&Nn(r,n,e)}))}function xn(n,t){return!!function(n){var t=G().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(en(G())||function(n,t){return!!t&&en(n.tests[t])}(n,t)||function(n){var t=_()[0];return rn(U().filter((function(e){return!un(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=G(),e=_()[0];return t.every((function(t){return!!un(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var Pn=w(20);function In(){var n=G(),t={stateRef:F()};return Pn([n],h.bind(t,(function(){var n=F().suiteName()[0];return u(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return G().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=cn(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=cn(n.groups[r],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}(n)}(),{getErrors:h.bind(t,dn),getErrorsByGroup:h.bind(t,mn),getWarnings:h.bind(t,gn),getWarningsByGroup:h.bind(t,yn),hasErrors:h.bind(t,bn),hasErrorsByGroup:h.bind(t,kn),hasWarnings:h.bind(t,Cn),hasWarningsByGroup:h.bind(t,Sn),isValid:h.bind(t,(function(n){return xn(In(),n)})),suiteName:n})})))}var wn=w(20);function Fn(){var n=G(),t={stateRef:F()};return wn([n],h.bind(t,(function(){return u({},In(),{done:h.bind(t,An)})})))}function Wn(n,t,e){return!(o(n)&&(!t||e.tests[t]&&!en(e.tests[t].testCount)))}function Xn(n){return!(sn()&&(!n||sn(n)))}var _n,An=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=Fn(),Wn(e,n,t))return t;var r=function(){return e(In())};return Xn(n)?(r(),t):(Dn(r,n),t)};function Dn(n,t){var e=h.bind({},n);(0,X()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Ln(n){return n.forEach((function(n){return n()}))}function Un(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(_n.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(n){var t=X()[0].fieldCallbacks;n&&!sn(n)&&y(t[n])&&Ln(t[n])}(n.fieldName),function(){var n=X()[0].doneCallbacks;sn()||Ln(n)}())})),n.on(_n.SUITE_COMPLETED,(function(){!function(){var n=_()[0];if(!en(n)){var t={};L((function(e){return b(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];o(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(_n.REMOVE_FIELD,(function(n){G().forEach((function(t){on(t,n)&&(t.cancel(),function(n){L((function(t){return b(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n}function Mn(){var n=h.useX();return n.bus||a(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.SUITE_COMPLETED="suite_completed"}(_n||(_n={}));function Rn(n){return Kn(0,"tests",n)}function Gn(n){return Kn(1,"tests",n)}function jn(){return!!h.useX().skipped}function Hn(n){var t=n.fieldName;if(n=n.groupName,jn())return!0;var e=h.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=h.useX().exclusion.groups;if(tn(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&&(!!Vn(u)||!1===u[t])}return!!function(n){var t=h.useX().exclusion;return!!function(){var n,t=h.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&&(!!Vn(u)&&!s(e[t]))}function Kn(n,t,e){var r=h.useX("hook called outside of a running suite.");e&&v(e).forEach((function(e){x(e)&&(r.exclusion[t][e]=0===n)}))}function Vn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Bn(n){a("Wrong arguments passed to group. Group "+n+".")}Rn.group=function(n){return Kn(0,"groups",n)},Gn.group=function(n){return Kn(1,"groups",n)};var qn=m(x);function Yn(n){return n&&o(n.then)}function zn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Jn(n){var t=n.asyncTest,e=n.message;if(Yn(t)){var r=Mn().emit,u=F(),i=h.bind({stateRef:u},(function(){D(),r(_n.TEST_COMPLETED,n)}));u=h.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=x(t)?t:e,n.fail(),i())}));try{t.then(i,u)}catch(n){u()}}}function Qn(n){var t=Mn(),e=function(n){return h.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){P(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{Yn(e)?(n.asyncTest=e,n.setPending(),Jn(n)):t.emit(_n.TEST_COMPLETED,n)}catch(t){a("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}function Zn(n){var e=A()[0].prev;return en(e)?($n(n),n):(e=function(n){var t=Q();return function(n,t){return k(n,t)[d(t)]}(n,t)}(e),O(n.key)?(function(n,t){return rn(n)&&!zn(n,t)}(e,n)&&(function(n,e){h.useX().isolate.type===t.EACH||f("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+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=A(),t=n[1],e=n[0].prev;n=k(e,Q());var r=Z();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),$n(n=c(e,n)),n):($n(n=function(n,t){var e=function(n){return h.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=h.useX().isolate.keys.current;O(e[n])?e[n]=t:f('Encountered the same test key "'+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 $n(n){var t=Q();L((function(e){return C(e,t,n)}))}function nt(n){var t=Zn(n);return h.useX().omitted?(t.omit(),$(),t):Hn(n)?(t.skip(jn()),$(),t):(function(n,t){t!==n&&zn(n,t)&&n.isPending()&&n.cancel()}(t,n),$n(n),$(),function(n){n.isUntested()?Qn(n):Yn(n.asyncTest)&&(n.setPending(),Jn(n))}(n),n)}function tt(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=o(t[1])?t:fn([void 0],t);t=r[0],e=r[1],r=r[2],qn(n)&&rt("fieldName","string"),o(e)||rt("Test callback","function");var u=h.useX();return nt(t=new j(n,e,{message:t,groupName:u.groupName,key:r}))}var et=u(tt,{memo:function(n){var t=w(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=Z();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[W(),e,u].concat(i),E(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)}))):nt(r[1])}}(tt)});function rt(n,t){a("Incompatible params passed to test function. "+n+" must be a "+t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return e.enforce}}),exports.VERSION="4.0.2-dev-6e9534",exports.context=h,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],o(r)||a("vest.create: Expected callback to be a function.");var s=Un(),c=l();return n={stateRef:p(c,{suiteId:i(),suiteName:n}),bus:s},u(h.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return c.reset(),nn({type:t.SUITE},(function(){r.apply(void 0,n)})),s.emit(_n.SUITE_COMPLETED),Fn()})),{get:h.bind(n,In),reset:c.reset,remove:h.bind(n,(function(n){s.emit(_n.REMOVE_FIELD,n)}))})},exports.each=function(n,e){o(e)||a("callback must be a function"),nn({type:t.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},exports.group=function(n,e){x(n)||Bn("name must be a string"),o(e)||Bn("callback must be a function"),nn({type:t.GROUP},(function(){h.run({groupName:n},e)}))},exports.include=function(n){function t(t){var e=h.useX(),r=e.exclusion;e.inclusion[n]=function(){return tn(r.tests,n)?c(r.tests[n],!0):x(t)?!!r.tests[t]:s(t,s(In))}}var e=h.useX();return n?(e.inclusion[n]=c(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,e){nn({type:t.OMIT_WHEN},(function(){h.run({omitted:s(n,s(In))},(function(){return e()}))}))},exports.only=Rn,exports.optional=function(n){(0,_()[1])((function(t){if(y(n)||x(n))v(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=Gn,exports.skipWhen=function(n,e){nn({type:t.SKIP_WHEN},(function(){h.run({skipped:s(n,s(In))},(function(){return e()}))}))},exports.test=et,exports.warn=function(){var n=h.useX("warn hook called outside of a running suite.");n.currentTest||a("warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e=require("n4s"),r=require("context"),u=Object.assign,i=(n=0,function(){return""+n++});function o(n){return"function"==typeof n}function s(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return o(n)?n.apply(void 0,t):n}function c(n,t){var e;return null!==(e=s(n))&&void 0!==e?e:t}function a(n,t){throw Error(c(t,n))}function f(n,t){setTimeout((function(){a(n,t)}),0)}function l(n){function t(n,t,u){return r.references.push(),e(n,s(t,u)),function(){return[r.references[n],function(t){return e(n,s(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,o(t=u[t][1])&&t(e,i),o(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 p(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function v(n){return[].concat(n)}function d(n){return(n=v(n))[n.length-1]}function g(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return d(t)},getCursor:function(){return v(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={}));var h=r.createContext((function(n,e){return e?null:u({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:t.DEFAULT,keys:{current:{},prev:{}}},testCursor:g()},n)}));function m(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function y(n){return!!Array.isArray(n)}function E(n){return null===n}var N=m(E);function b(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];y(u)?e.push(b(u,t)):(u=t(u),N(u)&&e.push(u))}return e}function C(n,t,e){return k(n,t)[d(t)]=e,n}function T(n){return v(n).reduce((function(n,t){return y(t)?n.concat(T(t)):v(n).concat(t)}),[])}function k(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=c(n[r],[]),n=n[r]}return n}function S(n){return void 0===n}function O(n){return E(n)||S(n)}function x(n){return String(n)===n}function P(n,t){return S(n)&&x(t)}function I(n,t){return n.length===Number(t)}function w(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),function(n,t){return n.length>Number(t)}(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return I(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return I(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function F(){return h.useX().stateRef}function W(){return F().suiteId()[0]}function X(){return F().testCallbacks()}function _(){return F().optionalFields()}function A(){return F().testObjects()}function D(){(0,A()[1])((function(n){return{prev:n.prev,current:v(n.current)}}))}function L(n){(0,A()[1])((function(t){return{prev:t.prev,current:v(n(t.current))}}))}function U(){return T(b(A()[0].current,(function(n){return n.isPending()?n:null})))}var M,R=w();function G(){var n=A()[0].current;return R([n],(function(){return T(n)}))}!function(n){n.Error="error",n.Warning="warning"}(M||(M={}));var j=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(),this.severity=M.Error,this.status=H,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){P(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==J||(this.status=n)},n.prototype.warns=function(){return this.severity===M.Warning},n.prototype.setPending=function(){this.setStatus(Y)},n.prototype.fail=function(){this.setStatus(this.warns()?B:V)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(q)},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(K)},n.prototype.cancel=function(){this.setStatus(z),D()},n.prototype.omit=function(){this.setStatus(J)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.status===Y},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===J},n.prototype.isUntested=function(){return this.status===H},n.prototype.isFailing=function(){return this.status===V},n.prototype.isCanceled=function(){return this.status===z},n.prototype.isSkipped=function(){return this.status===K},n.prototype.isPassing=function(){return this.status===q},n.prototype.isWarning=function(){return this.status===B},n}(),H="UNTESTED",K="SKIPPED",V="FAILED",B="WARNING",q="PASSING",Y="PENDING",z="CANCELED",J="OMITTED";function Q(){return h.useX().testCursor.getCursor()}function Z(){return h.useX().testCursor.cursorAt()}function $(){return h.useX().testCursor.next()}function nn(n,e){if(n=void 0===(n=n.type)?t.DEFAULT:n,o(e)){var r={current:{},prev:{}},u=Q();return h.run({isolate:{type:n,keys:r}},(function(){h.useX().testCursor.addLevel(),r.prev=v(k(A()[0].prev,Q())).reduce((function(n,t){return t instanceof j&&!O(t.key)?(n[t.key]=t,n):n}),{}),L((function(n){return C(n,u,[])}));var n=e();return h.useX().testCursor.removeLevel(),$(),n}))}}function tn(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function en(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(tn(n,"length"))return I(n,0);if("object"==typeof n)return I(Object.keys(n),0)}return!0}var rn=m(en);function un(n,t){return!!t&&!on(n,t)}function on(n,t){return!(!t||n.fieldName!==t)}function sn(n){var t=U();return!en(t)&&(n?t.some((function(t){return on(t,n)})):rn(t))}function cn(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).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("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}var an=function(){return(an=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 fn(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 ln(n,t){return function(n,t){return!!n!=!!t}("warnings"===n,t.warns())}function pn(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)||un(n,r)||ln(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),an({},i&&((r={})[i]=[],r)))}function vn(n,t){return t?n[t]:n}function dn(n){return hn("errors",n)}function gn(n){return hn("warnings",n)}function hn(n,t){return vn(n=pn(n,G(),{fieldName:t}),t)}function mn(n,t){return vn(n=En("errors",n,t),t)}function yn(n,t){return vn(n=En("warnings",n,t),t)}function En(n,t,e){return t||a("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),pn(n,G(),{group:t,fieldName:e})}function Nn(n,t,e){return!(!n.hasFailures()||un(n,e)||ln(t,n))}function bn(n){return Tn("errors",n)}function Cn(n){return Tn("warnings",n)}function Tn(n,t){return G().some((function(e){return Nn(e,n,t)}))}function kn(n,t){return On("errors",n,t)}function Sn(n,t){return On("warnings",n,t)}function On(n,t,e){return G().some((function(r){return t===r.groupName&&Nn(r,n,e)}))}function xn(n,t){return!!function(n){var t=G().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(en(G())||function(n,t){return!!t&&en(n.tests[t])}(n,t)||function(n){var t=_()[0];return rn(U().filter((function(e){return!un(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=G(),e=_()[0];return t.every((function(t){return!!un(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var Pn=w(20);function In(){var n=G(),t={stateRef:F()};return Pn([n],h.bind(t,(function(){var n=F().suiteName()[0];return u(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return G().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=cn(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=cn(n.groups[r],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}(n)}(),{getErrors:h.bind(t,dn),getErrorsByGroup:h.bind(t,mn),getWarnings:h.bind(t,gn),getWarningsByGroup:h.bind(t,yn),hasErrors:h.bind(t,bn),hasErrorsByGroup:h.bind(t,kn),hasWarnings:h.bind(t,Cn),hasWarningsByGroup:h.bind(t,Sn),isValid:h.bind(t,(function(n){return xn(In(),n)})),suiteName:n})})))}var wn=w(20);function Fn(){var n=G(),t={stateRef:F()};return wn([n],h.bind(t,(function(){return u({},In(),{done:h.bind(t,An)})})))}function Wn(n,t,e){return!(o(n)&&(!t||e.tests[t]&&!en(e.tests[t].testCount)))}function Xn(n){return!(sn()&&(!n||sn(n)))}var _n,An=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=Fn(),Wn(e,n,t))return t;var r=function(){return e(In())};return Xn(n)?(r(),t):(Dn(r,n),t)};function Dn(n,t){var e=h.bind({},n);(0,X()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Ln(n){return n.forEach((function(n){return n()}))}function Un(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(_n.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(n){var t=X()[0].fieldCallbacks;n&&!sn(n)&&y(t[n])&&Ln(t[n])}(n.fieldName),function(){var n=X()[0].doneCallbacks;sn()||Ln(n)}())})),n.on(_n.SUITE_COMPLETED,(function(){!function(){var n=_()[0];if(!en(n)){var t={};L((function(e){return b(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];o(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(_n.REMOVE_FIELD,(function(n){G().forEach((function(t){on(t,n)&&(t.cancel(),function(n){L((function(t){return b(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n}function Mn(){var n=h.useX();return n.bus||a(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.SUITE_COMPLETED="suite_completed"}(_n||(_n={}));function Rn(n){return Kn(0,"tests",n)}function Gn(n){return Kn(1,"tests",n)}function jn(){return!!h.useX().skipped}function Hn(n){var t=n.fieldName;if(n=n.groupName,jn())return!0;var e=h.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=h.useX().exclusion.groups;if(tn(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&&(!!Vn(u)||!1===u[t])}return!!function(n){var t=h.useX().exclusion;return!!function(){var n,t=h.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&&(!!Vn(u)&&!s(e[t]))}function Kn(n,t,e){var r=h.useX("hook called outside of a running suite.");e&&v(e).forEach((function(e){x(e)&&(r.exclusion[t][e]=0===n)}))}function Vn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Bn(n){a("Wrong arguments passed to group. Group "+n+".")}Rn.group=function(n){return Kn(0,"groups",n)},Gn.group=function(n){return Kn(1,"groups",n)};var qn=m(x);function Yn(n){return n&&o(n.then)}function zn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Jn(n){var t=n.asyncTest,e=n.message;if(Yn(t)){var r=Mn().emit,u=F(),i=h.bind({stateRef:u},(function(){D(),r(_n.TEST_COMPLETED,n)}));u=h.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=x(t)?t:e,n.fail(),i())}));try{t.then(i,u)}catch(n){u()}}}function Qn(n){var t=Mn(),e=function(n){return h.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){P(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{Yn(e)?(n.asyncTest=e,n.setPending(),Jn(n)):t.emit(_n.TEST_COMPLETED,n)}catch(t){a("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}function Zn(n){var e=A()[0].prev;return en(e)?($n(n),n):(e=function(n){var t=Q();return function(n,t){return k(n,t)[d(t)]}(n,t)}(e),O(n.key)?(function(n,t){return rn(n)&&!zn(n,t)}(e,n)&&(function(n,e){h.useX().isolate.type===t.EACH||f("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+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=A(),t=n[1],e=n[0].prev;n=k(e,Q());var r=Z();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),$n(n=c(e,n)),n):($n(n=function(n,t){var e=function(n){return h.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=h.useX().isolate.keys.current;O(e[n])?e[n]=t:f('Encountered the same test key "'+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 $n(n){var t=Q();L((function(e){return C(e,t,n)}))}function nt(n){var t=Zn(n);return h.useX().omitted?(t.omit(),$(),t):Hn(n)?(t.skip(jn()),$(),t):(function(n,t){t!==n&&zn(n,t)&&n.isPending()&&n.cancel()}(t,n),$n(n),$(),function(n){n.isUntested()?Qn(n):Yn(n.asyncTest)&&(n.setPending(),Jn(n))}(n),n)}function tt(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=o(t[1])?t:fn([void 0],t);t=r[0],e=r[1],r=r[2],qn(n)&&rt("fieldName","string"),o(e)||rt("Test callback","function");var u=h.useX();return nt(t=new j(n,e,{message:t,groupName:u.groupName,key:r}))}var et=u(tt,{memo:function(n){var t=w(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=Z();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[W(),e,u].concat(i),E(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)}))):nt(r[1])}}(tt)});function rt(n,t){a("Incompatible params passed to test function. "+n+" must be a "+t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return e.enforce}}),exports.VERSION="4.0.2-dev-72921c",exports.context=h,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],o(r)||a("vest.create: Expected callback to be a function.");var s=Un(),c=l();return n={stateRef:p(c,{suiteId:i(),suiteName:n}),bus:s},u(h.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return c.reset(),nn({type:t.SUITE},(function(){r.apply(void 0,n)})),s.emit(_n.SUITE_COMPLETED),Fn()})),{get:h.bind(n,In),reset:c.reset,remove:h.bind(n,(function(n){s.emit(_n.REMOVE_FIELD,n)}))})},exports.each=function(n,e){o(e)||a("callback must be a function"),nn({type:t.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},exports.group=function(n,e){x(n)||Bn("name must be a string"),o(e)||Bn("callback must be a function"),nn({type:t.GROUP},(function(){h.run({groupName:n},e)}))},exports.include=function(n){function t(t){var e=h.useX(),r=e.exclusion;e.inclusion[n]=function(){return tn(r.tests,n)?c(r.tests[n],!0):x(t)?!!r.tests[t]:s(t,s(In))}}var e=h.useX();return n?(e.inclusion[n]=c(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,e){nn({type:t.OMIT_WHEN},(function(){h.run({omitted:s(n,s(In))},(function(){return e()}))}))},exports.only=Rn,exports.optional=function(n){(0,_()[1])((function(t){if(y(n)||x(n))v(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=Gn,exports.skipWhen=function(n,e){nn({type:t.SKIP_WHEN},(function(){h.run({skipped:s(n,s(In))},(function(){return e()}))}))},exports.test=et,exports.warn=function(){var n=h.useX("warn hook called outside of a running suite.");n.currentTest||a("warn called outside of a test."),n.currentTest.warn()};
|
|
@@ -1787,6 +1787,6 @@ function warn() {
|
|
|
1787
1787
|
ctx.currentTest.warn();
|
|
1788
1788
|
}
|
|
1789
1789
|
|
|
1790
|
-
var VERSION = "4.0.2-dev-
|
|
1790
|
+
var VERSION = "4.0.2-dev-72921c";
|
|
1791
1791
|
|
|
1792
1792
|
export { VERSION, context, create, each, group, include, omitWhen, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=Object.assign,r=(n=0,function(){return""+n++});function u(t){return"function"==typeof t}function i(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return u(t)?t.apply(void 0,n):t}function o(t,n){var e;return null!==(e=i(t))&&void 0!==e?e:n}function s(t,n){throw Error(o(n,t))}function a(t,n){setTimeout((function(){s(t,n)}),0)}function c(t){function n(t,n,u){return r.references.push(),e(t,i(n,u)),function(){return[r.references[t],function(n){return e(t,i(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,u(n=o[n][1])&&n(e,i),u(t)&&t()}var r={references:[]},o=[];return{registerStateKey:function(t,e){var r=o.length;return o.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],o.forEach((function(e,r){return n(r,e[0],t[r])}))}}}var f,l=f||(f={});function p(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function v(t){return(t=[].concat(t))[t.length-1]}function d(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return v(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,v(n)},removeLevel:function(){n.pop()},reset:t}}l[l.DEFAULT=0]="DEFAULT",l[l.SUITE=1]="SUITE",l[l.EACH=2]="EACH",l[l.SKIP_WHEN=3]="SKIP_WHEN",l[l.OMIT_WHEN=4]="OMIT_WHEN",l[l.GROUP=5]="GROUP";var g=t((function(t,n){return n?null:e({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:f.DEFAULT,keys:{current:{},prev:{}}},testCursor:d()},t)}));function h(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}var m=h((function(t){return null===t}));function y(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(y(u,n)):(u=n(u),m(u)&&e.push(u))}return e}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function N(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=o(t[r],[]),t=t[r]}return t}function b(t){return null==t}function C(t){return String(t)===t}function T(t){function n(r,u){var i=n.get(r);return i?i[1]:(u=u(),e.unshift([r.concat(),u]),e.length>Number(t)&&(e.length=t),u)}void 0===t&&(t=1);var e=[];return n.invalidate=function(t){var n=e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}));-1<n&&e.splice(n,1)},n.get=function(t){return e[e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))]||null},n}function k(){return g.useX().stateRef}function O(){return k().testObjects()}function S(){(0,O()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function P(t){(0,O()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function w(){return E(y(O()[0].current,(function(t){return t.isPending()?t:null})))}var I=T();function F(){var t=O()[0].current;return I([t],(function(){return E(t)}))}var A,X=A||(A={});X.Error="error",X.Warning="warning";var D=function(){function t(t,n,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=A.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&C(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==G||(this.status=t)},t.prototype.warns=function(){return this.severity===A.Warning},t.prototype.setPending=function(){this.setStatus(M)},t.prototype.fail=function(){this.setStatus(this.warns()?_:W)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},t.prototype.warn=function(){this.severity=A.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(x)},t.prototype.cancel=function(){this.setStatus(R),S()},t.prototype.omit=function(){this.setStatus(G)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.status===M},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.status===G},t.prototype.isUntested=function(){return this.status===L},t.prototype.isFailing=function(){return this.status===W},t.prototype.isCanceled=function(){return this.status===R},t.prototype.isSkipped=function(){return this.status===x},t.prototype.isPassing=function(){return this.status===U},t.prototype.isWarning=function(){return this.status===_},t}(),L="UNTESTED",x="SKIPPED",W="FAILED",_="WARNING",U="PASSING",M="PENDING",R="CANCELED",G="OMITTED";function j(){return g.useX().testCursor.getCursor()}function H(){return g.useX().testCursor.next()}function K(t,n){if(t=void 0===(t=t.type)?f.DEFAULT:t,u(n)){var e={current:{},prev:{}},r=j();return g.run({isolate:{type:t,keys:e}},(function(){g.useX().testCursor.addLevel(),e.prev=function(){var t=O()[0].prev;return[].concat(N(t,j())).reduce((function(t,n){return n instanceof D&&!b(n.key)?(t[n.key]=n,t):t}),{})}(),P((function(t){return N(t,r)[v(r)]=[],t}));var t=n();return g.useX().testCursor.removeLevel(),H(),t}))}}function V(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}var B=h(V);function Y(t,n){return!(!n||t.fieldName!==n)}function q(t){var n=w();return!V(n)&&(t?n.some((function(n){return Y(n,t)})):B(n))}function z(t,n){function e(t,n){i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e("errorCount","errors"):n.isWarning()&&e("warnCount","warnings")),i}function J(){return(J=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function Z(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Y(e,i)?r=!0:(r=e.warns(),r="warnings"===t!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),J({},i&&((r={})[i]=[],r)))}function $(t){return nt("errors",t)}function tt(t){return nt("warnings",t)}function nt(t,n){return t=Z(t,F(),{fieldName:n}),n?t[n]:t}function et(t,n){return t=ut("errors",t,n),n?t[n]:t}function rt(t,n){return t=ut("warnings",t,n),n?t[n]:t}function ut(t,n,e){return n||s("get"+t[0].toUpperCase()+t.slice(1)+"ByGroup requires a group name. Received `"+n+"` instead."),Z(t,F(),{group:n,fieldName:e})}function it(t,n,e){return(e=!t.hasFailures()||e&&!Y(t,e))||(e="warnings"===n!=!!(t=t.warns())),!e}function ot(t){return at("errors",t)}function st(t){return at("warnings",t)}function at(t,n){return F().some((function(e){return it(e,t,n)}))}function ct(t,n){return lt("errors",t,n)}function ft(t,n){return lt("warnings",t,n)}function lt(t,n,e){return F().some((function(r){return n===r.groupName&&it(r,t,e)}))}var pt=T(20);function vt(){var t=F(),n={stateRef:k()};return pt([t],g.bind(n,(function(){var t=k().suiteName()[0];return e(function(){var t={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return F().forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=z(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=z(t.groups[r],n))})),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(t)}(),{getErrors:g.bind(n,$),getErrorsByGroup:g.bind(n,et),getWarnings:g.bind(n,tt),getWarningsByGroup:g.bind(n,rt),hasErrors:g.bind(n,ot),hasErrorsByGroup:g.bind(n,ct),hasWarnings:g.bind(n,st),hasWarningsByGroup:g.bind(n,ft),isValid:g.bind(n,(function(t){var n=vt(),e=F().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(V(e=F())||t&&V(n.tests[t])||function(t){var n=k().optionalFields()[0];return B(w().filter((function(e){return!(t&&!Y(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=F(),e=k().optionalFields()[0];return n.every((function(n){return!(!t||Y(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}var dt=T(20);function gt(){var t=F(),n={stateRef:k()};return dt([t],g.bind(n,(function(){return e({},vt(),{done:g.bind(n,yt)})})))}function ht(t,n,e){return!(u(t)&&(!n||e.tests[n]&&!V(e.tests[n].testCount)))}function mt(t){return!(q()&&(!t||q(t)))}function yt(){function t(){return r(vt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=gt(),ht(r,n,e)?e:mt(n)?(t(),e):(Et(t,n),e)}function Et(t,n){var e=g.bind({},t);(0,k().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Nt(t){return t.forEach((function(t){return t()}))}function bt(){var t=function(){var t={};return{emit:function(n,e){t[n]&&t[n].forEach((function(t){t(e)}))},on:function(n,e){return t[n]||(t[n]=[]),t[n].push(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(Tt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var n=k().testCallbacks()[0].fieldCallbacks;t&&!q(t)&&Array.isArray(n[t])&&Nt(n[t]),t=k().testCallbacks()[0].doneCallbacks,q()||Nt(t)}})),t.on(Tt.SUITE_COMPLETED,(function(){!function(){var t=k().optionalFields()[0];if(!V(t)){var n={};P((function(e){return y(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var i=t[r];u(i)&&(n[r]=i(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Tt.REMOVE_FIELD,(function(t){F().forEach((function(n){Y(n,t)&&(n.cancel(),function(t){P((function(n){return y(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t}function Ct(){var t=g.useX();return t.bus||s(),t.bus}var Tt,kt=Tt||(Tt={});function Ot(t){return Pt(0,"tests",t)}function St(t){return Pt(1,"tests",t)}function Pt(t,n,e){var r=g.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){C(e)&&(r.exclusion[n][e]=0===t)}))}function wt(t){for(var n in t)if(!0===t[n])return!0;return!1}function It(t){s("Wrong arguments passed to group. Group "+t+".")}kt.TEST_COMPLETED="test_completed",kt.REMOVE_FIELD="remove_field",kt.SUITE_COMPLETED="suite_completed",Ot.group=function(t){return Pt(0,"groups",t)},St.group=function(t){return Pt(1,"groups",t)};var Ft=h(C);function At(t){var n=t.asyncTest,e=t.message;if(n&&u(n.then)){var r=Ct().emit,i=k(),o=g.bind({stateRef:i},(function(){S(),r(Tt.TEST_COMPLETED,t)}));i=g.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=C(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=j();P((function(e){return N(e,n)[v(n)]=t,e}))}function Dt(t){var n=O()[0].prev;if(V(n))Xt(t),n=t;else{var e=j();if(n=N(n,e)[v(e)],b(t.key))!B(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(g.useX().isolate.type!==f.EACH&&a("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+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.'),function(){var t=O(),n=t[1],e=t[0].prev;t=N(e,j());var r=g.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=o(n,t));else{n=t.key;var r=g.useX().isolate.keys.prev[n];e=t,r&&(e=r),r=e;var c=g.useX().isolate.keys.current;b(c[n])?c[n]=r:a('Encountered the same test key "'+n+"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."),Xt(n=e)}}if(g.useX().omitted)return n.omit(),H(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,g.useX().skipped)return!0;var e=g.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){t:{var s=g.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(s,t))var a=!1===s[t];else{for(a in s)if(!0===s[a]){a=!0;break t}a=!1}}if(a)return!0;if(!0===r.groups[t])return!(o||!wt(u)&&!1!==u[n])}r=g.useX().exclusion;t:{for(c in(a=g.useX().exclusion).groups)if(a.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!o&&!!wt(u)&&!i(e[n])}(t))return n.skip(!!g.useX().skipped),H(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),H(),t.isUntested()){n=Ct(),e=function(t){return g.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&C(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&u(e.then)?(t.asyncTest=e,t.setPending(),At(t)):n.emit(Tt.TEST_COMPLETED,t)}catch(n){s("Your test function "+t.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(n=t.asyncTest)&&u(n.then)&&(t.setPending(),At(t));return t}function Lt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=u(n[1])?n:Q([void 0],n);n=r[0],e=r[1],r=r[2],Ft(t)&&Wt("fieldName","string"),u(e)||Wt("Test callback","function");var i=g.useX();return Dt(n=new D(t,e,{message:n,groupName:i.groupName,key:r}))}var xt=e(Lt,{memo:function(t){var n=T(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=g.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[k().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):Dt(r[1])}}(Lt)});function Wt(t,n){s("Incompatible params passed to test function. "+t+" must be a "+n)}var _t="4.0.2-dev-6e9534";function Ut(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=(t=t.reverse())[0];t=t[1],u(i)||s("vest.create: Expected callback to be a function.");var o=bt(),a=c();return t={stateRef:p(a,{suiteId:r(),suiteName:t}),bus:o},e(g.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return a.reset(),K({type:f.SUITE},(function(){i.apply(void 0,t)})),o.emit(Tt.SUITE_COMPLETED),gt()})),{get:g.bind(t,vt),reset:a.reset,remove:g.bind(t,(function(t){o.emit(Tt.REMOVE_FIELD,t)}))})}function Mt(t,n){u(n)||s("callback must be a function"),K({type:f.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Rt(t,n){C(t)||It("name must be a string"),u(n)||It("callback must be a function"),K({type:f.GROUP},(function(){g.run({groupName:t},n)}))}function Gt(t){function n(n){var e=g.useX(),r=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(r.tests,t)?o(r.tests[t],!0):C(n)?!!r.tests[n]:i(n,i(vt))}}var e=g.useX();return t?(e.inclusion[t]=o(e.exclusion.tests[t],!0),{when:n}):{when:n}}function jt(t,n){K({type:f.OMIT_WHEN},(function(){g.run({omitted:i(t,i(vt))},(function(){return n()}))}))}function Ht(t){(0,k().optionalFields()[1])((function(n){if(Array.isArray(t)||C(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Kt(t,n){K({type:f.SKIP_WHEN},(function(){g.run({skipped:i(t,i(vt))},(function(){return n()}))}))}function Vt(){var t=g.useX("warn hook called outside of a running suite.");t.currentTest||s("warn called outside of a test."),t.currentTest.warn()}export{_t as VERSION,g as context,Ut as create,Mt as each,Rt as group,Gt as include,jt as omitWhen,Ot as only,Ht as optional,St as skip,Kt as skipWhen,xt as test,Vt as warn};
|
|
1
|
+
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=Object.assign,r=(n=0,function(){return""+n++});function u(t){return"function"==typeof t}function i(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return u(t)?t.apply(void 0,n):t}function o(t,n){var e;return null!==(e=i(t))&&void 0!==e?e:n}function s(t,n){throw Error(o(n,t))}function a(t,n){setTimeout((function(){s(t,n)}),0)}function c(t){function n(t,n,u){return r.references.push(),e(t,i(n,u)),function(){return[r.references[t],function(n){return e(t,i(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,u(n=o[n][1])&&n(e,i),u(t)&&t()}var r={references:[]},o=[];return{registerStateKey:function(t,e){var r=o.length;return o.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],o.forEach((function(e,r){return n(r,e[0],t[r])}))}}}var f,l=f||(f={});function p(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function v(t){return(t=[].concat(t))[t.length-1]}function d(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return v(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,v(n)},removeLevel:function(){n.pop()},reset:t}}l[l.DEFAULT=0]="DEFAULT",l[l.SUITE=1]="SUITE",l[l.EACH=2]="EACH",l[l.SKIP_WHEN=3]="SKIP_WHEN",l[l.OMIT_WHEN=4]="OMIT_WHEN",l[l.GROUP=5]="GROUP";var g=t((function(t,n){return n?null:e({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:f.DEFAULT,keys:{current:{},prev:{}}},testCursor:d()},t)}));function h(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}var m=h((function(t){return null===t}));function y(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(y(u,n)):(u=n(u),m(u)&&e.push(u))}return e}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function N(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=o(t[r],[]),t=t[r]}return t}function b(t){return null==t}function C(t){return String(t)===t}function T(t){function n(r,u){var i=n.get(r);return i?i[1]:(u=u(),e.unshift([r.concat(),u]),e.length>Number(t)&&(e.length=t),u)}void 0===t&&(t=1);var e=[];return n.invalidate=function(t){var n=e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}));-1<n&&e.splice(n,1)},n.get=function(t){return e[e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))]||null},n}function k(){return g.useX().stateRef}function O(){return k().testObjects()}function S(){(0,O()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function P(t){(0,O()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function w(){return E(y(O()[0].current,(function(t){return t.isPending()?t:null})))}var I=T();function F(){var t=O()[0].current;return I([t],(function(){return E(t)}))}var A,X=A||(A={});X.Error="error",X.Warning="warning";var D=function(){function t(t,n,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=A.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&C(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==G||(this.status=t)},t.prototype.warns=function(){return this.severity===A.Warning},t.prototype.setPending=function(){this.setStatus(M)},t.prototype.fail=function(){this.setStatus(this.warns()?_:W)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},t.prototype.warn=function(){this.severity=A.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(x)},t.prototype.cancel=function(){this.setStatus(R),S()},t.prototype.omit=function(){this.setStatus(G)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.status===M},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.status===G},t.prototype.isUntested=function(){return this.status===L},t.prototype.isFailing=function(){return this.status===W},t.prototype.isCanceled=function(){return this.status===R},t.prototype.isSkipped=function(){return this.status===x},t.prototype.isPassing=function(){return this.status===U},t.prototype.isWarning=function(){return this.status===_},t}(),L="UNTESTED",x="SKIPPED",W="FAILED",_="WARNING",U="PASSING",M="PENDING",R="CANCELED",G="OMITTED";function j(){return g.useX().testCursor.getCursor()}function H(){return g.useX().testCursor.next()}function K(t,n){if(t=void 0===(t=t.type)?f.DEFAULT:t,u(n)){var e={current:{},prev:{}},r=j();return g.run({isolate:{type:t,keys:e}},(function(){g.useX().testCursor.addLevel(),e.prev=function(){var t=O()[0].prev;return[].concat(N(t,j())).reduce((function(t,n){return n instanceof D&&!b(n.key)?(t[n.key]=n,t):t}),{})}(),P((function(t){return N(t,r)[v(r)]=[],t}));var t=n();return g.useX().testCursor.removeLevel(),H(),t}))}}function V(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}var B=h(V);function Y(t,n){return!(!n||t.fieldName!==n)}function q(t){var n=w();return!V(n)&&(t?n.some((function(n){return Y(n,t)})):B(n))}function z(t,n){function e(t,n){i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e("errorCount","errors"):n.isWarning()&&e("warnCount","warnings")),i}function J(){return(J=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function Z(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Y(e,i)?r=!0:(r=e.warns(),r="warnings"===t!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),J({},i&&((r={})[i]=[],r)))}function $(t){return nt("errors",t)}function tt(t){return nt("warnings",t)}function nt(t,n){return t=Z(t,F(),{fieldName:n}),n?t[n]:t}function et(t,n){return t=ut("errors",t,n),n?t[n]:t}function rt(t,n){return t=ut("warnings",t,n),n?t[n]:t}function ut(t,n,e){return n||s("get"+t[0].toUpperCase()+t.slice(1)+"ByGroup requires a group name. Received `"+n+"` instead."),Z(t,F(),{group:n,fieldName:e})}function it(t,n,e){return(e=!t.hasFailures()||e&&!Y(t,e))||(e="warnings"===n!=!!(t=t.warns())),!e}function ot(t){return at("errors",t)}function st(t){return at("warnings",t)}function at(t,n){return F().some((function(e){return it(e,t,n)}))}function ct(t,n){return lt("errors",t,n)}function ft(t,n){return lt("warnings",t,n)}function lt(t,n,e){return F().some((function(r){return n===r.groupName&&it(r,t,e)}))}var pt=T(20);function vt(){var t=F(),n={stateRef:k()};return pt([t],g.bind(n,(function(){var t=k().suiteName()[0];return e(function(){var t={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return F().forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=z(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=z(t.groups[r],n))})),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(t)}(),{getErrors:g.bind(n,$),getErrorsByGroup:g.bind(n,et),getWarnings:g.bind(n,tt),getWarningsByGroup:g.bind(n,rt),hasErrors:g.bind(n,ot),hasErrorsByGroup:g.bind(n,ct),hasWarnings:g.bind(n,st),hasWarningsByGroup:g.bind(n,ft),isValid:g.bind(n,(function(t){var n=vt(),e=F().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(V(e=F())||t&&V(n.tests[t])||function(t){var n=k().optionalFields()[0];return B(w().filter((function(e){return!(t&&!Y(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=F(),e=k().optionalFields()[0];return n.every((function(n){return!(!t||Y(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}var dt=T(20);function gt(){var t=F(),n={stateRef:k()};return dt([t],g.bind(n,(function(){return e({},vt(),{done:g.bind(n,yt)})})))}function ht(t,n,e){return!(u(t)&&(!n||e.tests[n]&&!V(e.tests[n].testCount)))}function mt(t){return!(q()&&(!t||q(t)))}function yt(){function t(){return r(vt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=gt(),ht(r,n,e)?e:mt(n)?(t(),e):(Et(t,n),e)}function Et(t,n){var e=g.bind({},t);(0,k().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Nt(t){return t.forEach((function(t){return t()}))}function bt(){var t=function(){var t={};return{emit:function(n,e){t[n]&&t[n].forEach((function(t){t(e)}))},on:function(n,e){return t[n]||(t[n]=[]),t[n].push(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(Tt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var n=k().testCallbacks()[0].fieldCallbacks;t&&!q(t)&&Array.isArray(n[t])&&Nt(n[t]),t=k().testCallbacks()[0].doneCallbacks,q()||Nt(t)}})),t.on(Tt.SUITE_COMPLETED,(function(){!function(){var t=k().optionalFields()[0];if(!V(t)){var n={};P((function(e){return y(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var i=t[r];u(i)&&(n[r]=i(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Tt.REMOVE_FIELD,(function(t){F().forEach((function(n){Y(n,t)&&(n.cancel(),function(t){P((function(n){return y(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t}function Ct(){var t=g.useX();return t.bus||s(),t.bus}var Tt,kt=Tt||(Tt={});function Ot(t){return Pt(0,"tests",t)}function St(t){return Pt(1,"tests",t)}function Pt(t,n,e){var r=g.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){C(e)&&(r.exclusion[n][e]=0===t)}))}function wt(t){for(var n in t)if(!0===t[n])return!0;return!1}function It(t){s("Wrong arguments passed to group. Group "+t+".")}kt.TEST_COMPLETED="test_completed",kt.REMOVE_FIELD="remove_field",kt.SUITE_COMPLETED="suite_completed",Ot.group=function(t){return Pt(0,"groups",t)},St.group=function(t){return Pt(1,"groups",t)};var Ft=h(C);function At(t){var n=t.asyncTest,e=t.message;if(n&&u(n.then)){var r=Ct().emit,i=k(),o=g.bind({stateRef:i},(function(){S(),r(Tt.TEST_COMPLETED,t)}));i=g.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=C(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=j();P((function(e){return N(e,n)[v(n)]=t,e}))}function Dt(t){var n=O()[0].prev;if(V(n))Xt(t),n=t;else{var e=j();if(n=N(n,e)[v(e)],b(t.key))!B(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(g.useX().isolate.type!==f.EACH&&a("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+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.'),function(){var t=O(),n=t[1],e=t[0].prev;t=N(e,j());var r=g.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=o(n,t));else{n=t.key;var r=g.useX().isolate.keys.prev[n];e=t,r&&(e=r),r=e;var c=g.useX().isolate.keys.current;b(c[n])?c[n]=r:a('Encountered the same test key "'+n+"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."),Xt(n=e)}}if(g.useX().omitted)return n.omit(),H(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,g.useX().skipped)return!0;var e=g.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){t:{var s=g.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(s,t))var a=!1===s[t];else{for(a in s)if(!0===s[a]){a=!0;break t}a=!1}}if(a)return!0;if(!0===r.groups[t])return!(o||!wt(u)&&!1!==u[n])}r=g.useX().exclusion;t:{for(c in(a=g.useX().exclusion).groups)if(a.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!o&&!!wt(u)&&!i(e[n])}(t))return n.skip(!!g.useX().skipped),H(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),H(),t.isUntested()){n=Ct(),e=function(t){return g.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&C(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&u(e.then)?(t.asyncTest=e,t.setPending(),At(t)):n.emit(Tt.TEST_COMPLETED,t)}catch(n){s("Your test function "+t.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(n=t.asyncTest)&&u(n.then)&&(t.setPending(),At(t));return t}function Lt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=u(n[1])?n:Q([void 0],n);n=r[0],e=r[1],r=r[2],Ft(t)&&Wt("fieldName","string"),u(e)||Wt("Test callback","function");var i=g.useX();return Dt(n=new D(t,e,{message:n,groupName:i.groupName,key:r}))}var xt=e(Lt,{memo:function(t){var n=T(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=g.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[k().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):Dt(r[1])}}(Lt)});function Wt(t,n){s("Incompatible params passed to test function. "+t+" must be a "+n)}var _t="4.0.2-dev-72921c";function Ut(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=(t=t.reverse())[0];t=t[1],u(i)||s("vest.create: Expected callback to be a function.");var o=bt(),a=c();return t={stateRef:p(a,{suiteId:r(),suiteName:t}),bus:o},e(g.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return a.reset(),K({type:f.SUITE},(function(){i.apply(void 0,t)})),o.emit(Tt.SUITE_COMPLETED),gt()})),{get:g.bind(t,vt),reset:a.reset,remove:g.bind(t,(function(t){o.emit(Tt.REMOVE_FIELD,t)}))})}function Mt(t,n){u(n)||s("callback must be a function"),K({type:f.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Rt(t,n){C(t)||It("name must be a string"),u(n)||It("callback must be a function"),K({type:f.GROUP},(function(){g.run({groupName:t},n)}))}function Gt(t){function n(n){var e=g.useX(),r=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(r.tests,t)?o(r.tests[t],!0):C(n)?!!r.tests[n]:i(n,i(vt))}}var e=g.useX();return t?(e.inclusion[t]=o(e.exclusion.tests[t],!0),{when:n}):{when:n}}function jt(t,n){K({type:f.OMIT_WHEN},(function(){g.run({omitted:i(t,i(vt))},(function(){return n()}))}))}function Ht(t){(0,k().optionalFields()[1])((function(n){if(Array.isArray(t)||C(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Kt(t,n){K({type:f.SKIP_WHEN},(function(){g.run({skipped:i(t,i(vt))},(function(){return n()}))}))}function Vt(){var t=g.useX("warn hook called outside of a running suite.");t.currentTest||s("warn called outside of a test."),t.currentTest.warn()}export{_t as VERSION,g as context,Ut as create,Mt as each,Rt as group,Gt as include,jt as omitWhen,Ot as only,Ht as optional,St as skip,Kt as skipWhen,xt as test,Vt as warn};
|
|
@@ -214,6 +214,19 @@
|
|
|
214
214
|
}
|
|
215
215
|
var isFalsy = bindNot(isTruthy);
|
|
216
216
|
|
|
217
|
+
function isValueOf(value, objectToCheck) {
|
|
218
|
+
if (isNullish(objectToCheck)) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
for (var key in objectToCheck) {
|
|
222
|
+
if (objectToCheck[key] === value) {
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
var isNotValueOf = bindNot(isValueOf);
|
|
229
|
+
|
|
217
230
|
function lessThan(value, lt) {
|
|
218
231
|
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
219
232
|
}
|
|
@@ -300,6 +313,7 @@
|
|
|
300
313
|
isNotNumeric: isNotNumeric,
|
|
301
314
|
isNotString: isNotString,
|
|
302
315
|
isNotUndefined: isNotUndefined,
|
|
316
|
+
isNotValueOf: isNotValueOf,
|
|
303
317
|
isNull: isNull,
|
|
304
318
|
isNullish: isNullish,
|
|
305
319
|
isNumber: isNumber,
|
|
@@ -309,6 +323,7 @@
|
|
|
309
323
|
isString: isStringValue,
|
|
310
324
|
isTruthy: isTruthy,
|
|
311
325
|
isUndefined: isUndefined,
|
|
326
|
+
isValueOf: isValueOf,
|
|
312
327
|
lengthEquals: lengthEquals,
|
|
313
328
|
lengthNotEquals: lengthNotEquals,
|
|
314
329
|
lessThan: lessThan,
|
|
@@ -634,7 +649,7 @@
|
|
|
634
649
|
// Only on the first rule access - start the chain of calls
|
|
635
650
|
target[ruleName] = genEnforceLazy(ruleName);
|
|
636
651
|
});
|
|
637
|
-
return target;
|
|
652
|
+
return assign(enforceEager, target);
|
|
638
653
|
}
|
|
639
654
|
return new Proxy(assign(enforceEager, target), {
|
|
640
655
|
get: function (target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){throw Error(e(t,n))}function i(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function o(n){return"number"==typeof n}function s(n,t){return n.length===Number(t)}function
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){throw Error(e(t,n))}function i(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function o(n){return"number"==typeof n}function s(n,t){return n.length===Number(t)}function f(n){if(n){if(o(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return s(n,0);if("object"==typeof n)return s(Object.keys(n),0)}return!0}function a(n){return null===n}function c(n){return void 0===n}function l(n){return null===n||c(n)}function N(n){return String(n)===n}function h(n,t){return N(n)&&N(t)&&n.endsWith(t)}function p(n,t){return n===t}function v(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return v(n)&&v(t)&&Number(n)>Number(t)}function m(n,t){return v(n)&&v(t)&&Number(n)>=Number(t)}function d(n){return!!Array.isArray(n)}function y(n,t){return!!(d(t)||N(t)&&N(n))&&-1!==t.indexOf(n)}function b(n,t){return v(n)&&v(t)&&Number(n)<=Number(t)}function x(n,t,r){return m(n,t)&&b(n,r)}function E(n){return l(n)||N(n)&&!n.trim()}function O(n){return!!n===n}function w(n){return Number.isNaN(n)}function T(n){return!!v(n)&&0>Number(n)}function q(n){return!!n}function j(n,t){if(l(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function S(n,t){return v(n)&&v(t)&&Number(n)<Number(t)}function A(n,t){return t instanceof RegExp?t.test(n):!!N(t)&&new RegExp(t).test(n)}function B(n,t){return v(n)&&v(t)&&Number(n)===Number(t)}function P(n,t){return N(n)&&N(t)&&n.startsWith(t)}function W(n){for(var r in cn){var e=cn[r];t(e)&&n(r,e)}}function k(){return null}function F(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function I(){try{return t(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return O(n)||n&&O(n.pass)||u("Incorrect return value for rule: "+JSON.stringify(n)),O(n)?J(n):J(n.pass,r.apply(void 0,F([n.message,t,e],i)))}function U(n){function t(t,r,e){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=R.apply(void 0,F([ln.run({value:n},(function(){return r.apply(void 0,F([n],i))})),e,n],i))).pass){if(!f(o.message))throw o.message;u("enforce/"+e+" failed with "+JSON.stringify(n))}return t}}var r={};if(!I())return W((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=cn[r])return t(e,n,r)}});return e}function V(t){var u,i=[];return function t(o){return function(){for(var s=[],f=0;f<arguments.length;f++)s[f]=arguments[f];var a=cn[o];i.push((function(n){return R.apply(void 0,F([a.apply(void 0,F([n],s)),o,n],s))}));var c={run:function(t){return e(n(i,(function(n,e){var i,o=ln.run({value:t},(function(){return n(t)}));o.pass||e(J(!!o.pass,null!==(i=r(u,t,o.message))&&void 0!==i?i:o.message))})),J(!0))},test:function(n){return c.run(n).pass},message:function(n){return n&&(u=n),c}};return I()?c=new Proxy(c,{get:function(n,r){return cn[r]?t(r):n[r]}}):(W((function(n){c[n]=t(n)})),c)}}(t)}var X,z=i(o),C=i(s),M=i(f),D=Object.assign,G=i(a),H=i(c),K=i(l),L=i(h),Q=i(p),Y=i(v),Z=i(d),$=i(y),_=i(x),nn=i(E),tn=i(O),rn=i(w),en=i(T),un=i(N),on=i(q),sn=i(j),fn=i(A),an=i(B),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:L,doesNotStartWith:i(P),endsWith:h,equals:p,greaterThan:g,greaterThanOrEquals:m,gt:g,gte:m,inside:y,isArray:d,isBetween:x,isBlank:E,isBoolean:O,isEmpty:f,isEven:function(n){return!!v(n)&&0==n%2},isFalsy:on,isNaN:w,isNegative:T,isNotArray:Z,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:M,isNotNaN:rn,isNotNull:G,isNotNullish:K,isNotNumber:z,isNotNumeric:Y,isNotString:un,isNotUndefined:H,isNotValueOf:sn,isNull:a,isNullish:l,isNumber:o,isNumeric:v,isOdd:function(n){return!!v(n)&&0!=n%2},isPositive:en,isString:N,isTruthy:q,isUndefined:c,isValueOf:j,lengthEquals:s,lengthNotEquals:C,lessThan:S,lessThanOrEquals:b,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:S,lte:b,matches:A,notEquals:Q,notInside:$,notMatches:fn,numberEquals:B,numberNotEquals:an,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:P},ln=function(n){function t(t,e){var u,s,f=i();return t=D({},f||{},null!==(u=r(n,t,f))&&void 0!==u?u:t),u=o.ctx=Object.freeze(t),o.ancestry.unshift(u),e=e(u),o.ancestry.shift(),o.ctx=null!==(s=o.ancestry[0])&&void 0!==s?s:null,e}function i(){return o.ctx}var o={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:i,useX:function(n){var t;return null!==(t=o.ctx)&&void 0!==t?t:u(e(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?D(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:D(r,{parent:k})}));return X={context:function(){return ln.useX()},extend:function(n){D(cn,n)}},I()?new Proxy(D(U,X),{get:function(n,t){return t in n?n[t]:cn[t]?V(t):void 0}}):(W((function(n){X[n]=V(n)})),D(U,X)),function(){function t(t){return ln.run({value:t},(function(){return e(n(r,(function(n,r){try{var e=n.run(t)}catch(n){e=J(!1)}e.pass||r(e)})),J(!0))}))}for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return Object.assign((function(n){if(!(n=t(n)).pass){if(!f(n.message))throw n.message;u()}}),{run:t,test:function(n){return t(n).pass}})}}));
|
|
@@ -261,6 +261,19 @@
|
|
|
261
261
|
}
|
|
262
262
|
var isFalsy = bindNot(isTruthy);
|
|
263
263
|
|
|
264
|
+
function isValueOf(value, objectToCheck) {
|
|
265
|
+
if (isNullish(objectToCheck)) {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
for (var key in objectToCheck) {
|
|
269
|
+
if (objectToCheck[key] === value) {
|
|
270
|
+
return true;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
var isNotValueOf = bindNot(isValueOf);
|
|
276
|
+
|
|
264
277
|
function lessThan(value, lt) {
|
|
265
278
|
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
266
279
|
}
|
|
@@ -347,6 +360,7 @@
|
|
|
347
360
|
isNotNumeric: isNotNumeric,
|
|
348
361
|
isNotString: isNotString,
|
|
349
362
|
isNotUndefined: isNotUndefined,
|
|
363
|
+
isNotValueOf: isNotValueOf,
|
|
350
364
|
isNull: isNull,
|
|
351
365
|
isNullish: isNullish,
|
|
352
366
|
isNumber: isNumber,
|
|
@@ -356,6 +370,7 @@
|
|
|
356
370
|
isString: isStringValue,
|
|
357
371
|
isTruthy: isTruthy,
|
|
358
372
|
isUndefined: isUndefined,
|
|
373
|
+
isValueOf: isValueOf,
|
|
359
374
|
lengthEquals: lengthEquals,
|
|
360
375
|
lengthNotEquals: lengthNotEquals,
|
|
361
376
|
lessThan: lessThan,
|
|
@@ -671,7 +686,7 @@
|
|
|
671
686
|
// Only on the first rule access - start the chain of calls
|
|
672
687
|
target[ruleName] = genEnforceLazy(ruleName);
|
|
673
688
|
});
|
|
674
|
-
return target;
|
|
689
|
+
return assign(enforceEager, target);
|
|
675
690
|
}
|
|
676
691
|
return new Proxy(assign(enforceEager, target), {
|
|
677
692
|
get: function (target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function a(n){return void 0===n}function s(n){return null===n||a(n)}function c(n){return String(n)===n}function l(n,t){return c(n)&&c(t)&&n.endsWith(t)}function N(n,t){return n===t}function v(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function h(n,t){return v(n)&&v(t)&&Number(n)>Number(t)}function p(n,t){return v(n)&&v(t)&&Number(n)>=Number(t)}function g(n){return!!Array.isArray(n)}function m(n,t){return!!(g(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function y(n,t){return v(n)&&v(t)&&Number(n)<=Number(t)}function d(n,t,r){return p(n,t)&&y(n,r)}function b(n){return s(n)||c(n)&&!n.trim()}function O(n){return!!n===n}function E(n){return"number"==typeof n}function x(n,t){return n.length===Number(t)}function w(n){if(n){if(E(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return x(n,0);if("object"==typeof n)return x(Object.keys(n),0)}return!0}function q(n){return Number.isNaN(n)}function T(n){return!!v(n)&&0>Number(n)}function S(n){return!!n}function A(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function B(n,t){return v(n)&&v(t)&&Number(n)<Number(t)}function P(n,t){return n.length>Number(t)}function W(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function j(n,t){return v(n)&&v(t)&&Number(n)===Number(t)}function k(n,t){return c(n)&&c(t)&&n.startsWith(t)}function F(n){for(var r in Nn){var e=Nn[r];t(e)&&n(r,e)}}function I(n,t){throw Error(e(t,n))}function J(){return null}function R(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function U(){try{return t(Proxy)}catch(n){return!1}}function V(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return O(n)||n&&O(n.pass)||I("Incorrect return value for rule: "+JSON.stringify(n)),O(n)?u(n):u(n.pass,r.apply(void 0,R([n.message,t,e],i)))}function X(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=V.apply(void 0,R([vn.run({value:n},(function(){return r.apply(void 0,R([n],u))})),e,n],u))).pass){if(!w(i.message))throw i.message;I("enforce/"+e+" failed with "+JSON.stringify(n))}return t}}var r={};if(!U())return F((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=Nn[r])return t(e,n,r)}});return e}function z(t){var i,o=[];return function t(f){return function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];var c=Nn[f];o.push((function(n){return V.apply(void 0,R([c.apply(void 0,R([n],a)),f,n],a))}));var l={run:function(t){return e(n(o,(function(n,e){var o,f=vn.run({value:t},(function(){return n(t)}));f.pass||e(u(!!f.pass,null!==(o=r(i,t,f.message))&&void 0!==o?o:f.message))})),u(!0))},test:function(n){return l.run(n).pass},message:function(n){return n&&(i=n),l}};return U()?l=new Proxy(l,{get:function(n,r){return Nn[r]?t(r):n[r]}}):(F((function(n){l[n]=t(n)})),l)}}(t)}var C,M=Object.assign,D=o(f),G=o(a),H=o(s),K=o(l),L=o(N),Q=o(v),Y=o(g),Z=o(m),$=o(d),_=o(b),nn=o(O),tn=o(E),rn=o(x),en=o(w),un=o(q),on=o(T),fn=o(c),an=o(S),sn=o(A),cn=o(W),ln=o(j),Nn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:K,doesNotStartWith:o(k),endsWith:l,equals:N,greaterThan:h,greaterThanOrEquals:p,gt:h,gte:p,inside:m,isArray:g,isBetween:d,isBlank:b,isBoolean:O,isEmpty:w,isEven:function(n){return!!v(n)&&0==n%2},isFalsy:an,isNaN:q,isNegative:T,isNotArray:Y,isNotBetween:$,isNotBlank:_,isNotBoolean:nn,isNotEmpty:en,isNotNaN:un,isNotNull:D,isNotNullish:H,isNotNumber:tn,isNotNumeric:Q,isNotString:fn,isNotUndefined:G,isNotValueOf:sn,isNull:f,isNullish:s,isNumber:E,isNumeric:v,isOdd:function(n){return!!v(n)&&0!=n%2},isPositive:on,isString:c,isTruthy:S,isUndefined:a,isValueOf:A,lengthEquals:x,lengthNotEquals:rn,lessThan:B,lessThanOrEquals:y,longerThan:P,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:B,lte:y,matches:W,notEquals:L,notInside:Z,notMatches:cn,numberEquals:j,numberNotEquals:ln,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:k},vn=function(n){function t(t,e){var o,f,a=u();return t=M({},a||{},null!==(o=r(n,t,a))&&void 0!==o?o:t),o=i.ctx=Object.freeze(t),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(f=i.ancestry[0])&&void 0!==f?f:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:u,useX:function(n){var t;return null!==(t=i.ctx)&&void 0!==t?t:I(e(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?M(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:M(r,{parent:J})}));(C={context:function(){return vn.useX()},extend:function(n){M(Nn,n)}},U()?new Proxy(M(X,C),{get:function(n,t){return t in n?n[t]:Nn[t]?z(t):void 0}}):(F((function(n){C[n]=z(n)})),M(X,C))).extend({allOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass||r(n)})),u(!0))},anyOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass&&r(n)})),u(!1))},noneOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){i(n,t).pass&&r(u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(P(e,1))return!1;(t=i(t,n)).pass&&e.push(t)})),u(x(e,1))}})}));
|
|
@@ -194,6 +194,19 @@
|
|
|
194
194
|
}
|
|
195
195
|
var isFalsy = bindNot(isTruthy);
|
|
196
196
|
|
|
197
|
+
function isValueOf(value, objectToCheck) {
|
|
198
|
+
if (isNullish(objectToCheck)) {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
for (var key in objectToCheck) {
|
|
202
|
+
if (objectToCheck[key] === value) {
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
var isNotValueOf = bindNot(isValueOf);
|
|
209
|
+
|
|
197
210
|
function lessThan(value, lt) {
|
|
198
211
|
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
199
212
|
}
|
|
@@ -280,6 +293,7 @@
|
|
|
280
293
|
isNotNumeric: isNotNumeric,
|
|
281
294
|
isNotString: isNotString,
|
|
282
295
|
isNotUndefined: isNotUndefined,
|
|
296
|
+
isNotValueOf: isNotValueOf,
|
|
283
297
|
isNull: isNull,
|
|
284
298
|
isNullish: isNullish,
|
|
285
299
|
isNumber: isNumber,
|
|
@@ -289,6 +303,7 @@
|
|
|
289
303
|
isString: isStringValue,
|
|
290
304
|
isTruthy: isTruthy,
|
|
291
305
|
isUndefined: isUndefined,
|
|
306
|
+
isValueOf: isValueOf,
|
|
292
307
|
lengthEquals: lengthEquals,
|
|
293
308
|
lengthNotEquals: lengthNotEquals,
|
|
294
309
|
lessThan: lessThan,
|
|
@@ -634,7 +649,7 @@
|
|
|
634
649
|
// Only on the first rule access - start the chain of calls
|
|
635
650
|
target[ruleName] = genEnforceLazy(ruleName);
|
|
636
651
|
});
|
|
637
|
-
return target;
|
|
652
|
+
return assign(enforceEager, target);
|
|
638
653
|
}
|
|
639
654
|
return new Proxy(assign(enforceEager, target), {
|
|
640
655
|
get: function (target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).schema={})}(this,(function(n){function t(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function r(n){return"function"==typeof n}function e(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function u(n){return null===n}function i(n){return void 0===n}function o(n){return null===n||i(n)}function a(n){return String(n)===n}function
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).schema={})}(this,(function(n){function t(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function r(n){return"function"==typeof n}function e(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function u(n){return null===n}function i(n){return void 0===n}function o(n){return null===n||i(n)}function a(n){return String(n)===n}function f(n,t){return a(n)&&a(t)&&n.endsWith(t)}function s(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function l(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function p(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function v(n){return!!Array.isArray(n)}function N(n,t){return!!(v(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function h(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function y(n,t,r){return p(n,t)&&h(n,r)}function d(n){return o(n)||a(n)&&!n.trim()}function m(n){return!!n===n}function g(n){return"number"==typeof n}function b(n,t){return n.length===Number(t)}function x(n){if(n){if(g(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return b(n,0);if("object"==typeof n)return b(Object.keys(n),0)}return!0}function O(n){return Number.isNaN(n)}function E(n){return!!c(n)&&0>Number(n)}function w(n){return!!n}function T(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function q(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!a(t)&&new RegExp(t).test(n)}function P(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function A(n,t){return a(n)&&a(t)&&n.startsWith(t)}function S(n){for(var t in vn){var e=vn[t];r(e)&&n(t,e)}}function B(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function W(n,t){var r;return null!==(r=B(n))&&void 0!==r?r:t}function k(n,t){throw Error(W(t,n))}function F(){return null}function I(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function J(){try{return r(Proxy)}catch(n){return!1}}function M(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return m(n)||n&&m(n.pass)||k("Incorrect return value for rule: "+JSON.stringify(n)),m(n)?M(n):M(n.pass,B.apply(void 0,I([n.message,t,r],e)))}function U(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=R.apply(void 0,I([Nn.run({value:n},(function(){return r.apply(void 0,I([n],u))})),e,n],u))).pass){if(!x(i.message))throw i.message;k("enforce/"+e+" failed with "+JSON.stringify(n))}return t}}var r={};if(!J())return S((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=vn[r])return t(e,n,r)}});return e}function V(n){var r,e=[];return function n(u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var a=vn[u];e.push((function(n){return R.apply(void 0,I([a.apply(void 0,I([n],i)),u,n],i))}));var f={run:function(n){return W(t(e,(function(t,e){var u,i=Nn.run({value:n},(function(){return t(n)}));i.pass||e(M(!!i.pass,null!==(u=B(r,n,i.message))&&void 0!==u?u:i.message))})),M(!0))},test:function(n){return f.run(n).pass},message:function(n){return n&&(r=n),f}};return J()?f=new Proxy(f,{get:function(t,r){return vn[r]?n(r):t[r]}}):(S((function(t){f[t]=n(t)})),f)}}(n)}function X(n,t){try{return n.run(t)}catch(n){return M(!1)}}function _(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=Nn.run({value:e,set:!0,meta:{key:r}},(function(){return X(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return M(!0)}var z,C=Object.assign,D=e(u),G=e(i),H=e(o),K=e(f),L=e(s),Q=e(c),Y=e(v),Z=e(N),$=e(y),nn=e(d),tn=e(m),rn=e(g),en=e(b),un=e(x),on=e(O),an=e(E),fn=e(a),sn=e(w),cn=e(T),ln=e(j),pn=e(P),vn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:K,doesNotStartWith:e(A),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:p,gt:l,gte:p,inside:N,isArray:v,isBetween:y,isBlank:d,isBoolean:m,isEmpty:x,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:sn,isNaN:O,isNegative:E,isNotArray:Y,isNotBetween:$,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotNaN:on,isNotNull:D,isNotNullish:H,isNotNumber:rn,isNotNumeric:Q,isNotString:fn,isNotUndefined:G,isNotValueOf:cn,isNull:u,isNullish:o,isNumber:g,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:an,isString:a,isTruthy:w,isUndefined:i,isValueOf:T,lengthEquals:b,lengthNotEquals:en,lessThan:q,lessThanOrEquals:h,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:q,lte:h,matches:j,notEquals:L,notInside:Z,notMatches:ln,numberEquals:P,numberNotEquals:pn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:A},Nn=function(n){function t(t,u){var i,o,a=r();return t=C({},a||{},null!==(i=B(n,t,a))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t;return null!==(t=e.ctx)&&void 0!==t?t:k(W(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?C(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:C(r,{parent:F})})),hn=(z={context:function(){return Nn.useX()},extend:function(n){C(vn,n)}},J()?new Proxy(C(U,z),{get:function(n,t){return t in n?n[t]:vn[t]?V(t):void 0}}):(S((function(n){z[n]=V(n)})),C(U,z)));hn.extend({isArrayOf:function(n,r){return W(t(n,(function(n,t,e){(e=Nn.run({value:n,set:!0,meta:{index:e}},(function(){return X(r,n)}))).pass||t(e)})),M(!0))},loose:_,optional:function(n,t){return o(n)?M(!0):X(t,n)},shape:function(n,t){var r=_(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return M(!1);return M(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=hn.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -179,6 +179,19 @@
|
|
|
179
179
|
}
|
|
180
180
|
var isFalsy = bindNot(isTruthy);
|
|
181
181
|
|
|
182
|
+
function isValueOf(value, objectToCheck) {
|
|
183
|
+
if (isNullish(objectToCheck)) {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
for (var key in objectToCheck) {
|
|
187
|
+
if (objectToCheck[key] === value) {
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
var isNotValueOf = bindNot(isValueOf);
|
|
194
|
+
|
|
182
195
|
function lessThan(value, lt) {
|
|
183
196
|
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
184
197
|
}
|
|
@@ -265,6 +278,7 @@
|
|
|
265
278
|
isNotNumeric: isNotNumeric,
|
|
266
279
|
isNotString: isNotString,
|
|
267
280
|
isNotUndefined: isNotUndefined,
|
|
281
|
+
isNotValueOf: isNotValueOf,
|
|
268
282
|
isNull: isNull,
|
|
269
283
|
isNullish: isNullish,
|
|
270
284
|
isNumber: isNumber,
|
|
@@ -274,6 +288,7 @@
|
|
|
274
288
|
isString: isStringValue,
|
|
275
289
|
isTruthy: isTruthy,
|
|
276
290
|
isUndefined: isUndefined,
|
|
291
|
+
isValueOf: isValueOf,
|
|
277
292
|
lengthEquals: lengthEquals,
|
|
278
293
|
lengthNotEquals: lengthNotEquals,
|
|
279
294
|
lessThan: lessThan,
|
|
@@ -647,7 +662,7 @@
|
|
|
647
662
|
// Only on the first rule access - start the chain of calls
|
|
648
663
|
target[ruleName] = genEnforceLazy(ruleName);
|
|
649
664
|
});
|
|
650
|
-
return target;
|
|
665
|
+
return assign(enforceEager, target);
|
|
651
666
|
}
|
|
652
667
|
return new Proxy(assign(enforceEager, target), {
|
|
653
668
|
get: function (target, key) {
|
|
@@ -2311,7 +2326,7 @@
|
|
|
2311
2326
|
ctx.currentTest.warn();
|
|
2312
2327
|
}
|
|
2313
2328
|
|
|
2314
|
-
var VERSION = "4.0.2-dev-
|
|
2329
|
+
var VERSION = "4.0.2-dev-72921c";
|
|
2315
2330
|
|
|
2316
2331
|
exports.VERSION = VERSION;
|
|
2317
2332
|
exports.context = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function y(n){return"number"==typeof n}function N(n,t){return n.length===Number(t)}function E(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return N(n,0);if("object"==typeof n)return N(Object.keys(n),0)}return!0}function b(n){return Number.isNaN(n)}function C(n){return!!c(n)&&0>Number(n)}function T(n){return!!n}function O(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function k(n,t){return n.length>Number(t)}function w(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function S(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function P(n,t){return o(n)&&o(t)&&n.startsWith(t)}function x(n){for(var e in lt){var r=lt[e];t(r)&&n(e,r)}}function I(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function F(n,t){var e;return null!==(e=I(n))&&void 0!==e?e:t}function W(n,t){throw Error(F(t,n))}function X(n,t){setTimeout((function(){W(n,t)}),0)}function A(n){function t(t,u){var i,o,s=e();return t=Bn({},s||{},null!==(i=I(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:W(F(n,"Context was used after it was closed"))}}}function _(){return null}function D(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 L(){try{return t(Proxy)}catch(n){return!1}}function U(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return m(n)||n&&m(n.pass)||W("Incorrect return value for rule: "+JSON.stringify(n)),m(n)?U(n):U(n.pass,I.apply(void 0,D([n.message,t,e],r)))}function M(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=R.apply(void 0,D([pt.run({value:n},(function(){return e.apply(void 0,D([n],u))})),r,n],u))).pass){if(!E(i.message))throw i.message;W("enforce/"+r+" failed with "+JSON.stringify(n))}return t}}var e={};if(!L())return x((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=lt[e])return t(r,n,e)}});return r}function j(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function G(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=lt[r];e.push((function(n){return R.apply(void 0,D([o.apply(void 0,D([n],u)),r,n],u))}));var s={run:function(n){return F(j(e,(function(e,r){var u,i=pt.run({value:n},(function(){return e(n)}));i.pass||r(U(!!i.pass,null!==(u=I(t,n,i.message))&&void 0!==u?u:i.message))})),U(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return L()?s=new Proxy(s,{get:function(t,e){return lt[e]?n(e):t[e]}}):(x((function(t){s[t]=n(t)})),s)}}(n)}function q(n){function e(n,t,e){return u.references.push(),r(n,I(t,e)),function(){return[u.references[n],function(t){return r(n,I(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function B(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 H(n){return(n=[].concat(n))[n.length-1]}function K(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return H(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,H(t)},removeLevel:function(){t.pop()},reset:n}}function V(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(V(u,t)):(u=t(u),Hn(u)&&e.push(u))}return e}function Y(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(Y(t)):[].concat(n).concat(t)}),[])}function J(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=F(n[r],[]),n=n[r]}return n}function z(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),k(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function Q(){return mt.useX().stateRef}function Z(){return Q().testObjects()}function $(){(0,Z()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function nn(n){(0,Z()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function tn(){return Y(V(Z()[0].current,(function(n){return n.isPending()?n:null})))}function en(){var n=Z()[0].current;return yt([n],(function(){return Y(n)}))}function rn(){return mt.useX().testCursor.getCursor()}function un(){return mt.useX().testCursor.next()}function on(n,e){if(n=void 0===(n=n.type)?Gn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=rn();return mt.run({isolate:{type:n,keys:r}},(function(){mt.useX().testCursor.addLevel(),r.prev=function(){var n=Z()[0].prev;return[].concat(J(n,rn())).reduce((function(n,t){return t instanceof Et&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),nn((function(n){return J(n,u)[H(u)]=[],n}));var n=e();return mt.useX().testCursor.removeLevel(),un(),n}))}}function sn(n,t){return!(!t||n.fieldName!==t)}function an(n){var t=tn();return!E(t)&&(n?t.some((function(t){return sn(t,n)})):ut(t))}function cn(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).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("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}function fn(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!sn(e,i)?r=!0:(r=e.warns(),r="warnings"===n!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),dt({},i&&((r={})[i]=[],r)))}function ln(n){return dn("errors",n)}function pn(n){return dn("warnings",n)}function dn(n,t){return n=fn(n,en(),{fieldName:t}),t?n[t]:n}function vn(n,t){return n=gn("errors",n,t),t?n[t]:n}function hn(n,t){return n=gn("warnings",n,t),t?n[t]:n}function gn(n,t,e){return t||W("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),fn(n,en(),{group:t,fieldName:e})}function mn(n,t,e){return(e=!n.hasFailures()||e&&!sn(n,e))||(e="warnings"===t!=!!(n=n.warns())),!e}function yn(n){return En("errors",n)}function Nn(n){return En("warnings",n)}function En(n,t){return en().some((function(e){return mn(e,n,t)}))}function bn(n,t){return Tn("errors",n,t)}function Cn(n,t){return Tn("warnings",n,t)}function Tn(n,t,e){return en().some((function(r){return t===r.groupName&&mn(r,n,e)}))}function On(){var n=en(),t={stateRef:Q()};return xt([n],mt.bind(t,(function(){var n=Q().suiteName()[0];return Bn(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return en().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=cn(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=cn(n.groups[r],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}(n)}(),{getErrors:mt.bind(t,ln),getErrorsByGroup:mt.bind(t,vn),getWarnings:mt.bind(t,pn),getWarningsByGroup:mt.bind(t,hn),hasErrors:mt.bind(t,yn),hasErrorsByGroup:mt.bind(t,bn),hasWarnings:mt.bind(t,Nn),hasWarningsByGroup:mt.bind(t,Cn),isValid:mt.bind(t,(function(n){var t=On(),e=en().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=en())||n&&E(t.tests[n])||function(n){var t=Q().optionalFields()[0];return ut(tn().filter((function(e){return!(n&&!sn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=en(),e=Q().optionalFields()[0];return t.every((function(t){return!(!n||sn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function kn(){var n=en(),t={stateRef:Q()};return It([n],mt.bind(t,(function(){return Bn({},On(),{done:mt.bind(t,Ft)})})))}function wn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function Sn(n){return!(an()&&(!n||an(n)))}function Pn(n,t){var e=mt.bind({},n);(0,Q().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function xn(n){return n.forEach((function(n){return n()}))}function In(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Nt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=Q().testCallbacks()[0].fieldCallbacks;n&&!an(n)&&p(t[n])&&xn(t[n]),n=Q().testCallbacks()[0].doneCallbacks,an()||xn(n)}})),n.on(Nt.SUITE_COMPLETED,(function(){!function(){var n=Q().optionalFields()[0];if(!E(n)){var e={};nn((function(r){return V(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Nt.REMOVE_FIELD,(function(n){en().forEach((function(t){sn(t,n)&&(t.cancel(),function(n){nn((function(t){return V(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n}function Fn(){var n=mt.useX();return n.bus||W(),n.bus}function Wn(n){return An(0,"tests",n)}function Xn(n){return An(1,"tests",n)}function An(n,t,e){var r=mt.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function _n(n){for(var t in n)if(!0===n[t])return!0;return!1}function Dn(n){W("Wrong arguments passed to group. Group "+n+".")}function Ln(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=Fn().emit,i=Q(),s=mt.bind({stateRef:i},(function(){$(),u(Nt.TEST_COMPLETED,n)}));i=mt.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Un(n){var t=rn();nn((function(e){return J(e,t)[H(t)]=n,e}))}function Rn(n){var e=Z()[0].prev;if(E(e))Un(n),e=n;else{var r=rn();if(e=J(e,r)[H(r)],i(n.key))!ut(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(mt.useX().isolate.type!==Gn.EACH&&X("Vest Critical Error: Tests called in different order than previous run.\n expected: "+e.fieldName+"\n received: "+n.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.'),function(){var n=Z(),t=n[1],e=n[0].prev;n=J(e,rn());var r=mt.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Un(e=F(e,n));else{e=n.key;var s=mt.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=mt.useX().isolate.keys.current;i(a[e])?a[e]=s:X('Encountered the same test key "'+e+"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."),Un(e=r)}}if(mt.useX().omitted)return e.omit(),un(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,mt.useX().skipped)return!0;var e=mt.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=mt.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!_n(u)&&!1!==u[t])}r=mt.useX().exclusion;n:{for(a in(s=mt.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!_n(u)&&!I(e[t])}(n))return e.skip(!!mt.useX().skipped),un(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Un(n),un(),n.isUntested()){e=Fn(),r=function(n){return mt.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Ln(n)):e.emit(Nt.TEST_COMPLETED,n)}catch(t){W("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Ln(n));return n}function Mn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:D([void 0],e);e=u[0],r=u[1],u=u[2],st(n)&&jn("fieldName","string"),t(r)||jn("Test callback","function");var i=mt.useX();return Rn(e=new Et(n,r,{message:e,groupName:i.groupName,key:u}))}function jn(n,t){W("Incompatible params passed to test function. "+n+" must be a "+t)}var Gn,qn,Bn=Object.assign,Hn=e(r),Kn=e(u),Vn=e(i),Yn=e(s),Jn=e(a),zn=e(c),Qn=e(p),Zn=e(d),$n=e(h),nt=e(g),tt=e(m),et=e(y),rt=e(N),ut=e(E),it=e(b),ot=e(C),st=e(o),at=e(T),ct=e(w),ft=e(S),lt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Yn,doesNotStartWith:e(P),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:m,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:at,isNaN:b,isNegative:C,isNotArray:Qn,isNotBetween:$n,isNotBlank:nt,isNotBoolean:tt,isNotEmpty:ut,isNotNaN:it,isNotNull:Hn,isNotNullish:Vn,isNotNumber:et,isNotNumeric:zn,isNotString:st,isNotUndefined:Kn,isNull:r,isNullish:i,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:ot,isString:o,isTruthy:T,isUndefined:u,lengthEquals:N,lengthNotEquals:rt,lessThan:O,lessThanOrEquals:v,longerThan:k,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:O,lte:v,matches:w,notEquals:Jn,notInside:Zn,notMatches:ct,numberEquals:S,numberNotEquals:ft,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:P},pt=A((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Bn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Bn(e,{parent:_})})),dt=function(){return(dt=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)},vt=(qn={context:function(){return pt.useX()},extend:function(n){Bn(lt,n)}},L()?new Proxy(Bn(M,qn),{get:function(n,t){return t in n?n[t]:lt[t]?G(t):void 0}}):(x((function(n){qn[n]=G(n)})),qn)),ht=function(n){return function(){return""+n++}}(0);!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"}(Gn||(Gn={}));var gt,mt=A((function(n,t){return t?null:Bn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Gn.DEFAULT,keys:{current:{},prev:{}}},testCursor:K()},n)})),yt=z();!function(n){n.Error="error",n.Warning="warning"}(gt||(gt={}));var Nt,Et=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=ht(),this.severity=gt.Error,this.status=bt,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){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Pt||(this.status=n)},n.prototype.warns=function(){return this.severity===gt.Warning},n.prototype.setPending=function(){this.setStatus(wt)},n.prototype.fail=function(){this.setStatus(this.warns()?Ot:Tt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(kt)},n.prototype.warn=function(){this.severity=gt.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(Ct)},n.prototype.cancel=function(){this.setStatus(St),$()},n.prototype.omit=function(){this.setStatus(Pt)},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.status===wt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===Pt},n.prototype.isUntested=function(){return this.status===bt},n.prototype.isFailing=function(){return this.status===Tt},n.prototype.isCanceled=function(){return this.status===St},n.prototype.isSkipped=function(){return this.status===Ct},n.prototype.isPassing=function(){return this.status===kt},n.prototype.isWarning=function(){return this.status===Ot},n}(),bt="UNTESTED",Ct="SKIPPED",Tt="FAILED",Ot="WARNING",kt="PASSING",wt="PENDING",St="CANCELED",Pt="OMITTED",xt=z(20),It=z(20),Ft=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=kn(),wn(e,n,t))return t;var r=function(){return e(On())};return Sn(n)?(r(),t):(Pn(r,n),t)};!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.SUITE_COMPLETED="suite_completed"}(Nt||(Nt={})),Wn.group=function(n){return An(0,"groups",n)},Xn.group=function(n){return An(1,"groups",n)};var Wt=Bn(Mn,{memo:function(n){var t=z(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=mt.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[Q().suiteId()[0],e,u].concat(i),null===(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)}))):Rn(r[1])}}(Mn)});n.VERSION="4.0.2-dev-6e9534",n.context=mt,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||W("vest.create: Expected callback to be a function.");var u=In(),i=q();return n={stateRef:B(i,{suiteId:ht(),suiteName:n}),bus:u},Bn(mt.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),on({type:Gn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Nt.SUITE_COMPLETED),kn()})),{get:mt.bind(n,On),reset:i.reset,remove:mt.bind(n,(function(n){u.emit(Nt.REMOVE_FIELD,n)}))})},n.each=function(n,e){t(e)||W("callback must be a function"),on({type:Gn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.enforce=vt,n.group=function(n,e){o(n)||Dn("name must be a string"),t(e)||Dn("callback must be a function"),on({type:Gn.GROUP},(function(){mt.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=mt.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?F(r.tests[n],!0):o(t)?!!r.tests[t]:I(t,I(On))}}var e=mt.useX();return n?(e.inclusion[n]=F(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){on({type:Gn.OMIT_WHEN},(function(){mt.run({omitted:I(n,I(On))},(function(){return t()}))}))},n.only=Wn,n.optional=function(n){(0,Q().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=Xn,n.skipWhen=function(n,t){on({type:Gn.SKIP_WHEN},(function(){mt.run({skipped:I(n,I(On))},(function(){return t()}))}))},n.test=Wt,n.warn=function(){var n=mt.useX("warn hook called outside of a running suite.");n.currentTest||W("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function y(n){return"number"==typeof n}function N(n,t){return n.length===Number(t)}function E(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return N(n,0);if("object"==typeof n)return N(Object.keys(n),0)}return!0}function b(n){return Number.isNaN(n)}function C(n){return!!c(n)&&0>Number(n)}function T(n){return!!n}function O(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function k(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function w(n,t){return n.length>Number(t)}function S(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function P(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function x(n,t){return o(n)&&o(t)&&n.startsWith(t)}function I(n){for(var e in dt){var r=dt[e];t(r)&&n(e,r)}}function F(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function W(n,t){var e;return null!==(e=F(n))&&void 0!==e?e:t}function X(n,t){throw Error(W(t,n))}function A(n,t){setTimeout((function(){X(n,t)}),0)}function _(n){function t(t,u){var i,o,s=e();return t=Hn({},s||{},null!==(i=F(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:X(W(n,"Context was used after it was closed"))}}}function D(){return null}function L(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 U(){try{return t(Proxy)}catch(n){return!1}}function R(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return m(n)||n&&m(n.pass)||X("Incorrect return value for rule: "+JSON.stringify(n)),m(n)?R(n):R(n.pass,F.apply(void 0,L([n.message,t,e],r)))}function j(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=M.apply(void 0,L([vt.run({value:n},(function(){return e.apply(void 0,L([n],u))})),r,n],u))).pass){if(!E(i.message))throw i.message;X("enforce/"+r+" failed with "+JSON.stringify(n))}return t}}var e={};if(!U())return I((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=dt[e])return t(r,n,e)}});return r}function G(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function q(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=dt[r];e.push((function(n){return M.apply(void 0,L([o.apply(void 0,L([n],u)),r,n],u))}));var s={run:function(n){return W(G(e,(function(e,r){var u,i=vt.run({value:n},(function(){return e(n)}));i.pass||r(R(!!i.pass,null!==(u=F(t,n,i.message))&&void 0!==u?u:i.message))})),R(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return U()?s=new Proxy(s,{get:function(t,e){return dt[e]?n(e):t[e]}}):(I((function(t){s[t]=n(t)})),s)}}(n)}function B(n){function e(n,t,e){return u.references.push(),r(n,F(t,e)),function(){return[u.references[n],function(t){return r(n,F(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function H(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 K(n){return(n=[].concat(n))[n.length-1]}function V(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return K(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,K(t)},removeLevel:function(){t.pop()},reset:n}}function Y(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(Y(u,t)):(u=t(u),Kn(u)&&e.push(u))}return e}function J(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(J(t)):[].concat(n).concat(t)}),[])}function z(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=W(n[r],[]),n=n[r]}return n}function Q(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),w(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function Z(){return Nt.useX().stateRef}function $(){return Z().testObjects()}function nn(){(0,$()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function tn(n){(0,$()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function en(){return J(Y($()[0].current,(function(n){return n.isPending()?n:null})))}function rn(){var n=$()[0].current;return Et([n],(function(){return J(n)}))}function un(){return Nt.useX().testCursor.getCursor()}function on(){return Nt.useX().testCursor.next()}function sn(n,e){if(n=void 0===(n=n.type)?qn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=un();return Nt.run({isolate:{type:n,keys:r}},(function(){Nt.useX().testCursor.addLevel(),r.prev=function(){var n=$()[0].prev;return[].concat(z(n,un())).reduce((function(n,t){return t instanceof Ct&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),tn((function(n){return z(n,u)[K(u)]=[],n}));var n=e();return Nt.useX().testCursor.removeLevel(),on(),n}))}}function an(n,t){return!(!t||n.fieldName!==t)}function cn(n){var t=en();return!E(t)&&(n?t.some((function(t){return an(t,n)})):it(t))}function fn(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).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("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!an(e,i)?r=!0:(r=e.warns(),r="warnings"===n!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),ht({},i&&((r={})[i]=[],r)))}function pn(n){return vn("errors",n)}function dn(n){return vn("warnings",n)}function vn(n,t){return n=ln(n,rn(),{fieldName:t}),t?n[t]:n}function hn(n,t){return n=mn("errors",n,t),t?n[t]:n}function gn(n,t){return n=mn("warnings",n,t),t?n[t]:n}function mn(n,t,e){return t||X("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),ln(n,rn(),{group:t,fieldName:e})}function yn(n,t,e){return(e=!n.hasFailures()||e&&!an(n,e))||(e="warnings"===t!=!!(n=n.warns())),!e}function Nn(n){return bn("errors",n)}function En(n){return bn("warnings",n)}function bn(n,t){return rn().some((function(e){return yn(e,n,t)}))}function Cn(n,t){return On("errors",n,t)}function Tn(n,t){return On("warnings",n,t)}function On(n,t,e){return rn().some((function(r){return t===r.groupName&&yn(r,n,e)}))}function kn(){var n=rn(),t={stateRef:Z()};return Ft([n],Nt.bind(t,(function(){var n=Z().suiteName()[0];return Hn(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return rn().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=fn(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=fn(n.groups[r],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}(n)}(),{getErrors:Nt.bind(t,pn),getErrorsByGroup:Nt.bind(t,hn),getWarnings:Nt.bind(t,dn),getWarningsByGroup:Nt.bind(t,gn),hasErrors:Nt.bind(t,Nn),hasErrorsByGroup:Nt.bind(t,Cn),hasWarnings:Nt.bind(t,En),hasWarningsByGroup:Nt.bind(t,Tn),isValid:Nt.bind(t,(function(n){var t=kn(),e=rn().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=rn())||n&&E(t.tests[n])||function(n){var t=Z().optionalFields()[0];return it(en().filter((function(e){return!(n&&!an(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=rn(),e=Z().optionalFields()[0];return t.every((function(t){return!(!n||an(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function wn(){var n=rn(),t={stateRef:Z()};return Wt([n],Nt.bind(t,(function(){return Hn({},kn(),{done:Nt.bind(t,Xt)})})))}function Sn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function Pn(n){return!(cn()&&(!n||cn(n)))}function xn(n,t){var e=Nt.bind({},n);(0,Z().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function In(n){return n.forEach((function(n){return n()}))}function Fn(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(bt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=Z().testCallbacks()[0].fieldCallbacks;n&&!cn(n)&&p(t[n])&&In(t[n]),n=Z().testCallbacks()[0].doneCallbacks,cn()||In(n)}})),n.on(bt.SUITE_COMPLETED,(function(){!function(){var n=Z().optionalFields()[0];if(!E(n)){var e={};tn((function(r){return Y(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(bt.REMOVE_FIELD,(function(n){rn().forEach((function(t){an(t,n)&&(t.cancel(),function(n){tn((function(t){return Y(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n}function Wn(){var n=Nt.useX();return n.bus||X(),n.bus}function Xn(n){return _n(0,"tests",n)}function An(n){return _n(1,"tests",n)}function _n(n,t,e){var r=Nt.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Dn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Ln(n){X("Wrong arguments passed to group. Group "+n+".")}function Un(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=Wn().emit,i=Z(),s=Nt.bind({stateRef:i},(function(){nn(),u(bt.TEST_COMPLETED,n)}));i=Nt.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Rn(n){var t=un();tn((function(e){return z(e,t)[K(t)]=n,e}))}function Mn(n){var e=$()[0].prev;if(E(e))Rn(n),e=n;else{var r=un();if(e=z(e,r)[K(r)],i(n.key))!it(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(Nt.useX().isolate.type!==qn.EACH&&A("Vest Critical Error: Tests called in different order than previous run.\n expected: "+e.fieldName+"\n received: "+n.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.'),function(){var n=$(),t=n[1],e=n[0].prev;n=z(e,un());var r=Nt.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Rn(e=W(e,n));else{e=n.key;var s=Nt.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=Nt.useX().isolate.keys.current;i(a[e])?a[e]=s:A('Encountered the same test key "'+e+"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."),Rn(e=r)}}if(Nt.useX().omitted)return e.omit(),on(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,Nt.useX().skipped)return!0;var e=Nt.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=Nt.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Dn(u)&&!1!==u[t])}r=Nt.useX().exclusion;n:{for(a in(s=Nt.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Dn(u)&&!F(e[t])}(n))return e.skip(!!Nt.useX().skipped),on(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Rn(n),on(),n.isUntested()){e=Wn(),r=function(n){return Nt.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Un(n)):e.emit(bt.TEST_COMPLETED,n)}catch(t){X("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Un(n));return n}function jn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:L([void 0],e);e=u[0],r=u[1],u=u[2],at(n)&&Gn("fieldName","string"),t(r)||Gn("Test callback","function");var i=Nt.useX();return Mn(e=new Ct(n,r,{message:e,groupName:i.groupName,key:u}))}function Gn(n,t){X("Incompatible params passed to test function. "+n+" must be a "+t)}var qn,Bn,Hn=Object.assign,Kn=e(r),Vn=e(u),Yn=e(i),Jn=e(s),zn=e(a),Qn=e(c),Zn=e(p),$n=e(d),nt=e(h),tt=e(g),et=e(m),rt=e(y),ut=e(N),it=e(E),ot=e(b),st=e(C),at=e(o),ct=e(T),ft=e(O),lt=e(S),pt=e(P),dt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Jn,doesNotStartWith:e(x),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:m,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:ct,isNaN:b,isNegative:C,isNotArray:Zn,isNotBetween:nt,isNotBlank:tt,isNotBoolean:et,isNotEmpty:it,isNotNaN:ot,isNotNull:Kn,isNotNullish:Yn,isNotNumber:rt,isNotNumeric:Qn,isNotString:at,isNotUndefined:Vn,isNotValueOf:ft,isNull:r,isNullish:i,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:st,isString:o,isTruthy:T,isUndefined:u,isValueOf:O,lengthEquals:N,lengthNotEquals:ut,lessThan:k,lessThanOrEquals:v,longerThan:w,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:k,lte:v,matches:S,notEquals:zn,notInside:$n,notMatches:lt,numberEquals:P,numberNotEquals:pt,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:x},vt=_((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Hn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Hn(e,{parent:D})})),ht=function(){return(ht=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)},gt=(Bn={context:function(){return vt.useX()},extend:function(n){Hn(dt,n)}},U()?new Proxy(Hn(j,Bn),{get:function(n,t){return t in n?n[t]:dt[t]?q(t):void 0}}):(I((function(n){Bn[n]=q(n)})),Hn(j,Bn))),mt=function(n){return function(){return""+n++}}(0);!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"}(qn||(qn={}));var yt,Nt=_((function(n,t){return t?null:Hn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:qn.DEFAULT,keys:{current:{},prev:{}}},testCursor:V()},n)})),Et=Q();!function(n){n.Error="error",n.Warning="warning"}(yt||(yt={}));var bt,Ct=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=mt(),this.severity=yt.Error,this.status=Tt,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){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==It||(this.status=n)},n.prototype.warns=function(){return this.severity===yt.Warning},n.prototype.setPending=function(){this.setStatus(Pt)},n.prototype.fail=function(){this.setStatus(this.warns()?wt:kt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(St)},n.prototype.warn=function(){this.severity=yt.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(Ot)},n.prototype.cancel=function(){this.setStatus(xt),nn()},n.prototype.omit=function(){this.setStatus(It)},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.status===Pt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===It},n.prototype.isUntested=function(){return this.status===Tt},n.prototype.isFailing=function(){return this.status===kt},n.prototype.isCanceled=function(){return this.status===xt},n.prototype.isSkipped=function(){return this.status===Ot},n.prototype.isPassing=function(){return this.status===St},n.prototype.isWarning=function(){return this.status===wt},n}(),Tt="UNTESTED",Ot="SKIPPED",kt="FAILED",wt="WARNING",St="PASSING",Pt="PENDING",xt="CANCELED",It="OMITTED",Ft=Q(20),Wt=Q(20),Xt=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=wn(),Sn(e,n,t))return t;var r=function(){return e(kn())};return Pn(n)?(r(),t):(xn(r,n),t)};!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.SUITE_COMPLETED="suite_completed"}(bt||(bt={})),Xn.group=function(n){return _n(0,"groups",n)},An.group=function(n){return _n(1,"groups",n)};var At=Hn(jn,{memo:function(n){var t=Q(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=Nt.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[Z().suiteId()[0],e,u].concat(i),null===(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)}))):Mn(r[1])}}(jn)});n.VERSION="4.0.2-dev-72921c",n.context=Nt,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||X("vest.create: Expected callback to be a function.");var u=Fn(),i=B();return n={stateRef:H(i,{suiteId:mt(),suiteName:n}),bus:u},Hn(Nt.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),sn({type:qn.SUITE},(function(){r.apply(void 0,n)})),u.emit(bt.SUITE_COMPLETED),wn()})),{get:Nt.bind(n,kn),reset:i.reset,remove:Nt.bind(n,(function(n){u.emit(bt.REMOVE_FIELD,n)}))})},n.each=function(n,e){t(e)||X("callback must be a function"),sn({type:qn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.enforce=gt,n.group=function(n,e){o(n)||Ln("name must be a string"),t(e)||Ln("callback must be a function"),sn({type:qn.GROUP},(function(){Nt.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=Nt.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?W(r.tests[n],!0):o(t)?!!r.tests[t]:F(t,F(kn))}}var e=Nt.useX();return n?(e.inclusion[n]=W(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){sn({type:qn.OMIT_WHEN},(function(){Nt.run({omitted:F(n,F(kn))},(function(){return t()}))}))},n.only=Xn,n.optional=function(n){(0,Z().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=An,n.skipWhen=function(n,t){sn({type:qn.SKIP_WHEN},(function(){Nt.run({skipped:F(n,F(kn))},(function(){return t()}))}))},n.test=At,n.warn=function(){var n=Nt.useX("warn hook called outside of a running suite.");n.currentTest||X("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -37,6 +37,7 @@ declare function isNumeric(value: string | number): boolean;
|
|
|
37
37
|
declare function isStringValue(v: unknown): v is string;
|
|
38
38
|
declare function isTruthy(value: unknown): boolean;
|
|
39
39
|
declare function isUndefined(value?: unknown): boolean;
|
|
40
|
+
declare function isValueOf(value: any, objectToCheck: any): boolean;
|
|
40
41
|
declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
41
42
|
declare function lessThan(value: string | number, lt: string | number): boolean;
|
|
42
43
|
declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
|
|
@@ -79,6 +80,7 @@ declare const baseRules: {
|
|
|
79
80
|
isNotNumeric: (value: string | number) => boolean;
|
|
80
81
|
isNotString: (v: unknown) => boolean;
|
|
81
82
|
isNotUndefined: (value?: unknown) => boolean;
|
|
83
|
+
isNotValueOf: (value: any, objectToCheck: any) => boolean;
|
|
82
84
|
isNull: typeof isNull;
|
|
83
85
|
isNullish: typeof isNullish;
|
|
84
86
|
isNumber: typeof isNumber;
|
|
@@ -88,6 +90,7 @@ declare const baseRules: {
|
|
|
88
90
|
isString: typeof isStringValue;
|
|
89
91
|
isTruthy: typeof isTruthy;
|
|
90
92
|
isUndefined: typeof isUndefined;
|
|
93
|
+
isValueOf: typeof isValueOf;
|
|
91
94
|
lengthEquals: typeof lengthEquals;
|
|
92
95
|
lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
|
|
93
96
|
lessThan: typeof lessThan;
|
|
@@ -37,6 +37,7 @@ declare function isNumeric(value: string | number): boolean;
|
|
|
37
37
|
declare function isStringValue(v: unknown): v is string;
|
|
38
38
|
declare function isTruthy(value: unknown): boolean;
|
|
39
39
|
declare function isUndefined(value?: unknown): boolean;
|
|
40
|
+
declare function isValueOf(value: any, objectToCheck: any): boolean;
|
|
40
41
|
declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
41
42
|
declare function lessThan(value: string | number, lt: string | number): boolean;
|
|
42
43
|
declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
|
|
@@ -79,6 +80,7 @@ declare const baseRules: {
|
|
|
79
80
|
isNotNumeric: (value: string | number) => boolean;
|
|
80
81
|
isNotString: (v: unknown) => boolean;
|
|
81
82
|
isNotUndefined: (value?: unknown) => boolean;
|
|
83
|
+
isNotValueOf: (value: any, objectToCheck: any) => boolean;
|
|
82
84
|
isNull: typeof isNull;
|
|
83
85
|
isNullish: typeof isNullish;
|
|
84
86
|
isNumber: typeof isNumber;
|
|
@@ -88,6 +90,7 @@ declare const baseRules: {
|
|
|
88
90
|
isString: typeof isStringValue;
|
|
89
91
|
isTruthy: typeof isTruthy;
|
|
90
92
|
isUndefined: typeof isUndefined;
|
|
93
|
+
isValueOf: typeof isValueOf;
|
|
91
94
|
lengthEquals: typeof lengthEquals;
|
|
92
95
|
lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
|
|
93
96
|
lessThan: typeof lessThan;
|
|
@@ -37,6 +37,7 @@ declare function isNumeric(value: string | number): boolean;
|
|
|
37
37
|
declare function isStringValue(v: unknown): v is string;
|
|
38
38
|
declare function isTruthy(value: unknown): boolean;
|
|
39
39
|
declare function isUndefined(value?: unknown): boolean;
|
|
40
|
+
declare function isValueOf(value: any, objectToCheck: any): boolean;
|
|
40
41
|
declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
41
42
|
declare function lessThan(value: string | number, lt: string | number): boolean;
|
|
42
43
|
declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
|
|
@@ -79,6 +80,7 @@ declare const baseRules: {
|
|
|
79
80
|
isNotNumeric: (value: string | number) => boolean;
|
|
80
81
|
isNotString: (v: unknown) => boolean;
|
|
81
82
|
isNotUndefined: (value?: unknown) => boolean;
|
|
83
|
+
isNotValueOf: (value: any, objectToCheck: any) => boolean;
|
|
82
84
|
isNull: typeof isNull;
|
|
83
85
|
isNullish: typeof isNullish;
|
|
84
86
|
isNumber: typeof isNumber;
|
|
@@ -88,6 +90,7 @@ declare const baseRules: {
|
|
|
88
90
|
isString: typeof isStringValue;
|
|
89
91
|
isTruthy: typeof isTruthy;
|
|
90
92
|
isUndefined: typeof isUndefined;
|
|
93
|
+
isValueOf: typeof isValueOf;
|
|
91
94
|
lengthEquals: typeof lengthEquals;
|
|
92
95
|
lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
|
|
93
96
|
lessThan: typeof lessThan;
|
package/types/vest.d.ts
CHANGED
|
@@ -314,5 +314,5 @@ declare const test: typeof testBase & {
|
|
|
314
314
|
* Sets a running test to warn only mode.
|
|
315
315
|
*/
|
|
316
316
|
declare function warn(): void;
|
|
317
|
-
declare const VERSION = "4.0.2-dev-
|
|
317
|
+
declare const VERSION = "4.0.2-dev-72921c";
|
|
318
318
|
export { test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include };
|