vest 4.3.1 → 4.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/classnames.development.js +21 -18
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/enforce/compounds.development.js +3 -3
  4. package/dist/cjs/enforce/compounds.production.js +1 -1
  5. package/dist/cjs/parser.development.js +21 -18
  6. package/dist/cjs/parser.production.js +1 -1
  7. package/dist/cjs/vest.development.js +166 -170
  8. package/dist/cjs/vest.production.js +1 -1
  9. package/dist/es/classnames.development.js +21 -18
  10. package/dist/es/classnames.production.js +1 -1
  11. package/dist/es/enforce/compounds.development.js +3 -3
  12. package/dist/es/enforce/compounds.production.js +1 -1
  13. package/dist/es/parser.development.js +21 -18
  14. package/dist/es/parser.production.js +1 -1
  15. package/dist/es/vest.development.js +166 -170
  16. package/dist/es/vest.production.js +1 -1
  17. package/dist/umd/classnames.development.js +21 -18
  18. package/dist/umd/classnames.production.js +1 -1
  19. package/dist/umd/enforce/compose.development.js +12 -8
  20. package/dist/umd/enforce/compose.production.js +1 -1
  21. package/dist/umd/enforce/compounds.development.js +15 -11
  22. package/dist/umd/enforce/compounds.production.js +1 -1
  23. package/dist/umd/enforce/schema.development.js +12 -8
  24. package/dist/umd/enforce/schema.production.js +1 -1
  25. package/dist/umd/parser.development.js +21 -18
  26. package/dist/umd/parser.production.js +1 -1
  27. package/dist/umd/vest.development.js +171 -175
  28. package/dist/umd/vest.production.js +1 -1
  29. package/package.json +3 -3
  30. package/types/classnames.d.ts +9 -5
  31. package/types/parser.d.ts +9 -5
  32. package/types/promisify.d.ts +9 -5
  33. package/types/vest.d.ts +14 -7
@@ -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){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function o(t,n){return i(t)&&i(n)&&Number(t)===Number(n)}function s(t){function n(e,u){var o=n.get(e);return o?o[1]:(u=u(),r.unshift([e.concat(),u]),e=r.length,o=t,i(e)&&i(o)&&Number(e)>Number(o)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return o(t.length,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 a=u((function(t){return null===t}));function c(t){return"function"==typeof t}function f(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return c(t)?t.apply(void 0,n):t}function l(t,n){var e;return null!==(e=f(t))&&void 0!==e?e:n}function p(t){return(t=[].concat(t))[t.length-1]}function d(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(d(u,n)):(u=n(u),a(u)&&e.push(u))}return e}function v(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(v(n)):[].concat(t).concat(n)}),[])}function h(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=l(t[r],[]),t=t[r]}return t}var g=Object.assign;function m(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return p(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,p(n)},removeLevel:function(){n.pop()},reset:t}}var N,E=N||(N={});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 y,b=y||(y={});b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var S=t((function(t,n){return n?null:g({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:N.DEFAULT,keys:{current:{},prev:{}}},mode:[y.ALL],testCursor:m()},t)}));function C(){return S.useX().stateRef}function R(){return C().testObjects()}function T(){(0,R()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function A(t){(0,R()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function I(){return v(d(R()[0].current,(function(t){return t.isPending()?t:null})))}var O=s();function _(){var t=R()[0].current;return O([t],(function(){return v(t)}))}var k,L=k||(k={});L.Error="error",L.Warning="warning";var F=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=X,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===k.Warning},t.prototype.setPending=function(){this.setStatus(w)},t.prototype.fail=function(){this.setStatus(this.warns()?U:P)},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(G)},t.prototype.cancel=function(){this.setStatus(D),T()},t.prototype.reset=function(){this.status=X,T()},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(X)},t.prototype.isFailing=function(){return this.statusEquals(P)},t.prototype.isCanceled=function(){return this.statusEquals(D)},t.prototype.isSkipped=function(){return this.statusEquals(G)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(U)},t.prototype.statusEquals=function(t){return this.status===t},t}(),X="UNTESTED",G="SKIPPED",P="FAILED",U="WARNING",W="PASSING",w="PENDING",D="CANCELED",x="OMITTED";function H(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?f(n):n)}function K(t){function n(t,n,u){return r.references.push(),e(t,f(n,u)),function(){return[r.references[t],function(n){return e(t,f(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,c(n=u[n][1])&&n(e,i),c(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 M(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 q(t){setTimeout((function(){throw Error(t)}),0)}function B(){return S.useX().testCursor.getCursor()}function V(){return S.useX().testCursor.next()}function Y(t,n){if(t=void 0===(t=t.type)?N.DEFAULT:t,c(n)){var e={current:{},prev:{}},r=B();return S.run({isolate:{type:t,keys:e}},(function(){S.useX().testCursor.addLevel(),e.prev=function(){var t=R()[0].prev;return[].concat(h(t,B())).reduce((function(t,n){return n instanceof F&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),A((function(t){return h(t,r)[p(r)]=[],t}));var t=n();return S.useX().testCursor.removeLevel(),V(),t}))}}var J,z=J||(J={});z.WARNINGS="warnings",z.ERRORS="errors";var Q,Z=Q||(Q={});function $(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return o(t.length,0);if("object"==typeof t)return o((t=Object.keys(t)).length,0)}return!0}Z.ERROR_COUNT="errorCount",Z.WARN_COUNT="warnCount";var tt=u($);function nt(t,n){return!(!n||t.fieldName!==n)}function et(t,n,e){return(e=!t.hasFailures()||e&&!nt(t,e))||(t=t.warns(),e=n===J.WARNINGS!=!!t),!e}function rt(t){return it(J.ERRORS,t)}function ut(t){return it(J.WARNINGS,t)}function it(t,n){return _().some((function(e){return et(e,t,n)}))}function ot(t){var n,e,r=S.useX().summary;return H(r),!!(t?null!==(e=null===(n=r.tests)||void 0===n?void 0:n[t])&&void 0!==e&&e.valid:r.valid)}function st(t){var n=_().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(n=!!t&&!!n[t])||!rt(t)&&(!($(n=_())||function(t){var n=_();return!!t&&!n.find((function(n){return n.fieldName===t}))}(t)||function(t){var n=C().optionalFields()[0];return tt(I().filter((function(e){return!(t&&!nt(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=_(),e=C().optionalFields()[0];return n.every((function(n){return!(!t||nt(n,t))||(!0===e[n.fieldName]||n.isTested()||n.isOmitted())}))}(t))}function at(t,n){function e(t){i[t===J.ERRORS?Q.ERROR_COUNT:Q.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(J.ERRORS):n.isWarning()&&e(J.WARNINGS)),i}function ct(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function ft(t,n){var e,r,u={};for(r in t)u[r]=(null===(e=t[r])||void 0===e?void 0:e[n])||[];return u}function lt(t){return dt(J.ERRORS,t)}function pt(t){return dt(J.WARNINGS,t)}function dt(t,n){var e=S.useX().summary;return H(e),e=e.tests,n?ct(e,t,n):ft(e,t)}function vt(t,n){return gt(t,J.ERRORS,n)}function ht(t,n){return gt(t,J.WARNINGS,n)}function gt(t,n,e){var r=S.useX().summary;return H(r),t=r.groups[t],e?ct(t,n,e):ft(t,n)}function mt(t,n){return Et(J.ERRORS,t,n)}function Nt(t,n){return Et(J.WARNINGS,t,n)}function Et(t,n,e){return _().some((function(r){return n===r.groupName&&et(r,t,e)}))}var yt=s(1);function bt(){var t=_(),n={stateRef:C()};return yt([t],S.bind(n,(function(){var t=function(){var t=_(),n=g({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=at(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&st(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=at(e[r],n)),t}),n),n.valid=st(),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)}(),e=C().suiteName()[0],r=g({summary:t},n);return g(t,{getErrors:S.bind(r,lt),getErrorsByGroup:S.bind(r,vt),getWarnings:S.bind(r,pt),getWarningsByGroup:S.bind(r,ht),hasErrors:S.bind(r,rt),hasErrorsByGroup:S.bind(r,mt),hasWarnings:S.bind(r,ut),hasWarningsByGroup:S.bind(r,Nt),isValid:S.bind(r,ot),suiteName:e})})))}function St(t){var n=I();return!$(n)&&(t?n.some((function(n){return nt(n,t)})):tt(n))}var Ct=s(20);function Rt(){var t=_(),n={stateRef:C()};return Ct([t],S.bind(n,(function(){return g({},bt(),{done:S.bind(n,It)})})))}function Tt(t,n,e){return!(c(t)&&(!n||e.tests[n]&&!$(e.tests[n].testCount)))}function At(t){return!(St()&&(!t||St(t)))}function It(){function t(){return r(bt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=Rt(),Tt(r,n,e)?e:At(n)?(t(),e):(Ot(t,n),e)}function Ot(t,n){(0,C().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function _t(t){return t.forEach((function(t){return t()}))}function kt(){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(Ft.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=C().testCallbacks()[0].fieldCallbacks;n&&!St(n)&&Array.isArray(e[n])&&_t(e[n]),St()||t.emit(Ft.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Ft.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=C().optionalFields()[0];if(!$(t)){var n={};A((function(e){return d(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))n[e.fieldName]&&e.omit();else{var r=t[e.fieldName];c(r)&&(n[e.fieldName]=r(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Ft.ALL_RUNNING_TESTS_FINISHED,(function(){_t(C().testCallbacks()[0].doneCallbacks)})),t.on(Ft.REMOVE_FIELD,(function(t){_().forEach((function(n){nt(n,t)&&(n.cancel(),function(t){A((function(n){return d(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Ft.RESET_FIELD,(function(t){_().forEach((function(n){nt(n,t)&&n.reset()}))})),t}function Lt(){var t=S.useX();return H(t.bus),t.bus}var Ft,Xt=Ft||(Ft={});function Gt(t){return Ut(0,"tests",t)}function Pt(t){return Ut(1,"tests",t)}function Ut(t,n,e){var u=S.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Wt(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 Dt(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 xt(t){var n=t.asyncTest,e=t.message;if(n&&c(n.then)){var u=Lt().emit,i=C(),o=S.bind({stateRef:i},(function(){T(),u(Ft.TEST_COMPLETED,t)}));i=S.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 Ht(t){var n=R()[0].prev;if($(n))return Kt(t),t;var e=B();if(n=h(n,e)[p(e)],!j(t.key)){n=t.key,(e=S.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=S.useX().isolate.keys.current;return j(r[n])?r[n]=e:q('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Kt(t),t}return!tt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(S.useX().isolate.type===N.EACH||q("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=R(),n=t[1],e=t[0].prev;t=h(e,B());var r=S.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Kt(t=l(n,t)),t}function Kt(t){var n=B();A((function(e){return h(e,n)[p(n)]=t,e}))}function Mt(t){var n=y.EAGER;if(n=!(S.useX().mode[0]!==n||!rt(t.fieldName)))return t.skip(),Ht(t),V(),t;if(n=Ht(t),S.useX().omitted)return n.omit(),V(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,S.useX().skipped)return!0;var e=S.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=S.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||!Wt(u)&&!1!==u[n])}r=S.useX().exclusion;t:{for(a in(s=S.useX().exclusion).groups)if(s.groups[a]){var a=!0;break t}a=!1}return!(!a||t&&t in r.groups&&r.groups[t])||!i&&!!Wt(u)&&!f(e[n])}(t))return n.skip(!!S.useX().skipped),V(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Kt(t),V(),t.isUntested()){n=Lt();var e=function(t){return S.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&&c(e.then)?(t.asyncTest=e,t.setPending(),xt(t)):n.emit(Ft.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)&&c(n.then)&&(t.setPending(),xt(t));return t}function jt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=c(n[1])?n:Dt([void 0],n,!0);n=u[0],e=u[1],u=u[2],H(r(t),Bt("fieldName","string")),H(c(e),Bt("Test callback","function"));var i=S.useX();return Mt(n=new F(t,e,{message:n,groupName:i.groupName,key:u}))}Xt.TEST_COMPLETED="test_completed",Xt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Xt.REMOVE_FIELD="remove_field",Xt.RESET_FIELD="reset_field",Xt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Gt.group=function(t){return Ut(0,"groups",t)},Pt.group=function(t){return Ut(1,"groups",t)};var qt=g(jt,{memo:function(t){var n=s(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=S.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[C().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)}))):Mt(r[1])}}(jt)});function Bt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var Vt="4.3.1";function Yt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],H(c(r),"vest.create: Expected callback to be a function.");var u=kt(),i=K();return t={stateRef:M(i,{suiteId:e(),suiteName:t}),bus:u},g(S.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),Y({type:N.SUITE},(function(){r.apply(void 0,t)})),u.emit(Ft.SUITE_CALLBACK_DONE_RUNNING),Rt()})),{get:S.bind(t,bt),remove:S.bind(t,(function(t){u.emit(Ft.REMOVE_FIELD,t)})),reset:i.reset,resetField:S.bind(t,(function(t){u.emit(Ft.RESET_FIELD,t)}))})}function Jt(t,n){H(c(n),"each callback must be a function"),Y({type:N.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function zt(){var t=y.EAGER;S.useX().mode[0]=t}function Qt(t,n){H(r(t),wt("name must be a string")),H(c(n),wt("callback must be a function")),Y({type:N.GROUP},(function(){S.run({groupName:t},n)}))}function Zt(t){function n(n){var e=S.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?l(u.tests[t],!0):r(n)?!!u.tests[n]:f(n,f(bt))}}var e=S.useX();return t?(e.inclusion[t]=l(e.exclusion.tests[t],!0),{when:n}):{when:n}}function $t(t,n){Y({type:N.OMIT_WHEN},(function(){S.run({omitted:!!S.useX().omitted||f(t,f(bt))},(function(){return n()}))}))}function tn(t){(0,C().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 nn(t,n){Y({type:N.SKIP_WHEN},(function(){S.run({skipped:!!S.useX().skipped||f(t,f(bt))},(function(){return n()}))}))}function en(){var t=S.useX("warn hook called outside of a running suite.");H(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Vt as VERSION,S as context,Yt as create,Jt as each,zt as eager,Qt as group,Zt as include,$t as omitWhen,Gt as only,tn as optional,Pt as skip,nn as skipWhen,qt as test,en 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)}}var i=Object.assign;function o(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function s(t,n){return o(t)&&o(n)&&Number(t)===Number(n)}function a(t,n){return o(t)&&o(n)&&Number(t)>Number(n)}function c(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),a(r.length,t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return s(t.length,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 f=u((function(t){return null===t}));function l(t){return"function"==typeof t}function p(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return l(t)?t.apply(void 0,n):t}function d(t,n){var e;return null!==(e=p(t))&&void 0!==e?e:n}function v(t){return(t=[].concat(t))[t.length-1]}function h(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(h(u,n)):(u=n(u),f(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 g(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=d(t[r],[]),t=t[r]}return t}function N(){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}}var m,y=m||(m={});y[y.DEFAULT=0]="DEFAULT",y[y.SUITE=1]="SUITE",y[y.EACH=2]="EACH",y[y.SKIP_WHEN=3]="SKIP_WHEN",y[y.OMIT_WHEN=4]="OMIT_WHEN",y[y.GROUP=5]="GROUP";var R,b=R||(R={});b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var C=t((function(t,n){return n?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:m.DEFAULT,keys:{current:{},prev:{}}},mode:[R.ALL],testCursor:N()},t)}));function S(){return C.useX().stateRef}function O(t){return S().optionalFields()[0][t]}function T(t,n){(0,S().optionalFields()[1])((function(e){var r;return i(e,((r={})[t]=p(n,e[t]),r))}))}function A(t){var n;return null===(n=O(t))||void 0===n?void 0:n[0]}function _(){I((function(t){return t}))}function I(t){(0,S().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function k(){return F().filter((function(t){return t.isPending()}))}var L=c();function F(){var t=S().testObjects()[0].current;return L([t],(function(){return E(t)}))}var U,W=U||(U={});W.Error="error",W.Warning="warning";var P=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=U.Error,this.status=G,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!==K||(this.status=t)},t.prototype.warns=function(){return this.severity===U.Warning},t.prototype.setPending=function(){this.setStatus(j)},t.prototype.fail=function(){this.setStatus(this.warns()?D:w)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=U.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(H),_()},t.prototype.reset=function(){this.status=G,_()},t.prototype.omit=function(){this.setStatus(K)},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(j)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(K)},t.prototype.isUntested=function(){return this.statusEquals(G)},t.prototype.isFailing=function(){return this.statusEquals(w)},t.prototype.isCanceled=function(){return this.statusEquals(H)},t.prototype.isSkipped=function(){return this.statusEquals(X)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(D)},t.prototype.statusEquals=function(t){return this.status===t},t}(),G="UNTESTED",X="SKIPPED",w="FAILED",D="WARNING",x="PASSING",j="PENDING",H="CANCELED",K="OMITTED";function M(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?p(n):n)}function q(t){function n(t,n,u){return r.references.push(),e(t,p(n,u)),function(){return[r.references[t],function(n){return e(t,p(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,l(n=u[n][1])&&n(e,i),l(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 B(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 null==t}function Y(t){setTimeout((function(){throw Error(t)}),0)}function J(){return C.useX().testCursor.getCursor()}function z(){return C.useX().testCursor.next()}function Q(t,n){t=void 0===(t=t.type)?m.DEFAULT:t,M(l(n));var e={current:{},prev:{}},r=J();return C.run({isolate:{type:t,keys:e}},(function(){C.useX().testCursor.addLevel(),e.prev=function(){var t=S().testObjects()[0].prev;return[].concat(g(t,J())).reduce((function(t,n){return n instanceof P&&!V(n.key)?(t[n.key]=n,t):t}),{})}(),I((function(t){return g(t,r)[v(r)]=[],t}));var t=n();return C.useX().testCursor.removeLevel(),z(),t}))}var Z,$=Z||(Z={});$.WARNINGS="warnings",$.ERRORS="errors";var tt,nt=tt||(tt={});function et(t){return!t||("number"==typeof t?0===t:Object.prototype.hasOwnProperty.call(t,"length")?s(t.length,0):"object"==typeof t&&s((t=Object.keys(t)).length,0))}nt.ERROR_COUNT="errorCount",nt.WARN_COUNT="warnCount";var rt=u(et);function ut(t,n){return!(!n||t.fieldName!==n)}function it(t,n){return F().some((function(e){return e.hasFailures()?n&&!ut(e,n)?e=!1:(e=e.warns(),e=t===Z.WARNINGS==!!e):e=!1,e}))}function ot(t){if(t)var n,e=!0===(null===(n=O(t))||void 0===n?void 0:n[1]);else e=!1;return!!e||!it(Z.ERRORS,t)&&(!et(e=F())&&!function(t){return rt(k().filter((function(n){return!(t&&!ut(n,t))&&!0!==A(n.fieldName)})))}(t)&&function(t){return F().every((function(n){return!(!t||ut(n,t))||(!0===A(n.fieldName)||n.isTested()||n.isOmitted())}))}(t))}function st(){var t=C.useX().summary;return M(t),t}function at(t,n){function e(t){o[t===Z.ERRORS?tt.ERROR_COUNT:tt.WARN_COUNT]++,u&&(o[t]=(o[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(Z.ERRORS):n.isWarning()&&e(Z.WARNINGS)),o}function ct(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function ft(t,n){var e,r={};for(e in t)r[e]=t[e][n]||[];return r}function lt(t){return dt(Z.ERRORS,t)}function pt(t){return dt(Z.WARNINGS,t)}function dt(t,n){var e=st().tests;return n?ct(e,t,n):ft(e,t)}function vt(t,n){return Et(t,Z.ERRORS,n)}function ht(t,n){return Et(t,Z.WARNINGS,n)}function Et(t,n,e){return t=st().groups[t],e?ct(t,n,e):ft(t,n)}function gt(t){return mt(tt.ERROR_COUNT,t)}function Nt(t){return mt(tt.WARN_COUNT,t)}function mt(t,n){var e,r=st();return a(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t],0)}function yt(t,n){return bt(Z.ERRORS,t,n)}function Rt(t,n){return bt(Z.WARNINGS,t,n)}function bt(t,n,e){var r,u,i=st();if(t=t===Z.ERRORS?tt.ERROR_COUNT:tt.WARN_COUNT,!(n=i.groups[n]))return!1;if(e)return a(null===(r=n[e])||void 0===r?void 0:r[t],0);for(var o in n)if(a(null===(u=n[o])||void 0===u?void 0:u[t],0))return!0;return!1}function Ct(t){var n,e=st();return t?!(null===(n=e.tests[t])||void 0===n||!n.valid):e.valid}var St=c(1);function Ot(){var t=F(),n={stateRef:S()};return St([t],C.bind(n,(function(){var t=function(){var t=F(),n=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=at(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&ot(n.fieldName),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=at(e[r],n)),t}),n),n.valid=ot(),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)}(),n=S().suiteName()[0],e={summary:t};return i(t,{getErrors:C.bind(e,lt),getErrorsByGroup:C.bind(e,vt),getWarnings:C.bind(e,pt),getWarningsByGroup:C.bind(e,ht),hasErrors:C.bind(e,gt),hasErrorsByGroup:C.bind(e,yt),hasWarnings:C.bind(e,Nt),hasWarningsByGroup:C.bind(e,Rt),isValid:C.bind(e,Ct),suiteName:n})})))}function Tt(t){var n=k();return!et(n)&&(t?n.some((function(n){return ut(n,t)})):rt(n))}var At=c(20);function _t(){var t=F(),n={stateRef:S()};return At([t],C.bind(n,(function(){return i({},Ot(),{done:C.bind(n,Lt)})})))}function It(t,n,e){return!(l(t)&&(!n||e.tests[n]&&!et(e.tests[n].testCount)))}function kt(t){return!(Tt()&&(!t||Tt(t)))}function Lt(){function t(){return r(Ot())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=_t(),It(r,n,e)?e:kt(n)?(t(),e):(Ft(t,n),e)}function Ft(t,n){(0,S().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Ut(t){return t.forEach((function(t){return t()}))}function Wt(){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(Gt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=S().testCallbacks()[0].fieldCallbacks;n&&!Tt(n)&&Array.isArray(e[n])&&Ut(e[n]),Tt()||t.emit(Gt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Gt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){n[t.fieldName]&&(t.omit(),T(t.fieldName,(function(t){return[t[0],!0]})))}if(!et(S().optionalFields()[0])){var n={};I((function(e){return h(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))t(e);else{var r=A(e.fieldName);l(r)&&(n[e.fieldName]=r(),t(e))}return e}))}))}}()})),t.on(Gt.ALL_RUNNING_TESTS_FINISHED,(function(){Ut(S().testCallbacks()[0].doneCallbacks)})),t.on(Gt.REMOVE_FIELD,(function(t){F().forEach((function(n){ut(n,t)&&(n.cancel(),function(t){I((function(n){return h(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Gt.RESET_FIELD,(function(t){F().forEach((function(n){ut(n,t)&&n.reset()}))})),t}function Pt(){var t=C.useX();return M(t.bus),t.bus}var Gt,Xt=Gt||(Gt={});function wt(t){return xt(0,"tests",t)}function Dt(t){return xt(1,"tests",t)}function xt(t,n,e){var u=C.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function jt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ht(){var t,n=C.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Kt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Mt(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 qt(t){var n=t.asyncTest,e=t.message;if(n&&l(n.then)){var u=Pt().emit,i=S(),o=C.bind({stateRef:i},(function(){_(),u(Gt.TEST_COMPLETED,t)}));i=C.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 Bt(t){var n=S().testObjects()[0].prev;if(et(n))return Vt(t),t;var e=J();if(n=g(n,e)[v(e)],!V(t.key)){n=t.key,(e=C.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=C.useX().isolate.keys.current;return V(r[n])?r[n]=e:Y('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Vt(t),t}return!rt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(C.useX().isolate.type===m.EACH||Y("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().testObjects(),n=t[1],e=t[0].prev;t=g(e,J());var r=C.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Vt(t=d(n,t)),t}function Vt(t){var n=J();I((function(e){return g(e,n)[v(n)]=t,e}))}function Yt(t){var n=R.EAGER;if(n=!(C.useX().mode[0]!==n||!it(Z.ERRORS,t.fieldName)))return t.skip(),Bt(t),z(),t;if(n=Bt(t),C.useX().omitted)return n.omit(),z(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,C.useX().skipped)return!0;var e=C.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){var o=C.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:Ht())return!0;if(!0===r.groups[t])return!(i||!jt(u)&&!1!==u[n])}return!!(t=!!Ht()&&!t)||!i&&!!jt(u)&&!p(e[n])}(t))return n.skip(!!C.useX().skipped),z(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Vt(t),z(),t.isUntested()){n=Pt();var e=function(t){return C.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&l(e.then)?(t.asyncTest=e,t.setPending(),qt(t)):n.emit(Gt.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)&&l(n.then)&&(t.setPending(),qt(t));return t}function Jt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:Mt([void 0],n,!0);n=u[0],e=u[1],u=u[2],M(r(t),Qt("fieldName","string")),M(l(e),Qt("Test callback","function"));var i=C.useX();return Yt(n=new P(t,e,{message:n,groupName:i.groupName,key:u}))}Xt.TEST_COMPLETED="test_completed",Xt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Xt.REMOVE_FIELD="remove_field",Xt.RESET_FIELD="reset_field",Xt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",wt.group=function(t){return xt(0,"groups",t)},Dt.group=function(t){return xt(1,"groups",t)};var zt=i(Jt,{memo:function(t){var n=c(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=C.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[S().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)}))):Yt(r[1])}}(Jt)});function Qt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var Zt="4.3.3";function $t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],M(l(r),"vest.create: Expected callback to be a function.");var u=Wt(),o=q();return t={stateRef:B(o,{suiteId:e(),suiteName:t}),bus:u},i(C.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.reset(),Q({type:m.SUITE},(function(){r.apply(void 0,t)})),u.emit(Gt.SUITE_CALLBACK_DONE_RUNNING),_t()})),{get:C.bind(t,Ot),remove:C.bind(t,(function(t){u.emit(Gt.REMOVE_FIELD,t)})),reset:o.reset,resetField:C.bind(t,(function(t){u.emit(Gt.RESET_FIELD,t)}))})}function tn(t,n){M(l(n),"each callback must be a function"),Q({type:m.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function nn(){var t=R.EAGER;C.useX().mode[0]=t}function en(t,n){M(r(t),Kt("name must be a string")),M(l(n),Kt("callback must be a function")),Q({type:m.GROUP},(function(){C.run({groupName:t},n)}))}function rn(t){var n=C.useX(),e=n.inclusion;return n=n.exclusion,M(r(t)),e[t]=d(n.tests[t],!0),{when:function(n){var e=C.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?d(u.tests[t],!0):r(n)?!!u.tests[n]:p(n,p(Ot))}}}}function un(t,n){Q({type:m.OMIT_WHEN},(function(){C.run({omitted:!!C.useX().omitted||p(t,p(Ot))},(function(){return n()}))}))}function on(t){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){T(t,[!0,!1])}));else for(var n in t)T(n,[t[n],!1])}function sn(t,n){Q({type:m.SKIP_WHEN},(function(){C.run({skipped:!!C.useX().skipped||p(t,p(Ot))},(function(){return n()}))}))}function an(){var t=C.useX("warn hook called outside of a running suite.");M(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Zt as VERSION,C as context,$t as create,tn as each,nn as eager,en as group,rn as include,un as omitWhen,wt as only,on as optional,Dt as skip,sn as skipWhen,zt as test,an as warn};
@@ -8,13 +8,6 @@
8
8
  return typeof value === 'function';
9
9
  }
10
10
 
11
- /**
12
- * A safe hasOwnProperty access
13
- */
14
- function hasOwnProperty(obj, key) {
15
- return Object.prototype.hasOwnProperty.call(obj, key);
16
- }
17
-
18
11
  function optionalFunctionValue(value) {
19
12
  var args = [];
20
13
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -23,6 +16,18 @@
23
16
  return isFunction(value) ? value.apply(void 0, args) : value;
24
17
  }
25
18
 
19
+ function defaultTo(callback, defaultValue) {
20
+ var _a;
21
+ return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
22
+ }
23
+
24
+ /**
25
+ * A safe hasOwnProperty access
26
+ */
27
+ function hasOwnProperty(obj, key) {
28
+ return Object.prototype.hasOwnProperty.call(obj, key);
29
+ }
30
+
26
31
  function invariant(condition,
27
32
  // eslint-disable-next-line @typescript-eslint/ban-types
28
33
  message) {
@@ -90,22 +95,20 @@
90
95
  return res.testCount === 0 || !selectors.tested(fieldName);
91
96
  }
92
97
  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);
98
+ var _a;
99
+ return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
95
100
  }
96
101
  function hasWarnings(fieldName) {
97
- return hasFailures(res, SeverityCount.WARN_COUNT, fieldName);
102
+ return hasFailures(SeverityCount.WARN_COUNT, fieldName);
98
103
  }
99
104
  function hasErrors(fieldName) {
100
- return hasFailures(res, SeverityCount.ERROR_COUNT, fieldName);
105
+ return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
106
+ }
107
+ function hasFailures(countKey, fieldName) {
108
+ var _a;
109
+ var failureCount = defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
110
+ return isPositive(failureCount);
101
111
  }
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);
109
112
  }
110
113
 
111
114
  /**
@@ -1 +1 @@
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(" ")}}}));
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){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return"function"==typeof t?t.apply(void 0,n):t}function n(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function e(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}function r(n){function r(r,o){var i,u;return r=o?null===(i=n.tests[o])||void 0===i?void 0:i[r]:n[r],e(i=null!==(u=t(r))&&void 0!==u?u:0,0)}!function(n,e){if(!n)throw e instanceof String?e.valueOf():Error(e?t(e):e)}(n&&Object.prototype.hasOwnProperty.call(n,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return r(u.ERROR_COUNT,t)},tested:function(t){return t?Object.prototype.hasOwnProperty.call(o,t)?o[t]:(o[t]=Object.prototype.hasOwnProperty.call(n.tests,t)&&e(n.tests[t].testCount,0),i.tested(t)):e(n.testCount,0)},untested:function(t){return 0===n.testCount||!i.tested(t)},valid:function(t){var e;return t?!(null===(e=n.tests[t])||void 0===e||!e.valid):n.valid},warning:function(t){return r(u.WARN_COUNT,t)}};return i}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 e=r(t);return function(t){var r,o=[];for(r in n){var i=r;"function"==typeof e[i]&&e[i](t)&&o.push(n[i])}return o.join(" ")}}}));
@@ -181,7 +181,7 @@
181
181
  else if (typeof value === 'object') {
182
182
  return lengthEquals(Object.keys(value), 0);
183
183
  }
184
- return true;
184
+ return false;
185
185
  }
186
186
  var isNotEmpty = bindNot(isEmpty);
187
187
 
@@ -647,15 +647,10 @@
647
647
  context: function () { return ctx.useX(); },
648
648
  extend: function (customRules) {
649
649
  assign(baseRules, customRules);
650
+ handleNoProxy(); // TODO: REMOVE when we stop supporting ES5
650
651
  }
651
652
  };
652
- if (!isProxySupported()) {
653
- eachEnforceRule(function (ruleName) {
654
- // Only on the first rule access - start the chain of calls
655
- target[ruleName] = genEnforceLazy(ruleName);
656
- });
657
- return assign(enforceEager, target);
658
- }
653
+ handleNoProxy();
659
654
  return new Proxy(assign(enforceEager, target), {
660
655
  get: function (target, key) {
661
656
  if (key in target) {
@@ -668,6 +663,15 @@
668
663
  return genEnforceLazy(key);
669
664
  }
670
665
  });
666
+ function handleNoProxy() {
667
+ if (!isProxySupported()) {
668
+ eachEnforceRule(function (ruleName) {
669
+ // Only on the first rule access - start the chain of calls
670
+ target[ruleName] = genEnforceLazy(ruleName);
671
+ });
672
+ return assign(enforceEager, target);
673
+ }
674
+ }
671
675
  }
672
676
  genEnforce();
673
677
 
@@ -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){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 g(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function h(n,t){return g(n,t)||p(n,t)}function v(n){return!!Array.isArray(n)}function N(n,t){return!!(v(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 g(n,t)||y(n,t)}function m(n,t,r){return h(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 g(n.length,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(g),Q=u(v),Y=u(N),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:h,gt:p,gte:h,inside:N,isArray:v,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 p(n.length,t)},longerThanOrEquals:function(n,t){return h(n.length,t)},lt:y,lte:d,matches:A,notEquals:G,notInside:Y,notMatches:an,numberEquals:g,numberNotEquals:L,shorterThan:function(n,t){return y(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,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}})}}));
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 v(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function g(n,t){return v(n,t)||p(n,t)}function h(n){return!!Array.isArray(n)}function N(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 v(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 v(n.length,t)}function w(n){return!n||(x(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?E(n,0):"object"==typeof n&&E(Object.keys(n),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 an){var e=an[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([cn.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=an[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=an[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=cn.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 an[r]?n(r):t[r]}}):(P((function(t){a[t]=n(t)})),a)}}(n)}var V=Object.assign,X=u(i),z=u(o),C=u(s),M=u(a),D=u(c),G=u(l),H=u(v),L=u(h),Q=u(N),Y=u(m),Z=u(b),$=u(O),_=u(x),nn=u(E),tn=u(w),rn=u(T),en=u(q),un=u(f),on=u(S),sn=u(j),fn=u(A),an={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:M,doesNotStartWith:u(B),endsWith:a,equals:c,greaterThan:p,greaterThanOrEquals:g,gt:p,gte:g,inside:N,isArray:h,isBetween:m,isBlank:b,isBoolean:O,isEmpty:w,isEven:function(n){return!!l(n)&&0==n%2},isFalsy:on,isKeyOf:T,isNaN:q,isNegative:function(n){return y(n,0)},isNotArray:L,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:tn,isNotKeyOf:rn,isNotNaN:en,isNotNull:X,isNotNullish:C,isNotNumber:_,isNotNumeric:G,isNotString:un,isNotUndefined:z,isNotValueOf:sn,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:nn,lessThan:y,lessThanOrEquals:d,longerThan:function(n,t){return p(n.length,t)},longerThanOrEquals:function(n,t){return g(n.length,t)},lt:y,lte:d,matches:A,notEquals:D,notInside:Q,notMatches:fn,numberEquals:v,numberNotEquals:H,shorterThan:function(n,t){return y(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:B},cn=function(n){function e(r,e){var o,s,f=u();return r=V({},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?V(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:V(r,{parent:k})}));return function(){function n(){if(!I())return P((function(n){t[n]=U(n)})),V(R,t)}var t={context:function(){return cn.useX()},extend:function(t){V(an,t),n()}};n(),new Proxy(V(R,t),{get:function(n,t){return t in n?n[t]:an[t]?U(t):void 0}})}(),function(){function n(n){return cn.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}})}}));
@@ -226,7 +226,7 @@
226
226
  else if (typeof value === 'object') {
227
227
  return lengthEquals(Object.keys(value), 0);
228
228
  }
229
- return true;
229
+ return false;
230
230
  }
231
231
  var isNotEmpty = bindNot(isEmpty);
232
232
 
@@ -684,15 +684,10 @@
684
684
  context: function () { return ctx.useX(); },
685
685
  extend: function (customRules) {
686
686
  assign(baseRules, customRules);
687
+ handleNoProxy(); // TODO: REMOVE when we stop supporting ES5
687
688
  }
688
689
  };
689
- if (!isProxySupported()) {
690
- eachEnforceRule(function (ruleName) {
691
- // Only on the first rule access - start the chain of calls
692
- target[ruleName] = genEnforceLazy(ruleName);
693
- });
694
- return assign(enforceEager, target);
695
- }
690
+ handleNoProxy();
696
691
  return new Proxy(assign(enforceEager, target), {
697
692
  get: function (target, key) {
698
693
  if (key in target) {
@@ -705,6 +700,15 @@
705
700
  return genEnforceLazy(key);
706
701
  }
707
702
  });
703
+ function handleNoProxy() {
704
+ if (!isProxySupported()) {
705
+ eachEnforceRule(function (ruleName) {
706
+ // Only on the first rule access - start the chain of calls
707
+ target[ruleName] = genEnforceLazy(ruleName);
708
+ });
709
+ return assign(enforceEager, target);
710
+ }
711
+ }
708
712
  }
709
713
  var enforce = genEnforce();
710
714
 
@@ -729,13 +733,13 @@
729
733
  }
730
734
  var passing = [];
731
735
  rules.some(function (rule) {
732
- if (longerThan(passing, REQUIRED_COUNT)) {
733
- return false;
734
- }
735
736
  var res = runLazyRule(rule, value);
736
737
  if (res.pass) {
737
738
  passing.push(res);
738
739
  }
740
+ if (longerThan(passing, REQUIRED_COUNT)) {
741
+ return false;
742
+ }
739
743
  });
740
744
  return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
741
745
  }
@@ -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 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 v(n,t){return n===t}function h(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return h(n)&&h(t)&&Number(n)>Number(t)}function p(n,t){return h(n)&&h(t)&&Number(n)===Number(t)}function N(n,t){return p(n,t)||g(n,t)}function y(n){return!!Array.isArray(n)}function d(n,t){return!!(y(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function m(n,t){return h(n)&&h(t)&&Number(n)<Number(t)}function O(n,t){return p(n,t)||m(n,t)}function b(n,t,r){return N(n,t)&&O(n,r)}function x(n){return s(n)||c(n)&&!n.trim()}function E(n){return!!n===n}function w(n){return"number"==typeof n}function q(n,t){return p(n.length,t)}function S(n){if(n){if(w(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return q(n,0);if("object"==typeof n)return q(Object.keys(n),0)}return!0}function T(n,t){return n in t}function A(n){return Number.isNaN(n)}function B(n){return!!n}function P(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function W(n,t){return g(n.length,t)}function j(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function k(n,t){return c(n)&&c(t)&&n.startsWith(t)}function F(n){for(var r in vn){var e=vn[r];t(e)&&n(r,e)}}function I(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?r(t):t)}function J(){return null}function K(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 R(){try{return t(Proxy)}catch(n){return!1}}function U(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return I(E(n)||n&&E(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),E(n)?u(n):u(n.pass,r.apply(void 0,K([n.message,t,e],i,!1)))}function V(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return I((i=U.apply(void 0,K([hn.run({value:n},(function(){return r.apply(void 0,K([n],u,!1))})),e,n],u,!1))).pass,S(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!R())return F((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 X(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=vn[f];o.push((function(n){return U.apply(void 0,K([c.apply(void 0,K([n],a,!1)),f,n],a,!1))}));var l={run:function(t){return e(n(o,(function(n,e){var o,f=hn.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 R()?l=new Proxy(l,{get:function(n,r){return vn[r]?t(r):n[r]}}):(F((function(n){l[n]=t(n)})),l)}}(t)}var z,C=Object.assign,M=o(f),D=o(a),G=o(s),H=o(l),L=o(v),Q=o(h),Y=o(p),Z=o(y),$=o(d),_=o(b),nn=o(x),tn=o(E),rn=o(w),en=o(q),un=o(S),on=o(T),fn=o(A),an=o(c),sn=o(B),cn=o(P),ln=o(j),vn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:H,doesNotStartWith:o(k),endsWith:l,equals:v,greaterThan:g,greaterThanOrEquals:N,gt:g,gte:N,inside:d,isArray:y,isBetween:b,isBlank:x,isBoolean:E,isEmpty:S,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:sn,isKeyOf:T,isNaN:A,isNegative:function(n){return m(n,0)},isNotArray:Z,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:fn,isNotNull:M,isNotNullish:G,isNotNumber:rn,isNotNumeric:Q,isNotString:an,isNotUndefined:D,isNotValueOf:cn,isNull:f,isNullish:s,isNumber:w,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return g(n,0)},isString:c,isTruthy:B,isUndefined:a,isValueOf:P,lengthEquals:q,lengthNotEquals:en,lessThan:m,lessThanOrEquals:O,longerThan:W,longerThanOrEquals:function(n,t){return N(n.length,t)},lt:m,lte:O,matches:j,notEquals:L,notInside:$,notMatches:ln,numberEquals:p,numberNotEquals:Y,shorterThan:function(n,t){return m(n.length,t)},shorterThanOrEquals:function(n,t){return O(n.length,t)},startsWith:k},hn=function(n){function t(t,e){var o,f,a=u();return t=C({},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){return I(i.ctx,e(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?C(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:C(r,{parent:J})}));(z={context:function(){return hn.useX()},extend:function(n){C(vn,n)}},R()?new Proxy(C(V,z),{get:function(n,t){return t in n?n[t]:vn[t]?X(t):void 0}}):(F((function(n){z[n]=X(n)})),C(V,z))).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(W(e,1))return!1;(t=i(t,n)).pass&&e.push(t)})),u(q(e,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 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 v(n,t){return n===t}function h(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return h(n)&&h(t)&&Number(n)>Number(t)}function p(n,t){return h(n)&&h(t)&&Number(n)===Number(t)}function N(n,t){return p(n,t)||g(n,t)}function y(n){return!!Array.isArray(n)}function d(n,t){return!!(y(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function m(n,t){return h(n)&&h(t)&&Number(n)<Number(t)}function O(n,t){return p(n,t)||m(n,t)}function b(n,t,r){return N(n,t)&&O(n,r)}function x(n){return s(n)||c(n)&&!n.trim()}function E(n){return!!n===n}function w(n){return"number"==typeof n}function q(n,t){return p(n.length,t)}function S(n){return!n||(w(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?q(n,0):"object"==typeof n&&q(Object.keys(n),0))}function T(n,t){return n in t}function A(n){return Number.isNaN(n)}function B(n){return!!n}function P(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function W(n,t){return g(n.length,t)}function j(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function k(n,t){return c(n)&&c(t)&&n.startsWith(t)}function F(n){for(var r in ln){var e=ln[r];t(e)&&n(r,e)}}function I(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?r(t):t)}function J(){return null}function K(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 R(){try{return t(Proxy)}catch(n){return!1}}function U(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return I(E(n)||n&&E(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),E(n)?u(n):u(n.pass,r.apply(void 0,K([n.message,t,e],i,!1)))}function V(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return I((i=U.apply(void 0,K([vn.run({value:n},(function(){return r.apply(void 0,K([n],u,!1))})),e,n],u,!1))).pass,S(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!R())return F((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=ln[r])return t(e,n,r)}});return e}function X(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=ln[f];o.push((function(n){return U.apply(void 0,K([c.apply(void 0,K([n],a,!1)),f,n],a,!1))}));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 R()?l=new Proxy(l,{get:function(n,r){return ln[r]?t(r):n[r]}}):(F((function(n){l[n]=t(n)})),l)}}(t)}var z=Object.assign,C=o(f),M=o(a),D=o(s),G=o(l),H=o(v),L=o(h),Q=o(p),Y=o(y),Z=o(d),$=o(b),_=o(x),nn=o(E),tn=o(w),rn=o(q),en=o(S),un=o(T),on=o(A),fn=o(c),an=o(B),sn=o(P),cn=o(j),ln={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:o(k),endsWith:l,equals:v,greaterThan:g,greaterThanOrEquals:N,gt:g,gte:N,inside:d,isArray:y,isBetween:b,isBlank:x,isBoolean:E,isEmpty:S,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:an,isKeyOf:T,isNaN:A,isNegative:function(n){return m(n,0)},isNotArray:Y,isNotBetween:$,isNotBlank:_,isNotBoolean:nn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:C,isNotNullish:D,isNotNumber:tn,isNotNumeric:L,isNotString:fn,isNotUndefined:M,isNotValueOf:sn,isNull:f,isNullish:s,isNumber:w,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return g(n,0)},isString:c,isTruthy:B,isUndefined:a,isValueOf:P,lengthEquals:q,lengthNotEquals:rn,lessThan:m,lessThanOrEquals:O,longerThan:W,longerThanOrEquals:function(n,t){return N(n.length,t)},lt:m,lte:O,matches:j,notEquals:H,notInside:Z,notMatches:cn,numberEquals:p,numberNotEquals:Q,shorterThan:function(n,t){return m(n.length,t)},shorterThanOrEquals:function(n,t){return O(n.length,t)},startsWith:k},vn=function(n){function t(t,e){var o,f,a=u();return t=z({},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){return I(i.ctx,e(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?z(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:z(r,{parent:J})}));(function(){function n(){if(!R())return F((function(n){t[n]=X(n)})),z(V,t)}var t={context:function(){return vn.useX()},extend:function(t){z(ln,t),n()}};return n(),new Proxy(z(V,t),{get:function(n,t){return t in n?n[t]:ln[t]?X(t):void 0}})})().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((t=i(t,n)).pass&&e.push(t),W(e,1))return!1})),u(q(e,1))}})}));
@@ -159,7 +159,7 @@
159
159
  else if (typeof value === 'object') {
160
160
  return lengthEquals(Object.keys(value), 0);
161
161
  }
162
- return true;
162
+ return false;
163
163
  }
164
164
  var isNotEmpty = bindNot(isEmpty);
165
165
 
@@ -647,15 +647,10 @@
647
647
  context: function () { return ctx.useX(); },
648
648
  extend: function (customRules) {
649
649
  assign(baseRules, customRules);
650
+ handleNoProxy(); // TODO: REMOVE when we stop supporting ES5
650
651
  }
651
652
  };
652
- if (!isProxySupported()) {
653
- eachEnforceRule(function (ruleName) {
654
- // Only on the first rule access - start the chain of calls
655
- target[ruleName] = genEnforceLazy(ruleName);
656
- });
657
- return assign(enforceEager, target);
658
- }
653
+ handleNoProxy();
659
654
  return new Proxy(assign(enforceEager, target), {
660
655
  get: function (target, key) {
661
656
  if (key in target) {
@@ -668,6 +663,15 @@
668
663
  return genEnforceLazy(key);
669
664
  }
670
665
  });
666
+ function handleNoProxy() {
667
+ if (!isProxySupported()) {
668
+ eachEnforceRule(function (ruleName) {
669
+ // Only on the first rule access - start the chain of calls
670
+ target[ruleName] = genEnforceLazy(ruleName);
671
+ });
672
+ return assign(enforceEager, target);
673
+ }
674
+ }
671
675
  }
672
676
  var enforce = genEnforce();
673
677
 
@@ -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 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,t){return p(n,t)||l(n,t)}function h(n){return!!Array.isArray(n)}function y(n,t){return!!(h(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function N(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function d(n,t){return p(n,t)||N(n,t)}function g(n,t,r){return v(n,t)&&d(n,r)}function m(n){return o(n)||a(n)&&!n.trim()}function b(n){return!!n===n}function O(n){return"number"==typeof n}function x(n,t){return p(n.length,t)}function E(n){if(n){if(O(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 w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return!!n}function j(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function S(n,t){return t instanceof RegExp?t.test(n):!!a(t)&&new RegExp(t).test(n)}function P(n,t){return a(n)&&a(t)&&n.startsWith(t)}function A(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){if(!n)throw t instanceof String?t.valueOf():Error(t?B(t):t)}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 K(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return k(b(n)||n&&b(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),b(n)?K(n):K(n.pass,B.apply(void 0,I([n.message,t,r],e,!1)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return k((i=M.apply(void 0,I([hn.run({value:n},(function(){return r.apply(void 0,I([n],u,!1))})),e,n],u,!1))).pass,E(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!J())return A((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 U(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 M.apply(void 0,I([a.apply(void 0,I([n],i,!1)),u,n],i,!1))}));var f={run:function(n){return W(t(e,(function(t,e){var u,i=hn.run({value:n},(function(){return t(n)}));i.pass||e(K(!!i.pass,null!==(u=B(r,n,i.message))&&void 0!==u?u:i.message))})),K(!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]}}):(A((function(t){f[t]=n(t)})),f)}}(n)}function V(n,t){try{return n.run(t)}catch(n){return K(!1)}}function X(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=hn.run({value:e,set:!0,meta:{key:r}},(function(){return V(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return K(!0)}var _,z=Object.assign,C=e(u),D=e(i),G=e(o),H=e(f),L=e(s),Q=e(c),Y=e(p),Z=e(h),$=e(y),nn=e(g),tn=e(m),rn=e(b),en=e(O),un=e(x),on=e(E),an=e(w),fn=e(T),sn=e(a),cn=e(q),ln=e(j),pn=e(S),vn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:H,doesNotStartWith:e(P),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:v,gt:l,gte:v,inside:y,isArray:h,isBetween:g,isBlank:m,isBoolean:b,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:cn,isKeyOf:w,isNaN:T,isNegative:function(n){return N(n,0)},isNotArray:Z,isNotBetween:nn,isNotBlank:tn,isNotBoolean:rn,isNotEmpty:on,isNotKeyOf:an,isNotNaN:fn,isNotNull:C,isNotNullish:G,isNotNumber:en,isNotNumeric:Q,isNotString:sn,isNotUndefined:D,isNotValueOf:ln,isNull:u,isNullish:o,isNumber:O,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:function(n){return l(n,0)},isString:a,isTruthy:q,isUndefined:i,isValueOf:j,lengthEquals:x,lengthNotEquals:un,lessThan:N,lessThanOrEquals:d,longerThan:function(n,t){return l(n.length,t)},longerThanOrEquals:function(n,t){return v(n.length,t)},lt:N,lte:d,matches:S,notEquals:L,notInside:$,notMatches:pn,numberEquals:p,numberNotEquals:Y,shorterThan:function(n,t){return N(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:P},hn=function(n){function t(t,u){var i,o,a=r();return t=z({},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){return k(e.ctx,W(n,"Context was used after it was closed")),e.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?z(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:z(r,{parent:F})})),yn=(_={context:function(){return hn.useX()},extend:function(n){z(vn,n)}},J()?new Proxy(z(R,_),{get:function(n,t){return t in n?n[t]:vn[t]?U(t):void 0}}):(A((function(n){_[n]=U(n)})),z(R,_)));yn.extend({isArrayOf:function(n,r){return W(t(n,(function(n,t,e){(e=hn.run({value:n,set:!0,meta:{index:e}},(function(){return V(r,n)}))).pass||t(e)})),K(!0))},loose:X,optional:function(n,t){return o(n)?K(!0):V(t,n)},shape:function(n,t){var r=X(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return K(!1);return K(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=yn.optional(n[t]);return r},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).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,t){return p(n,t)||l(n,t)}function h(n){return!!Array.isArray(n)}function y(n,t){return!!(h(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function N(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function d(n,t){return p(n,t)||N(n,t)}function g(n,t,r){return v(n,t)&&d(n,r)}function m(n){return o(n)||a(n)&&!n.trim()}function b(n){return!!n===n}function O(n){return"number"==typeof n}function x(n,t){return p(n.length,t)}function E(n){return!n||(O(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?x(n,0):"object"==typeof n&&x(Object.keys(n),0))}function w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return!!n}function j(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function S(n,t){return t instanceof RegExp?t.test(n):!!a(t)&&new RegExp(t).test(n)}function P(n,t){return a(n)&&a(t)&&n.startsWith(t)}function A(n){for(var t in pn){var e=pn[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){if(!n)throw t instanceof String?t.valueOf():Error(t?B(t):t)}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 K(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return k(b(n)||n&&b(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),b(n)?K(n):K(n.pass,B.apply(void 0,I([n.message,t,r],e,!1)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return k((i=M.apply(void 0,I([vn.run({value:n},(function(){return r.apply(void 0,I([n],u,!1))})),e,n],u,!1))).pass,E(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!J())return A((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=pn[r])return t(e,n,r)}});return e}function U(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=pn[u];e.push((function(n){return M.apply(void 0,I([a.apply(void 0,I([n],i,!1)),u,n],i,!1))}));var f={run:function(n){return W(t(e,(function(t,e){var u,i=vn.run({value:n},(function(){return t(n)}));i.pass||e(K(!!i.pass,null!==(u=B(r,n,i.message))&&void 0!==u?u:i.message))})),K(!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 pn[r]?n(r):t[r]}}):(A((function(t){f[t]=n(t)})),f)}}(n)}function V(n,t){try{return n.run(t)}catch(n){return K(!1)}}function X(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=vn.run({value:e,set:!0,meta:{key:r}},(function(){return V(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return K(!0)}var _=Object.assign,z=e(u),C=e(i),D=e(o),G=e(f),H=e(s),L=e(c),Q=e(p),Y=e(h),Z=e(y),$=e(g),nn=e(m),tn=e(b),rn=e(O),en=e(x),un=e(E),on=e(w),an=e(T),fn=e(a),sn=e(q),cn=e(j),ln=e(S),pn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:e(P),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:v,gt:l,gte:v,inside:y,isArray:h,isBetween:g,isBlank:m,isBoolean:b,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:sn,isKeyOf:w,isNaN:T,isNegative:function(n){return N(n,0)},isNotArray:Y,isNotBetween:$,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:an,isNotNull:z,isNotNullish:D,isNotNumber:rn,isNotNumeric:L,isNotString:fn,isNotUndefined:C,isNotValueOf:cn,isNull:u,isNullish:o,isNumber:O,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:function(n){return l(n,0)},isString:a,isTruthy:q,isUndefined:i,isValueOf:j,lengthEquals:x,lengthNotEquals:en,lessThan:N,lessThanOrEquals:d,longerThan:function(n,t){return l(n.length,t)},longerThanOrEquals:function(n,t){return v(n.length,t)},lt:N,lte:d,matches:S,notEquals:H,notInside:Z,notMatches:ln,numberEquals:p,numberNotEquals:Q,shorterThan:function(n,t){return N(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:P},vn=function(n){function t(t,u){var i,o,a=r();return t=_({},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){return k(e.ctx,W(n,"Context was used after it was closed")),e.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?_(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:_(r,{parent:F})})),hn=function(){function n(){if(!J())return A((function(n){t[n]=U(n)})),_(R,t)}var t={context:function(){return vn.useX()},extend:function(t){_(pn,t),n()}};return n(),new Proxy(_(R,t),{get:function(n,t){return t in n?n[t]:pn[t]?U(t):void 0}})}();hn.extend({isArrayOf:function(n,r){return W(t(n,(function(n,t,e){(e=vn.run({value:n,set:!0,meta:{index:e}},(function(){return V(r,n)}))).pass||t(e)})),K(!0))},loose:X,optional:function(n,t){return o(n)?K(!0):V(t,n)},shape:function(n,t){var r=X(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return K(!1);return K(!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})}));
@@ -4,13 +4,6 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.parser = {}));
5
5
  }(this, (function (exports) { 'use strict';
6
6
 
7
- /**
8
- * A safe hasOwnProperty access
9
- */
10
- function hasOwnProperty(obj, key) {
11
- return Object.prototype.hasOwnProperty.call(obj, key);
12
- }
13
-
14
7
  function isFunction(value) {
15
8
  return typeof value === 'function';
16
9
  }
@@ -23,6 +16,18 @@
23
16
  return isFunction(value) ? value.apply(void 0, args) : value;
24
17
  }
25
18
 
19
+ function defaultTo(callback, defaultValue) {
20
+ var _a;
21
+ return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
22
+ }
23
+
24
+ /**
25
+ * A safe hasOwnProperty access
26
+ */
27
+ function hasOwnProperty(obj, key) {
28
+ return Object.prototype.hasOwnProperty.call(obj, key);
29
+ }
30
+
26
31
  function invariant(condition,
27
32
  // eslint-disable-next-line @typescript-eslint/ban-types
28
33
  message) {
@@ -90,22 +95,20 @@
90
95
  return res.testCount === 0 || !selectors.tested(fieldName);
91
96
  }
92
97
  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);
98
+ var _a;
99
+ return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
95
100
  }
96
101
  function hasWarnings(fieldName) {
97
- return hasFailures(res, SeverityCount.WARN_COUNT, fieldName);
102
+ return hasFailures(SeverityCount.WARN_COUNT, fieldName);
98
103
  }
99
104
  function hasErrors(fieldName) {
100
- return hasFailures(res, SeverityCount.ERROR_COUNT, fieldName);
105
+ return hasFailures(SeverityCount.ERROR_COUNT, fieldName);
106
+ }
107
+ function hasFailures(countKey, fieldName) {
108
+ var _a;
109
+ var failureCount = defaultTo(fieldName ? (_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a[countKey] : res[countKey], 0);
110
+ return isPositive(failureCount);
101
111
  }
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);
109
112
  }
110
113
 
111
114
  exports.parse = parse;
@@ -1 +1 @@
1
- "use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).parser={})}(this,(function(t){function e(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function n(t,n){return e(t)&&e(n)&&Number(t)>Number(n)}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;(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),t.parse=function(t){!function(t,e){if(!t)throw e instanceof String?e.valueOf():Error(e?function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return"function"==typeof t?t.apply(void 0,e):t}(e):e)}(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(e){return r(t,u.ERROR_COUNT,e)},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(e){return 0===t.testCount||!o.tested(e)},valid:function(e){var n,r;return!!(e?null!==(r=null===(n=t.tests)||void 0===n?void 0:n[e])&&void 0!==r&&r.valid:t.valid)},warning:function(e){return r(t,u.WARN_COUNT,e)}};return o},Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ "use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).parser={})}(this,(function(t){function e(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return"function"==typeof t?t.apply(void 0,e):t}function n(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function r(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}var o,i,u;(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),t.parse=function(t){function n(n,o){var i,u;return n=o?null===(i=t.tests[o])||void 0===i?void 0:i[n]:t[n],r(i=null!==(u=e(n))&&void 0!==u?u:0,0)}!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?e(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return n(u.ERROR_COUNT,t)},tested:function(e){return e?Object.prototype.hasOwnProperty.call(o,e)?o[e]:(o[e]=Object.prototype.hasOwnProperty.call(t.tests,e)&&r(t.tests[e].testCount,0),i.tested(e)):r(t.testCount,0)},untested:function(e){return 0===t.testCount||!i.tested(e)},valid:function(e){var n;return e?!(null===(n=t.tests[e])||void 0===n||!n.valid):t.valid},warning:function(t){return n(u.WARN_COUNT,t)}};return i},Object.defineProperty(t,"__esModule",{value:!0})}));