jotai-composer
Version:
Jotai enhancers for composing atoms
2 lines • 1.25 kB
JavaScript
;var h=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var r in t)h(e,r,{get:t[r],enumerable:!0})},S=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of u(t))!f.call(e,a)&&a!==r&&h(e,a,{get:()=>t[a],enumerable:!(s=A(t,a))||s.enumerable});return e};var l=e=>S(h({},"__esModule",{value:!0}),e);var j={};b(j,{atomEnhancer:()=>x,enhanceWith:()=>T});module.exports=l(j);var E=require("jotai");var d=require("jotai");var P=require("jotai");function p(e){return typeof e=="object"&&e!==null&&"read"in e}var T=({read:e=()=>({}),write:t=()=>Promise.resolve({shouldAbortNextSetter:!1})})=>(r,s)=>(0,d.atom)(n=>{let m=r?n(r):{},o=e({last:m}),c;return p(o)?c=n(o):c=o,{...m,...c}},async(n,m,o)=>{let c=r?n(r):{},{shouldAbortNextSetter:i}=await t({stateHelper:{last:c,get:n,set:m},update:o})||{};if(i){if(s)return m(s,o)}else if(r)return m(r,o);return{shouldAbortNextSetter:i}});function x(e,t,r){let s={read:({last:a})=>(0,E.atom)(n=>e(n,{last:a})),write:t?({stateHelper:{set:a,get:n,last:m},update:o})=>t(n,a,o,{last:m}):void 0};return a=>T(s)(a,r)}0&&(module.exports={atomEnhancer,enhanceWith});
//# sourceMappingURL=index.js.map