UNPKG

@lskjs/server

Version:

LSK server.

108 lines (81 loc) 10.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _omit = _interopRequireDefault(require("lodash/omit")); var _get = _interopRequireDefault(require("lodash/get")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var _default = function _default(ctx) { return function pack() { var _this = this; var data = 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: true, debug: true } : {}); var json = { code: info.code, message: info.message }; var dataData = (0, _omit["default"])(data, ['__pack', '__raw', '__log', '__status']); if ((0, _get["default"])(data, '__pack')) { json = _objectSpread(_objectSpread({}, json), dataData); } else { json.data = dataData; } var status = info.status || (0, _get["default"])(data, '__status'); if (status) { res.status(status); } var isLog = config.log || (0, _get["default"])(data, '__log'); var log = function log(str, type) { if (!isLog) return; var dest = isLog; if (isLog === true) dest = str && str.length > 100 ? 'file' : 'console'; if (dest === 'file') { var filename = "/tmp/res_".concat(new Date().toISOString().replace(/[^a-zA-Z0-9]+/gi, '_'), ".").concat(type); ctx.log.trace(">>>>> #".concat(_this.req.reqId, " ").concat(filename, " [").concat(str.length, " bytes] ").concat(__DEV__ ? '[IGNORE]' : '')); if (__DEV__) { try { require('fs').writeFileSync(filename, str); } catch (e) {} } return; } ctx.log.trace('>>>>>'); console.log(str); // eslint-disable-line no-console ctx.log.trace('<<<<<'); }; if (!data) { log(null, null); return res.json(null); } if ((0, _get["default"])(data, '__raw')) { log((0, _get["default"])(data, '__raw'), 'string'); return res.send((0, _get["default"])(data, '__raw')); } if (!(0, _get["default"])(data, '__pack')) { json.data = data; } if (config.debug && info.err) { json.err = info.err; } if (config.debug && info.debug) { json.debug = info.debug; } if (config.debug && info.stack) { json.stack = info.stack; } log(JSON.stringify(json, null, 2), 'json'); return res.json(json); }; }; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNwb25zZXMvXy9oal9wYWNrLmpzIl0sIm5hbWVzIjpbImN0eCIsInBhY2siLCJkYXRhIiwiaW5mbyIsInJlcyIsImNvbmZpZyIsIl9fREVWX18iLCJsb2ciLCJkZWJ1ZyIsImpzb24iLCJjb2RlIiwibWVzc2FnZSIsImRhdGFEYXRhIiwic3RhdHVzIiwiaXNMb2ciLCJzdHIiLCJ0eXBlIiwiZGVzdCIsImxlbmd0aCIsImZpbGVuYW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwicmVwbGFjZSIsInRyYWNlIiwicmVxIiwicmVxSWQiLCJyZXF1aXJlIiwid3JpdGVGaWxlU3luYyIsImUiLCJjb25zb2xlIiwic2VuZCIsImVyciIsInN0YWNrIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7O2VBRWUsa0JBQUFBLEdBQUc7QUFBQSxTQUNoQixTQUFTQyxJQUFULEdBQStCO0FBQUE7O0FBQUEsUUFBakJDLElBQWlCLHVFQUFWLEVBQVU7QUFBQSxRQUFOQyxJQUFNO0FBQzdCLFFBQU1DLEdBQUcsR0FBRyxJQUFaO0FBQ0EsUUFBTUMsTUFBTSxHQUFHLHFCQUFJTCxHQUFKLEVBQVMsaUJBQVQsRUFBNEJNLE9BQU8sR0FBRztBQUFFQyxNQUFBQSxHQUFHLEVBQUUsSUFBUDtBQUFhQyxNQUFBQSxLQUFLLEVBQUU7QUFBcEIsS0FBSCxHQUFnQyxFQUFuRSxDQUFmO0FBQ0EsUUFBSUMsSUFBSSxHQUFHO0FBQ1RDLE1BQUFBLElBQUksRUFBRVAsSUFBSSxDQUFDTyxJQURGO0FBRVRDLE1BQUFBLE9BQU8sRUFBRVIsSUFBSSxDQUFDUTtBQUZMLEtBQVg7QUFLQSxRQUFNQyxRQUFRLEdBQUcsc0JBQUtWLElBQUwsRUFBVyxDQUFDLFFBQUQsRUFBVyxPQUFYLEVBQW9CLE9BQXBCLEVBQTZCLFVBQTdCLENBQVgsQ0FBakI7O0FBQ0EsUUFBSSxxQkFBSUEsSUFBSixFQUFVLFFBQVYsQ0FBSixF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QUFDRyxLQUFQLElBQWdCTCxJQUFJLENBQUM2QixLQUF6QixFQUFnQztBQUM5QnZCLE1BQUFBLElBQUksQ0FBQ3VCLEtBQUwsR0FBYTdCLElBQUksQ0FBQzZCLEtBQWxCO0FBQ0Q7O0FBQ0R6QixJQUFBQSxHQUFHLENBQUMwQixJQUFJLENBQUNDLFNBQUwsQ0FBZXpCLElBQWYsRUFBcUIsSUFBckIsRUFBMkIsQ0FBM0IsQ0FBRCxFQUFnQyxNQUFoQyxDQUFIO0FBQ0EsV0FBT0wsR0FBRyxDQUFDSyxJQUFKLENBQVNBLElBQVQsQ0FBUDtBQUNELEdBL0RlO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC9vbWl0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5cbmV4cG9ydCBkZWZhdWx0IGN0eCA9PlxuICBmdW5jdGlvbiBwYWNrKGRhdGEgPSB7fSwgaW5mbykge1xuICAgIGNvbnN0IHJlcyA9IHRoaXM7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KGN0eCwgJ2NvbmZpZy5yZXNwb25zZScsIF9fREVWX18gPyB7IGxvZzogdHJ1ZSwgZGVidWc6IHRydWUgfSA6IHt9KTtcbiAgICBsZXQganNvbiA9IHtcbiAgICAgIGNvZGU6IGluZm8uY29kZSxcbiAgICAgIG1lc3NhZ2U6IGluZm8ubWVzc2FnZSxcbiAgICB9O1xuXG4gICAgY29uc3QgZGF0YURhdGEgPSBvbWl0KGRhdGEsIFsnX19wYWNrJywgJ19fcmF3JywgJ19fbG9nJywgJ19fc3RhdHVzJ10pO1xuICAgIGlmIChnZXQoZGF0YSwgJ19fcGFjaycpKSB7XG4gICAgICBqc29uID0geyAuLi5qc29uLCAuLi5kYXRhRGF0YSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBqc29uLmRhdGEgPSBkYXRhRGF0YTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0dXMgPSBpbmZvLnN0YXR1cyB8fCBnZXQoZGF0YSwgJ19fc3RhdHVzJyk7XG4gICAgaWYgKHN0YXR1cykge1xuICAgICAgcmVzLnN0YXR1cyhzdGF0dXMpO1xuICAgIH1cbiAgICBjb25zdCBpc0xvZyA9IGNvbmZpZy5sb2cgfHwgZ2V0KGRhdGEsICdfX2xvZycpO1xuICAgIGNvbnN0IGxvZyA9IChzdHIsIHR5cGUpID0+IHtcbiAgICAgIGlmICghaXNMb2cpIHJldHVybjtcbiAgICAgIGxldCBkZXN0ID0gaXNMb2c7XG4gICAgICBpZiAoaXNMb2cgPT09IHRydWUpIGRlc3QgPSBzdHIgJiYgc3RyLmxlbmd0aCA+IDEwMCA/ICdmaWxlJyA6ICdjb25zb2xlJztcblxuICAgICAgaWYgKGRlc3QgPT09ICdmaWxlJykge1xuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGAvdG1wL3Jlc18ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9bXmEtekEtWjAtOV0rL2dpLCAnXycpfS4ke3R5cGV9YDtcbiAgICAgICAgY3R4LmxvZy50cmFjZShgPj4+Pj4gIyR7dGhpcy5yZXEucmVxSWR9ICR7ZmlsZW5hbWV9IFske3N0ci5sZW5ndGh9IGJ5dGVzXSAke19fREVWX18gPyAnW0lHTk9SRV0nIDogJyd9YCk7XG4gICAgICAgIGlmIChfX0RFVl9fKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlcXVpcmUoJ2ZzJykud3JpdGVGaWxlU3luYyhmaWxlbmFtZSwgc3RyKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGN0eC5sb2cudHJhY2UoJz4+Pj4+Jyk7XG4gICAgICBjb25zb2xlLmxvZyhzdHIpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGN0eC5sb2cudHJhY2UoJzw8PDw8Jyk7XG4gICAgfTtcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgbG9nKG51bGwsIG51bGwpO1xuICAgICAgcmV0dXJuIHJlcy5qc29uKG51bGwpO1xuICAgIH1cbiAgICBpZiAoZ2V0KGRhdGEsICdfX3JhdycpKSB7XG4gICAgICBsb2coZ2V0KGRhdGEsICdfX3JhdycpLCAnc3RyaW5nJyk7XG4gICAgICByZXR1cm4gcmVzLnNlbmQoZ2V0KGRhdGEsICdfX3JhdycpKTtcbiAgICB9XG4gICAgaWYgKCFnZXQoZGF0YSwgJ19fcGFjaycpKSB7XG4gICAgICBqc29uLmRhdGEgPSBkYXRhO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlYnVnICYmIGluZm8uZXJyKSB7XG4gICAgICBqc29uLmVyciA9IGluZm8uZXJyO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlYnVnICYmIGluZm8uZGVidWcpIHtcbiAgICAgIGpzb24uZGVidWcgPSBpbmZvLmRlYnVnO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlYnVnICYmIGluZm8uc3RhY2spIHtcbiAgICAgIGpzb24uc3RhY2sgPSBpbmZvLnN0YWNrO1xuICAgIH1cbiAgICBsb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgMiksICdqc29uJyk7XG4gICAgcmV0dXJuIHJlcy5qc29uKGpzb24pO1xuICB9O1xuIl19 //# sourceMappingURL=hj_pack.js.map