From 8fa2077f292ed0fcabbdb01a436fc267fb16ae79 Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Fri, 18 Apr 2025 19:24:23 +0300 Subject: Add state() helper method --- src/shapex.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/shapex.ts') diff --git a/src/shapex.ts b/src/shapex.ts index 3d9fd21..fce55d4 100644 --- a/src/shapex.ts +++ b/src/shapex.ts @@ -68,6 +68,11 @@ export type ShapeXInstance = { * Dispatch an event. */ dispatch: (eventName: string, ...args: unknown[]) => void; + + /** + * Get the current state. + */ + state: () => T; }; /** @@ -272,6 +277,15 @@ export default function ShapeX( return Array.from(_subscriptions.keys()); }; + /** + * Returns the current state. + * + * @returns {T} The current state. + */ + const state = (): T => { + return _state; + } + return { subscribe, subscribeOnce, @@ -279,5 +293,6 @@ export default function ShapeX( subscriptionCount, subscriptions, dispatch, + state, }; } -- cgit v1.2.3