From 0a5dac5f34c28f22a635c4c468113d495b21de7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sat, 12 Jul 2025 02:20:53 +0200 Subject: [PATCH] Fix --- packages/effect-fc/src/Component.ts | 8 +++++--- packages/example/src/todo/Todo.tsx | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/effect-fc/src/Component.ts b/packages/effect-fc/src/Component.ts index a297b89..ab56dfa 100644 --- a/packages/effect-fc/src/Component.ts +++ b/packages/effect-fc/src/Component.ts @@ -90,13 +90,15 @@ export interface Memoized

{ export const memo: { >( propsAreEqual?: Equivalence.Equivalence> - ): (self: T) => T & Memoized> + ): ( + self: ExcludeKeys>> + ) => T & Memoized> >( - self: T, + self: ExcludeKeys>>, propsAreEqual?: Equivalence.Equivalence>, ): T & Memoized> } = Function.dual(2, >( - self: T, + self: ExcludeKeys>>, propsAreEqual?: Equivalence.Equivalence>, ): T & Memoized> => Object.assign( Object.create(Object.getPrototypeOf(self)), diff --git a/packages/example/src/todo/Todo.tsx b/packages/example/src/todo/Todo.tsx index b7d1746..3a2495f 100644 --- a/packages/example/src/todo/Todo.tsx +++ b/packages/example/src/todo/Todo.tsx @@ -113,3 +113,4 @@ export const Todo = Component.make(function* Todo(props: TodoProps) { }) const MemoizedTodo = Component.memo(Todo) +const MemoizedTodo2 = Component.memo(MemoizedTodo)