@extscreen/es3-utils
Version:
Vue-Next binding for ES native framework
2 lines (1 loc) • 1.48 kB
JavaScript
import{warn as e}from"vue";"production"===process.env.NODE_ENV||Object.freeze({}),"production"===process.env.NODE_ENV||Object.freeze([]);const t=()=>{},o=Object.prototype.hasOwnProperty,r=(e,t)=>o.call(e,t),n=e=>null!==e&&"object"==typeof e,l=(e,t)=>{if(e.install=o=>{for(const r of[e,...Object.values(t??{})])o.component(r.name,r)},t)for(const[o,r]of Object.entries(t))e[o]=r;return e},i=(e,t)=>(e.install=o=>{e._context=o._context,o.config.globalProperties[t]=e},e),a=(e,t)=>(e.install=o=>{o.directive(t,e)},e),c=e=>(e.install=t,e),f="__epPropKey",p=e=>e,s=e=>n(e)&&!!e[f],u=(t,o)=>{if(!n(t)||s(t))return t;const{values:l,required:i,default:a,type:c,validator:p}=t,u={type:c,required:!!i,validator:l||p?n=>{let i=!1,c=[];if(l&&(c=Array.from(l),r(t,"default")&&c.push(a),i||=c.includes(n)),p&&(i||=p(n)),!i&&c.length>0){const t=[...new Set(c)].map((e=>JSON.stringify(e))).join(", ");e(`Invalid prop: validation failed${o?` for prop "${o}"`:""}. Expected one of [${t}], got value ${JSON.stringify(n)}.`)}return i}:void 0,[f]:!0};return r(t,"default")&&(u.default=a),u},d=e=>function(e){let t=-1,o=null==e?0:e.length,r={};for(;++t<o;){let o=e[t];r[o[0]]=o[1]}return r}(Object.entries(e).map((([e,t])=>[e,u(t,e)])));const v=(...e)=>t=>{e.forEach((e=>{"function"==typeof e?e(t):e.value=t}))};export{u as buildProp,d as buildProps,v as composeRefs,p as definePropType,f as epPropKey,s as isEpProp,l as withInstall,a as withInstallDirective,i as withInstallFunction,c as withNoopInstall};