UNPKG

abolish

Version:

A javascript object validator.

2 lines (1 loc) 5.03 kB
"use strict";var AbolishArrayValidators=(()=>{var X=Object.create;var h=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var rr=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols,er=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable;var v=(e,r,a)=>r in e?h(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a,c=(e,r)=>{for(var a in r||(r={}))V.call(r,a)&&v(e,a,r[a]);if(g)for(var a of g(r))ar.call(r,a)&&v(e,a,r[a]);return e};var T=(e,r)=>()=>(e&&(r=e(e=0)),r);var u=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var tr=(e,r,a,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of rr(r))!V.call(e,t)&&t!==a&&h(e,t,{get:()=>r[t],enumerable:!(i=Y(r,t))||i.enumerable});return e};var m=(e,r,a)=>(a=e!=null?X(er(e)):{},tr(r||!e||!e.__esModule?h(a,"default",{value:e,enumerable:!0}):a,e));var R=(e,r,a)=>new Promise((i,t)=>{var n=y=>{try{s(a.next(y))}catch(p){t(p)}},o=y=>{try{s(a.throw(y))}catch(p){t(p)}},s=y=>y.done?i(y.value):Promise.resolve(y.value).then(n,o);s((a=a.apply(e,r)).next())});var S=u((fr,x)=>{"use strict";x.exports={name:"any",validator:()=>{throw new Error("Abolish: [any] is deprecated, use [inArray] instead.")}}});function l(e,r,a="Options"){if(!ir(e,r))throw new TypeError(`${a} must be typeof [${r}], but [${typeof e}] was given.`);return!0}function ir(e,r){if(typeof r=="string")return r==="array"&&Array.isArray(e)?!0:typeof e===r;{let a=r.includes("array");return!a&&r.includes(typeof e)?!0:a&&(r.includes(typeof e)||Array.isArray(e))}}function k(e,r){return typeof r=="string"&&(r=[r]),e.length?!e.some(a=>{try{return l(a,r),!1}catch(i){return!0}}):!0}var f=T(()=>{"use strict"});var O=u((dr,w)=>{"use strict";f();w.exports={name:"inArray",description:"Check that a value is in an array",error:":param does not exists in array [:option]",validator:(e,r)=>{if(l(r,["array","function"]),typeof r=="function"){let a=r(e);if(typeof a=="boolean")return a;Array.isArray(a)&&(r=a)}for(let a=0;a<r.length;a++)if(r[a]===e)return!0;return!1}}});var $=u((br,C)=>{"use strict";f();C.exports={name:"array",error:":param is not a valid array!",validator(e,r,{error:a}){return r===!1?!0:Array.isArray(e)?typeof r=="string"||Array.isArray(r)?k(e,r)?!0:a(`:param array values must be of type: [${r}]`):!0:!1}}});var E=u((vr,I)=>{"use strict";f();I.exports={name:"arraySize",validator(e,r,{error:a}){l(r,["number","array"]);let i=e.length;return typeof r=="number"&&i===r||Array.isArray(r)&&r.includes(i)?!0:a(`:param array length must be [${r}], but [${i}] was given.`)}}});var _=u((Vr,Z)=>{"use strict";var or=new RegExp(/([!a-zA-Z_*0-9]+)/g),sr=new RegExp(/([a-zA-Z_*0-9]+:[a-zA-Z_0-9]+)/g),nr=new RegExp(/([a-zA-Z_*0-9]+:"[^"]+")/g),lr=new RegExp(/([a-zA-Z_*0-9]+:'[^']+')/g),yr=new RegExp(/([a-zA-Z_*0-9]+:`[^`]+`)/g),ur=e=>{let r=e.split("|"),a={};for(let i=0;i<r.length;i++){let t=r[i];if(t.match(lr)||t.match(nr)||t.match(yr)){let[n,...o]=t.split(":"),s=o.join(":");s=s.substring(1),s=s.substring(0,o.length-1),a[n]=s}else if(t.match(sr)){let[n,o]=t.split(":");isNaN(o)||(o=Number(o)),a[n]=o}else if(t.match(or)){let n=t,o=!0;n.substring(0,1)==="!"&&(n=n.substring(1),o=!1),a[n]=o}}return a};Z.exports=ur});function A(e){Array.isArray(e)||(e=[e]);let r={};for(let a of e)typeof a=="string"&&(a=(0,j.default)(a)),r=c(c({},r),a);return r}var j,b=T(()=>{"use strict";j=m(_())});var N=u((kr,z)=>{"use strict";b();f();z.exports={name:"arrayValues",error:":param array values does not match the expected types",validator:(e,r,{error:a,abolish:i,modifier:t})=>{l(e,"array","[arrayValues] value"),l(r,["string","array","object"],"[arrayValues] rule"),(typeof r=="string"||Array.isArray(r))&&(r=A(r));let n=[];for(let o in e){let s=i.check(e[o],r);if(s[0])return a(s[0].message,s[0]).setCode(`index|${o}`);n.push(s[1])}t.setThis(n)}}});var G=u((Q,D)=>{"use strict";b();f();D.exports={name:"arrayValuesAsync",isAsync:!0,error:":param array values does not match the expected types",validator:(n,o,s)=>R(Q,[n,o,s],function*(e,r,{error:a,abolish:i,modifier:t}){l(e,"array","arrayValuesAsync values"),l(r,["string","array","object"]),(typeof r=="string"||Array.isArray(r))&&(r=A(r));let y=[];for(let p=0;p<e.length;p++){let[d,W]=yield i.checkAsync(e[p],c({$name:`arrayValues[${p}]`},r));if(d)return a(d.message,d);y.push(W)}t.setThis(y)})}});var L=u((Ir,K)=>{"use strict";f();K.exports={name:"notInArray",error:":param is not allowed",description:"Check that a value is not in an array",validator:(e,r)=>{if(l(r,["array","function"]),typeof r=="function"){let a=r(e);if(typeof a=="boolean")return a;if(Array.isArray(a))r=a;else throw new Error("The result of [notInArray] function must be a boolean or an array")}for(let a=0;a<r.length;a++)if(r[a]===e)return!1;return!0}}});var pr=u((Er,U)=>{var q=m(S()),B=m(O()),F=m($()),H=m(E()),J=m(N()),M=m(G()),P=m(L());U.exports={any:q.default,array:F.default,arraySize:H.default,arrayValues:J.default,arrayValuesAsync:M.default,inArray:B.default,notInArray:P.default}});return pr();})();