json-helpers
Version:
JSON stringify/parser managing 'undefined, Date and Buffer.
44 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Uint8ArrayJSONFormatter = exports.BufferBinaryJSONFormatter = exports.BufferJSONFormatter = exports.TypeErrorJSONFormatter = exports.ErrorJSONFormatter = exports.DateJSONFormatter = void 0;
const buffer_1 = require("buffer");
exports.DateJSONFormatter = {
objectType: 'Date',
objectConstructor: globalThis.Date,
serialize: (t) => t.valueOf(),
unserialize: (data) => new Date(data)
};
exports.ErrorJSONFormatter = {
objectType: 'Error',
objectConstructor: globalThis.Error,
serialize: (t) => t.message,
unserialize: (data) => new Error(data)
};
exports.TypeErrorJSONFormatter = {
objectType: 'TypeError',
objectConstructor: globalThis.TypeError,
serialize: (t) => t.message,
unserialize: (data) => new TypeError(data)
};
exports.BufferJSONFormatter = {
objectType: 'Buffer',
objectConstructor: buffer_1.Buffer,
serialize: null,
unserialize: (data) => buffer_1.Buffer.from(data)
};
exports.BufferBinaryJSONFormatter = {
objectType: 'Buffer',
objectConstructor: buffer_1.Buffer,
serialize: (t) => t.toString('binary'),
unserialize: (data) => buffer_1.Buffer.from(data, 'binary')
};
exports.Uint8ArrayJSONFormatter = {
objectType: 'Uint8Array',
objectConstructor: Uint8Array,
serialize: (t) => buffer_1.Buffer.from(t.buffer).toString('binary'),
unserialize: (data) => {
const buffer = buffer_1.Buffer.from(data, 'binary');
return new Uint8Array(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.length));
}
};
//# sourceMappingURL=json-formatter-default.js.map