From ea14b6d4bf1d0817254ed12d8f0e98f5eb3f1701 Mon Sep 17 00:00:00 2001 From: Mia Miu Date: Fri, 12 Jun 2026 03:51:01 +1200 Subject: [PATCH] fix preserve string date fields --- src/gen/model/accounting/models.ts | 7 +------ src/test/objectSerializer.spec.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 src/test/objectSerializer.spec.ts diff --git a/src/gen/model/accounting/models.ts b/src/gen/model/accounting/models.ts index 5268439a1..e24e3d3bc 100644 --- a/src/gen/model/accounting/models.ts +++ b/src/gen/model/accounting/models.ts @@ -579,12 +579,7 @@ export class ObjectSerializer { if (data == undefined) { return data; } else if (primitives.indexOf(type.toLowerCase()) !== -1) { - if (type === "string" && data.toString().substring(0, 6) === "/Date(") { - return this.deserializeDateFormats(type, data) // For MS dates that are of type 'string' - } - else { - return data; - } + return data; } else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6 let subType: string = type.replace("Array<", ""); // Array => Type> subType = subType.substring(0, subType.length - 1); // Type> => Type diff --git a/src/test/objectSerializer.spec.ts b/src/test/objectSerializer.spec.ts new file mode 100644 index 000000000..285071e28 --- /dev/null +++ b/src/test/objectSerializer.spec.ts @@ -0,0 +1,16 @@ +import { ObjectSerializer } from '../gen/model/accounting/models'; + +describe('ObjectSerializer', () => { + it('preserves invoice date fields as strings during deserialization', () => { + const invoice = ObjectSerializer.deserialize( + { + Date: '/Date(1743638400000+0000)/', + DueDate: '/Date(1743724800000+0000)/', + }, + 'Invoice', + ); + + expect(invoice.date).toBe('/Date(1743638400000+0000)/'); + expect(invoice.dueDate).toBe('/Date(1743724800000+0000)/'); + }); +});