@ones-op/node-host
Version:
ONES Open Platform Node.js plugin host
47 lines (46 loc) • 1.45 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Serialize = void 0;
const triple_beam_1 = require("triple-beam");
const serialize_javascript_1 = __importDefault(require("serialize-javascript"));
const lodash_1 = require("lodash");
/**
* 序列化参数,使其支持多参数传入
*/
class Serialize {
stringifyParams(params) {
let msg = '';
params.forEach((param) => {
// Error 已经额外处理过了,这里不再处理
if ((0, lodash_1.isError)(param)) {
return;
}
else if ((0, lodash_1.isObject)(param)) {
msg += ` ${(0, serialize_javascript_1.default)(param)}`;
}
else {
msg += ` ${param}`;
}
});
return msg.trim();
}
printf(info) {
let msg = info.message;
// 从info中取出rest参数
const rest = info[triple_beam_1.SPLAT] || info.splat || [];
if (rest.length) {
msg = this.stringifyParams([msg, ...rest]);
}
// 重写info的message
info[triple_beam_1.MESSAGE] = msg;
return msg;
}
transform(info) {
info.message = this.printf(info);
return info;
}
}
exports.Serialize = Serialize;