vue-types
Version:
Prop types utility for Vue
3 lines (2 loc) • 3.14 kB
JavaScript
function t(){return(t=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function e(t){return"[object Object]"===Object.prototype.toString.call(t)}function r(t){var r,n;return!1!==e(t)&&(void 0===(r=t.constructor)||!1!==e(n=r.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}const n={silent:!1},s=Object.defineProperty,a=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function i(t,e={},n=!1){const s={_vueTypes_name:{value:t,writable:!0},def:{value(t){const e=this;return void 0!==t||e.default?(e.default=a(t)?()=>[].concat(t):r(t)?()=>Object.assign({},t):t,e):e}},isRequired:{get(){return this.required=!0,this}}};return n&&(s.validate={value(){}}),Object.assign(Object.defineProperties({validator:()=>!0},s),e)}const o=()=>i("any",{},!0),u=()=>i("func",{type:Function},!0),c=()=>i("bool",{type:Boolean},!0),l=()=>i("string",{type:String},!0),f=()=>i("number",{type:Number},!0),d=()=>i("array",{type:Array},!0),p=()=>i("object",{type:Object},!0),y=()=>i("symbol"),b=()=>i("integer",{type:Number}),g=t=>i("oneOf"),h=t=>i("custom"),O=t=>i("instanceOf",{type:t}),v=t=>i("oneOfType"),j=t=>i("arrayOf",{type:Array}),m=t=>i("objectOf",{type:Object}),w=t=>s(i("shape",{type:Object}),"loose",{get(){return this}});function T(t,e,r,n=!1,a=!1){return s(t,e,{[n?"get":"value"]:()=>i(e,r,a).def(n?t.defaults[e]:void 0)})}const x=(()=>{var t;return(t=class{static get any(){return o()}static get func(){return u().def(this.defaults.func)}static get bool(){return c().def(this.defaults.bool)}static get string(){return l().def(this.defaults.string)}static get number(){return f().def(this.defaults.number)}static get array(){return d().def(this.defaults.array)}static get object(){return p().def(this.defaults.object)}static get symbol(){return y()}static get integer(){return b().def(this.defaults.integer)}static extend(t){const{name:e,validate:n,getter:s=!1,type:a=null}=t;return T(this,e,{type:r(a)&&a.type?null:a},s,!!n)}}).defaults={},t.config=n,t.oneOf=g,t.custom=h,t.instanceOf=O,t.oneOfType=v,t.arrayOf=j,t.objectOf=m,t.shape=w,t.utils={toType:i,validate:(...t)=>!!t},t})();function A(e={func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}){var r;return(r=class extends x{static get sensibleDefaults(){return t({},this.defaults)}static set sensibleDefaults(r){this.defaults=!1!==r?t({},!0!==r?r:e):{}}}).defaults=t({},e),r}"production"!==process.env.NODE_ENV&&!1===n.silent&&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 P extends(A()){}export default P;export{o as any,d as array,j as arrayOf,c as bool,n as config,A as createTypes,h as custom,u as func,O as instanceOf,b as integer,f as number,p as object,m as objectOf,g as oneOf,v as oneOfType,w as shape,l as string,y as symbol};
//# sourceMappingURL=shim.modern.js.map