From a58b63746a083221dc9711c3d13dbcec9ee324d1 Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Thu, 31 Oct 2024 10:07:33 +0100 Subject: [PATCH] auto updatedAt poc --- packages/effect-app/src/utils.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/effect-app/src/utils.ts b/packages/effect-app/src/utils.ts index 429849f33..53a886937 100644 --- a/packages/effect-app/src/utils.ts +++ b/packages/effect-app/src/utils.ts @@ -689,7 +689,17 @@ export const copy = dual< (self: A, f: (a: A) => Partial): A (self: A, f: Partial): A } ->(2, (self: A, f: Partial | ((a: A) => Partial)) => clone(self, { ...self, ...(isFunction(f) ? f(self) : f) })) +>( + 2, + (self: A, f: Partial | ((a: A) => Partial)) => + clone(self, { + ...self, + // TODO: make this configurable instead via Schema field metadata, or trait... + // could be even the cloneTrait itself + ...("updatedAt" in self ? { updatedAt: new Date() } : undefined), + ...(isFunction(f) ? f(self) : f) + }) +) /** * @tsplus fluent Any.Ops debug