vest 4.2.1 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classnames.development.js +76 -28
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +27 -59
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/parser.development.js +84 -22
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/promisify.development.js +21 -8
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +219 -203
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +76 -28
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +27 -59
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/parser.development.js +84 -22
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +21 -8
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +219 -203
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +76 -28
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +89 -99
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +34 -36
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +34 -36
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +84 -22
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/promisify.development.js +21 -8
- package/dist/umd/promisify.production.js +1 -1
- package/dist/umd/vest.development.js +213 -204
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -3
- package/testUtils/mockThrowError.ts +3 -6
- package/testUtils/suiteDummy.ts +5 -1
- package/types/classnames.d.ts +13 -54
- package/types/enforce/compose.d.ts +2 -1
- package/types/enforce/compounds.d.ts +2 -1
- package/types/enforce/schema.d.ts +2 -1
- package/types/parser.d.ts +12 -53
- package/types/promisify.d.ts +12 -9
- package/types/vest.d.ts +17 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,E=g||(g={});E[E.DEFAULT=0]="DEFAULT",E[E.SUITE=1]="SUITE",E[E.EACH=2]="EACH",E[E.SKIP_WHEN=3]="SKIP_WHEN",E[E.OMIT_WHEN=4]="OMIT_WHEN",E[E.GROUP=5]="GROUP";var m,y=m||(m={});y[y.ALL=0]="ALL",y[y.EAGER=1]="EAGER";var N=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return N.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function I(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var k,O=k||(k={});O.Error="error",O.Warning="warning";var _=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=k.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==D||(this.status=t)},t.prototype.warns=function(){return this.severity===k.Warning},t.prototype.setPending=function(){this.setStatus(X)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=k.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(D)},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.statusEquals(X)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",W="PASSING",X="PENDING",w="CANCELED",D="OMITTED";function U(t,n){throw Error(c(n,t))}function x(t,n){setTimeout((function(){U(t,n)}),0)}function H(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function K(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 j(t){return null==t}function M(){return N.useX().testCursor.getCursor()}function q(){return N.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return N.run({isolate:{type:t,keys:e}},(function(){N.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof _&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return N.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});function J(t,n){function e(t){i[t===V.ERRORS?"errorCount":"warnCount"]++,u&&(i[t]=(i[t]||[]).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(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function z(){return(z=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){return!(!n||t.fieldName!==n)}function $(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&&!Z(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),z({},i&&((r={})[i]=[],r)))}function tt(t){return et(V.ERRORS,t)}function nt(t){return et(V.WARNINGS,t)}function et(t,n){return t=$(t,I(),{fieldName:n}),n?t[n]:t}function rt(t,n){return t=it(V.ERRORS,t,n),n?t[n]:t}function ut(t,n){return t=it(V.WARNINGS,t,n),n?t[n]:t}function it(t,n,e){return n||U("get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),$(t,I(),{group:n,fieldName:e})}function ot(t,n,e){return(e=!t.hasFailures()||e&&!Z(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function st(t){return ct(V.ERRORS,t)}function at(t){return ct(V.WARNINGS,t)}function ct(t,n){return I().some((function(e){return ot(e,t,n)}))}function ft(t,n){return pt(V.ERRORS,t,n)}function lt(t,n){return pt(V.WARNINGS,t,n)}function pt(t,n,e){return I().some((function(r){return n===r.groupName&&ot(r,t,e)}))}function dt(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}Y.WARNINGS="warnings",Y.ERRORS="errors";var vt=u(dt);var ht=i(20);function gt(){var t=I(),n={stateRef:b()};return ht([t],N.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=I(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return t.forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=J(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=J(n.groups[r],t))})),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}(n)}(),{getErrors:N.bind(n,tt),getErrorsByGroup:N.bind(n,rt),getWarnings:N.bind(n,nt),getWarningsByGroup:N.bind(n,ut),hasErrors:N.bind(n,st),hasErrorsByGroup:N.bind(n,ft),hasWarnings:N.bind(n,at),hasWarningsByGroup:N.bind(n,lt),isValid:N.bind(n,(function(t){var n=gt(),e=I().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=!(dt(e=I())||t&&dt(n.tests[t])||function(t){var n=b().optionalFields()[0];return vt(T().filter((function(e){return!(t&&!Z(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=I(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||Z(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}function Et(t){var n=T();return!dt(n)&&(t?n.some((function(n){return Z(n,t)})):vt(n))}var mt=i(20);function yt(){var t=I(),n={stateRef:b()};return mt([t],N.bind(n,(function(){return v({},gt(),{done:N.bind(n,St)})})))}function Nt(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!dt(e.tests[n].testCount)))}function bt(t){return!(Et()&&(!t||Et(t)))}function St(){function t(){return r(gt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=yt(),Nt(r,n,e)?e:bt(n)?(t(),e):(Ct(t,n),e)}function Ct(t,n){var e=N.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Rt(t){return t.forEach((function(t){return t()}))}function Tt(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(It.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!Et(n)&&Array.isArray(e[n])&&Rt(e[n]),Et()||t.emit(It.ALL_RUNNING_TESTS_FINISHED)}})),t.on(It.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!dt(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(It.ALL_RUNNING_TESTS_FINISHED,(function(){Rt(b().testCallbacks()[0].doneCallbacks)})),t.on(It.REMOVE_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(It.RESET_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&n.reset()}))})),t}function At(){var t=N.useX();return t.bus||U(),t.bus}var It,kt=It||(It={});function Ot(t){return Lt(0,"tests",t)}function _t(t){return Lt(1,"tests",t)}function Lt(t,n,e){var u=N.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ft(t){for(var n in t)if(!0===t[n])return!0;return!1}function Gt(t){U("Wrong arguments passed to group. Group ".concat(t,"."))}kt.TEST_COMPLETED="test_completed",kt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ot.group=function(t){return Lt(0,"groups",t)},_t.group=function(t){return Lt(1,"groups",t)};var Pt=u(r);function Wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=At().emit,i=b(),o=N.bind({stateRef:i},(function(){C(),u(It.TEST_COMPLETED,t)}));i=N.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function wt(t){var n=S()[0].prev;if(dt(n))Xt(t),n=t;else{var e=M();if(n=d(n,e)[f(e)],j(t.key))!vt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(N.useX().isolate.type!==g.EACH&&x("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=N.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=c(n,t));else{n=t.key;var u=N.useX().isolate.keys.prev[n];e=t,u&&(e=u),u=e;var i=N.useX().isolate.keys.current;j(i[n])?i[n]=u:x('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Xt(n=e)}}if(e=m.EAGER,e=!(N.useX().mode[0]!==e||!st(t.fieldName)))return q(),t.skip(),t;if(N.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,N.useX().skipped)return!0;var e=N.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=N.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ft(u)&&!1!==u[n])}r=N.useX().exclusion;t:{for(c in(s=N.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ft(u)&&!a(e[n])}(t))return n.skip(!!N.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),q(),t.isUntested()){n=At(),e=function(t){return N.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),Wt(t)):n.emit(It.TEST_COMPLETED,t)}catch(n){U("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),Wt(t));return t}function Dt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=s(n[1])?n:Q([void 0],n,!0);n=r[0],e=r[1],r=r[2],Pt(t)&&xt("fieldName","string"),s(e)||xt("Test callback","function");var u=N.useX();return wt(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}var Ut=v(Dt,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=N.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().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)}))):wt(r[1])}}(Dt)});function xt(t,n){U("Incompatible params passed to test function. ".concat(t," must be a ").concat(n))}var Ht="4.2.1";function Kt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],s(r)||U("vest.create: Expected callback to be a function.");var u=Tt(),i=H();return t={stateRef:K(i,{suiteId:e(),suiteName:t}),bus:u},v(N.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(It.SUITE_CALLBACK_DONE_RUNNING),yt()})),{get:N.bind(t,gt),remove:N.bind(t,(function(t){u.emit(It.REMOVE_FIELD,t)})),reset:i.reset,resetField:N.bind(t,(function(t){u.emit(It.RESET_FIELD,t)}))})}function jt(t,n){s(n)||U("each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Mt(){var t=m.EAGER;N.useX().mode[0]=t}function qt(t,n){r(t)||Gt("name must be a string"),s(n)||Gt("callback must be a function"),B({type:g.GROUP},(function(){N.run({groupName:t},n)}))}function Bt(t){function n(n){var e=N.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(gt))}}var e=N.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function Vt(t,n){B({type:g.OMIT_WHEN},(function(){N.run({omitted:!!N.useX().omitted||a(t,a(gt))},(function(){return n()}))}))}function Yt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Jt(t,n){B({type:g.SKIP_WHEN},(function(){N.run({skipped:!!N.useX().skipped||a(t,a(gt))},(function(){return n()}))}))}function zt(){var t=N.useX("warn hook called outside of a running suite.");t.currentTest||U("warn called outside of a test."),t.currentTest.warn()}export{Ht as VERSION,N as context,Kt as create,jt as each,Mt as eager,qt as group,Bt as include,Vt as omitWhen,Ot as only,Yt as optional,_t as skip,Jt as skipWhen,Ut as test,zt as warn};
|
|
1
|
+
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,N=g||(g={});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";var m,E=m||(m={});E[E.ALL=0]="ALL",E[E.EAGER=1]="EAGER";var y=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return y.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function O(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var I,_=I||(I={});_.Error="error",_.Warning="warning";var k=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=I.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==X||(this.status=t)},t.prototype.warns=function(){return this.severity===I.Warning},t.prototype.setPending=function(){this.setStatus(W)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},t.prototype.warn=function(){this.severity=I.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(X)},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.statusEquals(W)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(X)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(U)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",U="PASSING",W="PENDING",w="CANCELED",X="OMITTED";function D(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?a(n):n)}function x(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function H(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 K(t){return null==t}function j(t){setTimeout((function(){throw Error(t)}),0)}function M(){return y.useX().testCursor.getCursor()}function q(){return y.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return y.run({isolate:{type:t,keys:e}},(function(){y.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof k&&!K(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return y.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});Y.WARNINGS="warnings",Y.ERRORS="errors";var J,z=J||(J={});function Q(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}z.ERROR_COUNT="errorCount",z.WARN_COUNT="warnCount";var Z=u(Q);function $(t,n){return!(!n||t.fieldName!==n)}function tt(t,n,e){return(e=!t.hasFailures()||e&&!$(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function nt(t){return rt(V.ERRORS,t)}function et(t){return rt(V.WARNINGS,t)}function rt(t,n){return O().some((function(e){return tt(e,t,n)}))}function ut(t){var n=O().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(n=!!t&&!!n[t])||!nt(t)&&(!(Q(n=O())||function(t){var n=O();return!!t&&!n.find((function(n){return n.fieldName===t}))}(t)||function(t){var n=b().optionalFields()[0];return Z(T().filter((function(e){return!(t&&!$(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=O(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||$(n,t))||(!0===e[n.fieldName]||n.isTested()||n.isOmitted())}))}(t))}function it(t,n){function e(t){i[t===V.ERRORS?J.ERROR_COUNT:J.WARN_COUNT]++,u&&(i[t]=(i[t]||[]).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(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function ot(){return(ot=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 st(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 at(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&&!$(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),ot({},i&&((r={})[i]=[],r)))}function ct(t){return lt(V.ERRORS,t)}function ft(t){return lt(V.WARNINGS,t)}function lt(t,n){return t=at(t,O(),{fieldName:n}),n?t[n]:t}function pt(t,n){return t=vt(V.ERRORS,t,n),n?t[n]:t}function dt(t,n){return t=vt(V.WARNINGS,t,n),n?t[n]:t}function vt(t,n,e){return D(n,"get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),at(t,O(),{group:n,fieldName:e})}function ht(t,n){return Nt(V.ERRORS,t,n)}function gt(t,n){return Nt(V.WARNINGS,t,n)}function Nt(t,n,e){return O().some((function(r){return n===r.groupName&&tt(r,t,e)}))}var mt=i(20);function Et(){var t=O(),n={stateRef:b()};return mt([t],y.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=O(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=it(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&ut(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=it(e[r],n)),t}),n),n.valid=ut(),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}(n)}(),{getErrors:y.bind(n,ct),getErrorsByGroup:y.bind(n,pt),getWarnings:y.bind(n,ft),getWarningsByGroup:y.bind(n,dt),hasErrors:y.bind(n,nt),hasErrorsByGroup:y.bind(n,ht),hasWarnings:y.bind(n,et),hasWarningsByGroup:y.bind(n,gt),isValid:y.bind(n,ut),suiteName:t})})))}function yt(t){var n=T();return!Q(n)&&(t?n.some((function(n){return $(n,t)})):Z(n))}var bt=i(20);function St(){var t=O(),n={stateRef:b()};return bt([t],y.bind(n,(function(){return v({},Et(),{done:y.bind(n,Tt)})})))}function Ct(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!Q(e.tests[n].testCount)))}function Rt(t){return!(yt()&&(!t||yt(t)))}function Tt(){function t(){return r(Et())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=St(),Ct(r,n,e)?e:Rt(n)?(t(),e):(At(t,n),e)}function At(t,n){var e=y.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Ot(t){return t.forEach((function(t){return t()}))}function It(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(kt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!yt(n)&&Array.isArray(e[n])&&Ot(e[n]),yt()||t.emit(kt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(kt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!Q(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(kt.ALL_RUNNING_TESTS_FINISHED,(function(){Ot(b().testCallbacks()[0].doneCallbacks)})),t.on(kt.REMOVE_FIELD,(function(t){O().forEach((function(n){$(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(kt.RESET_FIELD,(function(t){O().forEach((function(n){$(n,t)&&n.reset()}))})),t}function _t(){var t=y.useX();return D(t.bus),t.bus}var kt,Lt=kt||(kt={});function Ft(t){return Pt(0,"tests",t)}function Gt(t){return Pt(1,"tests",t)}function Pt(t,n,e){var u=y.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ut(t){for(var n in t)if(!0===t[n])return!0;return!1}function Wt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=_t().emit,i=b(),o=y.bind({stateRef:i},(function(){C(),u(kt.TEST_COMPLETED,t)}));i=y.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=S()[0].prev;if(Q(n))return Dt(t),t;var e=M();if(n=d(n,e)[f(e)],!K(t.key)){n=t.key,(e=y.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=y.useX().isolate.keys.current;return K(r[n])?r[n]=e:j('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Dt(t),t}return!Z(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(y.useX().isolate.type===g.EACH||j("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=y.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Dt(t=c(n,t)),t}function Dt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function xt(t){var n=m.EAGER;if(n=!(y.useX().mode[0]!==n||!nt(t.fieldName)))return t.skip(),Xt(t),q(),t;if(n=Xt(t),y.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,y.useX().skipped)return!0;var e=y.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=y.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ut(u)&&!1!==u[n])}r=y.useX().exclusion;t:{for(c in(s=y.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ut(u)&&!a(e[n])}(t))return n.skip(!!y.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Dt(t),q(),t.isUntested()){n=_t();var e=function(t){return y.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),wt(t)):n.emit(kt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),wt(t));return t}function Ht(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=s(n[1])?n:st([void 0],n,!0);n=u[0],e=u[1],u=u[2],D(r(t),jt("fieldName","string")),D(s(e),jt("Test callback","function"));var i=y.useX();return xt(n=new k(t,e,{message:n,groupName:i.groupName,key:u}))}Lt.TEST_COMPLETED="test_completed",Lt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Lt.REMOVE_FIELD="remove_field",Lt.RESET_FIELD="reset_field",Lt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ft.group=function(t){return Pt(0,"groups",t)},Gt.group=function(t){return Pt(1,"groups",t)};var Kt=v(Ht,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=y.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().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)}))):xt(r[1])}}(Ht)});function jt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var Mt="4.3.0";function qt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],D(s(r),"vest.create: Expected callback to be a function.");var u=It(),i=x();return t={stateRef:H(i,{suiteId:e(),suiteName:t}),bus:u},v(y.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(kt.SUITE_CALLBACK_DONE_RUNNING),St()})),{get:y.bind(t,Et),remove:y.bind(t,(function(t){u.emit(kt.REMOVE_FIELD,t)})),reset:i.reset,resetField:y.bind(t,(function(t){u.emit(kt.RESET_FIELD,t)}))})}function Bt(t,n){D(s(n),"each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Vt(){var t=m.EAGER;y.useX().mode[0]=t}function Yt(t,n){D(r(t),Wt("name must be a string")),D(s(n),Wt("callback must be a function")),B({type:g.GROUP},(function(){y.run({groupName:t},n)}))}function Jt(t){function n(n){var e=y.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(Et))}}var e=y.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function zt(t,n){B({type:g.OMIT_WHEN},(function(){y.run({omitted:!!y.useX().omitted||a(t,a(Et))},(function(){return n()}))}))}function Qt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Zt(t,n){B({type:g.SKIP_WHEN},(function(){y.run({skipped:!!y.useX().skipped||a(t,a(Et))},(function(){return n()}))}))}function $t(){var t=y.useX("warn hook called outside of a running suite.");D(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Mt as VERSION,y as context,qt as create,Bt as each,Vt as eager,Yt as group,Jt as include,zt as omitWhen,Ft as only,Qt as optional,Gt as skip,Zt as skipWhen,Kt as test,$t as warn};
|
|
@@ -9,10 +9,32 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* A safe hasOwnProperty access
|
|
13
13
|
*/
|
|
14
|
-
function
|
|
15
|
-
|
|
14
|
+
function hasOwnProperty(obj, key) {
|
|
15
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function optionalFunctionValue(value) {
|
|
19
|
+
var args = [];
|
|
20
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
21
|
+
args[_i - 1] = arguments[_i];
|
|
22
|
+
}
|
|
23
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function invariant(condition,
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
28
|
+
message) {
|
|
29
|
+
if (condition) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// If message is a string object (rather than string literal)
|
|
33
|
+
// Throw the value directly as a string
|
|
34
|
+
// Alternatively, throw an error with the message
|
|
35
|
+
throw message instanceof String
|
|
36
|
+
? message.valueOf()
|
|
37
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
16
38
|
}
|
|
17
39
|
|
|
18
40
|
function isNumeric(value) {
|
|
@@ -26,35 +48,64 @@
|
|
|
26
48
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
27
49
|
}
|
|
28
50
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
function hasOwnProperty(obj, key) {
|
|
33
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
51
|
+
function isPositive(value) {
|
|
52
|
+
return greaterThan(value, 0);
|
|
34
53
|
}
|
|
35
54
|
|
|
55
|
+
var Severity;
|
|
56
|
+
(function (Severity) {
|
|
57
|
+
Severity["WARNINGS"] = "warnings";
|
|
58
|
+
Severity["ERRORS"] = "errors";
|
|
59
|
+
})(Severity || (Severity = {}));
|
|
60
|
+
var SeverityCount;
|
|
61
|
+
(function (SeverityCount) {
|
|
62
|
+
SeverityCount["ERROR_COUNT"] = "errorCount";
|
|
63
|
+
SeverityCount["WARN_COUNT"] = "warnCount";
|
|
64
|
+
})(SeverityCount || (SeverityCount = {}));
|
|
65
|
+
|
|
66
|
+
// eslint-disable-next-line max-lines-per-function
|
|
36
67
|
function parse(res) {
|
|
68
|
+
invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
37
69
|
var testedStorage = {};
|
|
38
70
|
var selectors = {
|
|
39
|
-
invalid:
|
|
40
|
-
tested:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (hasOwnProperty(testedStorage, fieldName))
|
|
45
|
-
return testedStorage[fieldName];
|
|
46
|
-
testedStorage[fieldName] =
|
|
47
|
-
hasOwnProperty(res.tests, fieldName) &&
|
|
48
|
-
greaterThan(res.tests[fieldName].testCount, 0);
|
|
49
|
-
return selectors.tested(fieldName);
|
|
50
|
-
},
|
|
51
|
-
untested: function (fieldName) {
|
|
52
|
-
return res.testCount === 0 || !selectors.tested(fieldName);
|
|
53
|
-
},
|
|
54
|
-
valid: res.isValid,
|
|
55
|
-
warning: res.hasWarnings
|
|
71
|
+
invalid: hasErrors,
|
|
72
|
+
tested: isTested,
|
|
73
|
+
untested: isUntested,
|
|
74
|
+
valid: isValid,
|
|
75
|
+
warning: hasWarnings
|
|
56
76
|
};
|
|
57
77
|
return selectors;
|
|
78
|
+
function isTested(fieldName) {
|
|
79
|
+
if (!fieldName) {
|
|
80
|
+
return isPositive(res.testCount);
|
|
81
|
+
}
|
|
82
|
+
if (hasOwnProperty(testedStorage, fieldName))
|
|
83
|
+
return testedStorage[fieldName];
|
|
84
|
+
testedStorage[fieldName] =
|
|
85
|
+
hasOwnProperty(res.tests, fieldName) &&
|
|
86
|
+
isPositive(res.tests[fieldName].testCount);
|
|
87
|
+
return selectors.tested(fieldName);
|
|
88
|
+
}
|
|
89
|
+
function isUntested(fieldName) {
|
|
90
|
+
return res.testCount === 0 || !selectors.tested(fieldName);
|
|
91
|
+
}
|
|
92
|
+
function isValid(fieldName) {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
return Boolean(fieldName ? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b.valid : res.valid);
|
|
95
|
+
}
|
|
96
|
+
function hasWarnings(fieldName) {
|
|
97
|
+
return hasFailures(res, SeverityCount.WARN_COUNT, fieldName);
|
|
98
|
+
}
|
|
99
|
+
function hasErrors(fieldName) {
|
|
100
|
+
return hasFailures(res, SeverityCount.ERROR_COUNT, fieldName);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function hasFailures(res, countKey, fieldName) {
|
|
104
|
+
var _a, _b, _c;
|
|
105
|
+
var failureCount = fieldName
|
|
106
|
+
? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b[countKey]
|
|
107
|
+
: (_c = res[countKey]) !== null && _c !== void 0 ? _c : 0;
|
|
108
|
+
return isPositive(failureCount);
|
|
58
109
|
}
|
|
59
110
|
|
|
60
111
|
/**
|
|
@@ -62,9 +113,6 @@
|
|
|
62
113
|
*/
|
|
63
114
|
function classnames(res, classes) {
|
|
64
115
|
if (classes === void 0) { classes = {}; }
|
|
65
|
-
if (!res || !isFunction(res.hasErrors)) {
|
|
66
|
-
throwError("classnames: Expected first argument to be Vest's result object.");
|
|
67
|
-
}
|
|
68
116
|
var selectors = parse(res);
|
|
69
117
|
return function (key) {
|
|
70
118
|
var classesArray = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(t,
|
|
1
|
+
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=n()}(this,(function(){function t(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function n(n,e){return t(n)&&t(e)&&Number(n)>Number(e)}function e(t){!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return"function"==typeof t?t.apply(void 0,n):t}(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var e={},o={invalid:function(n){return r(t,u.ERROR_COUNT,n)},tested:function(r){return r?Object.prototype.hasOwnProperty.call(e,r)?e[r]:(e[r]=Object.prototype.hasOwnProperty.call(t.tests,r)&&n(t.tests[r].testCount,0),o.tested(r)):n(t.testCount,0)},untested:function(n){return 0===t.testCount||!o.tested(n)},valid:function(n){var e,r;return!!(n?null!==(r=null===(e=t.tests)||void 0===e?void 0:e[n])&&void 0!==r&&r.valid:t.valid)},warning:function(n){return r(t,u.WARN_COUNT,n)}};return o}function r(t,e,r){var o,i,u;return n(t=r?null===(i=null===(o=t.tests)||void 0===o?void 0:o[r])||void 0===i?void 0:i[e]:null!==(u=t[e])&&void 0!==u?u:0,0)}var o,i,u;return(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),function(t,n){void 0===n&&(n={});var r=e(t);return function(t){var e,o=[];for(e in n){var i=e;"function"==typeof r[i]&&r[i](t)&&o.push(n[i])}return o.join(" ")}}}));
|
|
@@ -4,21 +4,6 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory());
|
|
5
5
|
}(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
-
function mapFirst(array, callback) {
|
|
8
|
-
var broke = false;
|
|
9
|
-
var breakoutValue = null;
|
|
10
|
-
for (var i = 0; i < array.length; i++) {
|
|
11
|
-
callback(array[i], breakout, i);
|
|
12
|
-
if (broke) {
|
|
13
|
-
return breakoutValue;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
function breakout(value) {
|
|
17
|
-
broke = true;
|
|
18
|
-
breakoutValue = value;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
7
|
function isFunction(value) {
|
|
23
8
|
return typeof value === 'function';
|
|
24
9
|
}
|
|
@@ -31,18 +16,37 @@
|
|
|
31
16
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
32
17
|
}
|
|
33
18
|
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
function invariant(condition,
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
21
|
+
message) {
|
|
22
|
+
if (condition) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// If message is a string object (rather than string literal)
|
|
26
|
+
// Throw the value directly as a string
|
|
27
|
+
// Alternatively, throw an error with the message
|
|
28
|
+
throw message instanceof String
|
|
29
|
+
? message.valueOf()
|
|
30
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
37
31
|
}
|
|
38
32
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
function mapFirst(array, callback) {
|
|
34
|
+
var broke = false;
|
|
35
|
+
var breakoutValue = null;
|
|
36
|
+
for (var i = 0; i < array.length; i++) {
|
|
37
|
+
callback(array[i], breakout, i);
|
|
38
|
+
if (broke) {
|
|
39
|
+
return breakoutValue;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function breakout(value) {
|
|
43
|
+
broke = true;
|
|
44
|
+
breakoutValue = value;
|
|
45
|
+
}
|
|
44
46
|
}
|
|
45
47
|
|
|
48
|
+
var assign = Object.assign;
|
|
49
|
+
|
|
46
50
|
function bindNot(fn) {
|
|
47
51
|
return function () {
|
|
48
52
|
var args = [];
|
|
@@ -53,42 +57,6 @@
|
|
|
53
57
|
};
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
/**
|
|
57
|
-
* A safe hasOwnProperty access
|
|
58
|
-
*/
|
|
59
|
-
function hasOwnProperty(obj, key) {
|
|
60
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function isNumber(value) {
|
|
64
|
-
return Boolean(typeof value === 'number');
|
|
65
|
-
}
|
|
66
|
-
var isNotNumber = bindNot(isNumber);
|
|
67
|
-
|
|
68
|
-
function lengthEquals(value, arg1) {
|
|
69
|
-
return value.length === Number(arg1);
|
|
70
|
-
}
|
|
71
|
-
var lengthNotEquals = bindNot(lengthEquals);
|
|
72
|
-
|
|
73
|
-
function isEmpty(value) {
|
|
74
|
-
if (!value) {
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
else if (isNumber(value)) {
|
|
78
|
-
return value === 0;
|
|
79
|
-
}
|
|
80
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
81
|
-
return lengthEquals(value, 0);
|
|
82
|
-
}
|
|
83
|
-
else if (typeof value === 'object') {
|
|
84
|
-
return lengthEquals(Object.keys(value), 0);
|
|
85
|
-
}
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
var isNotEmpty = bindNot(isEmpty);
|
|
89
|
-
|
|
90
|
-
var assign = Object.assign;
|
|
91
|
-
|
|
92
60
|
function isNull(value) {
|
|
93
61
|
return value === null;
|
|
94
62
|
}
|
|
@@ -130,8 +98,13 @@
|
|
|
130
98
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
131
99
|
}
|
|
132
100
|
|
|
101
|
+
function numberEquals(value, eq) {
|
|
102
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
103
|
+
}
|
|
104
|
+
var numberNotEquals = bindNot(numberEquals);
|
|
105
|
+
|
|
133
106
|
function greaterThanOrEquals(value, gte) {
|
|
134
|
-
return
|
|
107
|
+
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
135
108
|
}
|
|
136
109
|
|
|
137
110
|
// The module is named "isArrayValue" since it
|
|
@@ -154,8 +127,12 @@
|
|
|
154
127
|
}
|
|
155
128
|
var notInside = bindNot(inside);
|
|
156
129
|
|
|
130
|
+
function lessThan(value, lt) {
|
|
131
|
+
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
132
|
+
}
|
|
133
|
+
|
|
157
134
|
function lessThanOrEquals(value, lte) {
|
|
158
|
-
return
|
|
135
|
+
return numberEquals(value, lte) || lessThan(value, lte);
|
|
159
136
|
}
|
|
160
137
|
|
|
161
138
|
function isBetween(value, min, max) {
|
|
@@ -174,6 +151,40 @@
|
|
|
174
151
|
|
|
175
152
|
var isNotBoolean = bindNot(isBoolean);
|
|
176
153
|
|
|
154
|
+
/**
|
|
155
|
+
* A safe hasOwnProperty access
|
|
156
|
+
*/
|
|
157
|
+
function hasOwnProperty(obj, key) {
|
|
158
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
function isNumber(value) {
|
|
162
|
+
return Boolean(typeof value === 'number');
|
|
163
|
+
}
|
|
164
|
+
var isNotNumber = bindNot(isNumber);
|
|
165
|
+
|
|
166
|
+
function lengthEquals(value, arg1) {
|
|
167
|
+
return value.length === Number(arg1);
|
|
168
|
+
}
|
|
169
|
+
var lengthNotEquals = bindNot(lengthEquals);
|
|
170
|
+
|
|
171
|
+
function isEmpty(value) {
|
|
172
|
+
if (!value) {
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
else if (isNumber(value)) {
|
|
176
|
+
return value === 0;
|
|
177
|
+
}
|
|
178
|
+
else if (hasOwnProperty(value, 'length')) {
|
|
179
|
+
return lengthEquals(value, 0);
|
|
180
|
+
}
|
|
181
|
+
else if (typeof value === 'object') {
|
|
182
|
+
return lengthEquals(Object.keys(value), 0);
|
|
183
|
+
}
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
var isNotEmpty = bindNot(isEmpty);
|
|
187
|
+
|
|
177
188
|
/**
|
|
178
189
|
* Validates that a given value is an even number
|
|
179
190
|
*/
|
|
@@ -195,12 +206,8 @@
|
|
|
195
206
|
var isNotNaN = bindNot(isNaN$1);
|
|
196
207
|
|
|
197
208
|
function isNegative(value) {
|
|
198
|
-
|
|
199
|
-
return Number(value) < 0;
|
|
200
|
-
}
|
|
201
|
-
return false;
|
|
209
|
+
return lessThan(value, 0);
|
|
202
210
|
}
|
|
203
|
-
var isPositive = bindNot(isNegative);
|
|
204
211
|
|
|
205
212
|
/**
|
|
206
213
|
* Validates that a given value is an odd number
|
|
@@ -212,6 +219,10 @@
|
|
|
212
219
|
return false;
|
|
213
220
|
};
|
|
214
221
|
|
|
222
|
+
function isPositive(value) {
|
|
223
|
+
return greaterThan(value, 0);
|
|
224
|
+
}
|
|
225
|
+
|
|
215
226
|
var isNotString = bindNot(isStringValue);
|
|
216
227
|
|
|
217
228
|
function isTruthy(value) {
|
|
@@ -232,10 +243,6 @@
|
|
|
232
243
|
}
|
|
233
244
|
var isNotValueOf = bindNot(isValueOf);
|
|
234
245
|
|
|
235
|
-
function lessThan(value, lt) {
|
|
236
|
-
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
246
|
function longerThan(value, arg1) {
|
|
240
247
|
return value.length > Number(arg1);
|
|
241
248
|
}
|
|
@@ -257,11 +264,6 @@
|
|
|
257
264
|
}
|
|
258
265
|
var notMatches = bindNot(matches);
|
|
259
266
|
|
|
260
|
-
function numberEquals(value, eq) {
|
|
261
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
262
|
-
}
|
|
263
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
264
|
-
|
|
265
267
|
function condition(value, callback) {
|
|
266
268
|
try {
|
|
267
269
|
return callback(value);
|
|
@@ -365,6 +367,11 @@
|
|
|
365
367
|
}
|
|
366
368
|
}
|
|
367
369
|
|
|
370
|
+
function defaultTo(callback, defaultValue) {
|
|
371
|
+
var _a;
|
|
372
|
+
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
373
|
+
}
|
|
374
|
+
|
|
368
375
|
// eslint-disable-next-line max-lines-per-function
|
|
369
376
|
function createContext(init) {
|
|
370
377
|
var storage = { ancestry: [] };
|
|
@@ -375,8 +382,8 @@
|
|
|
375
382
|
useX: useX
|
|
376
383
|
};
|
|
377
384
|
function useX(errorMessage) {
|
|
378
|
-
|
|
379
|
-
return
|
|
385
|
+
invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
386
|
+
return storage.ctx;
|
|
380
387
|
}
|
|
381
388
|
function run(ctxRef, fn) {
|
|
382
389
|
var _a;
|
|
@@ -516,10 +523,7 @@
|
|
|
516
523
|
}
|
|
517
524
|
function validateResult(result) {
|
|
518
525
|
// if result is boolean, or if result.pass is boolean
|
|
519
|
-
|
|
520
|
-
return;
|
|
521
|
-
}
|
|
522
|
-
throwError('Incorrect return value for rule: ' + JSON.stringify(result));
|
|
526
|
+
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
523
527
|
}
|
|
524
528
|
|
|
525
529
|
function enforceEager(value) {
|
|
@@ -548,15 +552,9 @@
|
|
|
548
552
|
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
549
553
|
ruleName,
|
|
550
554
|
value], args, false));
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
}
|
|
555
|
-
else {
|
|
556
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
557
|
-
throw transformedResult.message;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
555
|
+
invariant(transformedResult.pass, isEmpty(transformedResult.message)
|
|
556
|
+
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
557
|
+
: new String(transformedResult.message));
|
|
560
558
|
return target;
|
|
561
559
|
};
|
|
562
560
|
}
|
|
@@ -690,15 +688,7 @@
|
|
|
690
688
|
}
|
|
691
689
|
return Object.assign(function (value) {
|
|
692
690
|
var res = run(value);
|
|
693
|
-
|
|
694
|
-
if (isEmpty(res.message)) {
|
|
695
|
-
throwError();
|
|
696
|
-
}
|
|
697
|
-
else {
|
|
698
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
699
|
-
throw res.message;
|
|
700
|
-
}
|
|
701
|
-
}
|
|
691
|
+
invariant(res.pass, new String(res.message));
|
|
702
692
|
}, {
|
|
703
693
|
run: run,
|
|
704
694
|
test: function (value) { return run(value).pass; }
|
|
@@ -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
|
|
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){return"function"==typeof n}function t(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return n(t)?t.apply(void 0,r):t}function r(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}function e(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 u(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function i(n){return null===n}function o(n){return void 0===n}function s(n){return null===n||o(n)}function f(n){return String(n)===n}function a(n,t){return f(n)&&f(t)&&n.endsWith(t)}function c(n,t){return n===t}function l(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function p(n,t){return l(n)&&l(t)&&Number(n)>Number(t)}function N(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function g(n,t){return N(n,t)||p(n,t)}function h(n){return!!Array.isArray(n)}function v(n,t){return!!(h(t)||f(t)&&f(n))&&-1!==t.indexOf(n)}function y(n,t){return l(n)&&l(t)&&Number(n)<Number(t)}function d(n,t){return N(n,t)||y(n,t)}function m(n,t,r){return g(n,t)&&d(n,r)}function b(n){return s(n)||f(n)&&!n.trim()}function O(n){return!!n===n}function x(n){return"number"==typeof n}function E(n,t){return n.length===Number(t)}function w(n){if(n){if(x(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return E(n,0);if("object"==typeof n)return E(Object.keys(n),0)}return!0}function T(n,t){return n in t}function q(n){return Number.isNaN(n)}function S(n){return!!n}function j(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function A(n,t){return t instanceof RegExp?t.test(n):!!f(t)&&new RegExp(t).test(n)}function B(n,t){return f(n)&&f(t)&&n.startsWith(t)}function P(t){for(var r in cn){var e=cn[r];n(e)&&t(r,e)}}function W(n,r){var e;return null!==(e=t(n))&&void 0!==e?e:r}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 n(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function K(n,e,u){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return r(O(n)||n&&O(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),O(n)?J(n):J(n.pass,t.apply(void 0,F([n.message,e,u],i,!1)))}function R(n){function t(t,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return r((o=K.apply(void 0,F([ln.run({value:n},(function(){return e.apply(void 0,F([n],i,!1))})),u,n],i,!1))).pass,w(o.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):new String(o.message)),t}}var e={};if(!I())return P((function(n,r){e[n]=t(e,r,n)})),e;var u=new Proxy(e,{get:function(n,r){if(n=cn[r])return t(u,n,r)}});return u}function U(n){var r,u=[];return function n(i){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var f=cn[i];u.push((function(n){return K.apply(void 0,F([f.apply(void 0,F([n],o,!1)),i,n],o,!1))}));var a={run:function(n){return W(e(u,(function(e,u){var i,o=ln.run({value:n},(function(){return e(n)}));o.pass||u(J(!!o.pass,null!==(i=t(r,n,o.message))&&void 0!==i?i:o.message))})),J(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return I()?a=new Proxy(a,{get:function(t,r){return cn[r]?n(r):t[r]}}):(P((function(t){a[t]=n(t)})),a)}}(n)}var V,X=Object.assign,z=u(i),C=u(o),M=u(s),D=u(a),G=u(c),H=u(l),L=u(N),Q=u(h),Y=u(v),Z=u(m),$=u(b),_=u(O),nn=u(x),tn=u(E),rn=u(w),en=u(T),un=u(q),on=u(f),sn=u(S),fn=u(j),an=u(A),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:D,doesNotStartWith:u(B),endsWith:a,equals:c,greaterThan:p,greaterThanOrEquals:g,gt:p,gte:g,inside:v,isArray:h,isBetween:m,isBlank:b,isBoolean:O,isEmpty:w,isEven:function(n){return!!l(n)&&0==n%2},isFalsy:sn,isKeyOf:T,isNaN:q,isNegative:function(n){return y(n,0)},isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:_,isNotEmpty:rn,isNotKeyOf:en,isNotNaN:un,isNotNull:z,isNotNullish:M,isNotNumber:nn,isNotNumeric:H,isNotString:on,isNotUndefined:C,isNotValueOf:fn,isNull:i,isNullish:s,isNumber:x,isNumeric:l,isOdd:function(n){return!!l(n)&&0!=n%2},isPositive:function(n){return p(n,0)},isString:f,isTruthy:S,isUndefined:o,isValueOf:j,lengthEquals:E,lengthNotEquals:tn,lessThan:y,lessThanOrEquals:d,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:y,lte:d,matches:A,notEquals:G,notInside:Y,notMatches:an,numberEquals:N,numberNotEquals:L,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:B},ln=function(n){function e(r,e){var o,s,f=u();return r=X({},f||{},null!==(o=t(n,r,f))&&void 0!==o?o:r),o=i.ctx=Object.freeze(r),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(s=i.ancestry[0])&&void 0!==s?s:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,t){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return e(n,(function(){return t.apply(void 0,r)}))}},run:e,use:u,useX:function(n){return r(i.ctx,W(n,"Context was used after it was closed")),i.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?X(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:X(r,{parent:k})}));return V={context:function(){return ln.useX()},extend:function(n){X(cn,n)}},I()?new Proxy(X(R,V),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}}):(P((function(n){V[n]=U(n)})),X(R,V)),function(){function n(n){return ln.run({value:n},(function(){return W(e(t,(function(t,r){try{var e=t.run(n)}catch(n){e=J(!1)}e.pass||r(e)})),J(!0))}))}for(var t=[],u=0;u<arguments.length;u++)t[u]=arguments[u];return Object.assign((function(t){r((t=n(t)).pass,new String(t.message))}),{run:n,test:function(t){return n(t).pass}})}}));
|