UNPKG

zustand-duck

Version:

Simple reducer writing and cross-process state sharing.

14 lines (13 loc) 677 B
import { Mutate, StoreApi, StoreMutatorIdentifier } from "zustand"; export type SharedDuckChannelListener = (channel: string, event: 'add' | 'remove') => void; export declare class SharedDuckChannels { private defaultChannel; private listeners; get default(): string; set default(channel: string); notify(channel: string, event: 'add' | 'remove'): void; subscribe(listener: SharedDuckChannelListener): () => void; } export declare const shareWithChannels: <T, Mos extends [StoreMutatorIdentifier, unknown][] = [], R = Mutate<StoreApi<T>, Mos>>(channels: SharedDuckChannels, creator: (channel: string) => R) => R & { channel: (name: string) => R; };