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.
- package/dist/cjs/classnames.development.js +61 -23
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +20 -5
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +1 -1
- package/dist/cjs/parser.development.js +87 -22
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/vest.development.js +548 -566
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +61 -23
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -1
- package/dist/es/enforce/compounds.development.js +20 -5
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -1
- package/dist/es/parser.development.js +87 -22
- package/dist/es/parser.production.js +1 -1
- package/dist/es/vest.development.js +548 -566
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +61 -23
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +34 -30
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +36 -32
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +34 -30
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +87 -22
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +482 -515
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/testUtils/suiteDummy.ts +5 -1
- package/types/classnames.d.ts +17 -55
- package/types/enforce/compose.d.ts +22 -21
- package/types/enforce/compounds.d.ts +24 -23
- package/types/enforce/schema.d.ts +26 -25
- package/types/parser.d.ts +16 -54
- package/types/promisify.d.ts +23 -16
- 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
|
-
|
|
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:
|
|
55
|
-
tested:
|
|
56
|
-
|
|
57
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
247
|
+
return greaterThan(value.length, arg1);
|
|
243
248
|
}
|
|
244
249
|
|
|
245
250
|
function longerThanOrEquals(value, arg1) {
|
|
246
|
-
return value.length
|
|
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
|
|
277
|
+
return lessThan(value.length, arg1);
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
function shorterThanOrEquals(value, arg1) {
|
|
281
|
-
return value.length
|
|
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
|
-
|
|
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 `
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
292
|
+
return greaterThan(value.length, arg1);
|
|
288
293
|
}
|
|
289
294
|
|
|
290
295
|
function longerThanOrEquals(value, arg1) {
|
|
291
|
-
return value.length
|
|
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
|
|
322
|
+
return lessThan(value.length, arg1);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
function shorterThanOrEquals(value, arg1) {
|
|
326
|
-
return value.length
|
|
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
|
-
|
|
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
|
|
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))}})}));
|