diff --git a/desktop/app/src/utils/__tests__/serialization.node.js b/desktop/app/src/utils/__tests__/serialization.node.tsx similarity index 95% rename from desktop/app/src/utils/__tests__/serialization.node.js rename to desktop/app/src/utils/__tests__/serialization.node.tsx index 778946ebe..411daa6a6 100644 --- a/desktop/app/src/utils/__tests__/serialization.node.js +++ b/desktop/app/src/utils/__tests__/serialization.node.tsx @@ -7,18 +7,18 @@ * @format */ -import {makeObjectSerializable, deserializeObject} from '../serialization.tsx'; +import {makeObjectSerializable, deserializeObject} from '../serialization'; class TestObject extends Object { - constructor(title: Object, map: ?Map, set: ?Set) { + constructor(title: Object, map?: Map, set?: Set) { super(); this.title = title; this.map = map; this.set = set; } title: Object; - map: ?Map; - set: ?Set; + map?: Map; + set?: Set; } test('test makeObjectSerializable function for unnested object with no Set and Map', async () => { const obj = {key1: 'value1', key2: 'value2'}; @@ -283,12 +283,13 @@ test('test serialize and deserializeObject function for non Object input', async }); test('test makeObjectSerializable and deserializeObject function for Date input', async () => { - const date = new Date('2019-02-15'); - const expectedDate = { - __flipper_object_type__: 'Date', - data: date.toString(), - }; - expect(await makeObjectSerializable(date)).toEqual(expectedDate); + const date = new Date(2021, 1, 29, 10, 31, 7, 205); + expect(await makeObjectSerializable(date)).toMatchInlineSnapshot(` + Object { + "__flipper_object_type__": "Date", + "data": "${date.toJSON()}", + } + `); expect(deserializeObject(await makeObjectSerializable(date))).toEqual(date); }); @@ -296,7 +297,7 @@ test('test makeObjectSerializable and deserializeObject function for Map of Sets const map = new Map([ ['k1', new Set([1, 2, 3, 4, 5, 6])], [new Set([1, 2]), new Map([['k3', 'v3']])], - ]); + ] as any); const expectedOutput = { __flipper_object_type__: 'Map', data: [ @@ -317,16 +318,16 @@ test('test makeObjectSerializable and deserializeObject function for Map, Dates const map = new Map([ ['k1', date1], ['k2', new Set([date2])], - ]); + ] as any); const expectedOutput = { __flipper_object_type__: 'Map', data: [ - ['k1', {__flipper_object_type__: 'Date', data: date1.toString()}], + ['k1', {__flipper_object_type__: 'Date', data: date1.toJSON()}], [ 'k2', { __flipper_object_type__: 'Set', - data: [{__flipper_object_type__: 'Date', data: date2.toString()}], + data: [{__flipper_object_type__: 'Date', data: date2.toJSON()}], }, ], ], diff --git a/desktop/app/src/utils/serialization.tsx b/desktop/app/src/utils/serialization.tsx index ae6331f8c..11c3eda6e 100644 --- a/desktop/app/src/utils/serialization.tsx +++ b/desktop/app/src/utils/serialization.tsx @@ -174,7 +174,7 @@ export async function makeObjectSerializable( } else if (element instanceof Date) { dict.set(element, { __flipper_object_type__: 'Date', - data: element.toString(), + data: element.toJSON(), }); } else if (element instanceof Array) { const {childNeedsIteration, outputArr} = processArray(