UNPKG

jotai-composer

Version:

Jotai enhancers for composing atoms

2 lines 751 B
import{atom as d}from"jotai";import{atom as p}from"jotai";import{atom as u}from"jotai";function i(n){return typeof n=="object"&&n!==null&&"read"in n}var T=({read:n=()=>({}),write:s=()=>Promise.resolve({shouldAbortNextSetter:!1})})=>(r,c)=>p(e=>{let a=r?e(r):{},t=n({last:a}),m;return i(t)?m=e(t):m=t,{...a,...m}},async(e,a,t)=>{let m=r?e(r):{},{shouldAbortNextSetter:h}=await s({stateHelper:{last:m,get:e,set:a},update:t})||{};if(h){if(c)return a(c,t)}else if(r)return a(r,t);return{shouldAbortNextSetter:h}});function E(n,s,r){let c={read:({last:o})=>d(e=>n(e,{last:o})),write:s?({stateHelper:{set:o,get:e,last:a},update:t})=>s(e,o,t,{last:a}):void 0};return o=>T(c)(o,r)}export{E as atomEnhancer,T as enhanceWith}; //# sourceMappingURL=index.mjs.map