UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

52 lines 2.05 kB
var BooleanSerializer = (function () { function BooleanSerializer() { } BooleanSerializer.prototype.serialize = function (x, serializerContext) { if (x === undefined) { return serializerContext.serializedDefaultValue; } if (x === null) { return serializerContext.serializedNullValue; } if (typeof x === 'boolean') { return x; } if (serializerContext.useImplicitConversion) { return this.convert(x, serializerContext); } serializerContext.logger.error('BooleanSerializer', "".concat(serializerContext.jsonPath, ": cannot serialize value as boolean."), x); return undefined; }; BooleanSerializer.prototype.deserialize = function (x, serializerContext) { if (x === undefined) { return serializerContext.deserializedDefaultValue; } if (x === null) { return serializerContext.deserializedNullValue; } if (typeof x === 'boolean') { return x; } if (serializerContext.useImplicitConversion) { return this.convert(x, serializerContext); } serializerContext.logger.error('BooleanSerializer', "".concat(serializerContext.jsonPath, ": cannot deserialize value as boolean."), x); return undefined; }; BooleanSerializer.prototype.convert = function (x, serializerContext) { if (typeof x === 'string' && (x === 'true' || x === 'false')) { return x === 'true'; } if (typeof x === 'string' && (x === '1' || x === '0')) { return x === '1'; } if (typeof x === 'number' && (x === 1 || x === 0)) { return x === 1; } serializerContext.logger.error('BooleanSerializer', "".concat(serializerContext.jsonPath, ": cannot convert value to boolean."), x); return undefined; }; return BooleanSerializer; }()); export { BooleanSerializer }; //# sourceMappingURL=boolean-serializer.js.map