diff --git a/packages/example/src/routes/count.tsx b/packages/example/src/routes/count.tsx index 77aedc7..38da28a 100644 --- a/packages/example/src/routes/count.tsx +++ b/packages/example/src/routes/count.tsx @@ -1,6 +1,6 @@ import { R } from "@/reffuse" import { createFileRoute } from "@tanstack/react-router" -import { Ref } from "effect" +import { Effect, Ref } from "effect" export const Route = createFileRoute("/count")({ @@ -11,7 +11,7 @@ function Count() { const runSync = R.useRunSync() - const countRef = R.useRef(0) + const countRef = R.useRef(() => Effect.succeed(0)) const [count] = R.useRefState(countRef) diff --git a/packages/example/src/routes/query/service.tsx b/packages/example/src/routes/query/service.tsx index 6a926a8..8211667 100644 --- a/packages/example/src/routes/query/service.tsx +++ b/packages/example/src/routes/query/service.tsx @@ -14,7 +14,7 @@ export const Route = createFileRoute("/query/service")({ function RouteComponent() { const query = R.useQuery({ - key: R.useStreamFromValues(["uuid4", 10 as number]), + key: R.useStreamFromReactiveValues(["uuid4", 10 as number]), query: ([, count]) => Console.log(`Querying ${ count } IDs...`).pipe( Effect.andThen(Effect.sleep("500 millis")), Effect.andThen(HttpClient.get(`https://www.uuidtools.com/api/generate/v4/count/${ count }`)), diff --git a/packages/example/src/routes/query/usequery.tsx b/packages/example/src/routes/query/usequery.tsx index 535c25b..4782a49 100644 --- a/packages/example/src/routes/query/usequery.tsx +++ b/packages/example/src/routes/query/usequery.tsx @@ -20,7 +20,7 @@ function RouteComponent() { const [count, setCount] = useState(1) const query = R.useQuery({ - key: R.useStreamFromValues(["uuid4", count]), + key: R.useStreamFromReactiveValues(["uuid4", count]), query: ([, count]) => Console.log(`Querying ${ count } IDs...`).pipe( Effect.andThen(Effect.sleep("500 millis")), Effect.andThen(HttpClient.get(`https://www.uuidtools.com/api/generate/v4/count/${ count }`)), diff --git a/packages/example/src/routes/tests.tsx b/packages/example/src/routes/tests.tsx index 440c904..3ee0fe9 100644 --- a/packages/example/src/routes/tests.tsx +++ b/packages/example/src/routes/tests.tsx @@ -10,7 +10,7 @@ export const Route = createFileRoute("/tests")({ }) function RouteComponent() { - const deepRef = R.useRef({ value: "poulet" }) + const deepRef = R.useRef(() => Effect.succeed({ value: "poulet" })) const deepValueRef = R.useSubRef(deepRef, ["value"]) // const value = R.useMemoScoped(Effect.addFinalizer(() => Console.log("cleanup")).pipe( @@ -25,8 +25,8 @@ function RouteComponent() { ), []) - const uuidRef = R.useRef("none") - const anotherRef = R.useRef(69) + const uuidRef = R.useRef(() => Effect.succeed("none")) + const anotherRef = R.useRef(() => Effect.succeed(69)) const logValue = R.useCallbackSync(Effect.fn(function*(value: string) { diff --git a/packages/example/src/todos/views/VTodos.tsx b/packages/example/src/todos/views/VTodos.tsx index 27229aa..013fa3e 100644 --- a/packages/example/src/todos/views/VTodos.tsx +++ b/packages/example/src/todos/views/VTodos.tsx @@ -16,7 +16,7 @@ export function VTodos() { ), []) const todosRef = R.useMemo(() => TodosState.TodosState.pipe(Effect.map(state => state.todos)), []) - const [todos] = R.useRefState(todosRef) + const [todos] = R.useSubscribeRefs(todosRef) return ( diff --git a/packages/reffuse/src/ReffuseNamespace.ts b/packages/reffuse/src/ReffuseNamespace.ts index e4f348e..5acbb3f 100644 --- a/packages/reffuse/src/ReffuseNamespace.ts +++ b/packages/reffuse/src/ReffuseNamespace.ts @@ -523,19 +523,19 @@ export abstract class ReffuseNamespace { return reactStateValue as InitialA extends A ? Option.Some : Option.Option } - usePullStream( - this: ReffuseNamespace, - stream: Stream.Stream, - initialValue?: InitialA, - ): [ - latestValue: InitialA extends A ? Option.Some : Option.Option, - pull: () => void, - ] { - const [reactStateValue, setReactStateValue] = React.useState>(Option.fromNullable(initialValue)) - const pull = this.useMemo(() => Stream.toPull(stream), [stream]) + // usePullStream( + // this: ReffuseNamespace, + // stream: Stream.Stream, + // initialValue?: InitialA, + // ): [ + // latestValue: InitialA extends A ? Option.Some : Option.Option, + // pull: () => void, + // ] { + // const [reactStateValue, setReactStateValue] = React.useState>(Option.fromNullable(initialValue)) + // const pull = this.useMemo(() => Stream.toPull(stream), [stream]) - return reactStateValue as InitialA extends A ? Option.Some : Option.Option - } + // return reactStateValue as InitialA extends A ? Option.Some : Option.Option + // } SubRef, R>(