0.1.13 #18
@@ -1,6 +1,8 @@
|
||||
import { R } from "@/reffuse"
|
||||
import { createFileRoute } from "@tanstack/react-router"
|
||||
import { GetRandomValues, makeUuid4 } from "@typed/id"
|
||||
import { Console, Effect } from "effect"
|
||||
import { useEffect, useState } from "react"
|
||||
|
||||
|
||||
export const Route = createFileRoute("/tests")({
|
||||
@@ -14,10 +16,29 @@ function RouteComponent() {
|
||||
// ), [])
|
||||
// console.log(value)
|
||||
|
||||
R.useFork(Effect.addFinalizer(() => Console.log("cleanup")).pipe(
|
||||
Effect.andThen(Console.log("ouient")),
|
||||
// R.useFork(Effect.addFinalizer(() => Console.log("cleanup")).pipe(
|
||||
// Effect.andThen(Console.log("ouient")),
|
||||
// Effect.delay("1 second"),
|
||||
// ))
|
||||
|
||||
const runPromise = R.useRunPromise()
|
||||
const [promise, setPromise] = useState<Promise<void> | null>(null)
|
||||
const [, setValue] = useState("")
|
||||
|
||||
useEffect(() => {
|
||||
makeUuid4.pipe(
|
||||
Effect.provide(GetRandomValues.CryptoRandom),
|
||||
Effect.tap(id => Effect.sync(() => setValue(id))),
|
||||
Effect.andThen(Console.log),
|
||||
Effect.delay("1 second"),
|
||||
))
|
||||
|
||||
runPromise,
|
||||
setPromise,
|
||||
)
|
||||
}, [runPromise])
|
||||
|
||||
console.log(promise)
|
||||
|
||||
|
||||
return <div>Hello "/tests"!</div>
|
||||
}
|
||||
|
||||
@@ -5,10 +5,6 @@ import { R } from "../reffuse"
|
||||
import { TodosState } from "../services"
|
||||
|
||||
|
||||
export function VNewTodo() {
|
||||
|
||||
const runSync = R.useRunSync()
|
||||
|
||||
const createEmptyTodo = Todo.generateUniqueID.pipe(
|
||||
Effect.map(id => Todo.Todo.make({
|
||||
id,
|
||||
@@ -17,6 +13,11 @@ export function VNewTodo() {
|
||||
}, true))
|
||||
)
|
||||
|
||||
|
||||
export function VNewTodo() {
|
||||
|
||||
const runSync = R.useRunSync()
|
||||
|
||||
const todoRef = R.useMemo(createEmptyTodo.pipe(Effect.flatMap(SubscriptionRef.make)))
|
||||
const [todo, setTodo] = R.useRefState(todoRef)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user