vue-types
Version:
Prop types utility for Vue
2 lines (1 loc) • 3.92 kB
JavaScript
(function(n,u){typeof exports=="object"&&typeof module!="undefined"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(n=typeof globalThis!="undefined"?globalThis:n||self,u(n.VueTypes={}))})(void 0,(function(n){"use strict";function u(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 _=()=>({func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}),o={silent:!1,logLevel:"warn"};var N=Object.defineProperty,E=(e,t,a)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,s=(e,t,a)=>E(e,typeof t!="symbol"?t+"":t,a);const q=Object.defineProperty,C=Array.isArray;function f(e){return"structuredClone"in globalThis?structuredClone(e):Array.isArray(e)?[...e]:u(e)?Object.assign({},e):e}function r(e,t={},a=!1){const i={_vueTypes_name:{value:e,writable:!0},def:{value(l){return l===void 0?("default"in this&&delete this.default,this):(C(l)?this.default=()=>f(l):u(l)?this.default=()=>f(l):this.default=l,this)}},isRequired:{get(){return this.required=!0,this}}};return a&&(i.validate={value(){}}),t.validator||(t.validator=()=>!0),Object.defineProperties(t,i)}const c=()=>r("any",{},!0),d=()=>r("func",{type:Function},!0),y=()=>r("bool",{type:Boolean},!0),b=()=>r("string",{type:String},!0),g=()=>r("number",{type:Number},!0),p=()=>r("array",{type:Array},!0),h=()=>r("object",{type:Object},!0),O=()=>r("symbol"),m=()=>r("integer",{type:Number}),v=e=>r("oneOf"),j=e=>r("custom"),T=e=>r("instanceOf",{type:e}),V=e=>r("oneOfType"),w=e=>r("arrayOf",{type:Array}),P=e=>r("objectOf",{type:Object}),A=e=>q(r("shape",{type:Object}),"loose",{get(){return this}}),S=()=>({type:null});function R(e,t,a={}){const i=r(e,Object.assign({},t,a),!!t.validable);return i.validator&&delete i.validator,i}const B=(e,t)=>r(e,t,!0),F=(e,t)=>r(e,t),L=(()=>{var e;return e=class{static get any(){return c()}static get func(){return d().def(this.defaults.func)}static get bool(){return y().def(this.defaults.bool)}static get string(){return b().def(this.defaults.string)}static get number(){return g().def(this.defaults.number)}static get array(){return p().def(this.defaults.array)}static get object(){return h().def(this.defaults.object)}static get symbol(){return O()}static get integer(){return m().def(this.defaults.integer)}static get nullable(){return S()}static extend(t){console.warn("[VueTypes warn]: VueTypes.extend has been removed. Use the ES6+ method instead. See https://vue-types.codeful.dev/namespaced-usage/extend.html#extending-namespaced-validators-in-es6 for details.")}},s(e,"defaults",{}),s(e,"sensibleDefaults"),s(e,"config",o),s(e,"oneOf",v),s(e,"custom",j),s(e,"instanceOf",T),s(e,"oneOfType",V),s(e,"arrayOf",w),s(e,"objectOf",P),s(e,"shape",A),s(e,"utils",{toType:r,validate:(...t)=>!!t}),e})();function D(e=_()){var t;return t=class extends L{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)}},s(t,"defaults",Object.assign({},e)),t}function M(e,t,a=!1){return!0}process.env.NODE_ENV!=="production"&&!o.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 U extends D(){}n.any=c,n.array=p,n.arrayOf=w,n.bool=y,n.config=o,n.createTypes=D,n.custom=j,n.default=U,n.fromType=R,n.func=d,n.instanceOf=T,n.integer=m,n.nullable=S,n.number=g,n.object=h,n.objectOf=P,n.oneOf=v,n.oneOfType=V,n.shape=A,n.string=b,n.symbol=O,n.toType=F,n.toValidableType=B,n.validateType=M,Object.defineProperty(n,"__esModule",{value:!0})}));