@lskjs/server
Version:
LSK server.
90 lines (71 loc) • 7.62 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _omit = _interopRequireDefault(require("lodash/omit"));
var _get = _interopRequireDefault(require("lodash/get"));
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _default = function _default(ctx) {
return function pack() {
var raw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var info = arguments.length > 1 ? arguments[1] : undefined;
var res = this;
var config = (0, _get["default"])(ctx, 'config.response', __DEV__ ? {
log: false,
debug: true
} : {}); // const isRaw = get(raw, '__raw', false) || get(raw, '__pack', false);
var isLog = Boolean((0, _get["default"])(raw, '__log') == null ? config.log : (0, _get["default"])(raw, '__log'));
var status = info.status || (0, _get["default"])(raw, '__status', null);
var isJson;
var wrap;
var data;
if (typeof (0, _get["default"])(raw, '__raw') !== 'undefined') {
wrap = false;
isJson = false;
data = raw.__raw;
} else {
wrap = !(0, _get["default"])(raw, '__pack', false);
isJson = true;
if ((0, _isPlainObject["default"])(raw)) {
data = (0, _omit["default"])(raw, ['__pack', '__raw', '__log', '__status']);
} else {
data = raw;
}
}
var result;
if (wrap) {
result = {
code: info.code,
message: info.message,
data: data
};
} else {
result = data;
}
if (status) {
res.status(status);
}
if (wrap && config.debug) {
if (info.err) {
result.err = info.err;
}
if (info.debug) {
result.debug = info.debug;
}
if (info.stack) {
result.stack = info.stack;
}
}
if (isLog) {
ctx.log.trace('>>>>>>');
console.log(isJson ? JSON.stringify(result, null, 2) : result); // eslint-disable-line no-console
ctx.log.trace('<<<<<<');
}
return isJson ? res.json(result) : res.send(result);
};
};
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNwb25zZXMvXy9vcmlnaW5hbF9wYWNrLmpzIl0sIm5hbWVzIjpbImN0eCIsInBhY2siLCJyYXciLCJpbmZvIiwicmVzIiwiY29uZmlnIiwiX19ERVZfXyIsImxvZyIsImRlYnVnIiwiaXNMb2ciLCJCb29sZWFuIiwic3RhdHVzIiwiaXNKc29uIiwid3JhcCIsImRhdGEiLCJfX3JhdyIsInJlc3VsdCIsImNvZGUiLCJtZXNzYWdlIiwiZXJyIiwic3RhY2siLCJ0cmFjZSIsImNvbnNvbGUiLCJKU09OIiwic3RyaW5naWZ5IiwianNvbiIsInNlbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztlQUVlLGtCQUFBQSxHQUFHO0FBQUEsU0FDaEIsU0FBU0MsSUFBVCxHQUE4QjtBQUFBLFFBQWhCQyxHQUFnQix1RUFBVixFQUFVO0FBQUEsUUFBTkMsSUFBTTtBQUM1QixRQUFNQyxHQUFHLEdBQUcsSUFBWjtBQUNBLFFBQU1DLE1BQU0sR0FBRyxxQkFBSUwsR0FBSixFQUFTLGlCQUFULEVBQTRCTSxPQUFPLEdBQUc7QUFBRUMsTUFBQUEsR0FBRyxFQUFFLEtBQVA7QUFBY0MsTUFBQUEsS0FBSyxFQUFFO0FBQXJCLEtBQUgsR0FBaUMsRUFBcEUsQ0FBZixDQUY0QixDQUc1Qjs7QUFDQSxRQUFNQyxLQUFLLEdBQUdDLE9BQU8sQ0FBQyxxQkFBSVIsR0FBSixFQUFTLE9BQVQsS0FBcUIsSUFBckIsR0FBNEJHLE1BQU0sQ0FBQ0UsR0FBbkMsR0FBeUMscUJBQUlMLEdBQUosRUFBUyxPQUFULENBQTFDLENBQXJCO0FBQ0EsUUFBTVMsTUFBTSxHQUFHUixJQUFJLENBQUNRLE1BQUwsSUFBZSxxQkFBSVQsR0FBSixFQUFTLFVBQVQsRUFBcUIsSUFBckIsQ0FBOUI7QUFDQSxRQUFJVSxNQUFKO0FBQ0EsUUFBSUMsSUFBSjtBQUNBLFFBQUlDLElBQUo7O0FBQ0EsUUFBSSxPQUFPLHFCQUFJWixHQUFKLEVBQVMsT0FBVCxDQUFQLEtBQTZCLFdBQWpDLEVBQThDO0FBQzVDVyxNQUFBQSxJQUFJLEdBQUcsS0FBUDtBQUNBRCxNQUFBQSxNQUFNLEdBQUcsS0FBVDtBQUNBRSxNQUFBQSxJQUFJLEdBQUdaLEdBQUcsQ0FBQ2EsS0FBWDtBQUNELEtBSkQsTUFJTztBQUNMRixNQUFBQSxJQUFJLEdBQUcsQ0FBQyxxQkFBSVgsR0FBSixFQUFTLFFBQVQsRUFBbUIsS0FBbkIsQ0FBUjtBQUNBVSxNQUFBQSxNQUFNLEdBQUcsSUFBVDs7QUFDQSxVQUFJLCtCQUFjVixHQUFkLENBQUosRUFBd0I7QUFDdEJZLFFBQUFBLElBQUksR0FBRyxzQkFBS1osR0FBTCxFQUFVLENBQUMsUUFBRCxFQUFXLE9BQVgsRUFBb0IsT0FBcEIsRUFBNkIsVUFBN0IsQ0FBVixDQUFQO0FBQ0QsT0FGRCxNQUVPO0FBQ0xZLFFBQUFBLElBQUksR0FBR1osR0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsUUFBSWMsTUFBSjs7QUFDQSxRQUFJSCxJQUFKLEVBQVU7QUFDUkcsTUFBQUEsTUFBTSxHQUFHO0FBQ1BDLFFBQUFBLElBQUksRUFBRWQsSUFBSSxDQUFDYyxJQURKO0FBRVBDLFFBQUFBLE9BQU8sRUFBRWYsSUFBSSxDQUFDZSxPQUZQO0FBR1BKLFFBQUFBLElBQUksRUFBSkE7QUFITyxPQUFUO0FBS0QsS0FORCxNQU1PO0FBQ0xFLE1BQUFBLE1BQU0sR0FBR0YsSUFBVDtBQUNEOztBQUNELFFBQUlILE1BQUosRUFBWTtBQUNWUCxNQUFBQSxHQUFHLENBQUNPLE1BQUosQ0FBV0EsTUFBWDtBQUNEOztBQUNELFFBQUlFLElBQUksSUFBSVIsTUFBTSxDQUFDRyxLQUFuQixFQUEwQjtBQUN4QixVQUFJTCxJQUFJLENBQUNnQixHQUFULEVBQWM7QUFDWkgsUUFBQUEsTUFBTSxDQUFDRyxHQUFQLEdBQWFoQixJQUFJLENBQUNnQixHQUFsQjtBQUNEOztBQUNELFVBQUloQixJQUFJLENBQUNLLEtBQVQsRUFBZ0I7QUFDZFEsUUFBQUEsTUFBTSxDQUFDUixLQUFQLEdBQWVMLElBQUksQ0FBQ0ssS0FBcEI7QUFDRDs7QUFDRCxVQUFJTCxJQUFJLENBQUNpQixLQUFULEVBQWdCO0FBQ2RKLFFBQUFBLE1BQU0sQ0FBQ0ksS0FBUCxHQUFlakIsSUFBSSxDQUFDaUIsS0FBcEI7QUFDRDtBQUNGOztBQUNELFFBQUlYLEtBQUosRUFBVztBQUNUVCxNQUFBQSxHQUFHLENBQUNPLEdBQUosQ0FBUWMsS0FBUixDQUFjLFFBQWQ7QUFDQUMsTUFBQUEsT0FBTyxDQUFDZixHQUFSLENBQVlLLE1BQU0sR0FBR1csSUFBSSxDQUFDQyxTQUFMLENBQWVSLE1BQWYsRUFBdUIsSUFBdkIsRUFBNkIsQ0FBN0IsQ0FBSCxHQUFxQ0EsTUFBdkQsRUFGUyxDQUV1RDs7QUFDaEVoQixNQUFBQSxHQUFHLENBQUNPLEdBQUosQ0FBUWMsS0FBUixDQUFjLFFBQWQ7QUFDRDs7QUFDRCxXQUFPVCxNQUFNLEdBQUdSLEdBQUcsQ0FBQ3FCLElBQUosQ0FBU1QsTUFBVCxDQUFILEdBQXNCWixHQUFHLENBQUNzQixJQUFKLENBQVNWLE1BQVQsQ0FBbkM7QUFDRCxHQXJEZTtBQUFBLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb21pdCBmcm9tICdsb2Rhc2gvb21pdCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IGlzUGxhaW5PYmplY3QgZnJvbSAnbG9kYXNoL2lzUGxhaW5PYmplY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjdHggPT5cbiAgZnVuY3Rpb24gcGFjayhyYXcgPSB7fSwgaW5mbykge1xuICAgIGNvbnN0IHJlcyA9IHRoaXM7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KGN0eCwgJ2NvbmZpZy5yZXNwb25zZScsIF9fREVWX18gPyB7IGxvZzogZmFsc2UsIGRlYnVnOiB0cnVlIH0gOiB7fSk7XG4gICAgLy8gY29uc3QgaXNSYXcgPSBnZXQocmF3LCAnX19yYXcnLCBmYWxzZSkgfHwgZ2V0KHJhdywgJ19fcGFjaycsIGZhbHNlKTtcbiAgICBjb25zdCBpc0xvZyA9IEJvb2xlYW4oZ2V0KHJhdywgJ19fbG9nJykgPT0gbnVsbCA/IGNvbmZpZy5sb2cgOiBnZXQocmF3LCAnX19sb2cnKSk7XG4gICAgY29uc3Qgc3RhdHVzID0gaW5mby5zdGF0dXMgfHwgZ2V0KHJhdywgJ19fc3RhdHVzJywgbnVsbCk7XG4gICAgbGV0IGlzSnNvbjtcbiAgICBsZXQgd3JhcDtcbiAgICBsZXQgZGF0YTtcbiAgICBpZiAodHlwZW9mIGdldChyYXcsICdfX3JhdycpICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgd3JhcCA9IGZhbHNlO1xuICAgICAgaXNKc29uID0gZmFsc2U7XG4gICAgICBkYXRhID0gcmF3Ll9fcmF3O1xuICAgIH0gZWxzZSB7XG4gICAgICB3cmFwID0gIWdldChyYXcsICdfX3BhY2snLCBmYWxzZSk7XG4gICAgICBpc0pzb24gPSB0cnVlO1xuICAgICAgaWYgKGlzUGxhaW5PYmplY3QocmF3KSkge1xuICAgICAgICBkYXRhID0gb21pdChyYXcsIFsnX19wYWNrJywgJ19fcmF3JywgJ19fbG9nJywgJ19fc3RhdHVzJ10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YSA9IHJhdztcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJlc3VsdDtcbiAgICBpZiAod3JhcCkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBjb2RlOiBpbmZvLmNvZGUsXG4gICAgICAgIG1lc3NhZ2U6IGluZm8ubWVzc2FnZSxcbiAgICAgICAgZGF0YSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGRhdGE7XG4gICAgfVxuICAgIGlmIChzdGF0dXMpIHtcbiAgICAgIHJlcy5zdGF0dXMoc3RhdHVzKTtcbiAgICB9XG4gICAgaWYgKHdyYXAgJiYgY29uZmlnLmRlYnVnKSB7XG4gICAgICBpZiAoaW5mby5lcnIpIHtcbiAgICAgICAgcmVzdWx0LmVyciA9IGluZm8uZXJyO1xuICAgICAgfVxuICAgICAgaWYgKGluZm8uZGVidWcpIHtcbiAgICAgICAgcmVzdWx0LmRlYnVnID0gaW5mby5kZWJ1ZztcbiAgICAgIH1cbiAgICAgIGlmIChpbmZvLnN0YWNrKSB7XG4gICAgICAgIHJlc3VsdC5zdGFjayA9IGluZm8uc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc0xvZykge1xuICAgICAgY3R4LmxvZy50cmFjZSgnPj4+Pj4+Jyk7XG4gICAgICBjb25zb2xlLmxvZyhpc0pzb24gPyBKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpIDogcmVzdWx0KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgICBjdHgubG9nLnRyYWNlKCc8PDw8PDwnKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzSnNvbiA/IHJlcy5qc29uKHJlc3VsdCkgOiByZXMuc2VuZChyZXN1bHQpO1xuICB9O1xuIl19
//# sourceMappingURL=original_pack.js.map