From 8cf96298b897a0cc0178246af26afb26bb7dccad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Thu, 16 Jan 2025 21:59:07 +0100 Subject: [PATCH] Fix --- packages/reffuse/src/ReffuseContext.tsx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/reffuse/src/ReffuseContext.tsx b/packages/reffuse/src/ReffuseContext.tsx index c6b19a1..e00f014 100644 --- a/packages/reffuse/src/ReffuseContext.tsx +++ b/packages/reffuse/src/ReffuseContext.tsx @@ -58,18 +58,20 @@ export function useMergeAll>( return React.useMemo(() => Context.mergeAll(...values), values) } -export function useMergeAllLayers< - const Contexts extends Array.NonEmptyReadonlyArray> ->( - ...contexts: Contexts -): Layer.Layer<{ [K in keyof Contexts]: R }[number]> { - const values = Array.map(contexts, v => React.use(v.Context)) +/** TODO: find a way to make 'contexts' a NonEmptyArray */ +export function useMergeAllLayers>( + ...contexts: [...{ [K in keyof T]: ReffuseContext }] +): Layer.Layer { + const values = Array.map( + contexts as Array.NonEmptyArray>, + v => React.use(v.Context), + ) return React.useMemo(() => Layer.mergeAll( ...Array.map(values, context => Layer.effectContext(Effect.succeed(context))) ) as Layer.Layer, values) } -declare const context1: ReffuseContext -declare const context2: ReffuseContext<"prout"> -const res = useMergeAll(context1, context2) +// declare const context1: ReffuseContext +// declare const context2: ReffuseContext<"prout"> +// const res = useMergeAllLayers(context1, context2)