vest 4.2.3-dev-87ebfa → 4.3.2-dev-2805e3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/classnames.development.js +61 -23
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/enforce/compose.development.js +1 -1
  4. package/dist/cjs/enforce/compounds.development.js +20 -5
  5. package/dist/cjs/enforce/compounds.production.js +1 -1
  6. package/dist/cjs/enforce/schema.development.js +1 -1
  7. package/dist/cjs/parser.development.js +87 -22
  8. package/dist/cjs/parser.production.js +1 -1
  9. package/dist/cjs/vest.development.js +548 -566
  10. package/dist/cjs/vest.production.js +1 -1
  11. package/dist/es/classnames.development.js +61 -23
  12. package/dist/es/classnames.production.js +1 -1
  13. package/dist/es/enforce/compose.development.js +1 -1
  14. package/dist/es/enforce/compounds.development.js +20 -5
  15. package/dist/es/enforce/compounds.production.js +1 -1
  16. package/dist/es/enforce/schema.development.js +1 -1
  17. package/dist/es/parser.development.js +87 -22
  18. package/dist/es/parser.production.js +1 -1
  19. package/dist/es/vest.development.js +548 -566
  20. package/dist/es/vest.production.js +1 -1
  21. package/dist/umd/classnames.development.js +61 -23
  22. package/dist/umd/classnames.production.js +1 -1
  23. package/dist/umd/enforce/compose.development.js +34 -30
  24. package/dist/umd/enforce/compose.production.js +1 -1
  25. package/dist/umd/enforce/compounds.development.js +36 -32
  26. package/dist/umd/enforce/compounds.production.js +1 -1
  27. package/dist/umd/enforce/schema.development.js +34 -30
  28. package/dist/umd/enforce/schema.production.js +1 -1
  29. package/dist/umd/parser.development.js +87 -22
  30. package/dist/umd/parser.production.js +1 -1
  31. package/dist/umd/vest.development.js +482 -515
  32. package/dist/umd/vest.production.js +1 -1
  33. package/package.json +1 -1
  34. package/testUtils/suiteDummy.ts +5 -1
  35. package/types/classnames.d.ts +17 -55
  36. package/types/enforce/compose.d.ts +22 -21
  37. package/types/enforce/compounds.d.ts +24 -23
  38. package/types/enforce/schema.d.ts +26 -25
  39. package/types/parser.d.ts +16 -54
  40. package/types/promisify.d.ts +23 -16
  41. package/types/vest.d.ts +109 -101
@@ -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){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,n){return i(t)&&i(n)&&Number(t)>Number(n)}function a(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),s(r.length,t)&&(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 c=u((function(t){return null===t}));function f(t){return"function"==typeof t}function l(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return f(t)?t.apply(void 0,n):t}function p(t,n){var e;return null!==(e=l(t))&&void 0!==e?e:n}function d(t){return(t=[].concat(t))[t.length-1]}function v(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(v(u,n)):(u=n(u),c(u)&&e.push(u))}return e}function h(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(h(n)):[].concat(t).concat(n)}),[])}function E(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=p(t[r],[]),t=t[r]}return t}var g=Object.assign;function N(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return d(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,d(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,C=R||(R={});C[C.ALL=0]="ALL",C[C.EAGER=1]="EAGER";var S=t((function(t,n){return n?null:g({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:m.DEFAULT,keys:{current:{},prev:{}}},mode:[R.ALL],testCursor:N()},t)}));function b(){return S.useX().stateRef}function T(){return b().testObjects()}function O(){(0,T()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function A(t){(0,T()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function _(){return h(v(T()[0].current,(function(t){return t.isPending()?t:null})))}var I=a();function k(){var t=T()[0].current;return I([t],(function(){return h(t)}))}var L,F=L||(L={});F.Error="error",F.Warning="warning";var U=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=L.Error,this.status=W,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!==H||(this.status=t)},t.prototype.warns=function(){return this.severity===L.Warning},t.prototype.setPending=function(){this.setStatus(D)},t.prototype.fail=function(){this.setStatus(this.warns()?X:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(w)},t.prototype.warn=function(){this.severity=L.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(P)},t.prototype.cancel=function(){this.setStatus(x),O()},t.prototype.reset=function(){this.status=W,O()},t.prototype.omit=function(){this.setStatus(H)},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(D)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(H)},t.prototype.isUntested=function(){return this.statusEquals(W)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(x)},t.prototype.isSkipped=function(){return this.statusEquals(P)},t.prototype.isPassing=function(){return this.statusEquals(w)},t.prototype.isWarning=function(){return this.statusEquals(X)},t.prototype.statusEquals=function(t){return this.status===t},t}(),W="UNTESTED",P="SKIPPED",G="FAILED",X="WARNING",w="PASSING",D="PENDING",x="CANCELED",H="OMITTED";function K(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?l(n):n)}function M(t){function n(t,n,u){return r.references.push(),e(t,l(n,u)),function(){return[r.references[t],function(n){return e(t,l(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,f(n=u[n][1])&&n(e,i),f(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 j(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 q(t){return null==t}function B(t){setTimeout((function(){throw Error(t)}),0)}function V(){return S.useX().testCursor.getCursor()}function Y(){return S.useX().testCursor.next()}function J(t,n){t=void 0===(t=t.type)?m.DEFAULT:t,K(f(n));var e={current:{},prev:{}},r=V();return S.run({isolate:{type:t,keys:e}},(function(){S.useX().testCursor.addLevel(),e.prev=function(){var t=T()[0].prev;return[].concat(E(t,V())).reduce((function(t,n){return n instanceof U&&!q(n.key)?(t[n.key]=n,t):t}),{})}(),A((function(t){return E(t,r)[d(r)]=[],t}));var t=n();return S.useX().testCursor.removeLevel(),Y(),t}))}var z,Q=z||(z={});Q.WARNINGS="warnings",Q.ERRORS="errors";var Z,$=Z||(Z={});function tt(t){return!t||("number"==typeof t?0===t:Object.prototype.hasOwnProperty.call(t,"length")?o(t.length,0):"object"==typeof t&&o((t=Object.keys(t)).length,0))}$.ERROR_COUNT="errorCount",$.WARN_COUNT="warnCount";var nt=u(tt);function et(t,n){return!(!n||t.fieldName!==n)}function rt(t,n){return k().some((function(e){return e.hasFailures()?n&&!et(e,n)?e=!1:(e=e.warns(),e=t===z.WARNINGS==!!e):e=!1,e}))}function ut(t){return!!function(t){return!!t&&k().some((function(n){return n.fieldName===t&&n.isOmitted()}))}(t)||!rt(z.ERRORS,t)&&(!tt(k())&&!function(t){var n=b().optionalFields()[0];return nt(_().filter((function(e){return!(t&&!et(e,t))&&!0!==n[e.fieldName]})))}(t)&&function(t){var n=k(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||et(n,t))||(!0===e[n.fieldName]||n.isTested()||n.isOmitted())}))}(t))}function it(){var t=S.useX().summary;return K(t),t}function ot(t,n){function e(t){i[t===z.ERRORS?Z.ERROR_COUNT:Z.WARN_COUNT]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||g({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(z.ERRORS):n.isWarning()&&e(z.WARNINGS)),i}function st(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function at(t,n){var e,r={};for(e in t)r[e]=t[e][n]||[];return r}function ct(t){return lt(z.ERRORS,t)}function ft(t){return lt(z.WARNINGS,t)}function lt(t,n){var e=it().tests;return n?st(e,t,n):at(e,t)}function pt(t,n){return vt(t,z.ERRORS,n)}function dt(t,n){return vt(t,z.WARNINGS,n)}function vt(t,n,e){return t=it().groups[t],e?st(t,n,e):at(t,n)}function ht(t){return gt(Z.ERROR_COUNT,t)}function Et(t){return gt(Z.WARN_COUNT,t)}function gt(t,n){var e,r=it();return s(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t],0)}function Nt(t,n){return yt(z.ERRORS,t,n)}function mt(t,n){return yt(z.WARNINGS,t,n)}function yt(t,n,e){var r,u,i=it();if(t=t===z.ERRORS?Z.ERROR_COUNT:Z.WARN_COUNT,!(n=i.groups[n]))return!1;if(e)return s(null===(r=n[e])||void 0===r?void 0:r[t],0);for(var o in n)if(s(null===(u=n[o])||void 0===u?void 0:u[t],0))return!0;return!1}function Rt(t){var n,e=it();return t?!(null===(n=e.tests[t])||void 0===n||!n.valid):e.valid}var Ct=a(1);function St(){var t=k(),n={stateRef:b()};return Ct([t],S.bind(n,(function(){var t=function(){var t=k(),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]=ot(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]=ot(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)}(),n=b().suiteName()[0],e={summary:t};return g(t,{getErrors:S.bind(e,ct),getErrorsByGroup:S.bind(e,pt),getWarnings:S.bind(e,ft),getWarningsByGroup:S.bind(e,dt),hasErrors:S.bind(e,ht),hasErrorsByGroup:S.bind(e,Nt),hasWarnings:S.bind(e,Et),hasWarningsByGroup:S.bind(e,mt),isValid:S.bind(e,Rt),suiteName:n})})))}function bt(t){var n=_();return!tt(n)&&(t?n.some((function(n){return et(n,t)})):nt(n))}var Tt=a(20);function Ot(){var t=k(),n={stateRef:b()};return Tt([t],S.bind(n,(function(){return g({},St(),{done:S.bind(n,It)})})))}function At(t,n,e){return!(f(t)&&(!n||e.tests[n]&&!tt(e.tests[n].testCount)))}function _t(t){return!(bt()&&(!t||bt(t)))}function It(){function t(){return r(St())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=Ot(),At(r,n,e)?e:_t(n)?(t(),e):(kt(t,n),e)}function kt(t,n){(0,b().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Lt(t){return t.forEach((function(t){return t()}))}function Ft(){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(Wt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!bt(n)&&Array.isArray(e[n])&&Lt(e[n]),bt()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!tt(t)){var n={};A((function(e){return v(e,(function(e){if(Object.prototype.hasOwnProperty.call(n,e.fieldName))n[e.fieldName]&&e.omit();else{var r=t[e.fieldName];f(r)&&(n[e.fieldName]=r(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){Lt(b().testCallbacks()[0].doneCallbacks)})),t.on(Wt.REMOVE_FIELD,(function(t){k().forEach((function(n){et(n,t)&&(n.cancel(),function(t){A((function(n){return v(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){k().forEach((function(n){et(n,t)&&n.reset()}))})),t}function Ut(){var t=S.useX();return K(t.bus),t.bus}var Wt,Pt=Wt||(Wt={});function Gt(t){return wt(0,"tests",t)}function Xt(t){return wt(1,"tests",t)}function wt(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 Dt(t){for(var n in t)if(!0===t[n])return!0;return!1}function xt(){var t,n=S.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Ht(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Kt(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 Mt(t){var n=t.asyncTest,e=t.message;if(n&&f(n.then)){var u=Ut().emit,i=b(),o=S.bind({stateRef:i},(function(){O(),u(Wt.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 jt(t){var n=T()[0].prev;if(tt(n))return qt(t),t;var e=V();if(n=E(n,e)[d(e)],!q(t.key)){n=t.key,(e=S.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=S.useX().isolate.keys.current;return q(r[n])?r[n]=e:B('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),qt(t),t}return!nt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(S.useX().isolate.type===m.EACH||B("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=T(),n=t[1],e=t[0].prev;t=E(e,V());var r=S.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),qt(t=p(n,t)),t}function qt(t){var n=V();A((function(e){return E(e,n)[d(n)]=t,e}))}function Bt(t){var n=R.EAGER;if(n=!(S.useX().mode[0]!==n||!rt(z.ERRORS,t.fieldName)))return t.skip(),jt(t),Y(),t;if(n=jt(t),S.useX().omitted)return n.omit(),Y(),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){var o=S.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:xt())return!0;if(!0===r.groups[t])return!(i||!Dt(u)&&!1!==u[n])}return!!(t=!!xt()&&!t)||!i&&!!Dt(u)&&!l(e[n])}(t))return n.skip(!!S.useX().skipped),Y(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),qt(t),Y(),t.isUntested()){n=Ut();var e=function(t){return S.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&f(e.then)?(t.asyncTest=e,t.setPending(),Mt(t)):n.emit(Wt.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)&&f(n.then)&&(t.setPending(),Mt(t));return t}function Vt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=f(n[1])?n:Kt([void 0],n,!0);n=u[0],e=u[1],u=u[2],K(r(t),Jt("fieldName","string")),K(f(e),Jt("Test callback","function"));var i=S.useX();return Bt(n=new U(t,e,{message:n,groupName:i.groupName,key:u}))}Pt.TEST_COMPLETED="test_completed",Pt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Pt.REMOVE_FIELD="remove_field",Pt.RESET_FIELD="reset_field",Pt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Gt.group=function(t){return wt(0,"groups",t)},Xt.group=function(t){return wt(1,"groups",t)};var Yt=g(Vt,{memo:function(t){var n=a(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=[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)}))):Bt(r[1])}}(Vt)});function Jt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var zt="4.3.2-dev-2805e3";function Qt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],K(f(r),"vest.create: Expected callback to be a function.");var u=Ft(),i=M();return t={stateRef:j(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(),J({type:m.SUITE},(function(){r.apply(void 0,t)})),u.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),Ot()})),{get:S.bind(t,St),remove:S.bind(t,(function(t){u.emit(Wt.REMOVE_FIELD,t)})),reset:i.reset,resetField:S.bind(t,(function(t){u.emit(Wt.RESET_FIELD,t)}))})}function Zt(t,n){K(f(n),"each callback must be a function"),J({type:m.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function $t(){var t=R.EAGER;S.useX().mode[0]=t}function tn(t,n){K(r(t),Ht("name must be a string")),K(f(n),Ht("callback must be a function")),J({type:m.GROUP},(function(){S.run({groupName:t},n)}))}function nn(t){var n=S.useX(),e=n.inclusion;return n=n.exclusion,K(r(t)),e[t]=p(n.tests[t],!0),{when:function(n){var e=S.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?p(u.tests[t],!0):r(n)?!!u.tests[n]:l(n,l(St))}}}}function en(t,n){J({type:m.OMIT_WHEN},(function(){S.run({omitted:!!S.useX().omitted||l(t,l(St))},(function(){return n()}))}))}function rn(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 un(t,n){J({type:m.SKIP_WHEN},(function(){S.run({skipped:!!S.useX().skipped||l(t,l(St))},(function(){return n()}))}))}function on(){var t=S.useX("warn hook called outside of a running suite.");K(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{zt as VERSION,S as context,Qt as create,Zt as each,$t as eager,tn as group,nn as include,en as omitWhen,Gt as only,rn as optional,Xt as skip,un as skipWhen,Yt as test,on as warn};
@@ -16,6 +16,18 @@
16
16
  return isFunction(value) ? value.apply(void 0, args) : value;
17
17
  }
18
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
+
19
31
  function invariant(condition,
20
32
  // eslint-disable-next-line @typescript-eslint/ban-types
21
33
  message) {
@@ -41,35 +53,62 @@
41
53
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
42
54
  }
43
55
 
44
- /**
45
- * A safe hasOwnProperty access
46
- */
47
- function hasOwnProperty(obj, key) {
48
- return Object.prototype.hasOwnProperty.call(obj, key);
56
+ function isPositive(value) {
57
+ return greaterThan(value, 0);
49
58
  }
50
59
 
60
+ var Severity;
61
+ (function (Severity) {
62
+ Severity["WARNINGS"] = "warnings";
63
+ Severity["ERRORS"] = "errors";
64
+ })(Severity || (Severity = {}));
65
+ var SeverityCount;
66
+ (function (SeverityCount) {
67
+ SeverityCount["ERROR_COUNT"] = "errorCount";
68
+ SeverityCount["WARN_COUNT"] = "warnCount";
69
+ })(SeverityCount || (SeverityCount = {}));
70
+
71
+ // eslint-disable-next-line max-lines-per-function
51
72
  function parse(res) {
73
+ invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
52
74
  var testedStorage = {};
53
75
  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
76
+ invalid: hasErrors,
77
+ tested: isTested,
78
+ untested: isUntested,
79
+ valid: isValid,
80
+ warning: hasWarnings
71
81
  };
72
82
  return selectors;
83
+ function isTested(fieldName) {
84
+ if (!fieldName) {
85
+ return isPositive(res.testCount);
86
+ }
87
+ if (hasOwnProperty(testedStorage, fieldName))
88
+ return testedStorage[fieldName];
89
+ testedStorage[fieldName] =
90
+ hasOwnProperty(res.tests, fieldName) &&
91
+ isPositive(res.tests[fieldName].testCount);
92
+ return selectors.tested(fieldName);
93
+ }
94
+ function isUntested(fieldName) {
95
+ return res.testCount === 0 || !selectors.tested(fieldName);
96
+ }
97
+ function isValid(fieldName) {
98
+ var _a;
99
+ return fieldName ? Boolean((_a = res.tests[fieldName]) === null || _a === void 0 ? void 0 : _a.valid) : res.valid;
100
+ }
101
+ function hasWarnings(fieldName) {
102
+ return hasFailures(SeverityCount.WARN_COUNT, fieldName);
103
+ }
104
+ function hasErrors(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);
111
+ }
73
112
  }
74
113
 
75
114
  /**
@@ -77,7 +116,6 @@
77
116
  */
78
117
  function classnames(res, classes) {
79
118
  if (classes === void 0) { classes = {}; }
80
- invariant(res && isFunction(res.hasErrors), "classnames: Expected first argument to be Vest's result object.");
81
119
  var selectors = parse(res);
82
120
  return function (key) {
83
121
  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){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(" ")}}}));
@@ -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) {
@@ -155,7 +164,7 @@
155
164
  var isNotNumber = bindNot(isNumber);
156
165
 
157
166
  function lengthEquals(value, arg1) {
158
- return value.length === Number(arg1);
167
+ return numberEquals(value.length, arg1);
159
168
  }
160
169
  var lengthNotEquals = bindNot(lengthEquals);
161
170
 
@@ -172,7 +181,7 @@
172
181
  else if (typeof value === 'object') {
173
182
  return lengthEquals(Object.keys(value), 0);
174
183
  }
175
- return true;
184
+ return false;
176
185
  }
177
186
  var isNotEmpty = bindNot(isEmpty);
178
187
 
@@ -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,16 +243,12 @@
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
- return value.length > Number(arg1);
247
+ return greaterThan(value.length, arg1);
243
248
  }
244
249
 
245
250
  function longerThanOrEquals(value, arg1) {
246
- return value.length >= Number(arg1);
251
+ return greaterThanOrEquals(value.length, arg1);
247
252
  }
248
253
 
249
254
  function matches(value, regex) {
@@ -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);
@@ -274,11 +274,11 @@
274
274
  }
275
275
 
276
276
  function shorterThan(value, arg1) {
277
- return value.length < Number(arg1);
277
+ return lessThan(value.length, arg1);
278
278
  }
279
279
 
280
280
  function shorterThanOrEquals(value, arg1) {
281
- return value.length <= Number(arg1);
281
+ return lessThanOrEquals(value.length, arg1);
282
282
  }
283
283
 
284
284
  function startsWith(value, arg1) {
@@ -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
 
@@ -697,7 +701,7 @@
697
701
  return ctx.run({ value: value }, function () {
698
702
  return defaultToPassing(mapFirst(composites, function (composite, breakout) {
699
703
  /* HACK: Just a small white lie. ~~HELP WANTED~~.
700
- The ideal is that instead of `TLazyRuleRunners` We would simply use `TLazy` to begin with.
704
+ The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
701
705
  The problem is that lazy rules can't really be passed to this function due to some generic hell
702
706
  so we're limiting it to a small set of functions.
703
707
  */
@@ -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 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}})}}));
@@ -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) {
@@ -200,7 +209,7 @@
200
209
  var isNotNumber = bindNot(isNumber);
201
210
 
202
211
  function lengthEquals(value, arg1) {
203
- return value.length === Number(arg1);
212
+ return numberEquals(value.length, arg1);
204
213
  }
205
214
  var lengthNotEquals = bindNot(lengthEquals);
206
215
 
@@ -217,7 +226,7 @@
217
226
  else if (typeof value === 'object') {
218
227
  return lengthEquals(Object.keys(value), 0);
219
228
  }
220
- return true;
229
+ return false;
221
230
  }
222
231
  var isNotEmpty = bindNot(isEmpty);
223
232
 
@@ -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,16 +288,12 @@
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
- return value.length > Number(arg1);
292
+ return greaterThan(value.length, arg1);
288
293
  }
289
294
 
290
295
  function longerThanOrEquals(value, arg1) {
291
- return value.length >= Number(arg1);
296
+ return greaterThanOrEquals(value.length, arg1);
292
297
  }
293
298
 
294
299
  function matches(value, regex) {
@@ -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);
@@ -319,11 +319,11 @@
319
319
  }
320
320
 
321
321
  function shorterThan(value, arg1) {
322
- return value.length < Number(arg1);
322
+ return lessThan(value.length, arg1);
323
323
  }
324
324
 
325
325
  function shorterThanOrEquals(value, arg1) {
326
- return value.length <= Number(arg1);
326
+ return lessThanOrEquals(value.length, arg1);
327
327
  }
328
328
 
329
329
  function startsWith(value, arg1) {
@@ -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 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 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))}})}));