UNPKG

@lskjs/server

Version:

LSK server.

55 lines (48 loc) 6.33 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); 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; } function _default(getDocs, p) { var _this = this; var params = Object.assign({}, p, { docs: "".concat(p.path || '/api', "/docs"), docsJson: "".concat(p.path || '/api', "/docs/json") }); var api = this.asyncRouter(); api.all('/', function (req, res) { return res.json(params); }); api.all('/docs', function (req, res) { return res.send(_this.getDocsTemplate(_this, params)); }); var ctx = this; var site = ctx.config && ctx.config.client && ctx.config.client.site || { title: 'App' }; var url = ctx.config.url; var defaultSwaggerJson = { swagger: '2.0', info: _objectSpread(_objectSpread({}, site), {}, { title: "".concat(site.title, " API"), version: params.v }), host: url.split('://')[1], // host: url + params.path, schemes: [url.split('://')[0]], basePath: params.path, produces: ['application/json'], paths: {} }; api.all('/docs/json', function (req, res) { var swaggerJson = Object.assign({}, defaultSwaggerJson, getDocs(_this, params)); return res.json(swaggerJson); }); return api; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2dldERvY3NSb3V0ZXIuanMiXSwibmFtZXMiOlsiZ2V0RG9jcyIsInAiLCJwYXJhbXMiLCJPYmplY3QiLCJhc3NpZ24iLCJkb2NzIiwicGF0aCIsImRvY3NKc29uIiwiYXBpIiwiYXN5bmNSb3V0ZXIiLCJhbGwiLCJyZXEiLCJyZXMiLCJqc29uIiwic2VuZCIsImdldERvY3NUZW1wbGF0ZSIsImN0eCIsInNpdGUiLCJjb25maWciLCJjbGllbnQiLCJ0aXRsZSIsInVybCIsImRlZmF1bHRTd2FnZ2VySnNvbiIsInN3YWdnZXIiLCJpbmZvIiwidmVyc2lvbiIsInYiLCJob3N0Iiwic3BsaXQiLCJzY2hlbWVzIiwiYmFzZVBhdGgiLCJwcm9kdWNlcyIsInBhdGhzIiwic3dhZ2dlckpzb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFlLGtCQUFVQSxPQUFWLEVBQW1CQyxDQUFuQixFQUFzQjtBQUFBOztBQUNuQyxNQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEVBQWQsRUFBa0JILENBQWxCLEVBQXFCO0FBQ2xDSSxJQUFBQSxJQUFJLFlBQUtKLENBQUMsQ0FBQ0ssSUFBRixJQUFVLE1BQWYsVUFEOEI7QUFFbENDLElBQUFBLFFBQVEsWUFBS04sQ0FBQyxDQUFDSyxJQUFGLElBQVUsTUFBZjtBQUYwQixHQUFyQixDQUFmO0FBSUEsTUFBTUUsR0FBRyxHQUFHLEtBQUtDLFdBQUwsRUFBWjtBQUNBRCxFQUFBQSxHQUFHLENBQUNFLEdBQUosQ0FBUSxHQUFSLEVBQWEsVUFBQ0MsR0FBRCxFQUFNQyxHQUFOO0FBQUEsV0FBY0EsR0FBRyxDQUFDQyxJQUFKLENBQVNYLE1BQVQsQ0FBZDtBQUFBLEdBQWI7QUFDQU0sRUFBQUEsR0FBRyxDQUFDRSxHQUFKLENBQVEsT0FBUixFQUFpQixVQUFDQyxHQUFELEVBQU1DLEdBQU47QUFBQSxXQUFjQSxHQUFHLENBQUNFLElBQUosQ0FBUyxLQUFJLENBQUNDLGVBQUwsQ0FBcUIsS0FBckIsRUFBMkJiLE1BQTNCLENBQVQsQ0FBZDtBQUFBLEdBQWpCO0FBRUEsTUFBTWMsR0FBRyxHQUFHLElBQVo7QUFDQSxNQUFNQyxJQUFJLEdBQUdELEdBQUcsQ0FBQ0UsTUFBSixJQUFjRixHQUFHLENBQUNFLE1BQUosQ0FBV0MsTUFBekIsSUFBbUNILEdBQUcsQ0FBQ0UsTUFBSixDQUFXQyxNQUFYLENBQWtCRixJQUFyRCxJQUE2RDtBQUFFRyxJQUFBQSxLQUFLLEVBQUU7QUFBVCxHQUExRTtBQVZtQyxNQVczQkMsR0FYMkIsR0FXbkJMLEdBQUcsQ0FBQ0UsTUFYZSxDQVczQkcsR0FYMkI7QUFZbkMsTUFBTUMsa0JBQWtCLEdBQUc7QUFDekJDLElBQUFBLE9BQU8sRUFBRSxLQURnQjtBQUV6QkMsSUFBQUEsSUFBSSxrQ0FDQ1AsSUFERDtBQUVGRyxNQUFBQSxLQUFLLFlBQUtILElBQUksQ0FBQ0csS0FBVixTQUZIO0FBR0ZLLE1BQUFBLE9BQU8sRUFBRXZCLE1BQU0sQ0FBQ3dCO0FBSGQsTUFGcUI7QUFPekJDLElBQUFBLElBQUksRUFBRU4sR0FBRyxDQUFDTyxLQUFKLENBQVUsS0FBVixFQUFpQixDQUFqQixDQVBtQjtBQVF6QjtBQUNBQyxJQUFBQSxPQUFPLEVBQUUsQ0FDUFIsR0FBRyxDQUFDTyxLQUFKLENBQVUsS0FBVixFQUFpQixDQUFqQixDQURPLENBVGdCO0FBWXpCRSxJQUFBQSxRQUFRLEVBQUU1QixNQUFNLENBQUNJLElBWlE7QUFhekJ5QixJQUFBQSxRQUFRLEVBQUUsQ0FBQyxrQkFBRCxDQWJlO0FBY3pCQyxJQUFBQSxLQUFLLEVBQUU7QUFka0IsR0FBM0I7QUFnQkF4QixFQUFBQSxHQUFHLENBQUNFLEdBQUosQ0FBUSxZQUFSLEVBQXNCLFVBQUNDLEdBQUQsRUFBTUMsR0FBTixFQUFjO0FBQ2xDLFFBQU1xQixXQUFXLEdBQUc5QixNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCa0Isa0JBQWxCLEVBQXNDdEIsT0FBTyxDQUFDLEtBQUQsRUFBT0UsTUFBUCxDQUE3QyxDQUFwQjtBQUNBLFdBQU9VLEdBQUcsQ0FBQ0MsSUFBSixDQUFTb0IsV0FBVCxDQUFQO0FBQ0QsR0FIRDtBQUlBLFNBQU96QixHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZ2V0RG9jcywgcCkge1xuICBjb25zdCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCBwLCB7XG4gICAgZG9jczogYCR7cC5wYXRoIHx8ICcvYXBpJ30vZG9jc2AsXG4gICAgZG9jc0pzb246IGAke3AucGF0aCB8fCAnL2FwaSd9L2RvY3MvanNvbmAsXG4gIH0pO1xuICBjb25zdCBhcGkgPSB0aGlzLmFzeW5jUm91dGVyKCk7XG4gIGFwaS5hbGwoJy8nLCAocmVxLCByZXMpID0+IHJlcy5qc29uKHBhcmFtcykpO1xuICBhcGkuYWxsKCcvZG9jcycsIChyZXEsIHJlcykgPT4gcmVzLnNlbmQodGhpcy5nZXREb2NzVGVtcGxhdGUodGhpcywgcGFyYW1zKSkpO1xuXG4gIGNvbnN0IGN0eCA9IHRoaXM7XG4gIGNvbnN0IHNpdGUgPSBjdHguY29uZmlnICYmIGN0eC5jb25maWcuY2xpZW50ICYmIGN0eC5jb25maWcuY2xpZW50LnNpdGUgfHwgeyB0aXRsZTogJ0FwcCcgfTtcbiAgY29uc3QgeyB1cmwgfSA9IGN0eC5jb25maWc7XG4gIGNvbnN0IGRlZmF1bHRTd2FnZ2VySnNvbiA9IHtcbiAgICBzd2FnZ2VyOiAnMi4wJyxcbiAgICBpbmZvOiB7XG4gICAgICAuLi5zaXRlLFxuICAgICAgdGl0bGU6IGAke3NpdGUudGl0bGV9IEFQSWAsXG4gICAgICB2ZXJzaW9uOiBwYXJhbXMudixcbiAgICB9LFxuICAgIGhvc3Q6IHVybC5zcGxpdCgnOi8vJylbMV0sXG4gICAgLy8gaG9zdDogdXJsICsgcGFyYW1zLnBhdGgsXG4gICAgc2NoZW1lczogW1xuICAgICAgdXJsLnNwbGl0KCc6Ly8nKVswXSxcbiAgICBdLFxuICAgIGJhc2VQYXRoOiBwYXJhbXMucGF0aCxcbiAgICBwcm9kdWNlczogWydhcHBsaWNhdGlvbi9qc29uJ10sXG4gICAgcGF0aHM6IHt9LFxuICB9O1xuICBhcGkuYWxsKCcvZG9jcy9qc29uJywgKHJlcSwgcmVzKSA9PiB7XG4gICAgY29uc3Qgc3dhZ2dlckpzb24gPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3dhZ2dlckpzb24sIGdldERvY3ModGhpcywgcGFyYW1zKSk7XG4gICAgcmV0dXJuIHJlcy5qc29uKHN3YWdnZXJKc29uKTtcbiAgfSk7XG4gIHJldHVybiBhcGk7XG59XG4iXX0= //# sourceMappingURL=getDocsRouter.js.map