solid-use
Version:
A collection of SolidJS utilities
2 lines (1 loc) • 1.04 kB
JavaScript
;var a=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},v=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of p(r))!c.call(e,o)&&o!==t&&a(e,o,{get:()=>r[o],enumerable:!(i=T(r,o))||i.enumerable});return e};var l=e=>v(a({},"__esModule",{value:!0}),e);var D={};f(D,{capturedProvider:()=>s,createProvider:()=>m,inject:()=>x,provide:()=>y,providerScope:()=>u,withProvider:()=>R});module.exports=l(D);var d=require("solid-js"),n;function s(e){let r=n;return(...t)=>{let i=n;n=r;try{return e(...t)}finally{n=i}}}function u(e){let r=n;n={parent:r,data:{}};try{return e()}finally{n=r}}var P=0;function m(e){return{id:P++,defaultValue:e}}function y(e,r){let t=n;t&&(t.data[e.id]={value:r},(0,d.onCleanup)(()=>{t.data[e.id]=void 0}))}function x(e){let r=n;for(;r;){let t=r.data[e.id];if(t)return t.value;r=r.parent}return e.defaultValue}function R(e){return r=>u(()=>e(r))}