UNPKG

@ones-op/node-host

Version:
47 lines (46 loc) 1.45 kB
"use strict"; 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;