From 94ba0b0c5e5e89d9fc70565c0415530fa6588b1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Thu, 11 Dec 2025 04:23:14 +0100 Subject: [PATCH] QueryClient work --- packages/effect-fc/src/Form.ts | 7 ++++--- packages/effect-fc/src/QueryClient.ts | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/effect-fc/src/Form.ts b/packages/effect-fc/src/Form.ts index a52e322..53785aa 100644 --- a/packages/effect-fc/src/Form.ts +++ b/packages/effect-fc/src/Form.ts @@ -76,13 +76,14 @@ extends Pipeable.Class() implements Form { field>( path: P ): Effect.Effect, PropertyPath.ValueFromPath>> { + const key = new FormFieldKey(path) return this.fieldCache.pipe( - Effect.map(HashMap.get(new FormFieldKey(path))), + Effect.map(HashMap.get(key)), Effect.flatMap(Option.match({ onSome: v => Effect.succeed(v as FormField, PropertyPath.ValueFromPath>), onNone: () => Effect.tap( Effect.succeed(makeFormField(this as Form, path)), - v => Ref.update(this.fieldCache, HashMap.set(new FormFieldKey(path), v as FormField)), + v => Ref.update(this.fieldCache, HashMap.set(key, v as FormField)), ), })), ) @@ -259,7 +260,7 @@ class FormFieldKey implements Equal.Equal { return isFormFieldKey(that) && PropertyPath.equivalence(this.path, that.path) } [Hash.symbol]() { - return 0 + return Hash.array(this.path) } } diff --git a/packages/effect-fc/src/QueryClient.ts b/packages/effect-fc/src/QueryClient.ts index 6e92e52..43f9984 100644 --- a/packages/effect-fc/src/QueryClient.ts +++ b/packages/effect-fc/src/QueryClient.ts @@ -36,7 +36,7 @@ class QueryClientCacheKey implements Equal.Equal { return isQueryClientKey(that) && Equivalence.array(Equal.equivalence())(this.key, that.key) } [Hash.symbol]() { - return 0 + return Hash.array(this.key) } }