UNPKG

vue-types

Version:
2 lines (1 loc) 3.99 kB
(function(n,l){typeof exports=="object"&&typeof module!="undefined"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(n=typeof globalThis!="undefined"?globalThis:n||self,l(n.VueTypes={}))})(void 0,(function(n){"use strict";function l(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}const q=()=>({func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}),f={silent:!1,logLevel:"warn"};var C=Object.defineProperty,R=(e,t,a)=>t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,u=(e,t,a)=>R(e,typeof t!="symbol"?t+"":t,a);const c=Object.defineProperty,d=Array.isArray;function y(e){return"structuredClone"in globalThis?structuredClone(e):Array.isArray(e)?[...e]:l(e)?Object.assign({},e):e}function r(e,t={},a=!1){const i={_vueTypes_name:{value:e,writable:!0},def:{value(s){return s===void 0?("default"in this&&delete this.default,this):(d(s)?this.default=()=>y(s):l(s)?this.default=()=>y(s):this.default=s,this)}},isRequired:{get(){return this.required=!0,this}}};return a&&(i.validate={value(){}}),t.validator||(t.validator=()=>!0),Object.defineProperties(t,i)}const b=()=>r("any",{},!0),g=()=>r("func",{type:Function},!0),O=()=>r("bool",{type:Boolean},!0),p=()=>r("string",{type:String},!0),h=()=>r("number",{type:Number},!0),m=()=>r("array",{type:Array},!0),v=()=>r("object",{type:Object},!0),j=()=>r("symbol"),T=()=>r("integer",{type:Number}),P=e=>r("oneOf"),A=e=>r("custom"),V=e=>r("instanceOf",{type:e}),w=e=>r("oneOfType"),D=e=>r("arrayOf",{type:Array}),_=e=>r("objectOf",{type:Object}),N=e=>c(r("shape",{type:Object}),"loose",{get(){return this}}),S=()=>({type:null});function B(e,t,a,i=!1,s=!1){const o={[i?"get":"value"]:()=>r(t,Object.assign({},a),s).def(i?e.defaults[t]:void 0)};return c(e,t,o)}function F(e,t,a={}){const i=r(e,Object.assign({},t,a),!!t.validable);return i.validator&&delete i.validator,i}const L=(e,t)=>r(e,t,!0),M=(e,t)=>r(e,t),Y=(()=>{var e;return e=class{static get any(){return b()}static get func(){return g().def(this.defaults.func)}static get bool(){return O().def(this.defaults.bool)}static get string(){return p().def(this.defaults.string)}static get number(){return h().def(this.defaults.number)}static get array(){return m().def(this.defaults.array)}static get object(){return v().def(this.defaults.object)}static get symbol(){return j()}static get integer(){return T().def(this.defaults.integer)}static get nullable(){return S()}static extend(t){if(d(t))return t.forEach(H=>this.extend(H)),this;const{name:a,validate:i,getter:s=!1,type:o=null}=t,G=l(o)&&o.type?null:o;return B(this,a,{type:G},s,!!i)}},u(e,"defaults",{}),u(e,"sensibleDefaults"),u(e,"config",f),u(e,"oneOf",P),u(e,"custom",A),u(e,"instanceOf",V),u(e,"oneOfType",w),u(e,"arrayOf",D),u(e,"objectOf",_),u(e,"shape",N),u(e,"utils",{toType:r,validate:(...t)=>!!t}),e})();function E(e=q()){var t;return t=class extends Y{static get sensibleDefaults(){return Object.assign({},this.defaults)}static set sensibleDefaults(a){if(a===!1){this.defaults={};return}if(a===!0){this.defaults=Object.assign({},e);return}this.defaults=Object.assign({},a)}},u(t,"defaults",Object.assign({},e)),t}function k(e,t,a=!1){return!0}process.env.NODE_ENV!=="production"&&!f.silent&&console.warn("You are using the production shimmed version of VueTypes in a development build. Refer to https://vue-types.codeful.dev/guide/installation.html#production-build to learn how to configure VueTypes for usage in multiple environments.");class z extends E(){}n.any=b,n.array=m,n.arrayOf=D,n.bool=O,n.config=f,n.createTypes=E,n.custom=A,n.default=z,n.fromType=F,n.func=g,n.instanceOf=V,n.integer=T,n.nullable=S,n.number=h,n.object=v,n.objectOf=_,n.oneOf=P,n.oneOfType=w,n.shape=N,n.string=p,n.symbol=j,n.toType=M,n.toValidableType=L,n.validateType=k,Object.defineProperty(n,"__esModule",{value:!0})}));