UNPKG

@lakutata/core

Version:

Lakutata Framework Core

71 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JSON = void 0; const Plugin_1 = require("../base/Plugin"); const json_helpers_1 = require("json-helpers"); const Exception_1 = require("../base/abstracts/Exception"); class ParseException extends Exception_1.Exception { constructor() { super(''); } } json_helpers_1.JSONParserV2.formatter({ objectType: 'Error', objectConstructor: Error, serialize: (t) => { if (t instanceof Exception_1.Exception) { return { isException: true, appId: t.appId, appName: t.appName, errMsg: t.errMsg, err: t.err, errno: t.errno, stack: Buffer.from(t.stack ? t.stack : '').toString('base64') }; } else { return { isException: false, name: t.name, message: t.message, stack: Buffer.from(t.stack ? t.stack : '').toString('base64') }; } }, unserialize: (parsedErrorObject) => { if (parsedErrorObject.isException) { const unSerializeException = class extends ParseException { get name() { return parsedErrorObject.err; } }; return Object.assign(new unSerializeException(), { message: parsedErrorObject.errMsg, appId: parsedErrorObject.appId, appName: parsedErrorObject.appName, errMsg: parsedErrorObject.errMsg, err: parsedErrorObject.err, errno: parsedErrorObject.errno, stack: Buffer.from(parsedErrorObject.stack, 'base64').toString() }); } else { const unSerializeError = new Error(); unSerializeError.name = parsedErrorObject.name; unSerializeError.message = parsedErrorObject.message; unSerializeError.stack = Buffer.from(parsedErrorObject.stack, 'base64').toString(); return unSerializeError; } } }); class JSON extends Plugin_1.Plugin { stringify(value, replacer, space) { return json_helpers_1.JSONParserV2.stringify(value, replacer, space); } parse(text, reviver) { return json_helpers_1.JSONParserV2.parse(text, reviver); } } exports.JSON = JSON; //# sourceMappingURL=JSON.js.map