@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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 }`)),
|
||||
|
||||
@@ -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 }`)),
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -523,19 +523,19 @@ export abstract class ReffuseNamespace<R> {
|
||||
return reactStateValue as InitialA extends A ? Option.Some<A> : Option.Option<A>
|
||||
}
|
||||
|
||||
usePullStream<A, InitialA extends A | undefined, E, R>(
|
||||
this: ReffuseNamespace<R>,
|
||||
stream: Stream.Stream<A, E, R>,
|
||||
initialValue?: InitialA,
|
||||
): [
|
||||
latestValue: InitialA extends A ? Option.Some<A> : Option.Option<A>,
|
||||
pull: () => void,
|
||||
] {
|
||||
const [reactStateValue, setReactStateValue] = React.useState<Option.Option<A>>(Option.fromNullable(initialValue))
|
||||
const pull = this.useMemo(() => Stream.toPull(stream), [stream])
|
||||
// usePullStream<A, InitialA extends A | undefined, E, R>(
|
||||
// this: ReffuseNamespace<R>,
|
||||
// stream: Stream.Stream<A, E, R>,
|
||||
// initialValue?: InitialA,
|
||||
// ): [
|
||||
// latestValue: InitialA extends A ? Option.Some<A> : Option.Option<A>,
|
||||
// pull: () => void,
|
||||
// ] {
|
||||
// const [reactStateValue, setReactStateValue] = React.useState<Option.Option<A>>(Option.fromNullable(initialValue))
|
||||
// const pull = this.useMemo(() => Stream.toPull(stream), [stream])
|
||||
|
||||
return reactStateValue as InitialA extends A ? Option.Some<A> : Option.Option<A>
|
||||
}
|
||||
// return reactStateValue as InitialA extends A ? Option.Some<A> : Option.Option<A>
|
||||
// }
|
||||
|
||||
|
||||
SubRef<B, const P extends PropertyPath.Paths<B>, R>(
|
||||
|
||||
Reference in New Issue
Block a user