decla-red/shared/src/transport/serialization/deserialize.ts
2020-10-07 10:04:05 +02:00

13 lines
397 B
TypeScript

import { serializableMapping } from './serializable-mapping';
export const deserialize = (json: string): any => {
return JSON.parse(json, (k, v) => {
const possibleType = v[0];
const overridableConstructor = serializableMapping.get(possibleType);
if (overridableConstructor) {
v.shift();
return new overridableConstructor.constructor(...v);
}
return v;
});
};