@dipscope/type-manager
Version:
Transform JSON strings or plain objects into JS class instances.
29 lines • 1.03 kB
JavaScript
export class DateSerializer {
serialize(x, serializerContext) {
if (x === undefined) {
return serializerContext.serializedDefaultValue;
}
if (x === null) {
return serializerContext.serializedNullValue;
}
if (x instanceof Date) {
return x.toISOString();
}
serializerContext.logger.error('DateSerializer', `${serializerContext.jsonPath}: cannot serialize value as date.`, x);
return undefined;
}
deserialize(x, serializerContext) {
if (x === undefined) {
return serializerContext.deserializedDefaultValue;
}
if (x === null) {
return serializerContext.deserializedNullValue;
}
if (typeof x === 'string') {
return new Date(x);
}
serializerContext.logger.error('DateSerializer', `${serializerContext.jsonPath}: cannot deserialize value as date.`, x);
return undefined;
}
}
//# sourceMappingURL=date-serializer.js.map