UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

40 lines 1.73 kB
var ArrayBufferSerializer = (function () { function ArrayBufferSerializer() { } ArrayBufferSerializer.prototype.serialize = function (x, serializerContext) { if (x === undefined) { return serializerContext.serializedDefaultValue; } if (x === null) { return serializerContext.serializedNullValue; } if (x instanceof ArrayBuffer) { var arrayBufferView = new Uint16Array(x); var charCodeArray = Array.from(arrayBufferView); return charCodeArray.map(function (c) { return String.fromCharCode(c); }).join(''); } serializerContext.logger.error('ArrayBufferSerializer', "".concat(serializerContext.jsonPath, ": cannot serialize value as array buffer."), x); return undefined; }; ArrayBufferSerializer.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 arrayBuffer; } serializerContext.logger.error('ArrayBufferSerializer', "".concat(serializerContext.jsonPath, ": cannot deserialize value as array buffer."), x); return undefined; }; return ArrayBufferSerializer; }()); export { ArrayBufferSerializer }; //# sourceMappingURL=array-buffer-serializer.js.map