valtio-define 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -54,8 +54,8 @@ declare function storeToStates<S extends object>(store: Store<S>, options?: {
54
54
  }): { [K in keyof S]: [S[K], Dispatch<SetStateAction<S[K]>>] };
55
55
  //#endregion
56
56
  //#region src/index.d.ts
57
- declare const _default: {
57
+ declare const defaultExport: {
58
58
  use: typeof use;
59
59
  };
60
60
  //#endregion
61
- export { Actions, ActionsOmitThisParameter, ActionsTree, Getters, GettersReturnType, Op, Patch, Path, Plugin, PluginContext, Signal, Store, StoreDefine, StoreDefineOptions, StoreOptions, Subscribe, SubscribeKey, _default as default, defineStore, plugins, storeToState, storeToStates, use, useGetters, useStore };
61
+ export { Actions, ActionsOmitThisParameter, ActionsTree, Getters, GettersReturnType, Op, Patch, Path, Plugin, PluginContext, Signal, Store, StoreDefine, StoreDefineOptions, StoreOptions, Subscribe, SubscribeKey, defaultExport as default, defineStore, plugins, storeToState, storeToStates, use, useGetters, useStore };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{proxy as e,useSnapshot as t}from"valtio";import{batch as n}from"valtio-reactive";import{$ as r}from"valtio-signal";import{subscribeKey as i}from"valtio/utils";import{proxy as a,ref as o,subscribe as s}from"valtio/vanilla";const c=e([]);function l(e){c.push(e)}function u(e){let t=typeof e.state==`function`?e.state():e.state,l=e.getters||{},u=e.actions||{},f=a(t),p={},m=a({}),h=new WeakSet,g;for(let e of Object.keys(l))d(f,e,l[e].bind(f),{enumerable:!1}),d(m,e,()=>f[e]);for(let e of Object.keys(u))p[e]=o(u[e].bind(f)),d(f,e,()=>p[e],{enumerable:!1});function _(e){return s(f,t=>e(f,t))}function v(e,t){return i(f,e,e=>t(e),!0)}function y(e){typeof e==`function`?n(()=>e(f)):Object.assign(f,e)}function b(e){return e(r(f))}function x(){g?.()}function S(e){T(e)}let C={$subscribe:_,$subscribeKey:v,$patch:y,$state:f,$actions:p,$getters:m,$dispose:x,$signal:b,use:S},w=new Proxy(C,{get(e,t){return t in p?p[t]:t in e?e[t]:f[t]},has(e,t){return t in e||t in p||t in f},set(e,t,n){return t in f?f[t]=n:e[t]=n,!0}});function T(t){h.has(t)||(h.add(t),t({store:w,options:e}))}for(let e of c)T(e);return g=s(c,()=>{for(let e of c)T(e)}),w}function d(e,t,n,r){Object.defineProperty(e,t,{get:n,enumerable:!0,...r})}function f(e,n){return t(e.$state,n)}function p(e,n){return t(e.$getters,n)}function m(e,t,n){let r=f(e,n);function i(n){typeof n==`function`?e.$patch(e=>{e[t]=n(e[t])}):e.$patch(e=>{e[t]=n})}return[r[t],i]}function h(e,t){return Object.fromEntries(Object.keys(e.$state).map(n=>[n,m(e,n,t)]))}var g={use:l};export{g as default,u as defineStore,c as plugins,m as storeToState,h as storeToStates,l as use,p as useGetters,f as useStore};
1
+ import{proxy as e,useSnapshot as t}from"valtio";import{batch as n}from"valtio-reactive";import{subscribeKey as r}from"valtio/utils";import{proxy as i,ref as a,subscribe as o}from"valtio/vanilla";const s=e([]);function c(e){s.push(e)}function l(e){let t=typeof e.state==`function`?e.state():e.state,c=e.getters||{},l=e.actions||{},d=i(t),f={},p=i({}),m=new WeakSet,h;for(let e of Object.keys(c))u(d,e,c[e].bind(d),{enumerable:!1}),u(p,e,()=>d[e]);for(let e of Object.keys(l))f[e]=a(l[e].bind(d)),u(d,e,()=>f[e],{enumerable:!1});function g(e){return o(d,t=>e(d,t))}function _(e,t){return r(d,e,e=>t(e),!0)}function v(e){typeof e==`function`?n(()=>e(d)):Object.assign(d,e)}function y(){h?.()}function b(e){C(e)}let x={$subscribe:g,$subscribeKey:_,$patch:v,$state:d,$actions:f,$getters:p,$dispose:y,use:b},S=new Proxy(x,{get(e,t){return t in f?f[t]:t in e?e[t]:d[t]},has(e,t){return t in e||t in f||t in d},set(e,t,n){return t in d?d[t]=n:e[t]=n,!0}});function C(t){m.has(t)||(m.add(t),t({store:S,options:e}))}for(let e of s)C(e);return h=o(s,()=>{for(let e of s)C(e)}),S}function u(e,t,n,r){Object.defineProperty(e,t,{get:n,enumerable:!0,...r})}function d(e,n){return t(e.$state,n)}function f(e,n){return t(e.$getters,n)}function p(e,t,n){let r=d(e,n);function i(n){typeof n==`function`?e.$patch(e=>{e[t]=n(e[t])}):e.$patch(e=>{e[t]=n})}return[r[t],i]}function m(e,t){return Object.fromEntries(Object.keys(e.$state).map(n=>[n,p(e,n,t)]))}const h={use:c};export{h as default,l as defineStore,s as plugins,p as storeToState,m as storeToStates,c as use,f as useGetters,d as useStore};
@@ -1 +1 @@
1
- import{subscribe as e}from"valtio";import{get as t,set as n}from"@hairy/utils";import{destr as r}from"destr";import{generateStructureId as i}from"structure-id";function a({hydrate:a=!0}={}){return o=>{let{persist:s,getters:c}=o.options,{$state:l}=o.store;if(o.store.$persist?.unmount?.(),!s)return;let u=s===!0?{}:s,d=u.key||i(l),f=u.storage??(typeof localStorage<`u`?localStorage:void 0);if(!f?.getItem||!f?.setItem)return;let p=o.store.$persist?.meta??{mounted:!1,hydrated:!1};function m(e){let t=r(e);t&&typeof t==`object`&&Object.assign(l,t),p.hydrated=!0}function h(){p.mounted=!0;let e=f.getItem(d);e instanceof Promise?e.then(m):m(e)}function g(){p.unsubscribe?.(),p.unsubscribe=void 0}function _(){g(),p.unsubscribe=e(l,()=>{if(!p.hydrated)return;let e=(u.paths||Object.keys(l)).reduce((e,r)=>n(e,r,t(l,r)),{});f.setItem(d,JSON.stringify(e))})}o.store.$persist={mount:h,unmount:g,meta:p},a&&!p.mounted&&h(),_()}}export{a as persist};
1
+ import{subscribe as e}from"valtio";import{get as t,set as n}from"@hairy/utils";import{destr as r}from"destr";import{generateStructureId as i}from"structure-id";function a({hydrate:a=!0}={}){return o=>{let{persist:s,getters:c}=o.options,{$state:l}=o.store;if(o.store.$persist?.unmount?.(),!s)return;let u=new Set(Object.keys(c||{})),d=s===!0?{}:s,f=d.key||i(l),p=d.storage??(typeof localStorage<`u`?localStorage:void 0);if(!p?.getItem||!p?.setItem)return;let m=o.store.$persist?.meta??{mounted:!1,hydrated:!1};function h(e){let t=r(e);if(t&&typeof t==`object`){for(let e of Object.keys(t))u.has(e)&&delete t[e];Object.assign(l,t)}m.hydrated=!0}function g(){m.mounted=!0;let e=p.getItem(f);e instanceof Promise?e.then(h):h(e)}function _(){m.unsubscribe?.(),m.unsubscribe=void 0}function v(){_(),m.unsubscribe=e(l,()=>{if(!m.hydrated)return;let e=(d.paths||Object.keys(l)).filter(e=>!u.has(e)).reduce((e,r)=>n(e,r,t(l,r)),{});p.setItem(f,JSON.stringify(e))})}o.store.$persist={mount:g,unmount:_,meta:m},a&&!m.mounted&&g(),v()}}export{a as persist};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "valtio-define",
3
3
  "type": "module",
4
- "version": "1.3.2",
4
+ "version": "1.3.3",
5
5
  "description": "⚡quickly create a fully functional and robust Valtio factory",
6
6
  "author": "Hairyf <wwu710632@gmail.com>",
7
7
  "license": "MIT",