From 40a1d564ca77603f8e0dcef5838e201216213da9 Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Fri, 19 Mar 2021 15:31:19 +0100 Subject: [PATCH] test: add missing file --- src/mapHelpers.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/mapHelpers.ts diff --git a/src/mapHelpers.ts b/src/mapHelpers.ts new file mode 100644 index 00000000..6eff181b --- /dev/null +++ b/src/mapHelpers.ts @@ -0,0 +1,28 @@ +import { GenericStoreDefinition, Store, StoreDefinition } from './types' + +type StoreObject = S extends StoreDefinition< + infer Ids, + infer State, + infer Getters, + infer Actions +> + ? { + [Id in Ids]: () => Store + } + : {} + +type Spread = A extends [infer L, ...infer R] + ? StoreObject & Spread + : unknown + +export function mapStores( + ...stores: [...Stores] +): Spread { + return stores.reduce((reduced, useStore) => { + // @ts-ignore + reduced[useStore.$id] = function () { + return (useStore as GenericStoreDefinition)((this as any).$pinia) + } + return reduced + }, {} as Spread) +} -- 2.47.3