UNPKG

vue-types

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