UNPKG

vue-proxi

Version:
2 lines (1 loc) 1.33 kB
import r from"vue";var t=Object.prototype.hasOwnProperty,e=function(r,e){return t.call(r,e)},n=/-(\w)/g,i={functional:!0,props:{proxiKey:{type:[Symbol,String],required:!0}},render:function(t,n){var i=n.props.proxiKey;if(i){var o=n.data;!function(t,n,i){if(t._provided){var o=t._provided,a=t.$parent&&t.$parent._provided;o===a&&(t._provided=Object.create(a))}else t._provided={};var u=t._provided[n];if(u)for(var f in i)e(i,f)&&r.set(u,f,i[f]);else t._provided[n]=r.observable(i)}(n.parent,i,{data:o})}return n.slots().default}},o="_proxi_",a=Object.freeze({}),u={class:void 0,listeners:a,attrs:a,props:a},f=function(r){var t,i=void 0===r?{}:r,a=i.from,f=i.props,c=void 0===f?[]:f;return{inject:(t={},t[o]={from:a,default:void 0},t),created:function(){var r=(this[o]||{}).data;if(r)for(var t in r.on)e(r.on,t)&&this.$on(t,r.on[t])},computed:c.reduce((function(r,t){return r[t]=function(){return this.$$.props[t]},r}),{$$:function(){var r=(this[o]||{}).data,t=Object.create(u);return r?Object.assign(t,{class:r.staticClass||r.class?[r.staticClass,r.class]:void 0,listeners:r.on},function(r,t){var i={};for(var o in t)if(e(t,o)){var a=o.replace(n,(function(r,t){return t?t.toUpperCase():""})),u=t[o];r.includes(a)&&(i[a]=u,delete t[o])}return{attrs:t,props:i}}(c,Object.assign({},r.attrs))):t}})}};export{f as ProxiInject,i as default};