0.1.12 (#17)
All checks were successful
Publish / publish (push) Successful in 22s
Lint / lint (push) Successful in 14s

Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: https://gitea:3000/Thilawyn/reffuse/pulls/17
This commit was merged in pull request #17.
This commit is contained in:
Julien Valverdé
2025-06-17 23:06:08 +02:00
parent 6dc0a548cd
commit 30b72b5b52
3 changed files with 27 additions and 10 deletions

View File

@@ -6,6 +6,16 @@ import { Console, Effect, Option } from "effect"
import { useEffect, useState } from "react"
interface Node {
value: string
left?: Leaf
right?: Leaf
}
interface Leaf {
node: Node
}
const makeUuid = Effect.provide(makeUuid4, GetRandomValues.CryptoRandom)
@@ -32,6 +42,11 @@ function RouteComponent() {
runSync,
), [scopeLayer, runSync])
const nodeRef = R.useRef(() => Effect.succeed<Node>({ value: "prout" }))
const nodeValueRef = R.useSubRefFromPath(nodeRef, ["value"])
return (
<Flex direction="column" justify="center" align="center" gap="2">
<Text>{uuid}</Text>

View File

@@ -1,6 +1,6 @@
{
"name": "reffuse",
"version": "0.1.11",
"version": "0.1.12",
"type": "module",
"files": [
"./README.md",

View File

@@ -1,24 +1,26 @@
import { Array, Function, Option, Predicate } from "effect"
export type Paths<T> = [] | (
T extends readonly any[] ? ArrayPaths<T> :
T extends object ? ObjectPaths<T> :
export type Paths<T, Seen = never> = [] | (
T extends Seen ? [] :
T extends readonly any[] ? ArrayPaths<T, Seen | T> :
T extends object ? ObjectPaths<T, Seen | T> :
never
)
export type ArrayPaths<T extends readonly any[]> = {
export type ArrayPaths<T extends readonly any[], Seen> = {
[K in keyof T as K extends number ? K : never]:
| [K]
| [K, ...Paths<T[K]>]
| [K, ...Paths<T[K], Seen>]
} extends infer O
? O[keyof O]
: never
export type ObjectPaths<T extends object> = {
[K in keyof T as K extends string | number | symbol ? K : never]:
| [K]
| [K, ...Paths<T[K]>]
export type ObjectPaths<T extends object, Seen> = {
[K in keyof T as K extends string | number | symbol ? K : never]-?:
NonNullable<T[K]> extends infer V
? [K] | [K, ...Paths<T[K], Seen>]
: never
} extends infer O
? O[keyof O]
: never