@lakutata/core
Version:
Lakutata Framework Core
71 lines • 2.48 kB
JavaScript
;
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