zustand-injectors
Version:
A sweet way of lazy load slices
2 lines (1 loc) • 699 B
JavaScript
(function(n,t){typeof exports=="object"&&typeof module<"u"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):(n=typeof globalThis<"u"?globalThis:n||self,t(n.Injectors={}))})(this,function(n){"use strict";const t=async(...o)=>{const[,,s]=o,c=await Promise.all(Object.values(s.asyncSliceInitializers).map(e=>e()));s.setState(c.reduce((e,l)=>Object.assign({},e,l(...o)),s.getState()),!0)},r=(o,s={})=>(c,e,l)=>{const i=l;return i.asyncSliceInitializers=s,i.injectAsyncSliceInitializer=async(a,u)=>{i.asyncSliceInitializers[a]=u,t(c,e,i)},Object.keys(i.asyncSliceInitializers).length&&t(c,e,i),o(c,e,i)};n.injectors=r,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});