UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

40 lines 1.71 kB
var DataViewSerializer = (function () { function DataViewSerializer() { } DataViewSerializer.prototype.serialize = function (x, serializerContext) { if (x === undefined) { return serializerContext.serializedDefaultValue; } if (x === null) { return serializerContext.serializedNullValue; } if (x instanceof DataView) { var arrayBufferView = new Uint16Array(x.buffer); var charCodeArray = Array.from(arrayBufferView); return charCodeArray.map(function (c) { return String.fromCharCode(c); }).join(''); } serializerContext.logger.error('DataViewSerializer', "".concat(serializerContext.jsonPath, ": cannot serialize value as data view."), x); return undefined; }; DataViewSerializer.prototype.deserialize = function (x, serializerContext) { if (x === undefined) { return serializerContext.deserializedDefaultValue; } if (x === null) { return serializerContext.deserializedNullValue; } if (typeof x === 'string') { var arrayBuffer = new ArrayBuffer(x.length * 2); var arrayBufferView = new Uint16Array(arrayBuffer); for (var i = 0; i < x.length; i++) { arrayBufferView[i] = x.charCodeAt(i); } return new DataView(arrayBuffer); } serializerContext.logger.error('DataViewSerializer', "".concat(serializerContext.jsonPath, ": cannot deserialize value as data view."), x); return undefined; }; return DataViewSerializer; }()); export { DataViewSerializer }; //# sourceMappingURL=data-view-serializer.js.map