diff options
author | bob <bcz@cs.brown.edu> | 2019-08-01 15:05:38 -0400 |
---|---|---|
committer | bob <bcz@cs.brown.edu> | 2019-08-01 15:05:38 -0400 |
commit | ff5fbd1206a065eabab917def7d83337a0442cab (patch) | |
tree | 07c2f86558f9255b9e5a69e032287b8d0539dbd5 /src/client/util/SerializationHelper.ts | |
parent | 49faa4e76f91fed04bb1923d81dd23d57a157a63 (diff) | |
parent | 6f3d4a7015e15e0523fc194f7f911f6d45259165 (diff) |
Merge branch 'master' into grouping
Diffstat (limited to 'src/client/util/SerializationHelper.ts')
-rw-r--r-- | src/client/util/SerializationHelper.ts | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/client/util/SerializationHelper.ts b/src/client/util/SerializationHelper.ts index 034be8f67..13302be21 100644 --- a/src/client/util/SerializationHelper.ts +++ b/src/client/util/SerializationHelper.ts @@ -1,6 +1,7 @@ import { PropSchema, serialize, deserialize, custom, setDefaultModelSchema, getDefaultModelSchema, primitive, SKIP } from "serializr"; import { Field, Doc } from "../../new_fields/Doc"; import { ClientUtils } from "./ClientUtils"; +import { emptyFunction } from "../../Utils"; let serializing = 0; export function afterDocDeserialize(cb: (err: any, val: any) => void, err: any, newValue: any) { @@ -33,7 +34,7 @@ export namespace SerializationHelper { return json; } - export async function Deserialize(obj: any): Promise<any> { + export async function Deserialize(obj: any, cb: (val: any) => void = emptyFunction): Promise<any> { if (obj === undefined || obj === null) { return undefined; } @@ -56,7 +57,7 @@ export namespace SerializationHelper { } const type = serializationTypes[obj.__type]; - const value = await new Promise(res => deserialize(type.ctor, obj, (err, result) => res(result))); + const value = await new Promise(res => cb(deserialize(type.ctor, obj, (err, result) => res(result)))); if (type.afterDeserialize) { await type.afterDeserialize(value); } |