reactive-props
Version:
An all-in-one implementation of the Reactive State for Data & DOM patterns.
2 lines (1 loc) • 855 B
JavaScript
self.reactiveProps=function(t){"use strict";const{defineProperties:e,keys:r}=Object,l=(t,e,r,l,s)=>({configurable:!0,get:()=>l,set(a){(t||a!==l||e&&"object"==typeof a&&a)&&(l=a,r?s.call(this,l):s.call(this))}}),s=(t,e,s,o,n,c)=>{const u={},i=n!==a,b=[s,o,i];for(let s=r(t),a=0;a<s.length;a++){const r=e(t,s[a]),o=i?n(r):[r,n];c&&(o[1]=c),u[s[a]]=l.apply(null,b.concat(o))}return u},a=()=>{};var o=({all:t=!1,shallow:r=!0,useState:l=a,getAttribute:o=((t,e)=>t.getAttribute(e))}={})=>(a,n,c)=>{const u=s(n,((t,e)=>{let r=t[e],l=typeof r;return a.hasOwnProperty(e)?(r=a[e],delete a[e]):a.hasAttribute(e)&&(r=o(a,e),"number"==l?r=+r:"boolean"==l&&(r=!/^(?:false|0|)$/.test(r))),r}),t,r,l,c);return e(a,u)};const n=(t,e)=>t[e];var c=({all:t=!1,shallow:r=!0,useState:l=a}={})=>(a,o)=>e({},s(a,n,t,r,l,o));return t.default=(t={})=>(t.dom?o:c)(t),t}({}).default;