From 14c9d03de3e288f3385612fc4919620ba645b954 Mon Sep 17 00:00:00 2001 From: Dave Honneffer Date: Tue, 14 Oct 2025 09:31:51 +0200 Subject: [PATCH 1/2] fix: useStores receiving an array of arrays --- src/useStores.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/useStores.ts b/src/useStores.ts index 5fe46dc..6f34a17 100644 --- a/src/useStores.ts +++ b/src/useStores.ts @@ -27,8 +27,8 @@ import { MultiStoreController } from "./MultiStoreController"; * } * ``` */ -export function useStores>>( - ...atoms: TAtoms +export function useStores>( + ...atoms: TAtoms[] | Array ) { return ReactiveControllerHost>( constructor: TConstructor, @@ -36,7 +36,7 @@ export function useStores>>( return class extends constructor { constructor(...args: any[]) { super(...args); - new MultiStoreController(this, atoms); + new MultiStoreController(this, atoms.flat(Infinity)); } }; }; From 0ddad35b7db9e313dd27af0593112582137c9d42 Mon Sep 17 00:00:00 2001 From: Dave Honneffer Date: Tue, 14 Oct 2025 15:15:18 +0200 Subject: [PATCH 2/2] Change to improving docs --- readme.md | 3 +++ src/useStores.ts | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 8ab7448..8193235 100644 --- a/readme.md +++ b/readme.md @@ -40,6 +40,9 @@ class MyHeader extends LitElement { } ``` +> [!NOTE] +> To listen to multiple stores use `@useStores(store1, store2, ...)`. + Or as a mixin with `withStores`: ```ts diff --git a/src/useStores.ts b/src/useStores.ts index 6f34a17..5fe46dc 100644 --- a/src/useStores.ts +++ b/src/useStores.ts @@ -27,8 +27,8 @@ import { MultiStoreController } from "./MultiStoreController"; * } * ``` */ -export function useStores>( - ...atoms: TAtoms[] | Array +export function useStores>>( + ...atoms: TAtoms ) { return ReactiveControllerHost>( constructor: TConstructor, @@ -36,7 +36,7 @@ export function useStores>( return class extends constructor { constructor(...args: any[]) { super(...args); - new MultiStoreController(this, atoms.flat(Infinity)); + new MultiStoreController(this, atoms); } }; };