@reffuse/extension-query 0.1.4 #15

Merged
Thilawyn merged 340 commits from next into master 2025-05-26 04:15:01 +02:00
2 changed files with 13 additions and 6 deletions
Showing only changes of commit 39d2176c61 - Show all commits

View File

@@ -11,11 +11,7 @@ export const Route = createFileRoute("/tests")({
function RouteComponent() {
const deepRef = R.useRef({ value: "poulet" })
const deepValueRef = R.useSubRefFromGetSet(
deepRef,
b => b.value,
(b, a) => ({ ...b, value: a }),
)
const deepValueRef = R.useSubRefFromPath(deepRef, ["value"])
// const value = R.useMemoScoped(Effect.addFinalizer(() => Console.log("cleanup")).pipe(
// Effect.andThen(makeUuid4),

View File

@@ -2,7 +2,7 @@ import { type Context, Effect, ExecutionStrategy, Exit, type Fiber, type Layer,
import * as React from "react"
import * as ReffuseContext from "./ReffuseContext.js"
import * as ReffuseRuntime from "./ReffuseRuntime.js"
import { SetStateAction, SubscriptionSubRef } from "./types/index.js"
import { PropertyPath, SetStateAction, SubscriptionSubRef } from "./types/index.js"
export interface RenderOptions {
@@ -396,6 +396,17 @@ export abstract class ReffuseNamespace<R> {
)
}
useSubRefFromPath<B, const P extends PropertyPath.Paths<B>, R>(
this: ReffuseNamespace<R>,
parent: SubscriptionRef.SubscriptionRef<B>,
path: P,
): SubscriptionSubRef.SubscriptionSubRef<PropertyPath.ValueFromPath<B, P>, B> {
return React.useMemo(
() => SubscriptionSubRef.makeFromPath(parent, path),
[parent],
)
}
useSubscribeRefs<
const Refs extends readonly SubscriptionRef.SubscriptionRef<any>[],
R,