UNPKG

@forest-js/core

Version:

A tiny, functional DOM engine with explicit update and real DOM.

34 lines 816 B
/** * @function createStore * @description Create a store * @param initial - Initial value * @returns Store * @example * ```ts * const store = createStore(0); * ``` */ export function createStore(initial) { let value = initial; const subscribers = new Set(); return { get: () => value, set: (next) => { value = next; subscribers.forEach((fn) => fn()); }, update: (fn) => { value = fn(value); subscribers.forEach((fn) => fn()); }, subscribe: (fn) => { subscribers.delete(fn); subscribers.add(fn); return () => subscribers.delete(fn); }, unsubscribe: (fn) => { subscribers.delete(fn); }, }; } //# sourceMappingURL=core.js.map