vest 3.2.8-dev-6d7c74 → 3.2.8

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 (80) hide show
  1. package/README.md +115 -0
  2. package/any.d.ts +3 -0
  3. package/any.js +1 -0
  4. package/classNames.d.ts +14 -0
  5. package/classNames.js +1 -0
  6. package/docs/.nojekyll +0 -0
  7. package/docs/README.md +115 -0
  8. package/docs/_assets/favicon.ico +0 -0
  9. package/docs/_assets/vest-logo.png +0 -0
  10. package/docs/_sidebar.md +19 -0
  11. package/docs/_sidebar.md.bak +14 -0
  12. package/docs/cross_field_validations.md +79 -0
  13. package/docs/enforce.md +18 -0
  14. package/docs/enforce.md.bak +13 -0
  15. package/docs/exclusion.md +128 -0
  16. package/docs/getting_started.md +79 -0
  17. package/docs/group.md +142 -0
  18. package/docs/index.html +41 -0
  19. package/docs/migration.md +107 -0
  20. package/docs/n4s/compound.md +187 -0
  21. package/docs/n4s/custom.md +52 -0
  22. package/docs/n4s/external.md +54 -0
  23. package/docs/n4s/rules.md +1282 -0
  24. package/docs/n4s/template.md +53 -0
  25. package/docs/node.md +43 -0
  26. package/docs/optional.md +51 -0
  27. package/docs/result.md +238 -0
  28. package/docs/state.md +102 -0
  29. package/docs/test.md +172 -0
  30. package/docs/utilities.md +105 -0
  31. package/docs/warn.md +82 -0
  32. package/enforce.d.ts +230 -0
  33. package/esm/package.json +1 -0
  34. package/esm/vest.es.development.js +2493 -0
  35. package/esm/vest.es.production.js +2490 -0
  36. package/esm/vest.es.production.min.js +1 -0
  37. package/package.json +65 -12
  38. package/promisify.d.ts +7 -0
  39. package/{dist/umd/promisify.production.js → promisify.js} +1 -1
  40. package/schema.d.ts +26 -0
  41. package/schema.js +1 -0
  42. package/vest.cjs.development.js +2494 -0
  43. package/vest.cjs.production.js +2491 -0
  44. package/vest.cjs.production.min.js +1 -0
  45. package/vest.d.ts +254 -0
  46. package/vest.js +7 -0
  47. package/vest.umd.development.js +2711 -0
  48. package/vest.umd.production.js +2708 -0
  49. package/vest.umd.production.min.js +1 -0
  50. package/vestResult.d.ts +105 -0
  51. package/CHANGELOG.md +0 -94
  52. package/LICENSE +0 -21
  53. package/classnames/index.js +0 -7
  54. package/classnames/package.json +0 -1
  55. package/dist/cjs/classnames.development.js +0 -67
  56. package/dist/cjs/classnames.production.js +0 -1
  57. package/dist/cjs/promisify.development.js +0 -20
  58. package/dist/cjs/promisify.production.js +0 -1
  59. package/dist/cjs/vest.development.js +0 -1616
  60. package/dist/cjs/vest.production.js +0 -1
  61. package/dist/es/classnames.development.js +0 -65
  62. package/dist/es/classnames.production.js +0 -1
  63. package/dist/es/promisify.development.js +0 -18
  64. package/dist/es/promisify.production.js +0 -1
  65. package/dist/es/vest.development.js +0 -1604
  66. package/dist/es/vest.production.js +0 -1
  67. package/dist/umd/classnames.development.js +0 -73
  68. package/dist/umd/classnames.production.js +0 -1
  69. package/dist/umd/promisify.development.js +0 -26
  70. package/dist/umd/vest.development.js +0 -1622
  71. package/dist/umd/vest.production.js +0 -1
  72. package/index.js +0 -7
  73. package/promisify/index.js +0 -7
  74. package/promisify/package.json +0 -1
  75. package/types/classnames.d.ts +0 -71
  76. package/types/classnames.d.ts.map +0 -1
  77. package/types/promisify.d.ts +0 -61
  78. package/types/promisify.d.ts.map +0 -1
  79. package/types/vest.d.ts +0 -271
  80. package/types/vest.d.ts.map +0 -1
@@ -0,0 +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).vest=t()}(this,(function(){function n(n){return"function"==typeof n}function t(t,e){return n(t)?t.apply(null,e):t}function e(){return(e=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e,r=arguments[t];for(e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}return n}).apply(this,arguments)}function r(n){return"function"==typeof n}function i(n){return function(){return!n.apply(this,arguments)}}function u(n){return null===n}function a(n,t){return n.length===Number(t)}function o(){return cn().testObjects()}function s(n,t){return dn(n,{fieldName:t})}function c(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function f(n){return!(isNaN(parseFloat(n))||isNaN(Number(n))||!isFinite(n))}function l(n){if(n){if(f(n))return 0===n;if(c(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}function d(n,t){var e;return null!==(e=Object.getOwnPropertyDescriptor(n,"name"))&&void 0!==e&&e.configurable?Object.defineProperty(n,"name",{value:t}):n}function p(n,t){return d((function(){var t=Array.from(arguments),e=t.splice(n.length-1);return n.apply(null,t.concat([e]))}),t||n.name)}function g(n){var t=(n=n.reverse())[0],e=n[1];n=rn.use().stateRef;var i=En(),u=e&&(!i.tests[e]||0===i.tests[e].testCount);if(!r(t)||u)return i;var a=rn.bind({stateRef:n},(function(){return t(En(!0))}));return!Nn()||e&&!Nn(e)?(a(),i):((0,cn().testCallbacks()[1])((function(n){return e?n.fieldCallbacks[e]=(n.fieldCallbacks[e]||[]).concat(a):n.doneCallbacks.push(a),n})),i)}function h(){var n=En();if(n.hasErrors()||0===o()[0].length)return!1;var t=cn().optionalFields()[0],e=cn().pending()[0];if(bn(e.pending.concat(e.lagging).filter((function(n){return!n.isWarning}))))return!1;for(var r in n.tests)if(!t[r]&&0===n.tests[r].testCount)return!1;return!0}function v(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=Array(t);e<t;e++)r[e]=n[e];return r}function m(n,t){var e;if("undefined"==typeof Symbol||null==n[Symbol.iterator]){if(Array.isArray(n)||(e=function(n,t){if(n){if("string"==typeof n)return v(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);if("Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e)return Array.from(n);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return v(n,t)}}(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var r=0;return function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(e=n[Symbol.iterator]()).next.bind(e)}function y(n){en(this,n)}function b(n){return!!n===n}function N(n){return void 0===n}function w(n){N(n)||(b(n)?this.setFailed(!n):this.extend(n))}function E(n,t){var e=w.is(n),r=w.is(t);if(e&&r){if(n.setFailed(n.failed||t.failed),l(n.children)&&l(t.children))return n;if(n.children&&t.children){for(var i in n.children)E(n.children[i],t.children[i]);for(var u in t.children)c(n.children,u)||n.setChild(u,t.children[u]);return n}if(n.children){if(!t.children)return n}else n.children=t.children}else{if(e)return n;if(r)return t}return new w(!1)}function F(n,t){return!t.pass&&!t.warn&&(!!y.is(n)&&n.failFast)}function C(n,t){var e,r=new w(!0);for(n=m([].concat(n));!(e=n()).done&&(e=e.value,!F(t,r));)r.extend(k(e,t));return r}function k(n,t){return n.run(t)}function O(n,t,e){var r=new w(!0);l(t)&&r.setFailed(!0);var i,u=[],a=0;for(t=m(t);!(i=t()).done;){if(null===(i=k(i.value,n)))return null;var o=i.pass;if(o?a++:u.push(i),e)if("any"===e.mode){if(o){r.extend(i);break}}else{if(r.extend(i),"all"===e.mode&&!o)break;if("one"===e.mode&&(r.setFailed(1!==a),1<a))break}else if(r.extend(i),o)break}return r.pass&&0===a&&(r.setFailed(!0),u.forEach((function(n){return r.extend(n)}))),r}function A(n){return!!Array.isArray(n)}function x(n,t,e){var r,i=y.unwrap(n),u=new w(!0);for(r in t){var a=t[r],o=i[r];if(F(o,u))break;u.setChild(r,k(a,new y({value:o,obj:i,key:r}).setFailFast(n.failFast)))}if(!(e||{}).loose)for(var s in i)if(!c(t,s))return u.setFailed(!0);return u}function W(n,t){return r(n)?n.apply(null,t):n}function S(n){return String(n)===n}function T(n,t){return S(n)&&S(t)&&n.endsWith(t)}function j(n,t){return n===t}function R(n,t){return f(n)&&f(t)&&Number(n)>Number(t)}function I(n,t){return f(n)&&f(t)&&Number(n)>=Number(t)}function q(n,t){return!!(Array.isArray(t)&&/^[s|n|b]/.test(typeof n)||S(t)&&S(n))&&-1!==t.indexOf(n)}function B(n,t){return f(n)&&f(t)&&Number(n)<=Number(t)}function P(n,t,e){return I(n,t)&&B(n,e)}function K(n){return"string"==typeof n&&""===n.trim()}function G(n){return Number.isNaN(n)}function U(n){return!!f(n)&&0>Number(n)}function z(n){return"number"==typeof n}function M(n){return!!n}function V(n,t){return f(n)&&f(t)&&Number(n)<Number(t)}function D(n,t){return t instanceof RegExp?t.test(n):!!S(t)&&new RegExp(t).test(n)}function $(n,t){return f(n)&&f(t)&&Number(n)===Number(t)}function H(n,t){return S(n)&&S(t)&&n.startsWith(t)}function J(n,t){if(r($n.Proxy))return new Proxy(n,{get:function(n,e){return c(n,e)?n[e]:c(Dn,e)&&r(Dn[e])?t(e):n[e]}});var e,i=function(e){var i;r(n[e])||Object.defineProperties(n,((i={})[e]={get:function(){return t(e)}},i))};for(e in Dn)i(e);return n}function L(n){var t=[],e=[];return function n(r){return p((function(i){var u=Dn[r];Sn[u.name]===u?e.push((function(n,t,e){t.setAttribute(u.name,u(n,i[0],e))})):t.push(d((function(n){return u.apply(null,[c(Wn,u.name)?y.wrap(n):y.unwrap(n)].concat(i))}),r));var a=J({},n);return a.run=function(n){var r=new w(!0),i=!1;if(e.forEach((function(t){t(n,r,(function(n){return i=n}))})),i)return null;for(var u,a=m(t);!(u=a()).done;){u=u.value;try{if(r.extend(u(n)),!r.pass)break}catch(n){r.setFailed(!0);break}}return r},a.test=function(n){return a.run(y.wrap(n).setFailFast(!0)).pass},a}),r)}(n)}function Q(n,t,e){void 0===e&&(e=[]);var r=c(Wn,n.name),i=r?y.wrap(t).setFailFast(!0):y.unwrap(t);if(e=n.apply(null,[i].concat(e)),r||(r=e,t={message:Error("invalid "+typeof t+" value")},b(r)||r&&b(r.pass)||pn(n.name+"wrong return value"),b(r)?(t.pass=r,e=t):(t.pass=r.pass,r.message&&(t.message=W(r.message)),e=t)),!e.pass)throw e.message}function X(n){return Xn(Ln,"tests",n)}function Y(n){return Xn(Qn,"tests",n)}function Z(n){var t=n.fieldName;n=n.groupName;var e=rn.use().exclusion,r=e.tests,i=r[t];if(!1===i)return!0;if(i=!0===i,n){n:{var u=rn.use().exclusion.groups;if(c(u,n))var a=!1===u[n];else{for(a in u)if(!0===u[a]){a=!0;break n}a=!1}}if(a)return!0;if(!0===e.groups[n])return!i&&(!!Yn(r)||!1===r[t])}return!i&&Yn(r)}function _(n){return n.forEach((function(n){return n()}))}function nn(n){rt(n);var t=function(n){return rn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){N(n.statement)&&S(e)&&(n.statement=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{t&&r(t.then)&&(n.asyncTest=t,nt(n),it(n))}catch(n){}}var tn,en=Object.assign,rn=function(n){function t(t,u){var a,o,s=r();return t=e({},s||{},null!==(a=null==n?void 0:n(t,s))&&void 0!==a?a:t),a=i.ctx=Object.freeze(t),i.ancestry.unshift(a),u=u(a),i.ancestry.shift(),i.ctx=null!==(o=i.ancestry[0])&&void 0!==o?o:null,u}function r(){return i.ctx}var i={ancestry:[]};return{run:t,bind:function(n,e){for(var r=arguments.length,i=Array(2<r?r-2:0),u=2;u<r;u++)i[u-2]=arguments[u];return function(){for(var r=arguments.length,u=Array(r),a=0;a<r;a++)u[a]=arguments[a];return t(n,(function(){return e.apply(void 0,i.concat(u))}))}},use:r}}((function(n,t){var e;return t?null:en({},{exclusion:(e={},e.tests={},e.groups={},e)},n)})),un=(tn=0,function(){return""+tn++}),an=i(u),on=i(a),sn=function(n){void 0===n&&(n=10);var t=[],e=function e(r,i){var u=e.get(r);return an(u)?u[1]:(i=i(),t.unshift([r.concat(),i]),t.length>n&&(t.length=n),i)};return e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return a(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e},cn=function(){return rn.use().stateRef},fn=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},ln=function(n,t,e){var r,i=t.fieldName,u=t.isWarning,a=t.failed,o=t.statement;n[i]=n[i]||((r={}).errorCount=0,r.warnCount=0,r.testCount=0,r);var s=n[i];return e||(n[i].testCount++,n=function(n,t){s[n]++,o&&(s[t]=(s[t]||[]).concat(o))},a&&(u?n("warnCount","warnings"):n("errorCount","errors"))),s},dn=function(n,t){var e=o()[0],r=(t=t||{}).group,i=t.fieldName;return e=e.reduce((function(t,e){return r&&e.groupName!==r||i&&e.fieldName!==i||!e.failed||"warnings"!==n&&e.isWarning||"warnings"===n&&!e.isWarning||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.statement)),t}),{}),i?e[i]||[]:e},pn=function(n,t){throw void 0===t&&(t=Error),new t("[vest]: "+n)},gn=function(n,t,e){return t||pn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),dn(n,{group:t,fieldName:e})},hn=function(n,t,e){return!(!n.failed||e&&e!==n.fieldName||"warnings"!==t&&n.isWarning||"warnings"===t&&!n.isWarning)},vn=function(n,t){return o()[0].some((function(e){return hn(e,n,t)}))},mn=function(n,t,e){return o()[0].some((function(r){return t===r.groupName&&hn(r,n,e)}))},yn=i(f),bn=i(l),Nn=function(n){var t=cn().pending()[0];return!l(t=t.pending.concat(t.lagging))&&(n?t.some((function(t){return t.fieldName===n})):bn(t))},wn=sn(20),En=function(n){var t=rn.use().stateRef,e=o()[0],r={stateRef:t};return wn([e,n],rn.bind(r,(function(){return[["hasErrors",vn,"errors"],["hasWarnings",vn,"warnings"],["getErrors",s,"errors"],["getWarnings",s,"warnings"],["hasErrorsByGroup",mn,"errors"],["hasWarningsByGroup",mn,"warnings"],["getErrorsByGroup",gn,"errors"],["getWarningsByGroup",gn,"warnings"]].concat([["isValid",h]],n?[]:[["done",p(g)]]).reduce((function(n,t){return n[t[0]]=rn.bind(r,t[1],t[2]),n}),function(){function n(n,t){n.forEach((function(n){var e=n.fieldName,r=n.groupName;u.tests[e]=ln(u.tests,n,t),r&&(u.groups[r]=u.groups[r]||{},u.groups[r][e]=ln(u.groups[r],n,t))}))}var t,e=o()[0],r=cn().suiteId()[0],i=cn().skippedTests()[0],u=((t={}).errorCount=0,t.warnCount=0,t.testCount=0,t.groups={},t.name=r.name,t.tests={},t);return n(e),n(i,!0),fn(u)}())})))},Fn=p((function(e){var i=(e=e.reverse())[0];e=e[1],r(i)||pn("Suite initialization error. Expected `tests` to be a function.");var u=[],a=function(e){function r(n,e){return u.references.push(),i(n,t(e)),function(){return[u.references[n],function(e){return i(n,t(e,[u.references[n]]))}]}}function i(t,r){var i=u.references[t];u.references[t]=r,n(t=a[t][1])&&t(r,i),n(e)&&e()}var u={references:[]},a=[];return{registerStateKey:function(n,t){var e=a.length;return a.push([n,t]),r(e,n)},reset:function(){u.references=[],a.forEach((function(n,t){return r(t,n[0])}))}}}((function(){u.forEach((function(n){return n({suiteState:s,type:"suiteStateUpdate"})}))})),s=function(n,t){var e=t.suiteId,r=t.name;return{carryOverTests:n.registerStateKey((function(){return[]})),optionalFields:n.registerStateKey((function(){return{}})),pending:n.registerStateKey((function(){return{pending:[],lagging:[]}})),skippedTests:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return{id:e,name:r}})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]}))}}(a,{suiteId:un(),name:e});return(e=rn.bind({stateRef:s},(function(){var n=o()[0],t=cn().carryOverTests()[1],e=cn().pending(),r=e[0].pending;return e=e[1],a.reset(),t((function(){return n})),e({lagging:r,pending:[]}),i.apply(null,arguments),En()}))).get=rn.bind({stateRef:s},En,!0),e.reset=a.reset,e.remove=rn.bind({stateRef:s},(function(n){var t=o()[0];[].concat(t).forEach((function(t){t.fieldName===n&&t.cancel()}))})),e.subscribe=function(n){r(n)&&(u.push(n),n({type:"suiteSubscribeInit",suiteState:s}))},e}));y.prototype.setFailFast=function(n){return this.failFast=!!n,this},y.unwrap=function(n){return y.is(n)?n.value:n},y.wrap=function(n){return y.is(n)?n:new y({value:n})},y.is=function(n){return n instanceof y};var Cn=i(b),kn=i(N);w.is=function(n){return n instanceof w},w.prototype.asArray=function(){return this.isArray=!0,this},w.prototype.setAttribute=function(n,t){return this[n]=t,this},w.prototype.setFailed=function(n){return this.setAttribute(this.warn?"hasWarnings":"hasErrors",n),this.setAttribute("failed",n)},w.prototype.setChild=function(n,t){if(null===t)return null;var e=this.hasWarnings||t.hasWarnings||t.warn||this.warn;return this.setAttribute("hasWarnings",e&&t.failed||!1),this.setAttribute("hasErrors",this.hasErrors||t.hasErrors||!e&&t.failed||!1),this.setFailed(this.failed||t.failed),this.children=this.children||{},this.children[n]=t},w.prototype.getChild=function(n){return(this.children||{})[n]},w.prototype.extend=function(n){if(null===n)return this;n=w.is(n)?n:(new w).setAttribute("warn",!!this.warn).setFailed(!n);var t=this.failed||n.failed,e=E(n,this).children;en(this,n),l(e)||(this.children=e),this.setFailed(t),this.setAttribute("hasWarnings",!(!this.hasWarnings&&!n.hasWarnings)),this.setAttribute("hasErrors",!(!this.hasErrors&&!n.hasErrors))},Object.defineProperty(w.prototype,"pass",{get:function(){return!this.failed}});var On=p((function(n,t){return O(n,t,{mode:"all"})})),An=p((function(n,t){return O(n,t,{mode:"any"})})),xn=i(A),Wn={allOf:On,anyOf:An,isArrayOf:p((function(n,t){var e=y.unwrap(n),r=new w(!0).asArray();if(xn(e))return r.setFailed(!0);for(var i=0;i<e.length;i++)r.setChild(i,O(new y({value:e[i],obj:e,key:i}).setFailFast(n.failFast),t,{mode:"any"}));return r})),loose:function(n,t){return x(n,t,{loose:!0})},oneOf:p((function(n,t){return O(n,t,{mode:"one"})})),optional:p((function(n,t){var e=n.obj;return!(c(e,n=n.key)&&!N(e[n]||null===e[n])&&!l(t))||O(e[n],t,{mode:"all"})})),shape:x},Sn={warn:function(n,t){return void 0===t&&(t=!0),t},message:function(n,t){return W(t,[y.unwrap(n)])},when:function(n,t,e){return e(n=!W(t,[y.unwrap(n)].concat(y.is(n)?[n.key,n.obj]:[])))}},Tn=i(T),jn=i(j),Rn=i(q),In=i(P),qn=i(K),Bn=i(G),Pn=i(U),Kn=i(z),Gn=i(S),Un=i(M),zn=i(D),Mn=i($),Vn=i(H),Dn=en({doesNotEndWith:Tn,doesNotStartWith:Vn,endsWith:T,equals:j,greaterThan:R,greaterThanOrEquals:I,gt:R,gte:I,inside:q,isArray:A,isBetween:P,isBoolean:b,isBlank:K,isEmpty:l,isEven:function(n){return!!f(n)&&0==n%2},isFalsy:Un,isNaN:G,isNegative:U,isNotArray:xn,isNotBetween:In,isNotBlank:qn,isNotBoolean:Cn,isNotEmpty:bn,isNotNaN:Bn,isNotNull:an,isNotNumber:Kn,isNotNumeric:yn,isNotString:Gn,isNotUndefined:kn,isNull:u,isNumber:z,isNumeric:f,isOdd:function(n){return!!f(n)&&0!=n%2},isPositive:Pn,isString:S,isTruthy:M,isUndefined:N,lengthEquals:a,lengthNotEquals:on,lessThan:V,lessThanOrEquals:B,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:V,lte:B,matches:D,notEquals:jn,notInside:Rn,notMatches:zn,numberEquals:$,numberNotEquals:Mn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:H},Wn,Sn),$n=Function("return this")(),Hn=function(n){var t=J({},(function(e){return p((function(r){return Q(Dn[e],n,r),t}))}));return t},Jn=J(Hn,L);!function(n,t){n.extend=function(e){return en(Dn,e),r($n.Proxy)||J(t,L),n}}(Jn,Hn),function(n){n.template=p((function(n){var t=function(t){Q(C.bind(null,n),t);var e=J({},(function(n){return p((function(r){return Q(Dn[n],t,r),e}))}));return e};return t.run=function(t){return C(n,t)},t.test=function(t){return C(n,y.wrap(t).setFailFast(!0)).pass},t}))}(Jn),X.group=function(n){return Xn(Ln,"groups",n)},Y.group=function(n){return Xn(Qn,"groups",n)};var Ln="only",Qn="skip",Xn=function(n,t,e){var r=rn.use();e&&(r?[].concat(e).forEach((function(e){if(!S(e))return null;r.exclusion[t][e]=n===Ln})):pn(n+" hook called outside of a running suite."))},Yn=function(n){for(var t in n)if(!0===n[t])return!0;return!1},Zn=function(){return pn("group initialization error. Incompatible argument passed to group.")},_n=function(n,t){return-1!==(t=n.indexOf(t))&&n.splice(t,1),n},nt=function(n){var t=cn().pending(),e=t[1],r=[].concat(t[0].lagging).reduce((function(t,e){return n.fieldName===e.fieldName&&n.groupName===e.groupName&&e.id!==n.id?e.cancel():t.push(e),t}),[]);e((function(t){return{lagging:r,pending:t.pending.concat(n)}}))},tt=function(n){(0,cn().pending()[1])((function(t){return{pending:_n(t.pending,n),lagging:_n(t.lagging,n)}}))},et=function(n){(0,o()[1])((function(t){return[].concat(_n(t,n))}))},rt=function(n){(0,o()[1])((function(t){return t.concat(n)}))},it=function(n){var t=n.asyncTest,e=n.statement,r=rn.use().stateRef,i=rn.bind({stateRef:r},(function(){if(tt(n),!n.canceled){var t=n.fieldName,e=cn().testCallbacks()[0],r=e.fieldCallbacks;e=e.doneCallbacks,t&&!Nn(t)&&Array.isArray(r[t])&&_(r[t]),Nn()||_(e)}}));r=rn.bind({stateRef:r},(function(t){n.statement=S(t)?t:e,n.fail(),(0,o()[1])((function(n){return n.slice()})),i()}));try{t.then(i,r)}catch(n){r()}},ut=p((function(n,t){var e=t.reverse();t=e[0],e=e[1];var i=cn().skippedTests()[1],u=function(n){var t=n.statement,e=n.testFn,r=n.group,i={cancel:function(){i.canceled=!0,tt(this),et(this)},fail:function(){i.failed=!0},failed:!1,fieldName:n.fieldName,id:un(),isWarning:!1,statement:t,testFn:e,valueOf:function(){return!0!==i.failed},warn:function(){i.isWarning=!0}};return r&&(i.groupName=r),i}({fieldName:n,group:rn.use().groupName,statement:e,testFn:t});return Z(u)?(i((function(n){return n.concat(u)})),function(n){var t=cn().carryOverTests(),e=t[0];t=t[1];var r=o()[1],i=(e=function(n,t){return n.reduce((function(e,r,i){return e[t(r,i,n)?0:1].push(r),e}),[[],[]])}(e,(function(t){return t.fieldName===n.fieldName&&t.groupName===n.groupName})))[0],u=e[1];t((function(){return u})),r((function(n){return n.concat(i)}))}(u),u):r(t)?(nn(u),u):u}));return function(n){n.each=function(t){return Array.isArray(t)||pn("test.each: Expected table to be an array."),p((function(e,r){var i=(r=r.reverse())[0],u=r[1];return t.map((function(t){return t=[].concat(t),n(W(e,t),W(u,t),(function(){return i.apply(null,t)}))}))}))}}(ut),function(n){var t=sn(100);n.memo=p((function(e,i){var u=cn().suiteId()[0],a=i.reverse();i=a[1];var o=a[2];return u=[u.id,e].concat(a[0]),null===(a=t.get(u))?t(u,n.bind(null,e,o,i)):(Z(e=a[1])||(rt(e),(i=e)&&(i=(i=e.asyncTest)&&r(i.then)),i&&(nt(e),it(e))),e)}))}(ut),{VERSION:"3.2.8",create:Fn,enforce:Jn,group:function(n,t){S(n)||Zn(),r(t)||Zn(),rn.bind({groupName:n},t)()},only:X,optional:function(n){(0,cn().optionalFields()[1])((function(t){return[].concat(n).forEach((function(n){t[n]=!0})),t}))},skip:Y,skipWhen:function(n,t){Un(W(n))&&r(t)&&t()},test:ut,warn:function(){var n=rn.use();n?n.currentTest?n.currentTest.warn():pn("warn called outside of a test."):pn("warn hook called outside of a running suite.")}}}));
@@ -0,0 +1,105 @@
1
+ type DoneCB = (res: DraftResult) => void;
2
+
3
+ export type DraftResult = {
4
+ name: string;
5
+ errorCount: number;
6
+ warnCount: number;
7
+ testCount: number;
8
+ tests: {
9
+ [fieldName: string]: {
10
+ errorCount: number;
11
+ warnCount: number;
12
+ testCount: number;
13
+ errors?: string[];
14
+ warnings?: string[];
15
+ };
16
+ };
17
+ groups: {
18
+ [groupName: string]: {
19
+ [fieldName: string]: {
20
+ errorCount: number;
21
+ warnCount: number;
22
+ testCount: number;
23
+ errors?: string[];
24
+ warnings?: string[];
25
+ };
26
+ };
27
+ };
28
+ /**
29
+ * Returns whether the suite as a whole is valid.
30
+ * Determined if there are no errors, and if no
31
+ * required fields are skipped.
32
+ */
33
+ isValid: () => boolean;
34
+ /**
35
+ * Returns whether the specified field has errors
36
+ */
37
+ hasErrors: (fieldName?: string) => boolean;
38
+ /**
39
+ * Returns whether the specified field has warnings
40
+ */
41
+ hasWarnings: (fieldName?: string) => boolean;
42
+ /**
43
+ * Returns the error messages for all fields
44
+ */
45
+ getErrors(): { [fieldName: string]: string[] };
46
+ /**
47
+ * Returns the error messages for the specified test
48
+ */
49
+ getErrors(fieldName: string): string[];
50
+ /**
51
+ * Returns the warning messages for all fields
52
+ */
53
+ getWarnings(): { [fieldName: string]: string[] };
54
+ /**
55
+ * Returns the warning messages for the specified test
56
+ */
57
+ getWarnings(fieldName: string): string[];
58
+
59
+ /**
60
+ * Returns whether the specified group has errors
61
+ */
62
+ hasErrorsByGroup(groupName: string): boolean;
63
+ /**
64
+ * Returns whether the specified group and field combination has errors
65
+ */
66
+ hasErrorsByGroup(groupName: string, fieldName: string): boolean;
67
+ /**
68
+ * Returns whether the specified group has warnings
69
+ */
70
+ hasWarningsByGroup(groupName: string): boolean;
71
+ /**
72
+ * Returns whether the specified group and field combination has warnings
73
+ */
74
+ hasWarningsByGroup(groupName: string, fieldName: string): boolean;
75
+
76
+ /**
77
+ * Returns all the error messages for the specified group
78
+ */
79
+ getErrorsByGroup(groupName: string): { [fieldName: string]: string[] };
80
+ /**
81
+ * Returns all the error messages for the specified group and field
82
+ */
83
+ getErrorsByGroup(groupName: string, fieldName: string): string[];
84
+ /**
85
+ * Returns all the warning messages for the specified group
86
+ */
87
+ getWarningsByGroup(groupName: string): { [fieldName: string]: string[] };
88
+ /**
89
+ * Returns all the warning messages for the specified group and field
90
+ */
91
+ getWarningsByGroup(groupName: string, fieldName: string): string[];
92
+ };
93
+
94
+ type DoneResult = {
95
+ /**
96
+ * Runs a callback when all tests of the specified field finished running
97
+ */
98
+ done(fieldName: string, cb: DoneCB): IVestResult;
99
+ /**
100
+ * Runs a callback when all tests are finished running
101
+ */
102
+ done(cb: DoneCB): IVestResult;
103
+ };
104
+
105
+ export interface IVestResult extends DoneResult, DraftResult {}
package/CHANGELOG.md DELETED
@@ -1,94 +0,0 @@
1
- # vest - Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
-
7
- ## 3.2.8 - 2021-07-17
8
- ### Fixed and improved
9
- - packages/anyone/.npmignore
10
- - .github/PULL_REQUEST_TEMPLATE.md
11
- - aec6cd6 chore: cleanup unused code (ealush)
12
- - 0103b38 lint: handling lint of all packages (ealush)
13
- - .gitignore
14
- - 03cf487 patch(n4s): add ruleReturn default values (ealush)
15
- - 76e8c98 fix(n4s): make enforce compound runners fall back to correct response (ealush)
16
- - ff91bd2 fix(n4s): make enforce chaining work (ealush)
17
- - c3fd912 chore: some lint fixes (ealush)
18
- - f6321cf add cli options support (ealush)
19
- - 49b6b84 Vest 4 Infra Setup (ealush)
20
- - ba6c296 patch: remove unused optional references from the state (ealush)
21
-
22
- ## 3.2.7 - 2021-07-17
23
- ### Fixed and improved
24
- - .github/PULL_REQUEST_TEMPLATE.md
25
- - aec6cd6 chore: cleanup unused code (ealush)
26
- - 0103b38 lint: handling lint of all packages (ealush)
27
- - .gitignore
28
- - 03cf487 patch(n4s): add ruleReturn default values (ealush)
29
- - 76e8c98 fix(n4s): make enforce compound runners fall back to correct response (ealush)
30
- - ff91bd2 fix(n4s): make enforce chaining work (ealush)
31
- - c3fd912 chore: some lint fixes (ealush)
32
- - f6321cf add cli options support (ealush)
33
- - 49b6b84 Vest 4 Infra Setup (ealush)
34
- - ba6c296 patch: remove unused optional references from the state (ealush)
35
-
36
- ## 3.2.6 - 2021-07-17
37
- ### Fixed and improved
38
- - .github/PULL_REQUEST_TEMPLATE.md
39
- - aec6cd6 chore: cleanup unused code (ealush)
40
- - 0103b38 lint: handling lint of all packages (ealush)
41
- - .gitignore
42
- - 03cf487 patch(n4s): add ruleReturn default values (ealush)
43
- - 76e8c98 fix(n4s): make enforce compound runners fall back to correct response (ealush)
44
- - ff91bd2 fix(n4s): make enforce chaining work (ealush)
45
- - c3fd912 chore: some lint fixes (ealush)
46
- - f6321cf add cli options support (ealush)
47
- - 49b6b84 Vest 4 Infra Setup (ealush)
48
- - ba6c296 patch: remove unused optional references from the state (ealush)
49
-
50
- ## 3.2.5 - 2021-07-17
51
- ### Fixed and improved
52
- - .github/PULL_REQUEST_TEMPLATE.md
53
- - aec6cd6 chore: cleanup unused code (ealush)
54
- - 0103b38 lint: handling lint of all packages (ealush)
55
- - .gitignore
56
- - 03cf487 patch(n4s): add ruleReturn default values (ealush)
57
- - 76e8c98 fix(n4s): make enforce compound runners fall back to correct response (ealush)
58
- - ff91bd2 fix(n4s): make enforce chaining work (ealush)
59
- - c3fd912 chore: some lint fixes (ealush)
60
- - f6321cf add cli options support (ealush)
61
- - 49b6b84 Vest 4 Infra Setup (ealush)
62
- - ba6c296 patch: remove unused optional references from the state (ealush)
63
-
64
- ## 1.0.31 - 2021-07-02
65
- ### Fixed and improved
66
- - e6ea7d6 support global replaces (undefined)
67
- - 34e0414 improved conditions (undefined)
68
- - 26c28c6 all tests pass (undefined)
69
- - 33f4e46 release (undefined)
70
- - 6fe40c7 better bundle (undefined)
71
- - c2cfb65 better typing (undefined)
72
- - c6387ab before ts settings (undefined)
73
- - c0e9708 generate correct d.ts file (undefined)
74
- - packages/vest/types/vest.development.d.ts
75
- - 8e01b8e x (undefined)
76
- - afb3960 x (undefined)
77
- - e0a8463 add changelog support (undefined)
78
- - cc46c38 current (undefined)
79
- - 4a2073f patch(vest): changes (ealush)
80
- - c0a1705 patch(vest): changes (ealush)
81
- - 240386c better create generic (ealush)
82
- - b6db1c6 transform any to unknowns (ealush)
83
- - f2c20a7 add done integration tests (ealush)
84
- - ba56e33 produce methods (ealush)
85
- - 0638243 better produce integration tests (ealush)
86
- - 4098a11 getFailures as integration tests (ealush)
87
- - f56cf7f pd (ealush)
88
- - 2ea440e pd (ealush)
89
- - b3032ef relocate draftresult (ealush)
90
- - 962141f test getFailuresByGroup (ealush)
91
- - e163c56 test getFailures (ealush)
92
- - a92b6df test collectFailureMessages (ealush)
93
- - 81aad51 fix most tests (ealush)
94
- - c149e90 simplify collectFailureMessages (ealush)
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 ealush
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,7 +0,0 @@
1
- 'use strict'
2
-
3
- if (process.env.NODE_ENV === 'production') {
4
- module.exports = require('../dist/cjs/classnames.production.js')
5
- } else {
6
- module.exports = require('../dist/cjs/classnames.development.js')
7
- }
@@ -1 +0,0 @@
1
- {"main":"./index.js","name":"classnames","private":true,"types":"../types/classnames.d.ts"}
@@ -1,67 +0,0 @@
1
- 'use strict';
2
-
3
- function isNumeric(value) {
4
- var str = String(value);
5
- var num = Number(value);
6
- var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
7
- return Boolean(result);
8
- }
9
-
10
- function greaterThan(value, gt) {
11
- return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
12
- }
13
-
14
- /**
15
- * A safe hasOwnProperty access
16
- */
17
- function hasOwnProperty(obj, key) {
18
- return Object.prototype.hasOwnProperty.call(obj, key);
19
- }
20
-
21
- function isFunction(value) {
22
- return typeof value === 'function';
23
- }
24
-
25
- /**
26
- * Creates a function that returns class names that match the validation result
27
- */
28
- function classNames(res, classes) {
29
- if (classes === void 0) { classes = {}; }
30
- if (!res || !isFunction(res.hasErrors)) {
31
- throw new Error("[vest/classNames]: Expected first argument to be Vest's result object.");
32
- }
33
- var testedStorage = {};
34
- var selectors = {
35
- invalid: function (key) {
36
- return selectors.tested(key) && res.hasErrors(key);
37
- },
38
- tested: function (key) {
39
- if (hasOwnProperty(testedStorage, key)) {
40
- return testedStorage[key];
41
- }
42
- testedStorage[key] =
43
- hasOwnProperty(res.tests, key) &&
44
- greaterThan(res.tests[key].testCount, 0);
45
- return selectors.tested(key);
46
- },
47
- untested: function (key) { return !selectors.tested(key); },
48
- valid: function (key) {
49
- return selectors.tested(key) && !res.hasWarnings(key) && !res.hasErrors(key);
50
- },
51
- warning: function (key) {
52
- return selectors.tested(key) && res.hasWarnings(key);
53
- }
54
- };
55
- return function (key) {
56
- var classesArray = [];
57
- for (var selector in classes) {
58
- var sel = selector;
59
- if (isFunction(selectors[sel]) && selectors[sel](key)) {
60
- classesArray.push(classes[sel]);
61
- }
62
- }
63
- return classesArray.join(' ');
64
- };
65
- }
66
-
67
- module.exports = classNames;
@@ -1 +0,0 @@
1
- "use strict";function t(t){var r=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(r))}function r(t,r){return Object.prototype.hasOwnProperty.call(t,r)}function e(t){return"function"==typeof t}module.exports=function(n,s){if(void 0===s&&(s={}),!n||!e(n.hasErrors))throw Error("[vest/classNames]: Expected first argument to be Vest's result object.");var u={},i={invalid:function(t){return i.tested(t)&&n.hasErrors(t)},tested:function(e){return r(u,e)?u[e]:(u[e]=r(n.tests,e)&&function(r,e){return t(r)&&t(e)&&Number(r)>Number(e)}(n.tests[e].testCount,0),i.tested(e))},untested:function(t){return!i.tested(t)},valid:function(t){return i.tested(t)&&!n.hasWarnings(t)&&!n.hasErrors(t)},warning:function(t){return i.tested(t)&&n.hasWarnings(t)}};return function(t){var r,n=[];for(r in s){var u=r;e(i[u])&&i[u](t)&&n.push(s[u])}return n.join(" ")}};
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- function isFunction(value) {
4
- return typeof value === 'function';
5
- }
6
-
7
- var promisify = function (validatorFn) {
8
- return function () {
9
- var args = [];
10
- for (var _i = 0; _i < arguments.length; _i++) {
11
- args[_i] = arguments[_i];
12
- }
13
- if (!isFunction(validatorFn)) {
14
- throw new Error('[vest/promisify]: Expected validatorFn to be a function.');
15
- }
16
- return new Promise(function (resolve) { return validatorFn.apply(void 0, args).done(resolve); });
17
- };
18
- };
19
-
20
- module.exports = promisify;
@@ -1 +0,0 @@
1
- "use strict";function n(n){return"function"==typeof n}module.exports=function(t){return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];if(!n(t))throw Error("[vest/promisify]: Expected validatorFn to be a function.");return new Promise((function(n){return t.apply(void 0,r).done(n)}))}};