vest 4.0.0-dev-cc5cf5 → 4.0.0-dev-31f012

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 (44) hide show
  1. package/CHANGELOG.md +52 -44
  2. package/README.md +7 -1
  3. package/dist/cjs/classnames.development.js +3 -3
  4. package/dist/cjs/classnames.production.js +1 -1
  5. package/dist/cjs/promisify.development.js +1 -1
  6. package/dist/cjs/promisify.production.js +1 -1
  7. package/dist/cjs/vest.development.js +394 -180
  8. package/dist/cjs/vest.production.js +1 -1
  9. package/dist/es/classnames.development.js +3 -3
  10. package/dist/es/classnames.production.js +1 -1
  11. package/dist/es/promisify.development.js +1 -1
  12. package/dist/es/promisify.production.js +1 -1
  13. package/dist/es/vest.development.js +394 -180
  14. package/dist/es/vest.production.js +1 -1
  15. package/dist/umd/classnames.development.js +3 -3
  16. package/dist/umd/classnames.production.js +1 -1
  17. package/dist/umd/promisify.development.js +1 -1
  18. package/dist/umd/promisify.production.js +1 -1
  19. package/dist/umd/vest.development.js +394 -180
  20. package/dist/umd/vest.production.js +1 -1
  21. package/package.json +1 -1
  22. package/testUtils/testObjects.ts +11 -2
  23. package/types/classnames.d.ts +2 -2
  24. package/types/vest.d.ts +10 -3
  25. package/docs/.nojekyll +0 -0
  26. package/docs/README.md +0 -107
  27. package/docs/_assets/favicon.ico +0 -0
  28. package/docs/_assets/vest-logo.png +0 -0
  29. package/docs/_sidebar.md +0 -14
  30. package/docs/cross_field_validations.md +0 -34
  31. package/docs/enforce.md +0 -11
  32. package/docs/exclusion.md +0 -129
  33. package/docs/getting_started.md +0 -72
  34. package/docs/group.md +0 -142
  35. package/docs/index.html +0 -41
  36. package/docs/migration.md +0 -202
  37. package/docs/n4s/rules.md +0 -1282
  38. package/docs/node.md +0 -36
  39. package/docs/optional.md +0 -103
  40. package/docs/result.md +0 -249
  41. package/docs/state.md +0 -102
  42. package/docs/test.md +0 -172
  43. package/docs/utilities.md +0 -109
  44. package/docs/warn.md +0 -82
@@ -1 +1 @@
1
- function n(){return n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},n.apply(this,arguments)}function t(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||t)}var r=Object.assign;function e(n){return"function"==typeof n}function u(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 i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(n,t){try{return n.run(t)}catch(n){return s(!1)}}function c(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,t){return n.length===Number(t)}var l=c(f);function p(n,t){return n.length>Number(t)}function v(n){return null===n}var d=c(v);function h(n){return void 0===n}var g=c(h);function m(n){return String(n)===n}function y(n,t){return m(n)&&m(t)&&n.endsWith(t)}var N=c(y);function b(n,t){return n===t}var E=c(b);function O(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var C=c(O);function w(n,t){return O(n)&&O(t)&&Number(n)>Number(t)}function T(n,t){return O(n)&&O(t)&&Number(n)>=Number(t)}function S(n,t){return!!(Array.isArray(t)||m(t)&&m(n))&&-1!==t.indexOf(n)}var k=c(S);function x(n){return!!Array.isArray(n)}var P=c(x);function F(n,t){return O(n)&&O(t)&&Number(n)<=Number(t)}function j(n,t,r){return T(n,t)&&F(n,r)}var A=c(j);function W(n){return m(n)&&!n.trim()}var I=c(W);function R(n){return!!n===n}var q=c(R);function B(n){return"number"==typeof n}var D=c(B);function G(n){if(n){if(B(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}var X=c(G);function K(n){return Number.isNaN(n)}var L=c(K);function M(n){return!!O(n)&&0>Number(n)}var U=c(M),J=c(m);function _(n){return!!n}var z=c(_);function V(n,t){return O(n)&&O(t)&&Number(n)<Number(t)}function Y(n,t){return t instanceof RegExp?t.test(n):!!m(t)&&new RegExp(t).test(n)}var H=c(Y);function Q(n,t){return O(n)&&O(t)&&Number(n)===Number(t)}var Z=c(Q);function $(n,t){return m(n)&&m(t)&&n.startsWith(t)}var nn=c($);function tn(n,t){throw Error(o(t,n))}function rn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={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:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:tn(o(n,"Context was used after it was closed"))}}}var en=rn((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:un})}));function un(){return null}function on(n,t){function r(r){var e=n[r],u=t[r];if(!(r=en.run({value:e,set:!0,meta:{key:r}},(function(){return a(u,e)}))).pass)return{value:r}}for(var e in t){var u=r(e);if("object"==typeof u)return u.value}return s(!0)}var sn=r({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:N,doesNotStartWith:nn,endsWith:y,equals:b,greaterThan:w,greaterThanOrEquals:T,gt:w,gte:T,inside:S,isArray:x,isBetween:j,isBlank:W,isBoolean:R,isEmpty:G,isEven:function(n){return!!O(n)&&0==n%2},isFalsy:z,isNaN:K,isNegative:M,isNotArray:P,isNotBetween:A,isNotBlank:I,isNotBoolean:q,isNotEmpty:X,isNotNaN:L,isNotNull:d,isNotNumber:D,isNotNumeric:C,isNotString:J,isNotUndefined:g,isNull:v,isNumber:B,isNumeric:O,isOdd:function(n){return!!O(n)&&0!=n%2},isPositive:U,isString:m,isTruthy:_,isUndefined:h,lengthEquals:f,lengthNotEquals:l,lessThan:V,lessThanOrEquals:F,longerThan:p,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:V,lte:F,matches:Y,notEquals:E,notInside:k,notMatches:H,numberEquals:Q,numberNotEquals:Z,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:$},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass||r(t)})),s(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass&&r(t)})),s(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){a(t,n).pass&&r(s(!1))})),s(!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(p(e,1))return!1;(t=a(t,n)).pass&&e.push(t)})),s(f(e,1))},optional:function(n,t){return h(n)||null===n?s(!0):a(t,n)}},{shape:function(n,t){var r=on(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return s(!1);return s(!0)},loose:on,isArrayOf:function(n,t){return o(u(n,(function(n,r,e){(e=en.run({value:n,set:!0,meta:{index:e}},(function(){return a(t,n)}))).pass||r(e)})),s(!0))}});function an(n){for(var t in sn){var r=sn[t];e(r)&&n(t,r)}}function cn(){return"function"==typeof Proxy}function fn(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return R(n)||n&&R(n.pass)||tn("Incorrect return value for rule: "+JSON.stringify(n)),R(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u,!1)))}function ln(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=fn.apply(void 0,t([en.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!G(o.message))throw o.message;tn("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!cn())return an((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=sn[t])return r(u,n,t)}});return u}function pn(n){var r,e=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=sn[a];e.push((function(n){return fn.apply(void 0,t([l.apply(void 0,t([n],c,!1)),a,n],c,!1))}));var p={run:function(n){return o(u(e,(function(t,e){var u,o=en.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})),s(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return cn()?p=new Proxy(p,{get:function(t,r){return sn[r]?n(r):t[r]}}):(an((function(t){p[t]=n(t)})),p)}}(n)}function vn(n){var t,r={};for(t in n)r[t]=hn.optional(n[t]);return r}var dn,hn=(dn=n({context:function(){return en.useX()},extend:function(n){r(sn,n)}},{partial:vn}),cn()?new Proxy(r(ln,dn),{get:function(n,t){return t in n?n[t]:sn[t]?pn(t):void 0}}):(an((function(n){dn[n]=pn(n)})),dn)),gn=function(n){return function(){return""+n++}}(0);var mn=rn((function(n,t){return t?null:r({},{exclusion:{tests:{},groups:{}}},n)}));function yn(n,t){return!(!t||n.fieldName!==t)}function Nn(n){function t(e,u){var i=t.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),p(r,n)&&(r.length=n),u)}void 0===n&&(n=1);var r=[];return t.invalidate=function(n){var t=r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<t&&r.splice(t,1)},t.get=function(n){return r[r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},t}function bn(){return mn.useX().stateRef}function En(){return bn().testObjects()}function On(){(0,bn().testObjectsCursor()[1])((function(n){return n+1}))}function Cn(n){var t=bn().testObjectsCursor()[0],r=En();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}var wn=Nn();var Tn=Nn();function Sn(){var n=En()[0];return Tn([n],(function(){return n.filter((function(n){return n.isPending()}))}))}function kn(){var n=En()[1],t=bn().optionalFields()[0];if(!G(t)){var r={};n((function(n){return n.map((function(n){var u=n.fieldName;if(r.hasOwnProperty(u))r[n.fieldName]&&n.omit();else{var i=t[u];e(i)&&(r[u]=i(),r[n.fieldName]&&n.omit())}return n}))}))}}function xn(n){var t=Sn();return!G(t)&&(n?t.some((function(t){return yn(t,n)})):X(t))}function Pn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function Fn(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return i&&r.groupName!==i||o&&!yn(r,o)||"warnings"===t!=!!r.warns||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function jn(n){return Wn("errors",n)}function An(n){return Wn("warnings",n)}function Wn(n,t){return n=Fn(n,En()[0],{fieldName:t}),t?n[t]:n}function In(n,t){return n=qn("errors",n,t),t?n[t]:n}function Rn(n,t){return n=qn("warnings",n,t),t?n[t]:n}function qn(n,t,r){return t||tn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),Fn(n,En()[0],{group:t,fieldName:r})}function Bn(n,t,r){return!(!n.hasFailures()||r&&!yn(n,r)||"warnings"===t!=!!n.warns)}function Dn(n){return Xn("errors",n)}function Gn(n){return Xn("warnings",n)}function Xn(n,t){return En()[0].some((function(r){return Bn(r,n,t)}))}function Kn(n,t){return Mn("errors",n,t)}function Ln(n,t){return Mn("warnings",n,t)}function Mn(n,t,r){return En()[0].some((function(e){return t===e.groupName&&Bn(e,n,r)}))}var Un=Nn(20);function Jn(){var n=En()[0],t={stateRef:bn()};return Un([n],mn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return En()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Pn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Pn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:mn.bind(t,jn),getErrorsByGroup:mn.bind(t,In),getWarnings:mn.bind(t,An),getWarningsByGroup:mn.bind(t,Rn),hasErrors:mn.bind(t,Dn),hasErrorsByGroup:mn.bind(t,Kn),hasWarnings:mn.bind(t,Gn),hasWarningsByGroup:mn.bind(t,Ln),isValid:mn.bind(t,(function(n){var t=Jn(),r=function(){var n=En()[0];return wn([n],(function(){return n.reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{})}))}();return(r=!!n&&!!r[n])?n=!0:t.hasErrors(n)?n=!1:n=!(G(r=En()[0])||n&&G(t.tests[n])||function(n){var t=bn().optionalFields()[0];return X(Sn().filter((function(r){return!(n&&!yn(r,n))&&!0!==t[r.fieldName]})))}(n))&&function(n){var t=En()[0],r=bn().optionalFields()[0];return t.every((function(t){return!(!n||yn(t,n))||!0===r[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n}))})})))}var _n,zn=Nn(20);function Vn(){var n=En()[0],t={stateRef:bn()};return zn([n],mn.bind(t,(function(){return r({},Jn(),{done:mn.bind(t,Qn)})})))}function Yn(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function Hn(n){return!(xn()&&(!n||xn(n)))}function Qn(){function n(){return e(Jn())}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=(t=t.reverse())[0];return t=t[1],r=Vn(),Yn(e,t,r)?r:Hn(t)?(n(),r):(Zn(n,t),r)}function Zn(n,t){var r=mn.bind({},n);(0,bn().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function $n(n){return n.forEach((function(n){return n()}))}function nt(){var n=mn.useX();return n.bus||tn(),n.bus}function tt(n){return et("only","tests",n)}function rt(n){return et("skip","tests",n)}function et(n,t,r){var e=mn.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){m(r)&&(e.exclusion[t][r]="only"===n)}))}function ut(n){for(var t in n)if(!0===n[t])return!0;return!1}function it(n){tn("Wrong arguments passed to group. Group "+n+".")}(_n||(_n={})).TEST_COMPLETED="test_completed",tt.group=function(n){return et("only","groups",n)},rt.group=function(n){return et("skip","groups",n)};var ot=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=gn(),this.warns=!1,this.status=st,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,h(this.message)&&m(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==dt||(this.status=n)},n.prototype.setPending=function(){this.setStatus(pt)},n.prototype.fail=function(){this.setStatus(this.warns?ft:ct)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(lt)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.setStatus(at)},n.prototype.cancel=function(){this.setStatus(vt),function(n){(0,En()[1])((function(t){var r=t.indexOf(n);return-1!==r&&t.splice(r,1),[].concat(t)}))}(this)},n.prototype.omit=function(){this.setStatus(dt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===pt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===dt},n.prototype.isUntested=function(){return this.status===st},n.prototype.isFailing=function(){return this.status===ct},n.prototype.isCanceled=function(){return this.status===vt},n.prototype.isSkipped=function(){return this.status===at},n.prototype.isPassing=function(){return this.status===lt},n.prototype.isWarning=function(){return this.status===ft},n}(),st="UNTESTED",at="SKIPPED",ct="FAILED",ft="WARNING",lt="PASSING",pt="PENDING",vt="CANCELED",dt="OMITTED";function ht(n){var t=n.asyncTest,r=n.message;if(t&&e(t.then)){var u=nt().emit,i=bn(),o=mn.bind({stateRef:i},(function(){(0,En()[1])((function(n){return n.slice(0)})),u(_n.TEST_COMPLETED,n)}));i=mn.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=m(t)?t:r,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function gt(n){var t,r=bn().testObjectsCursor()[0],u=bn().prevTestObjects()[0];if((t=X(u[r]))&&(t=!((t=u[r]).fieldName===n.fieldName&&t.groupName===n.groupName)),t&&function(n,t){setTimeout((function(){tn(n,t)}),0)}("Vest Critical Error: Tests called in different order than previous run.\n The test at cursor "+r+" was not the same profile as the previous test.\n expected: "+JSON.stringify(u[r])+"\n actual: "+JSON.stringify(n)+"\n This usually happens when you conditionally call your tests using if/else.\n This might lead to unexpected behavior in your test results.\n Replacing if/else with skipWhen solves these issues."),Cn(r=o(u[r],n)),function(n){var t=n.fieldName;n=n.groupName;var r=mn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=mn.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!ut(e)&&!1!==e[t])}return!u&&ut(e)}(n))return n.skip(),On(),r;if(n!==r&&r.fieldName===n.fieldName&&r.groupName===n.groupName&&r.isPending()&&r.cancel(),Cn(n),On(),n.isUntested()){r=nt().emit,u=function(n){return mn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,h(n.message)&&m(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{u&&e(u.then)?(n.asyncTest=u,n.setPending(),ht(n)):r(_n.TEST_COMPLETED,n)}catch(t){tn("Your test function "+n.fieldName+" returned "+JSON.stringify(u)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}else(r=n.asyncTest)&&e(r.then)&&(n.setPending(),ht(n));return n}function mt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=mn.useX();return gt(t=new ot(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var yt=r(mt,{each:function(n){return function(r){return Array.isArray(r)||tn("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return r.map((function(r){return r=[].concat(r),n(i.apply(void 0,t([e],r,!1)),i.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(mt),memo:function(n){var t=Nn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=bn().suiteId()[0];var i=bn().testObjectsCursor()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):gt(u[1])}}(mt)}),Nt="4.0.0-dev-cc5cf5";function bt(n){e(n)||tn("Suite initialization error. Expected `tests` to be a function.");var t=function(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(_n.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=bn().testCallbacks()[0].fieldCallbacks;n&&!xn(n)&&Array.isArray(t[n])&&$n(t[n]),n=bn().testCallbacks()[0].doneCallbacks,xn()||$n(n)}})),n}(),u=function(n){function t(n,t){return u.references.push(),r(n,i(t)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){u.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),o=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(u,{suiteId:gn()});return r(mn.bind({stateRef:o,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=En()[0];return r=bn().prevTestObjects()[1],u.reset(),r((function(){return e})),n.apply(void 0,t),kn(),Vn()})),{get:mn.bind({stateRef:o},Jn),remove:mn.bind({stateRef:o},(function(n){var t=En()[0];[].concat(t).forEach((function(t){yn(t,n)&&t.cancel()}))})),reset:u.reset})}function Et(n,t){m(n)||it("name must be a string"),e(t)||it("callback must be a function"),mn.run({groupName:n},t)}function Ot(n){(0,bn().optionalFields()[1])((function(t){if(x(n)||m(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var r in n)t[r]=n[r];return t}))}function Ct(n,t){mn.run({skipped:i(n)},(function(){return t()}))}function wt(){var n=mn.useX("warn hook called outside of a running suite.");n.currentTest||tn("warn called outside of a test."),n.currentTest.warn()}export{Nt as VERSION,bt as create,hn as enforce,Et as group,tt as only,Ot as optional,rt as skip,Ct as skipWhen,yt as test,wt as warn};
1
+ function n(){return(n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)}function t(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||t)}var r=Object.assign;function e(n){return"function"==typeof n}function u(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 i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(n,t){try{return n.run(t)}catch(n){return s(!1)}}function c(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,t){return n.length===Number(t)}var l=c(f);function p(n,t){return n.length>Number(t)}function v(n){return null===n}var d=c(v);function h(n){return void 0===n}var g=c(h);function m(n){return String(n)===n}function y(n,t){return m(n)&&m(t)&&n.endsWith(t)}var N=c(y);function E(n,t){return n===t}var b=c(E);function C(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var O=c(C);function T(n,t){return C(n)&&C(t)&&Number(n)>Number(t)}function S(n,t){return C(n)&&C(t)&&Number(n)>=Number(t)}function w(n){return!!Array.isArray(n)}var P=c(w);function F(n,t){return!!(w(t)||m(t)&&m(n))&&-1!==t.indexOf(n)}var x=c(F);function k(n,t){return C(n)&&C(t)&&Number(n)<=Number(t)}function I(n,t,r){return S(n,t)&&k(n,r)}var A=c(I);function D(n){return m(n)&&!n.trim()}var L=c(D);function U(n){return!!n===n}var W=c(U);function X(n){return"number"==typeof n}var R=c(X);function j(n){if(n){if(X(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}var _=c(j);function G(n){return Number.isNaN(n)}var M=c(G);function q(n){return!!C(n)&&0>Number(n)}var B=c(q),K=c(m);function H(n){return!!n}var V=c(H);function J(n,t){return C(n)&&C(t)&&Number(n)<Number(t)}function z(n,t){return t instanceof RegExp?t.test(n):!!m(t)&&new RegExp(t).test(n)}var Y=c(z);function Q(n,t){return C(n)&&C(t)&&Number(n)===Number(t)}var Z=c(Q);function $(n,t){return m(n)&&m(t)&&n.startsWith(t)}var nn=c($);function tn(n,t){throw Error(o(t,n))}function rn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={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:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:tn(o(n,"Context was used after it was closed"))}}}var en=rn((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:un})}));function un(){return null}function on(n,t){function r(r){var e=n[r],u=t[r];if(!(r=en.run({value:e,set:!0,meta:{key:r}},(function(){return a(u,e)}))).pass)return{value:r}}for(var e in t){var u=r(e);if("object"==typeof u)return u.value}return s(!0)}var sn=r({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:N,doesNotStartWith:nn,endsWith:y,equals:E,greaterThan:T,greaterThanOrEquals:S,gt:T,gte:S,inside:F,isArray:w,isBetween:I,isBlank:D,isBoolean:U,isEmpty:j,isEven:function(n){return!!C(n)&&0==n%2},isFalsy:V,isNaN:G,isNegative:q,isNotArray:P,isNotBetween:A,isNotBlank:L,isNotBoolean:W,isNotEmpty:_,isNotNaN:M,isNotNull:d,isNotNumber:R,isNotNumeric:O,isNotString:K,isNotUndefined:g,isNull:v,isNumber:X,isNumeric:C,isOdd:function(n){return!!C(n)&&0!=n%2},isPositive:B,isString:m,isTruthy:H,isUndefined:h,lengthEquals:f,lengthNotEquals:l,lessThan:J,lessThanOrEquals:k,longerThan:p,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:J,lte:k,matches:z,notEquals:b,notInside:x,notMatches:Y,numberEquals:Q,numberNotEquals:Z,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:$},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass||r(t)})),s(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass&&r(t)})),s(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){a(t,n).pass&&r(s(!1))})),s(!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(p(e,1))return!1;(t=a(t,n)).pass&&e.push(t)})),s(f(e,1))},optional:function(n,t){return h(n)||null===n?s(!0):a(t,n)}},{shape:function(n,t){var r=on(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return s(!1);return s(!0)},loose:on,isArrayOf:function(n,t){return o(u(n,(function(n,r,e){(e=en.run({value:n,set:!0,meta:{index:e}},(function(){return a(t,n)}))).pass||r(e)})),s(!0))}});function an(n){for(var t in sn){var r=sn[t];e(r)&&n(t,r)}}function cn(){try{return e(Proxy)}catch(n){return!1}}function fn(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return U(n)||n&&U(n.pass)||tn("Incorrect return value for rule: "+JSON.stringify(n)),U(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u)))}function ln(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=fn.apply(void 0,t([en.run({value:n},(function(){return e.apply(void 0,t([n],i))})),u,n],i))).pass){if(!j(o.message))throw o.message;tn("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!cn())return an((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=sn[t])return r(u,n,t)}});return u}function pn(n){var r,e=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=sn[a];e.push((function(n){return fn.apply(void 0,t([l.apply(void 0,t([n],c)),a,n],c))}));var p={run:function(n){return o(u(e,(function(t,e){var u,o=en.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})),s(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return cn()?p=new Proxy(p,{get:function(t,r){return sn[r]?n(r):t[r]}}):(an((function(t){p[t]=n(t)})),p)}}(n)}function vn(n){var t,r={};for(t in n)r[t]=hn.optional(n[t]);return r}var dn,hn=(dn=n({context:function(){return en.useX()},extend:function(n){r(sn,n)}},{partial:vn}),cn()?new Proxy(r(ln,dn),{get:function(n,t){return t in n?n[t]:sn[t]?pn(t):void 0}}):(an((function(n){dn[n]=pn(n)})),dn)),gn=function(n){return function(){return""+n++}}(0);var mn,yn=mn||(mn={});function Nn(n,t){return t=t.suiteId,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function En(n){return(n=[].concat(n))[n.length-1]}function bn(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return En(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,En(t)},removeLevel:function(){t.pop()},reset:n}}yn[yn.DEFAULT=0]="DEFAULT",yn[yn.SUITE=1]="SUITE",yn[yn.EACH=2]="EACH",yn[yn.SKIP_WHEN=3]="SKIP_WHEN",yn[yn.GROUP=4]="GROUP";var Cn=rn((function(n,t){return t?null:r({},{isolate:{type:mn.DEFAULT},testCursor:bn(),exclusion:{tests:{},groups:{}}},n)}));function On(n,t){for(var r=[],e=0;e<n.length;e++){var u=n[e];w(u)?r.push(On(u,t)):(u=t(u),d(u)&&r.push(u))}return r}function Tn(n){return[].concat(n).reduce((function(n,t){return w(t)?n.concat(Tn(t)):[].concat(n).concat(t)}),[])}function Sn(n,t){var r=0;for(t=t.slice(0,-1);r<t.length;r++){var e=t[r];n[e]=o(n[e],[]),n=n[e]}return n}function wn(n){function t(e,u){var i=t.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),p(r,n)&&(r.length=n),u)}void 0===n&&(n=1);var r=[];return t.invalidate=function(n){var t=r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<t&&r.splice(t,1)},t.get=function(n){return r[r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},t}function Pn(){return Cn.useX().stateRef}function Fn(){(0,Pn().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function xn(n){(0,Pn().testObjects()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function kn(){return Tn(On(Pn().testObjects()[0].current,(function(n){return n.isPending()?n:null})))}var In=wn();function An(){var n=Pn().testObjects()[0].current;return In([n],(function(){return Tn(n)}))}function Dn(){return Cn.useX().testCursor.getCursor()}function Ln(n,t){if(n=void 0===(n=n.type)?mn.DEFAULT:n,e(t)){var r=Dn();return Cn.run({isolate:{type:n}},(function(){Cn.useX().testCursor.addLevel(),xn((function(n){return Sn(n,r)[En(r)]=[],n}));var n=t();return Cn.useX().testCursor.removeLevel(),Cn.useX().testCursor.next(),n}))}}function Un(n,t){return!(!t||n.fieldName!==t)}function Wn(n){var t=kn();return!j(t)&&(n?t.some((function(t){return Un(t,n)})):_(t))}function Xn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function Rn(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return i&&r.groupName!==i||o&&!Un(r,o)||"warnings"===t!=!!r.warns||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function jn(n){return Gn("errors",n)}function _n(n){return Gn("warnings",n)}function Gn(n,t){return n=Rn(n,An(),{fieldName:t}),t?n[t]:n}function Mn(n,t){return n=Bn("errors",n,t),t?n[t]:n}function qn(n,t){return n=Bn("warnings",n,t),t?n[t]:n}function Bn(n,t,r){return t||tn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),Rn(n,An(),{group:t,fieldName:r})}function Kn(n,t,r){return!(!n.hasFailures()||r&&!Un(n,r)||"warnings"===t!=!!n.warns)}function Hn(n){return Jn("errors",n)}function Vn(n){return Jn("warnings",n)}function Jn(n,t){return An().some((function(r){return Kn(r,n,t)}))}function zn(n,t){return Qn("errors",n,t)}function Yn(n,t){return Qn("warnings",n,t)}function Qn(n,t,r){return An().some((function(e){return t===e.groupName&&Kn(e,n,r)}))}var Zn=wn(20);function $n(){var n=An(),t={stateRef:Pn()};return Zn([n],Cn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return An().forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Xn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Xn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:Cn.bind(t,jn),getErrorsByGroup:Cn.bind(t,Mn),getWarnings:Cn.bind(t,_n),getWarningsByGroup:Cn.bind(t,qn),hasErrors:Cn.bind(t,Hn),hasErrorsByGroup:Cn.bind(t,zn),hasWarnings:Cn.bind(t,Vn),hasWarningsByGroup:Cn.bind(t,Yn),isValid:Cn.bind(t,(function(n){var t=$n(),r=An().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(r=!!n&&!!r[n])?n=!0:t.hasErrors(n)?n=!1:n=!(j(r=An())||n&&j(t.tests[n])||function(n){var t=Pn().optionalFields()[0];return _(kn().filter((function(r){return!(n&&!Un(r,n))&&!0!==t[r.fieldName]})))}(n))&&function(n){var t=An(),r=Pn().optionalFields()[0];return t.every((function(t){return!(!n||Un(t,n))||!0===r[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n}))})})))}var nt=wn(20);function tt(){var n=An(),t={stateRef:Pn()};return nt([n],Cn.bind(t,(function(){return r({},$n(),{done:Cn.bind(t,ut)})})))}function rt(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function et(n){return!(Wn()&&(!n||Wn(n)))}function ut(){function n(){return e($n())}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=(t=t.reverse())[0];return t=t[1],r=tt(),rt(e,t,r)?r:et(t)?(n(),r):(it(n,t),r)}function it(n,t){var r=Cn.bind({},n);(0,Pn().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function ot(n){return n.forEach((function(n){return n()}))}function st(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(ct.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=Pn().testCallbacks()[0].fieldCallbacks;n&&!Wn(n)&&w(t[n])&&ot(t[n]),n=Pn().testCallbacks()[0].doneCallbacks,Wn()||ot(n)}})),n.on(ct.SUITE_COMPLETED,(function(){!function(){var n=Pn().optionalFields()[0];if(!j(n)){var t={};xn((function(r){return On(r,(function(r){var u=r.fieldName;if(t.hasOwnProperty(u))t[r.fieldName]&&r.omit();else{var i=n[u];e(i)&&(t[u]=i(),t[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(ct.REMOVE_FIELD,(function(n){An().forEach((function(t){Un(t,n)&&(t.cancel(),function(n){xn((function(t){return On(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n}function at(){var n=Cn.useX();return n.bus||tn(),n.bus}var ct,ft=ct||(ct={});function lt(n){return vt(0,"tests",n)}function pt(n){return vt(1,"tests",n)}function vt(n,t,r){var e=Cn.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){m(r)&&(e.exclusion[t][r]=0===n)}))}function dt(n){for(var t in n)if(!0===n[t])return!0;return!1}function ht(n){tn("Wrong arguments passed to group. Group "+n+".")}ft.TEST_COMPLETED="test_completed",ft.REMOVE_FIELD="remove_field",ft.SUITE_COMPLETED="suite_completed",lt.group=function(n){return vt(0,"groups",n)},pt.group=function(n){return vt(1,"groups",n)};var gt=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=gn(),this.warns=!1,this.status=mt,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,h(this.message)&&m(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Tt||(this.status=n)},n.prototype.setPending=function(){this.setStatus(Ct)},n.prototype.fail=function(){this.setStatus(this.warns?Et:Nt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(bt)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.isPending()||this.setStatus(yt)},n.prototype.cancel=function(){this.setStatus(Ot),Fn()},n.prototype.omit=function(){this.setStatus(Tt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===Ct},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===Tt},n.prototype.isUntested=function(){return this.status===mt},n.prototype.isFailing=function(){return this.status===Nt},n.prototype.isCanceled=function(){return this.status===Ot},n.prototype.isSkipped=function(){return this.status===yt},n.prototype.isPassing=function(){return this.status===bt},n.prototype.isWarning=function(){return this.status===Et},n}(),mt="UNTESTED",yt="SKIPPED",Nt="FAILED",Et="WARNING",bt="PASSING",Ct="PENDING",Ot="CANCELED",Tt="OMITTED";function St(n){var t=n.asyncTest,r=n.message;if(t&&e(t.then)){var u=at().emit,i=Pn(),o=Cn.bind({stateRef:i},(function(){Fn(),u(ct.TEST_COMPLETED,n)}));i=Cn.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=m(t)?t:r,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function wt(n){var t=Pn().testObjects(),r=t[1],e=t[0].prev;if(j(e))return Pt(n),n;if(function(n,t){return _(n)&&!(n.fieldName===t.fieldName&&n.groupName===t.groupName)}(t=function(n){var t=Dn();return Sn(n,t)[En(t)]}(e),n)){!function(n,t){Cn.useX().isolate.type!==mn.EACH&&function(n,t){setTimeout((function(){tn(n,t)}),0)}("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+t.fieldName+"\n This happens when you conditionally call your tests using if/else.\n This might lead to incorrect validation results.\n Replacing if/else with skipWhen solves these issues.")}(t,n),t=Sn(e,Dn());var u=Cn.useX().testCursor.cursorAt();t.splice(u),r((function(n){return{prev:e,current:n.current}})),t=null}return Pt(n=o(t,n)),n}function Pt(n){var t=Dn();xn((function(r){return Sn(r,t)[En(t)]=n,r}))}function Ft(n){var t=wt(n);if(function(n){var t=n.fieldName;n=n.groupName;var r=Cn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=Cn.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!dt(e)&&!1!==e[t])}return!u&&dt(e)}(n))return n.skip(),Cn.useX().testCursor.next(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),Pt(n),Cn.useX().testCursor.next(),n.isUntested()){t=at();var r=function(n){return Cn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,h(n.message)&&m(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&e(r.then)?(n.asyncTest=r,n.setPending(),St(n)):t.emit(ct.TEST_COMPLETED,n)}catch(t){tn("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(t=n.asyncTest)&&e(t.then)&&(n.setPending(),St(n));return n}function xt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=Cn.useX();return Ft(t=new gt(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var kt=r(xt,{each:function(n){return function(r){return w(r)||tn("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return Ln({type:mn.EACH},(function(){return r.map((function(r){return r=[].concat(r),n(i.apply(void 0,t([e],r)),i.apply(void 0,t([a],r)),(function(){return s.apply(void 0,r)}))}))}))}}}(xt),memo:function(n){var t=wn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Pn().suiteId()[0];var i=Cn.useX().testCursor.cursorAt(),o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):Ft(u[1])}}(xt)}),It="4.0.0-dev-31f012";function At(n){e(n)||tn("vest.create: Expected callback to be a function.");var t=st(),u=function(n){function t(n,t,e){return u.references.push(),r(n,i(t,e)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){var n=u.references;u.references=[],o.forEach((function(r,e){return t(e,r[0],n[e])}))}}}(),o={stateRef:Nn(u,{suiteId:gn()}),bus:t};return r(Cn.bind(o,(function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return u.reset(),Ln({type:mn.SUITE},(function(){n.apply(void 0,r)})),t.emit(ct.SUITE_COMPLETED),tt()})),{get:Cn.bind(o,$n),reset:u.reset,remove:Cn.bind(o,(function(n){t.emit(ct.REMOVE_FIELD,n)}))})}function Dt(n,t){m(n)||ht("name must be a string"),e(t)||ht("callback must be a function"),Ln({type:mn.GROUP},(function(){Cn.run({groupName:n},t)}))}function Lt(n){(0,Pn().optionalFields()[1])((function(t){if(w(n)||m(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var r in n)t[r]=n[r];return t}))}function Ut(n,t){Ln({type:mn.SKIP_WHEN},(function(){Cn.run({skipped:i(n)},(function(){return t()}))}))}function Wt(){var n=Cn.useX("warn hook called outside of a running suite.");n.currentTest||tn("warn called outside of a test."),n.currentTest.warn()}export{It as VERSION,At as create,hn as enforce,Dt as group,lt as only,Lt as optional,pt as skip,Ut as skipWhen,kt as test,Wt as warn};
@@ -60,10 +60,10 @@
60
60
  /**
61
61
  * Creates a function that returns class names that match the validation result
62
62
  */
63
- function classNames(res, classes) {
63
+ function classnames(res, classes) {
64
64
  if (classes === void 0) { classes = {}; }
65
65
  if (!res || !isFunction(res.hasErrors)) {
66
- throwError("[vest/classNames]: Expected first argument to be Vest's result object.");
66
+ throwError("classnames: Expected first argument to be Vest's result object.");
67
67
  }
68
68
  var selectors = parse(res);
69
69
  return function (key) {
@@ -78,6 +78,6 @@
78
78
  };
79
79
  }
80
80
 
81
- return classNames;
81
+ return classnames;
82
82
 
83
83
  })));
@@ -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){var r;return null!==(r=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}(e))&&void 0!==r?r: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){if(void 0===o&&(o={}),!n||!t(n.hasErrors))throw Error(e(void 0,"[vest/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,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){var r;return null!==(r=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}(e))&&void 0!==r?r: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){if(void 0===o&&(o={}),!n||!t(n.hasErrors))throw Error(e(void 0,"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(" ")}}}));
@@ -22,7 +22,7 @@
22
22
  args[_i] = arguments[_i];
23
23
  }
24
24
  if (!isFunction(validatorFn)) {
25
- throwError('[vest/promisify]: Expected validatorFn to be a function.');
25
+ throwError('promisify: Expected validatorFn to be a function.');
26
26
  }
27
27
  return new Promise(function (resolve) { return validatorFn.apply(void 0, args).done(resolve); });
28
28
  };
@@ -1 +1 @@
1
- "use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).promisify=e()}(this,(function(){function n(n,e){var o;return null!==(o=function(n){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];return"function"==typeof n?n.apply(void 0,e):n}(n))&&void 0!==o?o:e}return function(e){return function(){for(var o=[],t=0;t<arguments.length;t++)o[t]=arguments[t];if("function"!=typeof e)throw Error(n(void 0,"[vest/promisify]: Expected validatorFn to be a function."));return new Promise((function(n){return e.apply(void 0,o).done(n)}))}}}));
1
+ "use strict";!function(n,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(n="undefined"!=typeof globalThis?globalThis:n||self).promisify=o()}(this,(function(){function n(n,o){var e;return null!==(e=function(n){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return"function"==typeof n?n.apply(void 0,o):n}(n))&&void 0!==e?e:o}return function(o){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if("function"!=typeof o)throw Error(n(void 0,"promisify: Expected validatorFn to be a function."));return new Promise((function(n){return o.apply(void 0,e).done(n)}))}}}));