vest 4.2.3-dev-87ebfa → 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.
Files changed (33) hide show
  1. package/dist/cjs/classnames.development.js +58 -23
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/parser.development.js +84 -22
  4. package/dist/cjs/parser.production.js +1 -1
  5. package/dist/cjs/vest.development.js +447 -440
  6. package/dist/cjs/vest.production.js +1 -1
  7. package/dist/es/classnames.development.js +58 -23
  8. package/dist/es/classnames.production.js +1 -1
  9. package/dist/es/parser.development.js +84 -22
  10. package/dist/es/parser.production.js +1 -1
  11. package/dist/es/vest.development.js +447 -440
  12. package/dist/es/vest.production.js +1 -1
  13. package/dist/umd/classnames.development.js +58 -23
  14. package/dist/umd/classnames.production.js +1 -1
  15. package/dist/umd/enforce/compose.development.js +16 -16
  16. package/dist/umd/enforce/compose.production.js +1 -1
  17. package/dist/umd/enforce/compounds.development.js +16 -16
  18. package/dist/umd/enforce/compounds.production.js +1 -1
  19. package/dist/umd/enforce/schema.development.js +16 -16
  20. package/dist/umd/enforce/schema.production.js +1 -1
  21. package/dist/umd/parser.development.js +84 -22
  22. package/dist/umd/parser.production.js +1 -1
  23. package/dist/umd/vest.development.js +320 -313
  24. package/dist/umd/vest.production.js +1 -1
  25. package/package.json +3 -3
  26. package/testUtils/suiteDummy.ts +5 -1
  27. package/types/classnames.d.ts +13 -55
  28. package/types/enforce/compose.d.ts +2 -1
  29. package/types/enforce/compounds.d.ts +2 -1
  30. package/types/enforce/schema.d.ts +2 -1
  31. package/types/parser.d.ts +12 -54
  32. package/types/promisify.d.ts +12 -10
  33. package/types/vest.d.ts +63 -61
@@ -1 +1 @@
1
- import{createContext as t}from"context";export{enforce}from"n4s";var n,e=Object.assign,r=(n=0,function(){return"".concat(n++)});function u(t){return"function"==typeof t}function i(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return u(t)?t.apply(void 0,n):t}function o(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?i(n):n)}function s(t){function n(t,n,u){return r.references.push(),e(t,i(n,u)),function(){return[r.references[t],function(n){return e(t,i(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,u(n=o[n][1])&&n(e,i),u(t)&&t()}var r={references:[]},o=[];return{registerStateKey:function(t,e){var r=o.length;return o.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],o.forEach((function(e,r){return n(r,e[0],t[r])}))}}}var a,c=a||(a={});function f(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 l(t){return(t=[].concat(t))[t.length-1]}function p(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return l(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,l(n)},removeLevel:function(){n.pop()},reset:t}}c[c.DEFAULT=0]="DEFAULT",c[c.SUITE=1]="SUITE",c[c.EACH=2]="EACH",c[c.SKIP_WHEN=3]="SKIP_WHEN",c[c.OMIT_WHEN=4]="OMIT_WHEN",c[c.GROUP=5]="GROUP";var d,v=d||(d={});v[v.ALL=0]="ALL",v[v.EAGER=1]="EAGER";var h=t((function(t,n){return n?null:e({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:a.DEFAULT,keys:{current:{},prev:{}}},mode:[d.ALL],testCursor:p()},t)}));function g(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}var E=g((function(t){return null===t}));function N(t,n){var e;return null!==(e=i(t))&&void 0!==e?e:n}function m(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(m(u,n)):(u=n(u),E(u)&&e.push(u))}return e}function y(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(y(n)):[].concat(t).concat(n)}),[])}function b(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=N(t[r],[]),t=t[r]}return t}function S(t){return null==t}function C(t){setTimeout((function(){throw Error(t)}),0)}function R(t){return String(t)===t}function T(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}function A(){return h.useX().stateRef}function O(){return A().testObjects()}function I(){(0,O()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function _(t){(0,O()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function k(){return y(m(O()[0].current,(function(t){return t.isPending()?t:null})))}var L=T();function F(){var t=O()[0].current;return L([t],(function(){return y(t)}))}var G,P=G||(G={});P.Error="error",P.Warning="warning";var U=function(){function t(t,n,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=G.Error,this.status=W,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&R(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==j||(this.status=t)},t.prototype.warns=function(){return this.severity===G.Warning},t.prototype.setPending=function(){this.setStatus(H)},t.prototype.fail=function(){this.setStatus(this.warns()?D:X)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=G.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(w)},t.prototype.cancel=function(){this.setStatus(K),I()},t.prototype.reset=function(){this.status=W,I()},t.prototype.omit=function(){this.setStatus(j)},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(H)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(j)},t.prototype.isUntested=function(){return this.statusEquals(W)},t.prototype.isFailing=function(){return this.statusEquals(X)},t.prototype.isCanceled=function(){return this.statusEquals(K)},t.prototype.isSkipped=function(){return this.statusEquals(w)},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}(),W="UNTESTED",w="SKIPPED",X="FAILED",D="WARNING",x="PASSING",H="PENDING",K="CANCELED",j="OMITTED";function M(){return h.useX().testCursor.getCursor()}function q(){return h.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?a.DEFAULT:t,u(n)){var e={current:{},prev:{}},r=M();return h.run({isolate:{type:t,keys:e}},(function(){h.useX().testCursor.addLevel(),e.prev=function(){var t=O()[0].prev;return[].concat(b(t,M())).reduce((function(t,n){return n instanceof U&&!S(n.key)?(t[n.key]=n,t):t}),{})}(),_((function(t){return b(t,r)[l(r)]=[],t}));var t=n();return h.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});Y.WARNINGS="warnings",Y.ERRORS="errors";var J,z=J||(J={});function Q(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 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 $(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 tt(t,n){return!(!n||t.fieldName!==n)}function nt(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&&!tt(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 et(t){return ut(V.ERRORS,t)}function rt(t){return ut(V.WARNINGS,t)}function ut(t,n){return t=nt(t,F(),{fieldName:n}),n?t[n]:t}function it(t,n){return t=st(V.ERRORS,t,n),n?t[n]:t}function ot(t,n){return t=st(V.WARNINGS,t,n),n?t[n]:t}function st(t,n,e){return o(n,"get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),nt(t,F(),{group:n,fieldName:e})}function at(t,n,e){return(e=!t.hasFailures()||e&&!tt(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function ct(t){return lt(V.ERRORS,t)}function ft(t){return lt(V.WARNINGS,t)}function lt(t,n){return F().some((function(e){return at(e,t,n)}))}function pt(t,n){return vt(V.ERRORS,t,n)}function dt(t,n){return vt(V.WARNINGS,t,n)}function vt(t,n,e){return F().some((function(r){return n===r.groupName&&at(r,t,e)}))}function ht(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 gt=g(ht);function Et(t){var n=F().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(n=!!t&&!!n[t])||!ct(t)&&(!(ht(n=F())||function(t){var n=F();return!!t&&!n.find((function(n){return n.fieldName===t}))}(t)||function(t){var n=A().optionalFields()[0];return gt(k().filter((function(e){return!(t&&!tt(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=F(),e=A().optionalFields()[0];return n.every((function(n){return!(!t||tt(n,t))||(!0===e[n.fieldName]||n.isTested()||n.isOmitted())}))}(t))}var Nt=T(20);function mt(){var t=F(),n={stateRef:A()};return Nt([t],h.bind(n,(function(){var t=A().suiteName()[0];return e(function(){var t=F(),n=e({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=Q(e,n),e=t.groups;var r=n.groupName;return r&&(e[r]=e[r]||{},e[r][n.fieldName]=Q(e[r],n)),t}),n),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}(),{getErrors:h.bind(n,et),getErrorsByGroup:h.bind(n,it),getWarnings:h.bind(n,rt),getWarningsByGroup:h.bind(n,ot),hasErrors:h.bind(n,ct),hasErrorsByGroup:h.bind(n,pt),hasWarnings:h.bind(n,ft),hasWarningsByGroup:h.bind(n,dt),isValid:h.bind(n,Et),suiteName:t})})))}function yt(t){var n=k();return!ht(n)&&(t?n.some((function(n){return tt(n,t)})):gt(n))}var bt=T(20);function St(){var t=F(),n={stateRef:A()};return bt([t],h.bind(n,(function(){return e({},mt(),{done:h.bind(n,Tt)})})))}function Ct(t,n,e){return!(u(t)&&(!n||e.tests[n]&&!ht(e.tests[n].testCount)))}function Rt(t){return!(yt()&&(!t||yt(t)))}function Tt(){function t(){return r(mt())}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=h.bind({},t);(0,A().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=A().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=A().optionalFields()[0];if(!ht(t)){var n={};_((function(e){return m(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var i=t[r];u(i)&&(n[r]=i(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(kt.ALL_RUNNING_TESTS_FINISHED,(function(){Ot(A().testCallbacks()[0].doneCallbacks)})),t.on(kt.REMOVE_FIELD,(function(t){F().forEach((function(n){tt(n,t)&&(n.cancel(),function(t){_((function(n){return m(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(kt.RESET_FIELD,(function(t){F().forEach((function(n){tt(n,t)&&n.reset()}))})),t}function _t(){var t=h.useX();return o(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 r=h.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){R(e)&&(r.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&&u(n.then)){var r=_t().emit,i=A(),o=h.bind({stateRef:i},(function(){I(),r(kt.TEST_COMPLETED,t)}));i=h.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=O()[0].prev;if(ht(n))return Dt(t),t;var e=M();if(n=b(n,e)[l(e)],!S(t.key)){n=t.key,(e=h.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=h.useX().isolate.keys.current;return S(r[n])?r[n]=e:C('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!gt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(h.useX().isolate.type===a.EACH||C("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=O(),n=t[1],e=t[0].prev;t=b(e,M());var r=h.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Dt(t=N(n,t)),t}function Dt(t){var n=M();_((function(e){return b(e,n)[l(n)]=t,e}))}function xt(t){var n=d.EAGER;if(n=!(h.useX().mode[0]!==n||!ct(t.fieldName)))return t.skip(),Xt(t),q(),t;if(n=Xt(t),h.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,h.useX().skipped)return!0;var e=h.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){t:{var s=h.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(s,t))var a=!1===s[t];else{for(a in s)if(!0===s[a]){a=!0;break t}a=!1}}if(a)return!0;if(!0===r.groups[t])return!(o||!Ut(u)&&!1!==u[n])}r=h.useX().exclusion;t:{for(c in(a=h.useX().exclusion).groups)if(a.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!o&&!!Ut(u)&&!i(e[n])}(t))return n.skip(!!h.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 h.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&&u(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)&&u(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 r=u(n[1])?n:$([void 0],n,!0);n=r[0],e=r[1],r=r[2],o(R(t),jt("fieldName","string")),o(u(e),jt("Test callback","function"));var i=h.useX();return xt(n=new U(t,e,{message:n,groupName:i.groupName,key:r}))}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=e(Ht,{memo:function(t){var n=T(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=h.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[A().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.2.3-dev-87ebfa";function qt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=(t=t.reverse())[0];t=t[1],o(u(i),"vest.create: Expected callback to be a function.");var c=It(),l=s();return t={stateRef:f(l,{suiteId:r(),suiteName:t}),bus:c},e(h.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return l.reset(),B({type:a.SUITE},(function(){i.apply(void 0,t)})),c.emit(kt.SUITE_CALLBACK_DONE_RUNNING),St()})),{get:h.bind(t,mt),remove:h.bind(t,(function(t){c.emit(kt.REMOVE_FIELD,t)})),reset:l.reset,resetField:h.bind(t,(function(t){c.emit(kt.RESET_FIELD,t)}))})}function Bt(t,n){o(u(n),"each callback must be a function"),B({type:a.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Vt(){var t=d.EAGER;h.useX().mode[0]=t}function Yt(t,n){o(R(t),Wt("name must be a string")),o(u(n),Wt("callback must be a function")),B({type:a.GROUP},(function(){h.run({groupName:t},n)}))}function Jt(t){function n(n){var e=h.useX(),r=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(r.tests,t)?N(r.tests[t],!0):R(n)?!!r.tests[n]:i(n,i(mt))}}var e=h.useX();return t?(e.inclusion[t]=N(e.exclusion.tests[t],!0),{when:n}):{when:n}}function zt(t,n){B({type:a.OMIT_WHEN},(function(){h.run({omitted:!!h.useX().omitted||i(t,i(mt))},(function(){return n()}))}))}function Qt(t){(0,A().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:a.SKIP_WHEN},(function(){h.run({skipped:!!h.useX().skipped||i(t,i(mt))},(function(){return n()}))}))}function $t(){var t=h.useX("warn hook called outside of a running suite.");o(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{Mt as VERSION,h 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};
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};
@@ -8,6 +8,13 @@
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
+
11
18
  function optionalFunctionValue(value) {
12
19
  var args = [];
13
20
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -41,35 +48,64 @@
41
48
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
42
49
  }
43
50
 
44
- /**
45
- * A safe hasOwnProperty access
46
- */
47
- function hasOwnProperty(obj, key) {
48
- return Object.prototype.hasOwnProperty.call(obj, key);
51
+ function isPositive(value) {
52
+ return greaterThan(value, 0);
49
53
  }
50
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
51
67
  function parse(res) {
68
+ invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
52
69
  var testedStorage = {};
53
70
  var selectors = {
54
- invalid: res.hasErrors,
55
- tested: function (fieldName) {
56
- if (!fieldName) {
57
- return greaterThan(res.testCount, 0);
58
- }
59
- if (hasOwnProperty(testedStorage, fieldName))
60
- return testedStorage[fieldName];
61
- testedStorage[fieldName] =
62
- hasOwnProperty(res.tests, fieldName) &&
63
- greaterThan(res.tests[fieldName].testCount, 0);
64
- return selectors.tested(fieldName);
65
- },
66
- untested: function (fieldName) {
67
- return res.testCount === 0 || !selectors.tested(fieldName);
68
- },
69
- valid: res.isValid,
70
- warning: res.hasWarnings
71
+ invalid: hasErrors,
72
+ tested: isTested,
73
+ untested: isUntested,
74
+ valid: isValid,
75
+ warning: hasWarnings
71
76
  };
72
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);
73
109
  }
74
110
 
75
111
  /**
@@ -77,7 +113,6 @@
77
113
  */
78
114
  function classnames(res, classes) {
79
115
  if (classes === void 0) { classes = {}; }
80
- invariant(res && isFunction(res.hasErrors), "classnames: Expected first argument to be Vest's result object.");
81
116
  var selectors = parse(res);
82
117
  return function (key) {
83
118
  var classesArray = [];
@@ -1 +1 @@
1
- "use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=e()}(this,(function(){function t(t){return"function"==typeof t}function e(e,n){if(!e)throw n instanceof String?n.valueOf():Error(n?function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return t(e)?e.apply(void 0,n):e}(n):n)}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)}return function(n,o){void 0===o&&(o={}),e(n&&t(n.hasErrors),"classnames: Expected first argument to be Vest's result object.");var i=function(t){var e={},n={invalid:t.hasErrors,tested:function(o){return o?Object.prototype.hasOwnProperty.call(e,o)?e[o]:(e[o]=Object.prototype.hasOwnProperty.call(t.tests,o)&&r(t.tests[o].testCount,0),n.tested(o)):r(t.testCount,0)},untested:function(e){return 0===t.testCount||!n.tested(e)},valid:t.isValid,warning:t.hasWarnings};return n}(n);return function(e){var n,r=[];for(n in o){var s=n;t(i[s])&&i[s](e)&&r.push(o[s])}return r.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){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(" ")}}}));
@@ -98,8 +98,13 @@
98
98
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
99
99
  }
100
100
 
101
+ function numberEquals(value, eq) {
102
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
103
+ }
104
+ var numberNotEquals = bindNot(numberEquals);
105
+
101
106
  function greaterThanOrEquals(value, gte) {
102
- return isNumeric(value) && isNumeric(gte) && Number(value) >= Number(gte);
107
+ return numberEquals(value, gte) || greaterThan(value, gte);
103
108
  }
104
109
 
105
110
  // The module is named "isArrayValue" since it
@@ -122,8 +127,12 @@
122
127
  }
123
128
  var notInside = bindNot(inside);
124
129
 
130
+ function lessThan(value, lt) {
131
+ return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
132
+ }
133
+
125
134
  function lessThanOrEquals(value, lte) {
126
- return isNumeric(value) && isNumeric(lte) && Number(value) <= Number(lte);
135
+ return numberEquals(value, lte) || lessThan(value, lte);
127
136
  }
128
137
 
129
138
  function isBetween(value, min, max) {
@@ -197,12 +206,8 @@
197
206
  var isNotNaN = bindNot(isNaN$1);
198
207
 
199
208
  function isNegative(value) {
200
- if (isNumeric(value)) {
201
- return Number(value) < 0;
202
- }
203
- return false;
209
+ return lessThan(value, 0);
204
210
  }
205
- var isPositive = bindNot(isNegative);
206
211
 
207
212
  /**
208
213
  * Validates that a given value is an odd number
@@ -214,6 +219,10 @@
214
219
  return false;
215
220
  };
216
221
 
222
+ function isPositive(value) {
223
+ return greaterThan(value, 0);
224
+ }
225
+
217
226
  var isNotString = bindNot(isStringValue);
218
227
 
219
228
  function isTruthy(value) {
@@ -234,10 +243,6 @@
234
243
  }
235
244
  var isNotValueOf = bindNot(isValueOf);
236
245
 
237
- function lessThan(value, lt) {
238
- return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
239
- }
240
-
241
246
  function longerThan(value, arg1) {
242
247
  return value.length > Number(arg1);
243
248
  }
@@ -259,11 +264,6 @@
259
264
  }
260
265
  var notMatches = bindNot(matches);
261
266
 
262
- function numberEquals(value, eq) {
263
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
264
- }
265
- var numberNotEquals = bindNot(numberEquals);
266
-
267
267
  function condition(value, callback) {
268
268
  try {
269
269
  return callback(value);
@@ -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 N(n,t){return l(n)&&l(t)&&Number(n)>Number(t)}function p(n,t){return l(n)&&l(t)&&Number(n)>=Number(t)}function g(n){return!!Array.isArray(n)}function h(n,t){return!!(g(t)||f(t)&&f(n))&&-1!==t.indexOf(n)}function v(n,t){return l(n)&&l(t)&&Number(n)<=Number(t)}function m(n,t,r){return p(n,t)&&v(n,r)}function y(n){return s(n)||f(n)&&!n.trim()}function d(n){return!!n===n}function b(n){return"number"==typeof n}function O(n,t){return n.length===Number(t)}function x(n){if(n){if(b(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return O(n,0);if("object"==typeof n)return O(Object.keys(n),0)}return!0}function E(n,t){return n in t}function w(n){return Number.isNaN(n)}function T(n){return!!l(n)&&0>Number(n)}function q(n){return!!n}function S(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function j(n,t){return l(n)&&l(t)&&Number(n)<Number(t)}function A(n,t){return t instanceof RegExp?t.test(n):!!f(t)&&new RegExp(t).test(n)}function B(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function P(n,t){return f(n)&&f(t)&&n.startsWith(t)}function W(t){for(var r in Nn){var e=Nn[r];n(e)&&t(r,e)}}function k(n,r){var e;return null!==(e=t(n))&&void 0!==e?e:r}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 n(Proxy)}catch(n){return!1}}function K(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,e,u){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return r(d(n)||n&&d(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),d(n)?K(n):K(n.pass,t.apply(void 0,I([n.message,e,u],i,!1)))}function U(n){function t(t,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return r((o=R.apply(void 0,I([pn.run({value:n},(function(){return e.apply(void 0,I([n],i,!1))})),u,n],i,!1))).pass,x(o.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):new String(o.message)),t}}var e={};if(!J())return W((function(n,r){e[n]=t(e,r,n)})),e;var u=new Proxy(e,{get:function(n,r){if(n=Nn[r])return t(u,n,r)}});return u}function V(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=Nn[i];u.push((function(n){return R.apply(void 0,I([f.apply(void 0,I([n],o,!1)),i,n],o,!1))}));var a={run:function(n){return k(e(u,(function(e,u){var i,o=pn.run({value:n},(function(){return e(n)}));o.pass||u(K(!!o.pass,null!==(i=t(r,n,o.message))&&void 0!==i?i:o.message))})),K(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return J()?a=new Proxy(a,{get:function(t,r){return Nn[r]?n(r):t[r]}}):(W((function(t){a[t]=n(t)})),a)}}(n)}var X,z=Object.assign,C=u(i),M=u(o),D=u(s),G=u(a),H=u(c),L=u(l),Q=u(g),Y=u(h),Z=u(m),$=u(y),_=u(d),nn=u(b),tn=u(O),rn=u(x),en=u(E),un=u(w),on=u(T),sn=u(f),fn=u(q),an=u(S),cn=u(A),ln=u(B),Nn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:u(P),endsWith:a,equals:c,greaterThan:N,greaterThanOrEquals:p,gt:N,gte:p,inside:h,isArray:g,isBetween:m,isBlank:y,isBoolean:d,isEmpty:x,isEven:function(n){return!!l(n)&&0==n%2},isFalsy:fn,isKeyOf:E,isNaN:w,isNegative:T,isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:_,isNotEmpty:rn,isNotKeyOf:en,isNotNaN:un,isNotNull:C,isNotNullish:D,isNotNumber:nn,isNotNumeric:L,isNotString:sn,isNotUndefined:M,isNotValueOf:an,isNull:i,isNullish:s,isNumber:b,isNumeric:l,isOdd:function(n){return!!l(n)&&0!=n%2},isPositive:on,isString:f,isTruthy:q,isUndefined:o,isValueOf:S,lengthEquals:O,lengthNotEquals:tn,lessThan:j,lessThanOrEquals:v,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:j,lte:v,matches:A,notEquals:H,notInside:Y,notMatches:cn,numberEquals:B,numberNotEquals:ln,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:P},pn=function(n){function e(r,e){var o,s,f=u();return r=z({},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,k(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:F})}));return X={context:function(){return pn.useX()},extend:function(n){z(Nn,n)}},J()?new Proxy(z(U,X),{get:function(n,t){return t in n?n[t]:Nn[t]?V(t):void 0}}):(W((function(n){X[n]=V(n)})),z(U,X)),function(){function n(n){return pn.run({value:n},(function(){return k(e(t,(function(t,r){try{var e=t.run(n)}catch(n){e=K(!1)}e.pass||r(e)})),K(!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 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}})}}));
@@ -143,8 +143,13 @@
143
143
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
144
144
  }
145
145
 
146
+ function numberEquals(value, eq) {
147
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
148
+ }
149
+ var numberNotEquals = bindNot(numberEquals);
150
+
146
151
  function greaterThanOrEquals(value, gte) {
147
- return isNumeric(value) && isNumeric(gte) && Number(value) >= Number(gte);
152
+ return numberEquals(value, gte) || greaterThan(value, gte);
148
153
  }
149
154
 
150
155
  // The module is named "isArrayValue" since it
@@ -167,8 +172,12 @@
167
172
  }
168
173
  var notInside = bindNot(inside);
169
174
 
175
+ function lessThan(value, lt) {
176
+ return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
177
+ }
178
+
170
179
  function lessThanOrEquals(value, lte) {
171
- return isNumeric(value) && isNumeric(lte) && Number(value) <= Number(lte);
180
+ return numberEquals(value, lte) || lessThan(value, lte);
172
181
  }
173
182
 
174
183
  function isBetween(value, min, max) {
@@ -242,12 +251,8 @@
242
251
  var isNotNaN = bindNot(isNaN$1);
243
252
 
244
253
  function isNegative(value) {
245
- if (isNumeric(value)) {
246
- return Number(value) < 0;
247
- }
248
- return false;
254
+ return lessThan(value, 0);
249
255
  }
250
- var isPositive = bindNot(isNegative);
251
256
 
252
257
  /**
253
258
  * Validates that a given value is an odd number
@@ -259,6 +264,10 @@
259
264
  return false;
260
265
  };
261
266
 
267
+ function isPositive(value) {
268
+ return greaterThan(value, 0);
269
+ }
270
+
262
271
  var isNotString = bindNot(isStringValue);
263
272
 
264
273
  function isTruthy(value) {
@@ -279,10 +288,6 @@
279
288
  }
280
289
  var isNotValueOf = bindNot(isValueOf);
281
290
 
282
- function lessThan(value, lt) {
283
- return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
284
- }
285
-
286
291
  function longerThan(value, arg1) {
287
292
  return value.length > Number(arg1);
288
293
  }
@@ -304,11 +309,6 @@
304
309
  }
305
310
  var notMatches = bindNot(matches);
306
311
 
307
- function numberEquals(value, eq) {
308
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
309
- }
310
- var numberNotEquals = bindNot(numberEquals);
311
-
312
312
  function condition(value, callback) {
313
313
  try {
314
314
  return callback(value);
@@ -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 N(n,t){return n===t}function v(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function h(n,t){return v(n)&&v(t)&&Number(n)>Number(t)}function g(n,t){return v(n)&&v(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function m(n,t){return!!(p(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function y(n,t){return v(n)&&v(t)&&Number(n)<=Number(t)}function d(n,t,r){return g(n,t)&&y(n,r)}function b(n){return s(n)||c(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 q(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return!!v(n)&&0>Number(n)}function A(n){return!!n}function B(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function P(n,t){return v(n)&&v(t)&&Number(n)<Number(t)}function W(n,t){return n.length>Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function k(n,t){return v(n)&&v(t)&&Number(n)===Number(t)}function F(n,t){return c(n)&&c(t)&&n.startsWith(t)}function I(n){for(var r in hn){var e=hn[r];t(e)&&n(r,e)}}function J(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?r(t):t)}function K(){return null}function R(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function U(){try{return t(Proxy)}catch(n){return!1}}function V(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return J(O(n)||n&&O(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),O(n)?u(n):u(n.pass,r.apply(void 0,R([n.message,t,e],i,!1)))}function X(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return J((i=V.apply(void 0,R([gn.run({value:n},(function(){return r.apply(void 0,R([n],u,!1))})),e,n],u,!1))).pass,w(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!U())return I((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=hn[r])return t(e,n,r)}});return e}function z(t){var i,o=[];return function t(f){return function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];var c=hn[f];o.push((function(n){return V.apply(void 0,R([c.apply(void 0,R([n],a,!1)),f,n],a,!1))}));var l={run:function(t){return e(n(o,(function(n,e){var o,f=gn.run({value:t},(function(){return n(t)}));f.pass||e(u(!!f.pass,null!==(o=r(i,t,f.message))&&void 0!==o?o:f.message))})),u(!0))},test:function(n){return l.run(n).pass},message:function(n){return n&&(i=n),l}};return U()?l=new Proxy(l,{get:function(n,r){return hn[r]?t(r):n[r]}}):(I((function(n){l[n]=t(n)})),l)}}(t)}var C,M=Object.assign,D=o(f),G=o(a),H=o(s),L=o(l),Q=o(N),Y=o(v),Z=o(p),$=o(m),_=o(d),nn=o(b),tn=o(O),rn=o(x),en=o(E),un=o(w),on=o(q),fn=o(S),an=o(T),sn=o(c),cn=o(A),ln=o(B),Nn=o(j),vn=o(k),hn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:L,doesNotStartWith:o(F),endsWith:l,equals:N,greaterThan:h,greaterThanOrEquals:g,gt:h,gte:g,inside:m,isArray:p,isBetween:d,isBlank:b,isBoolean:O,isEmpty:w,isEven:function(n){return!!v(n)&&0==n%2},isFalsy:cn,isKeyOf:q,isNaN:S,isNegative:T,isNotArray:Z,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:fn,isNotNull:D,isNotNullish:H,isNotNumber:rn,isNotNumeric:Y,isNotString:sn,isNotUndefined:G,isNotValueOf:ln,isNull:f,isNullish:s,isNumber:x,isNumeric:v,isOdd:function(n){return!!v(n)&&0!=n%2},isPositive:an,isString:c,isTruthy:A,isUndefined:a,isValueOf:B,lengthEquals:E,lengthNotEquals:en,lessThan:P,lessThanOrEquals:y,longerThan:W,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:P,lte:y,matches:j,notEquals:Q,notInside:$,notMatches:Nn,numberEquals:k,numberNotEquals:vn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:F},gn=function(n){function t(t,e){var o,f,a=u();return t=M({},a||{},null!==(o=r(n,t,a))&&void 0!==o?o:t),o=i.ctx=Object.freeze(t),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(f=i.ancestry[0])&&void 0!==f?f:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:u,useX:function(n){return J(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?M(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:M(r,{parent:K})}));(C={context:function(){return gn.useX()},extend:function(n){M(hn,n)}},U()?new Proxy(M(X,C),{get:function(n,t){return t in n?n[t]:hn[t]?z(t):void 0}}):(I((function(n){C[n]=z(n)})),M(X,C))).extend({allOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass||r(n)})),u(!0))},anyOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass&&r(n)})),u(!1))},noneOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){i(n,t).pass&&r(u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(W(e,1))return!1;(t=i(t,n)).pass&&e.push(t)})),u(E(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 N(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function h(n,t){return N(n)&&N(t)&&Number(n)>Number(t)}function g(n,t){return N(n)&&N(t)&&Number(n)===Number(t)}function p(n,t){return g(n,t)||h(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 N(n)&&N(t)&&Number(n)<Number(t)}function b(n,t){return g(n,t)||m(n,t)}function O(n,t,r){return p(n,t)&&b(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 n.length===Number(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 n.length>Number(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([Nn.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=Nn.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(N),Y=o(g),Z=o(y),$=o(d),_=o(O),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:h,greaterThanOrEquals:p,gt:h,gte:p,inside:d,isArray:y,isBetween:O,isBlank:x,isBoolean:E,isEmpty:S,isEven:function(n){return!!N(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:N,isOdd:function(n){return!!N(n)&&0!=n%2},isPositive:function(n){return h(n,0)},isString:c,isTruthy:B,isUndefined:a,isValueOf:P,lengthEquals:q,lengthNotEquals:en,lessThan:m,lessThanOrEquals:b,longerThan:W,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:m,lte:b,matches:j,notEquals:L,notInside:$,notMatches:ln,numberEquals:g,numberNotEquals:Y,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:k},Nn=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 Nn.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))}})}));
@@ -76,8 +76,13 @@
76
76
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
77
77
  }
78
78
 
79
+ function numberEquals(value, eq) {
80
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
81
+ }
82
+ var numberNotEquals = bindNot(numberEquals);
83
+
79
84
  function greaterThanOrEquals(value, gte) {
80
- return isNumeric(value) && isNumeric(gte) && Number(value) >= Number(gte);
85
+ return numberEquals(value, gte) || greaterThan(value, gte);
81
86
  }
82
87
 
83
88
  // The module is named "isArrayValue" since it
@@ -100,8 +105,12 @@
100
105
  }
101
106
  var notInside = bindNot(inside);
102
107
 
108
+ function lessThan(value, lt) {
109
+ return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
110
+ }
111
+
103
112
  function lessThanOrEquals(value, lte) {
104
- return isNumeric(value) && isNumeric(lte) && Number(value) <= Number(lte);
113
+ return numberEquals(value, lte) || lessThan(value, lte);
105
114
  }
106
115
 
107
116
  function isBetween(value, min, max) {
@@ -175,12 +184,8 @@
175
184
  var isNotNaN = bindNot(isNaN$1);
176
185
 
177
186
  function isNegative(value) {
178
- if (isNumeric(value)) {
179
- return Number(value) < 0;
180
- }
181
- return false;
187
+ return lessThan(value, 0);
182
188
  }
183
- var isPositive = bindNot(isNegative);
184
189
 
185
190
  /**
186
191
  * Validates that a given value is an odd number
@@ -192,6 +197,10 @@
192
197
  return false;
193
198
  };
194
199
 
200
+ function isPositive(value) {
201
+ return greaterThan(value, 0);
202
+ }
203
+
195
204
  var isNotString = bindNot(isStringValue);
196
205
 
197
206
  function isTruthy(value) {
@@ -212,10 +221,6 @@
212
221
  }
213
222
  var isNotValueOf = bindNot(isValueOf);
214
223
 
215
- function lessThan(value, lt) {
216
- return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
217
- }
218
-
219
224
  function longerThan(value, arg1) {
220
225
  return value.length > Number(arg1);
221
226
  }
@@ -237,11 +242,6 @@
237
242
  }
238
243
  var notMatches = bindNot(matches);
239
244
 
240
- function numberEquals(value, eq) {
241
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
242
- }
243
- var numberNotEquals = bindNot(numberEquals);
244
-
245
245
  function condition(value, callback) {
246
246
  try {
247
247
  return callback(value);
@@ -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){return!!Array.isArray(n)}function N(n,t){return!!(v(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function h(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function y(n,t,r){return p(n,t)&&h(n,r)}function d(n){return o(n)||a(n)&&!n.trim()}function g(n){return!!n===n}function m(n){return"number"==typeof n}function b(n,t){return n.length===Number(t)}function O(n){if(n){if(m(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return b(n,0);if("object"==typeof n)return b(Object.keys(n),0)}return!0}function x(n,t){return n in t}function E(n){return Number.isNaN(n)}function w(n){return!!c(n)&&0>Number(n)}function T(n){return!!n}function q(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function j(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function S(n,t){return t instanceof RegExp?t.test(n):!!a(t)&&new RegExp(t).test(n)}function P(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function A(n,t){return a(n)&&a(t)&&n.startsWith(t)}function B(n){for(var t in hn){var e=hn[t];r(e)&&n(t,e)}}function W(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 k(n,t){var r;return null!==(r=W(n))&&void 0!==r?r:t}function F(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?W(t):t)}function I(){return null}function J(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 K(){try{return r(Proxy)}catch(n){return!1}}function M(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return F(g(n)||n&&g(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),g(n)?M(n):M(n.pass,W.apply(void 0,J([n.message,t,r],e,!1)))}function U(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return F((i=R.apply(void 0,J([yn.run({value:n},(function(){return r.apply(void 0,J([n],u,!1))})),e,n],u,!1))).pass,O(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!K())return B((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=hn[r])return t(e,n,r)}});return e}function V(n){var r,e=[];return function n(u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var a=hn[u];e.push((function(n){return R.apply(void 0,J([a.apply(void 0,J([n],i,!1)),u,n],i,!1))}));var f={run:function(n){return k(t(e,(function(t,e){var u,i=yn.run({value:n},(function(){return t(n)}));i.pass||e(M(!!i.pass,null!==(u=W(r,n,i.message))&&void 0!==u?u:i.message))})),M(!0))},test:function(n){return f.run(n).pass},message:function(n){return n&&(r=n),f}};return K()?f=new Proxy(f,{get:function(t,r){return hn[r]?n(r):t[r]}}):(B((function(t){f[t]=n(t)})),f)}}(n)}function X(n,t){try{return n.run(t)}catch(n){return M(!1)}}function _(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=yn.run({value:e,set:!0,meta:{key:r}},(function(){return X(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return M(!0)}var z,C=Object.assign,D=e(u),G=e(i),H=e(o),L=e(f),Q=e(s),Y=e(c),Z=e(v),$=e(N),nn=e(y),tn=e(d),rn=e(g),en=e(m),un=e(b),on=e(O),an=e(x),fn=e(E),sn=e(w),cn=e(a),ln=e(T),pn=e(q),vn=e(S),Nn=e(P),hn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:L,doesNotStartWith:e(A),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:p,gt:l,gte:p,inside:N,isArray:v,isBetween:y,isBlank:d,isBoolean:g,isEmpty:O,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:ln,isKeyOf:x,isNaN:E,isNegative:w,isNotArray:Z,isNotBetween:nn,isNotBlank:tn,isNotBoolean:rn,isNotEmpty:on,isNotKeyOf:an,isNotNaN:fn,isNotNull:D,isNotNullish:H,isNotNumber:en,isNotNumeric:Y,isNotString:cn,isNotUndefined:G,isNotValueOf:pn,isNull:u,isNullish:o,isNumber:m,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:sn,isString:a,isTruthy:T,isUndefined:i,isValueOf:q,lengthEquals:b,lengthNotEquals:un,lessThan:j,lessThanOrEquals:h,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:j,lte:h,matches:S,notEquals:Q,notInside:$,notMatches:vn,numberEquals:P,numberNotEquals:Nn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:A},yn=function(n){function t(t,u){var i,o,a=r();return t=C({},a||{},null!==(i=W(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 F(e.ctx,k(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?C(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:C(r,{parent:I})})),dn=(z={context:function(){return yn.useX()},extend:function(n){C(hn,n)}},K()?new Proxy(C(U,z),{get:function(n,t){return t in n?n[t]:hn[t]?V(t):void 0}}):(B((function(n){z[n]=V(n)})),C(U,z)));dn.extend({isArrayOf:function(n,r){return k(t(n,(function(n,t,e){(e=yn.run({value:n,set:!0,meta:{index:e}},(function(){return X(r,n)}))).pass||t(e)})),M(!0))},loose:_,optional:function(n,t){return o(n)?M(!0):X(t,n)},shape:function(n,t){var r=_(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return M(!1);return M(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=dn.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 N(n,t){return!!(h(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function y(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function d(n,t){return p(n,t)||y(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 n.length===Number(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(N),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:N,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 y(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: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:S,notEquals:L,notInside:$,notMatches:pn,numberEquals:p,numberNotEquals:Y,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(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})})),Nn=(_={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,_)));Nn.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]=Nn.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));