UNPKG

@sandstack/neuron

Version:

Neuron is a lightweight framework agnostic global state manager for Javascript apps, with React support

63 lines (62 loc) 2.09 kB
import { NeuronMiddleware } from "./Neuron"; export declare class Module implements IModule { readonly name: string; readonly onInit?: NeuronMiddleware<unknown>; readonly onDispatch?: NeuronMiddleware<unknown>; readonly onCallback?: NeuronMiddleware<unknown>; constructor(options: ModuleOptions); } /** * Interface representing a module that provides lifecycle methods for interacting with Neuron state. */ export interface IModule { /** * The name of the module. */ readonly name: Readonly<string>; /** * Optional lifecycle method invoked during the initialization of a Neuron. * * @param payload - The payload containing state and metadata during initialization. */ onInit?: NeuronMiddleware<unknown>; /** * Optional lifecycle method invoked during the dispatch of a Neuron state change. * * @param payload - The payload containing the updated state and metadata. */ onDispatch?: NeuronMiddleware<unknown>; /** * Optional lifecycle method invoked after a Neuron state change has been completed. * * @param payload - The payload containing the final state and metadata. */ onCallback?: NeuronMiddleware<unknown>; } /** * Options for configuring a `Module` instance. */ export interface ModuleOptions { /** * The name of the module. */ name: string; /** * Optional lifecycle method invoked during the initialization of a Neuron. * * @param payload - The payload containing state and metadata during initialization. */ onInit?: NeuronMiddleware<unknown>; /** * Optional lifecycle method invoked during the dispatch of a Neuron state change. * * @param payload - The payload containing the updated state and metadata. */ onDispatch?: NeuronMiddleware<unknown>; /** * Optional lifecycle method invoked after a Neuron state change has been completed. * * @param payload - The payload containing the final state and metadata. */ onCallback?: NeuronMiddleware<unknown>; }