Comparing version 4.5.0 to 4.5.1
import type { StateCreator, StoreMutatorIdentifier } from '../vanilla'; | ||
export interface StateStorage { | ||
getItem: (name: string) => string | null | Promise<string | null>; | ||
setItem: (name: string, value: string) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: string) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -13,4 +13,4 @@ export type StorageValue<S> = { | ||
getItem: (name: string) => StorageValue<S> | null | Promise<StorageValue<S> | null>; | ||
setItem: (name: string, value: StorageValue<S>) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: StorageValue<S>) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -17,0 +17,0 @@ type JsonStorageOptions = { |
@@ -7,3 +7,3 @@ import type { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -14,3 +14,3 @@ }; | ||
/** | ||
* @deprecated Use `useStoreWithEqualityFn` from 'zustand/traditional' | ||
* @deprecated The usage with three arguments is deprecated. Use `useStoreWithEqualityFn` from 'zustand/traditional'. The usage with one or two arguments is not deprecated. | ||
* https://github.com/pmndrs/zustand/discussions/1937 | ||
@@ -17,0 +17,0 @@ */ |
@@ -7,3 +7,3 @@ import type { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -10,0 +10,0 @@ }; |
import type { StateCreator, StoreMutatorIdentifier } from '../vanilla'; | ||
export interface StateStorage { | ||
getItem: (name: string) => string | null | Promise<string | null>; | ||
setItem: (name: string, value: string) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: string) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -13,4 +13,4 @@ export type StorageValue<S> = { | ||
getItem: (name: string) => StorageValue<S> | null | Promise<StorageValue<S> | null>; | ||
setItem: (name: string, value: StorageValue<S>) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: StorageValue<S>) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -17,0 +17,0 @@ type JsonStorageOptions = { |
{ | ||
"name": "zustand", | ||
"private": false, | ||
"version": "4.5.0", | ||
"version": "4.5.1", | ||
"description": "🐻 Bear necessities for state management in React", | ||
@@ -6,0 +6,0 @@ "main": "./index.js", |
@@ -7,3 +7,3 @@ import type { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -14,3 +14,3 @@ }; | ||
/** | ||
* @deprecated Use `useStoreWithEqualityFn` from 'zustand/traditional' | ||
* @deprecated The usage with three arguments is deprecated. Use `useStoreWithEqualityFn` from 'zustand/traditional'. The usage with one or two arguments is not deprecated. | ||
* https://github.com/pmndrs/zustand/discussions/1937 | ||
@@ -17,0 +17,0 @@ */ |
@@ -287,27 +287,2 @@ <p align="center"> | ||
## Middleware | ||
You can functionally compose your store any way you like. | ||
```jsx | ||
// Log every time state is changed | ||
const log = (config) => (set, get, api) => | ||
config( | ||
(...args) => { | ||
console.log(' applying', args) | ||
set(...args) | ||
console.log(' new state', get()) | ||
}, | ||
get, | ||
api, | ||
) | ||
const useBeeStore = create( | ||
log((set) => ({ | ||
bees: false, | ||
setBees: (input) => set({ bees: input }), | ||
})), | ||
) | ||
``` | ||
## Persist middleware | ||
@@ -314,0 +289,0 @@ |
@@ -1,5 +0,5 @@ | ||
System.register([],function(b){"use strict";return{execute:function(){b("createJSONStorage",E);const A=b("redux",(d,c)=>(i,o,n)=>(n.dispatch=e=>(i(g=>d(g,e),!1,e),e),n.dispatchFromDevtools=!0,{dispatch:(...e)=>n.dispatch(...e),...c})),I=new Map,w=d=>{const c=I.get(d);return c?Object.fromEntries(Object.entries(c.stores).map(([i,o])=>[i,o.getState()])):{}},T=(d,c,i)=>{if(d===void 0)return{type:"untracked",connection:c.connect(i)};const o=I.get(i.name);if(o)return{type:"tracked",store:d,...o};const n={connection:c.connect(i),stores:{}};return I.set(i.name,n),{type:"tracked",store:d,...n}},P=b("devtools",(d,c={})=>(i,o,n)=>{const{enabled:e,anonymousActionType:g,store:u,...p}=c;let m;try{m=(e!=null?e:!1)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!m)return d(i,o,n);const{connection:l,...S}=T(u,m,p);let h=!0;n.setState=(r,s,a)=>{const t=i(r,s);if(!h)return t;const f=a===void 0?{type:g||"anonymous"}:typeof a=="string"?{type:a}:a;return u===void 0?(l==null||l.send(f,o()),t):(l==null||l.send({...f,type:`${u}/${f.type}`},{...w(p.name),[u]:n.getState()}),t)};const v=(...r)=>{const s=h;h=!1,i(...r),h=s},y=d(n.setState,o,n);if(S.type==="untracked"?l==null||l.init(y):(S.stores[S.store]=n,l==null||l.init(Object.fromEntries(Object.entries(S.stores).map(([r,s])=>[r,r===S.store?y:s.getState()])))),n.dispatchFromDevtools&&typeof n.dispatch=="function"){const r=n.dispatch;n.dispatch=(...s)=>{r(...s)}}return l.subscribe(r=>{var s;switch(r.type){case"ACTION":if(typeof r.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return _(r.payload,a=>{if(a.type==="__setState"){if(u===void 0){v(a.state);return}Object.keys(a.state).length!==1&&console.error(` | ||
System.register([],function(b){"use strict";return{execute:function(){b("createJSONStorage",T);const A=b("redux",(d,c)=>(s,a,n)=>(n.dispatch=e=>(s(g=>d(g,e),!1,e),e),n.dispatchFromDevtools=!0,{dispatch:(...e)=>n.dispatch(...e),...c})),I=new Map,w=d=>{const c=I.get(d);return c?Object.fromEntries(Object.entries(c.stores).map(([s,a])=>[s,a.getState()])):{}},E=(d,c,s)=>{if(d===void 0)return{type:"untracked",connection:c.connect(s)};const a=I.get(s.name);if(a)return{type:"tracked",store:d,...a};const n={connection:c.connect(s),stores:{}};return I.set(s.name,n),{type:"tracked",store:d,...n}},P=b("devtools",(d,c={})=>(s,a,n)=>{const{enabled:e,anonymousActionType:g,store:u,...p}=c;let m;try{m=(e!=null?e:!1)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!m)return d(s,a,n);const{connection:l,...S}=E(u,m,p);let h=!0;n.setState=(r,o,i)=>{const t=s(r,o);if(!h)return t;const f=i===void 0?{type:g||"anonymous"}:typeof i=="string"?{type:i}:i;return u===void 0?(l==null||l.send(f,a()),t):(l==null||l.send({...f,type:`${u}/${f.type}`},{...w(p.name),[u]:n.getState()}),t)};const v=(...r)=>{const o=h;h=!1,s(...r),h=o},y=d(n.setState,a,n);if(S.type==="untracked"?l==null||l.init(y):(S.stores[S.store]=n,l==null||l.init(Object.fromEntries(Object.entries(S.stores).map(([r,o])=>[r,r===S.store?y:o.getState()])))),n.dispatchFromDevtools&&typeof n.dispatch=="function"){const r=n.dispatch;n.dispatch=(...o)=>{r(...o)}}return l.subscribe(r=>{var o;switch(r.type){case"ACTION":if(typeof r.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return _(r.payload,i=>{if(i.type==="__setState"){if(u===void 0){v(i.state);return}Object.keys(i.state).length!==1&&console.error(` | ||
[zustand devtools middleware] Unsupported __setState action format. | ||
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(), | ||
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } } | ||
`);const t=a.state[u];if(t==null)return;JSON.stringify(n.getState())!==JSON.stringify(t)&&v(t);return}n.dispatchFromDevtools&&typeof n.dispatch=="function"&&n.dispatch(a)});case"DISPATCH":switch(r.payload.type){case"RESET":return v(y),u===void 0?l==null?void 0:l.init(n.getState()):l==null?void 0:l.init(w(p.name));case"COMMIT":if(u===void 0){l==null||l.init(n.getState());return}return l==null?void 0:l.init(w(p.name));case"ROLLBACK":return _(r.state,a=>{if(u===void 0){v(a),l==null||l.init(n.getState());return}v(a[u]),l==null||l.init(w(p.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return _(r.state,a=>{if(u===void 0){v(a);return}JSON.stringify(n.getState())!==JSON.stringify(a[u])&&v(a[u])});case"IMPORT_STATE":{const{nextLiftedState:a}=r.payload,t=(s=a.computedStates.slice(-1)[0])==null?void 0:s.state;if(!t)return;v(u===void 0?t:t[u]),l==null||l.send(null,a);return}case"PAUSE_RECORDING":return h=!h}return}}),y}),_=(d,c)=>{let i;try{i=JSON.parse(d)}catch(o){console.error("[zustand devtools middleware] Could not parse the received json",o)}i!==void 0&&c(i)},H=b("subscribeWithSelector",d=>(c,i,o)=>{const n=o.subscribe;return o.subscribe=(e,g,u)=>{let p=e;if(g){const m=(u==null?void 0:u.equalityFn)||Object.is;let l=e(o.getState());p=S=>{const h=e(S);if(!m(l,h)){const v=l;g(l=h,v)}},u!=null&&u.fireImmediately&&g(l,l)}return n(p)},d(c,i,o)}),R=b("combine",(d,c)=>(...i)=>Object.assign({},d,c(...i)));function E(d,c){let i;try{i=d()}catch{return}return{getItem:o=>{var n;const e=u=>u===null?null:JSON.parse(u,c==null?void 0:c.reviver),g=(n=i.getItem(o))!=null?n:null;return g instanceof Promise?g.then(e):e(g)},setItem:(o,n)=>i.setItem(o,JSON.stringify(n,c==null?void 0:c.replacer)),removeItem:o=>i.removeItem(o)}}const O=d=>c=>{try{const i=d(c);return i instanceof Promise?i:{then(o){return O(o)(i)},catch(o){return this}}}catch(i){return{then(o){return this},catch(o){return O(o)(i)}}}},N=(d,c)=>(i,o,n)=>{let e={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:s=>s,version:0,merge:(s,a)=>({...a,...s}),...c},g=!1;const u=new Set,p=new Set;let m;try{m=e.getStorage()}catch{}if(!m)return d((...s)=>{console.warn(`[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`),i(...s)},o,n);const l=O(e.serialize),S=()=>{const s=e.partialize({...o()});let a;const t=l({state:s,version:e.version}).then(f=>m.setItem(e.name,f)).catch(f=>{a=f});if(a)throw a;return t},h=n.setState;n.setState=(s,a)=>{h(s,a),S()};const v=d((...s)=>{i(...s),S()},o,n);let y;const r=()=>{var s;if(!m)return;g=!1,u.forEach(t=>t(o()));const a=((s=e.onRehydrateStorage)==null?void 0:s.call(e,o()))||void 0;return O(m.getItem.bind(m))(e.name).then(t=>{if(t)return e.deserialize(t)}).then(t=>{if(t)if(typeof t.version=="number"&&t.version!==e.version){if(e.migrate)return e.migrate(t.state,t.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return t.state}).then(t=>{var f;return y=e.merge(t,(f=o())!=null?f:v),i(y,!0),S()}).then(()=>{a==null||a(y,void 0),g=!0,p.forEach(t=>t(y))}).catch(t=>{a==null||a(void 0,t)})};return n.persist={setOptions:s=>{e={...e,...s},s.getStorage&&(m=s.getStorage())},clearStorage:()=>{m==null||m.removeItem(e.name)},getOptions:()=>e,rehydrate:()=>r(),hasHydrated:()=>g,onHydrate:s=>(u.add(s),()=>{u.delete(s)}),onFinishHydration:s=>(p.add(s),()=>{p.delete(s)})},r(),y||v},z=(d,c)=>(i,o,n)=>{let e={storage:E(()=>localStorage),partialize:r=>r,version:0,merge:(r,s)=>({...s,...r}),...c},g=!1;const u=new Set,p=new Set;let m=e.storage;if(!m)return d((...r)=>{console.warn(`[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`),i(...r)},o,n);const l=()=>{const r=e.partialize({...o()});return m.setItem(e.name,{state:r,version:e.version})},S=n.setState;n.setState=(r,s)=>{S(r,s),l()};const h=d((...r)=>{i(...r),l()},o,n);n.getInitialState=()=>h;let v;const y=()=>{var r,s;if(!m)return;g=!1,u.forEach(t=>{var f;return t((f=o())!=null?f:h)});const a=((s=e.onRehydrateStorage)==null?void 0:s.call(e,(r=o())!=null?r:h))||void 0;return O(m.getItem.bind(m))(e.name).then(t=>{if(t)if(typeof t.version=="number"&&t.version!==e.version){if(e.migrate)return e.migrate(t.state,t.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return t.state}).then(t=>{var f;return v=e.merge(t,(f=o())!=null?f:h),i(v,!0),l()}).then(()=>{a==null||a(v,void 0),v=o(),g=!0,p.forEach(t=>t(v))}).catch(t=>{a==null||a(void 0,t)})};return n.persist={setOptions:r=>{e={...e,...r},r.storage&&(m=r.storage)},clearStorage:()=>{m==null||m.removeItem(e.name)},getOptions:()=>e,rehydrate:()=>y(),hasHydrated:()=>g,onHydrate:r=>(u.add(r),()=>{u.delete(r)}),onFinishHydration:r=>(p.add(r),()=>{p.delete(r)})},e.skipHydration||y(),v||h},$=b("persist",(d,c)=>"getStorage"in c||"serialize"in c||"deserialize"in c?N(d,c):z(d,c))}}}); | ||
`);const t=i.state[u];if(t==null)return;JSON.stringify(n.getState())!==JSON.stringify(t)&&v(t);return}n.dispatchFromDevtools&&typeof n.dispatch=="function"&&n.dispatch(i)});case"DISPATCH":switch(r.payload.type){case"RESET":return v(y),u===void 0?l==null?void 0:l.init(n.getState()):l==null?void 0:l.init(w(p.name));case"COMMIT":if(u===void 0){l==null||l.init(n.getState());return}return l==null?void 0:l.init(w(p.name));case"ROLLBACK":return _(r.state,i=>{if(u===void 0){v(i),l==null||l.init(n.getState());return}v(i[u]),l==null||l.init(w(p.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return _(r.state,i=>{if(u===void 0){v(i);return}JSON.stringify(n.getState())!==JSON.stringify(i[u])&&v(i[u])});case"IMPORT_STATE":{const{nextLiftedState:i}=r.payload,t=(o=i.computedStates.slice(-1)[0])==null?void 0:o.state;if(!t)return;v(u===void 0?t:t[u]),l==null||l.send(null,i);return}case"PAUSE_RECORDING":return h=!h}return}}),y}),_=(d,c)=>{let s;try{s=JSON.parse(d)}catch(a){console.error("[zustand devtools middleware] Could not parse the received json",a)}s!==void 0&&c(s)},H=b("subscribeWithSelector",d=>(c,s,a)=>{const n=a.subscribe;return a.subscribe=(e,g,u)=>{let p=e;if(g){const m=(u==null?void 0:u.equalityFn)||Object.is;let l=e(a.getState());p=S=>{const h=e(S);if(!m(l,h)){const v=l;g(l=h,v)}},u!=null&&u.fireImmediately&&g(l,l)}return n(p)},d(c,s,a)}),R=b("combine",(d,c)=>(...s)=>Object.assign({},d,c(...s)));function T(d,c){let s;try{s=d()}catch{return}return{getItem:a=>{var n;const e=u=>u===null?null:JSON.parse(u,c==null?void 0:c.reviver),g=(n=s.getItem(a))!=null?n:null;return g instanceof Promise?g.then(e):e(g)},setItem:(a,n)=>s.setItem(a,JSON.stringify(n,c==null?void 0:c.replacer)),removeItem:a=>s.removeItem(a)}}const O=d=>c=>{try{const s=d(c);return s instanceof Promise?s:{then(a){return O(a)(s)},catch(a){return this}}}catch(s){return{then(a){return this},catch(a){return O(a)(s)}}}},N=(d,c)=>(s,a,n)=>{let e={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:o=>o,version:0,merge:(o,i)=>({...i,...o}),...c},g=!1;const u=new Set,p=new Set;let m;try{m=e.getStorage()}catch{}if(!m)return d((...o)=>{console.warn(`[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`),s(...o)},a,n);const l=O(e.serialize),S=()=>{const o=e.partialize({...a()});let i;const t=l({state:o,version:e.version}).then(f=>m.setItem(e.name,f)).catch(f=>{i=f});if(i)throw i;return t},h=n.setState;n.setState=(o,i)=>{h(o,i),S()};const v=d((...o)=>{s(...o),S()},a,n);let y;const r=()=>{var o;if(!m)return;g=!1,u.forEach(t=>t(a()));const i=((o=e.onRehydrateStorage)==null?void 0:o.call(e,a()))||void 0;return O(m.getItem.bind(m))(e.name).then(t=>{if(t)return e.deserialize(t)}).then(t=>{if(t)if(typeof t.version=="number"&&t.version!==e.version){if(e.migrate)return e.migrate(t.state,t.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return t.state}).then(t=>{var f;return y=e.merge(t,(f=a())!=null?f:v),s(y,!0),S()}).then(()=>{i==null||i(y,void 0),g=!0,p.forEach(t=>t(y))}).catch(t=>{i==null||i(void 0,t)})};return n.persist={setOptions:o=>{e={...e,...o},o.getStorage&&(m=o.getStorage())},clearStorage:()=>{m==null||m.removeItem(e.name)},getOptions:()=>e,rehydrate:()=>r(),hasHydrated:()=>g,onHydrate:o=>(u.add(o),()=>{u.delete(o)}),onFinishHydration:o=>(p.add(o),()=>{p.delete(o)})},r(),y||v},z=(d,c)=>(s,a,n)=>{let e={storage:T(()=>localStorage),partialize:r=>r,version:0,merge:(r,o)=>({...o,...r}),...c},g=!1;const u=new Set,p=new Set;let m=e.storage;if(!m)return d((...r)=>{console.warn(`[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`),s(...r)},a,n);const l=()=>{const r=e.partialize({...a()});return m.setItem(e.name,{state:r,version:e.version})},S=n.setState;n.setState=(r,o)=>{S(r,o),l()};const h=d((...r)=>{s(...r),l()},a,n);n.getInitialState=()=>h;let v;const y=()=>{var r,o;if(!m)return;g=!1,u.forEach(t=>{var f;return t((f=a())!=null?f:h)});const i=((o=e.onRehydrateStorage)==null?void 0:o.call(e,(r=a())!=null?r:h))||void 0;return O(m.getItem.bind(m))(e.name).then(t=>{if(t)if(typeof t.version=="number"&&t.version!==e.version){if(e.migrate)return e.migrate(t.state,t.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return t.state}).then(t=>{var f;return v=e.merge(t,(f=a())!=null?f:h),s(v,!0),l()}).then(()=>{i==null||i(v,void 0),v=a(),g=!0,p.forEach(t=>t(v))}).catch(t=>{i==null||i(void 0,t)})};return n.persist={setOptions:r=>{e={...e,...r},r.storage&&(m=r.storage)},clearStorage:()=>{m==null||m.removeItem(e.name)},getOptions:()=>e,rehydrate:()=>y(),hasHydrated:()=>g,onHydrate:r=>(u.add(r),()=>{u.delete(r)}),onFinishHydration:r=>(p.add(r),()=>{p.delete(r)})},e.skipHydration||y(),v||h},$=b("persist",(d,c)=>"getStorage"in c||"serialize"in c||"deserialize"in c?N(d,c):z(d,c))}}}); |
@@ -7,3 +7,3 @@ import type { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -10,0 +10,0 @@ }; |
import { StateCreator, StoreMutatorIdentifier } from '../vanilla'; | ||
export interface StateStorage { | ||
getItem: (name: string) => string | null | Promise<string | null>; | ||
setItem: (name: string, value: string) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: string) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -13,4 +13,4 @@ export type StorageValue<S> = { | ||
getItem: (name: string) => StorageValue<S> | null | Promise<StorageValue<S> | null>; | ||
setItem: (name: string, value: StorageValue<S>) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: StorageValue<S>) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -17,0 +17,0 @@ type JsonStorageOptions = { |
@@ -7,3 +7,3 @@ import { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -14,3 +14,3 @@ }; | ||
/** | ||
* @deprecated Use `useStoreWithEqualityFn` from 'zustand/traditional' | ||
* @deprecated The usage with three arguments is deprecated. Use `useStoreWithEqualityFn` from 'zustand/traditional'. The usage with one or two arguments is not deprecated. | ||
* https://github.com/pmndrs/zustand/discussions/1937 | ||
@@ -17,0 +17,0 @@ */ |
@@ -7,3 +7,3 @@ import { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -10,0 +10,0 @@ }; |
import { StateCreator, StoreMutatorIdentifier } from '../vanilla'; | ||
export interface StateStorage { | ||
getItem: (name: string) => string | null | Promise<string | null>; | ||
setItem: (name: string, value: string) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: string) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -13,4 +13,4 @@ export type StorageValue<S> = { | ||
getItem: (name: string) => StorageValue<S> | null | Promise<StorageValue<S> | null>; | ||
setItem: (name: string, value: StorageValue<S>) => void | Promise<void>; | ||
removeItem: (name: string) => void | Promise<void>; | ||
setItem: (name: string, value: StorageValue<S>) => unknown | Promise<unknown>; | ||
removeItem: (name: string) => unknown | Promise<unknown>; | ||
} | ||
@@ -17,0 +17,0 @@ type JsonStorageOptions = { |
@@ -7,3 +7,3 @@ import { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -14,3 +14,3 @@ }; | ||
/** | ||
* @deprecated Use `useStoreWithEqualityFn` from 'zustand/traditional' | ||
* @deprecated The usage with three arguments is deprecated. Use `useStoreWithEqualityFn` from 'zustand/traditional'. The usage with one or two arguments is not deprecated. | ||
* https://github.com/pmndrs/zustand/discussions/1937 | ||
@@ -17,0 +17,0 @@ */ |
@@ -7,3 +7,3 @@ import { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; | ||
type WithReact<S extends ReadonlyStoreApi<unknown>> = S & { | ||
/** @deprecated please use api.getState() */ | ||
/** @deprecated please use api.getInitialState() */ | ||
getServerState?: () => ExtractState<S>; | ||
@@ -10,0 +10,0 @@ }; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
326671
506