diff --git a/packages/effect-fc/src/Component.ts b/packages/effect-fc/src/Component.ts index 1dbd9b7..84abe11 100644 --- a/packages/effect-fc/src/Component.ts +++ b/packages/effect-fc/src/Component.ts @@ -341,14 +341,11 @@ export const withOptions: { export const useFC: { - ( - self: Component & Suspense.Suspense - ): Effect.Effect, never, Exclude> ( self: Component ): Effect.Effect, never, Exclude> } = Effect.fn("useFC")(function* ( - self: Component & (Memoized.Memoized

| Suspense.Suspense | {}) + self: Component ) { const runtimeRef = React.useRef>>(null!) runtimeRef.current = yield* Effect.runtime>() @@ -395,10 +392,6 @@ export const useFC: { }) export const use: { - ( - self: Component & Suspense.Suspense, - fn: (Component: React.FC

) => React.ReactNode, - ): Effect.Effect> ( self: Component, fn: (Component: React.FC

) => React.ReactNode, @@ -408,16 +401,9 @@ export const use: { }) export const withRuntime: { - , R>( - context: React.Context>, - ): (self: T) => React.FC & Suspense.Suspense.Props - : Component.Props - > ( - self: Component & Suspense.Suspense, context: React.Context>, - ): React.FC

+ ): (self: Component) => React.FC

( self: Component, context: React.Context>, diff --git a/packages/example/src/routes/dev/memo.tsx b/packages/example/src/routes/dev/memo.tsx index 08208ca..3ae3fa3 100644 --- a/packages/example/src/routes/dev/memo.tsx +++ b/packages/example/src/routes/dev/memo.tsx @@ -3,7 +3,7 @@ import { Flex, Text, TextField } from "@radix-ui/themes" import { createFileRoute } from "@tanstack/react-router" import { GetRandomValues, makeUuid4 } from "@typed/id" import { Effect } from "effect" -import { Component } from "effect-fc" +import { Component, Memoized, Suspense } from "effect-fc" import * as React from "react" @@ -34,11 +34,11 @@ class SubComponent extends Component.make(function* SubComponent(props: { readon }) {} class MemoizedSubComponent extends SubComponent.pipe( - Component.memo, - Component.suspense, - Component.memo, + Memoized.memo, + Suspense.suspense, + Memoized.memo, ) {} -type T = typeof MemoizedSubComponent extends Component.Memoized ? P : never +type T = typeof MemoizedSubComponent extends Memoized.Memoized ? P : never export const Route = createFileRoute("/dev/memo")({ component: RouteComponent,