From 1de976aaa8f2845d6d0954b696642eaa8b6dea18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Thu, 24 Apr 2025 00:20:30 +0200 Subject: [PATCH] Fix --- packages/reffuse/src/types/SearchPaths.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/reffuse/src/types/SearchPaths.ts b/packages/reffuse/src/types/SearchPaths.ts index 1411449..01b5cb2 100644 --- a/packages/reffuse/src/types/SearchPaths.ts +++ b/packages/reffuse/src/types/SearchPaths.ts @@ -1,4 +1,4 @@ -import { Array, Option, Predicate } from "effect" +import { Array, Option, Predicate, Schema } from "effect" export type Key = string | number | symbol @@ -65,25 +65,28 @@ export const immutableSet = >( : Option.none() if (typeof parent === "object") - return Object.assign( - Object.create(Object.getPrototypeOf(parent)), - { ...parent, [key.value]: child.value }, + return Option.some( + Object.assign( + Object.create(Object.getPrototypeOf(parent)), + { ...parent, [key.value]: child.value }, + ) ) return Option.none() } +class Person extends Schema.Class("Person")({ + name: Schema.String, +}) {} + const persons = [ - { name: "Monsieur Poulet" }, - { name: "El Chanclador" }, - { name: "AAAYAYAYAYAAY" }, + Person.make({ name: "Monsieur Poulet" }), + Person.make({ name: "El Chanclador" }), + Person.make({ name: "AAAYAYAYAYAAY" }), ] -console.log(persons) const res = get(persons, [1, "name"]) -console.log(res) - const persons2 = Option.getOrThrow(immutableSet(persons, [1, "name"], "El Risitas")) console.log(persons2) console.log(get(persons2, [1, "name"]))