jotai
Version:
👻 Next gen state management that will spook you
2 lines (1 loc) • 639 B
JavaScript
System.register(["valtio/vanilla","jotai"],function(m){"use strict";var u,e,f;return{setters:[function(i){u=i.snapshot,e=i.subscribe},function(i){f=i.atom}],execute:function(){m("atomWithProxy",h);const i=t=>typeof t=="object"&&t!==null,r=(t,o,n)=>{Object.getOwnPropertyNames(o).forEach(s=>{s in n?Object.is(o[s],n[s])||(i(t[s])&&i(o[s])&&i(n[s])?r(t[s],o[s],n[s]):t[s]=n[s]):delete t[s]}),Object.keys(n).forEach(s=>{s in o||(t[s]=n[s])})};function h(t,o){const n=f(u(t));return n.onMount=c=>{const l=()=>{c(u(t))},a=e(t,l,o==null?void 0:o.sync);return l(),a},f(c=>c(n),(c,l,a)=>{const b=typeof a=="function"?a(c(n)):a;r(t,u(t),b)})}}}});