xsignals
Version:
A lightweight state management library for React, leveraging the power of Signals for seamless and efficient state handling.
22 lines (21 loc) • 527 B
TypeScript
export type SignalListener<T> = (data: T) => void;
export type SignalType<T> = () => T;
export interface SignalState<T> {
[key: string]: T | T[];
}
export type Action<T> = {
type: string;
payload?: T;
};
export type Listener<T> = (prevState: T) => void;
export interface State<T> {
getSignal: SignalType<T>;
setSignal: (updater: (prevState: T) => T) => void;
add: (item: any) => void;
/**
*
* @param listener
* @returns
*/
subscribe: (listener: Listener<T>) => () => void;
}