UNPKG

@lskjs/server

Version:

LSK server.

90 lines (71 loc) 7.62 kB
"use strict"; 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