solid-use
Version:
A collection of SolidJS utilities
2 lines (1 loc) • 738 B
JavaScript
import{createMemo as y}from"solid-js";function a(e,o){let r={},t=Object.keys(e);for(let n=0,s=t.length;n<s;n+=1){let c=t[n];o.includes(c)||Object.defineProperty(r,c,{get(){return e[c]},configurable:!0,enumerable:!0})}return r}function T(e,o){let r={},t=Object.keys(e);for(let n=0,s=t.length;n<s;n+=1){let c=t[n];o.includes(c)&&Object.defineProperty(r,c,{get(){return e[c]},configurable:!0,enumerable:!0})}return r}function f(e){return new Proxy(Array.isArray(e)?[]:{},{get(r,t){let n=Reflect.get(r,t);if(n)return n;let s=y(()=>e[t]);return Reflect.set(r,t,s),s}})}function p(e){let o=Array.isArray(e)?[]:{};for(let r of Object.keys(e)){let t=r;o[t]=y(()=>e[t])}return o}export{f as destructure,a as omitProps,T as pickProps,p as spread};