From c1bda2d4bdfcabb99dda1303783493fd7e1cf9b4 Mon Sep 17 00:00:00 2001 From: Minha Kang <118591632+m2na7@users.noreply.github.com> Date: Fri, 29 Aug 2025 01:17:43 +0900 Subject: [PATCH 1/3] fix(form-core): add support for Date object comparison --- packages/form-core/src/utils.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/form-core/src/utils.ts b/packages/form-core/src/utils.ts index 3b0186e35..eedb2bce6 100644 --- a/packages/form-core/src/utils.ts +++ b/packages/form-core/src/utils.ts @@ -431,6 +431,10 @@ export function evaluate(objA: T, objB: T) { return false } + if (objA instanceof Date && objB instanceof Date) { + return objA.getTime() === objB.getTime() + } + if (objA instanceof Map && objB instanceof Map) { if (objA.size !== objB.size) return false for (const [k, v] of objA) { @@ -539,3 +543,4 @@ export function createFieldMap(values: Readonly): { [K in keyof T]: K } { return output } + From cc5bfa9f3fc0f2246ec34e18573477cd92e77d2f Mon Sep 17 00:00:00 2001 From: Minha Kang <118591632+m2na7@users.noreply.github.com> Date: Fri, 29 Aug 2025 01:17:55 +0900 Subject: [PATCH 2/3] test(form-core): add tests for Date object comparison --- packages/form-core/tests/utils.spec.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/form-core/tests/utils.spec.ts b/packages/form-core/tests/utils.spec.ts index 08966f330..b97316648 100644 --- a/packages/form-core/tests/utils.spec.ts +++ b/packages/form-core/tests/utils.spec.ts @@ -648,6 +648,24 @@ describe('evaluate', () => { ) expect(objComplexTrue).toEqual(true) }) + + it('should test equality between Date objects', () => { + const date1 = new Date('2025-01-01T00:00:00.000Z') + const date2 = new Date('2025-01-01T00:00:00.000Z') + const date3 = new Date('2025-01-02T00:00:00.000Z') + + const dateTrue = evaluate(date1, date2) + expect(dateTrue).toEqual(true) + + const dateFalse = evaluate(date1, date3) + expect(dateFalse).toEqual(false) + + const dateObjectTrue = evaluate({ date: date1 }, { date: date2 }) + expect(dateObjectTrue).toEqual(true) + + const dateObjectFalse = evaluate({ date: date1 }, { date: date3 }) + expect(dateObjectFalse).toEqual(false) + }) }) describe('concatenatePaths', () => { From c010d5d5d378efc4f88c01c8f46af0c8e9ef9406 Mon Sep 17 00:00:00 2001 From: Minha Kang <118591632+m2na7@users.noreply.github.com> Date: Fri, 29 Aug 2025 01:20:50 +0900 Subject: [PATCH 3/3] refactor(form-core): remove unnecessary blank line in utils.ts --- packages/form-core/src/utils.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/form-core/src/utils.ts b/packages/form-core/src/utils.ts index eedb2bce6..dd5476d40 100644 --- a/packages/form-core/src/utils.ts +++ b/packages/form-core/src/utils.ts @@ -543,4 +543,3 @@ export function createFieldMap(values: Readonly): { [K in keyof T]: K } { return output } -