UNPKG

routing-controllers-openapi-extended

Version:

Runtime Swagger v2 / OpenAPI v2 specification generation for routing-controllers

28 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _ = require("lodash"); const pathToRegexp = require("path-to-regexp"); const operationParser_1 = require("./operationParser"); function expressToOpenAPIPath(expressPath) { const tokens = pathToRegexp.parse(expressPath); return tokens.map(d => (_.isString(d) ? d : `${d.prefix}{${d.name}}`)).join(''); } function getFullExpressPath(route) { const { action, controller, options } = route; return `${options.routePrefix || ''}${controller.route || ''}${action.route || ''}`; } exports.getFullExpressPath = getFullExpressPath; function getFullPath(route) { return expressToOpenAPIPath(getFullExpressPath(route)); } exports.getFullPath = getFullPath; function getPaths(routes) { const routePaths = routes.map(route => ({ [getFullPath(route)]: { [route.action.type]: operationParser_1.getOperation(route) } })); return _.merge(...routePaths); } exports.getPaths = getPaths; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aFBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvcGF0aFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDRCQUEyQjtBQUMzQiwrQ0FBOEM7QUFFOUMsdURBQWlEO0FBRWpELFNBQVMsb0JBQW9CLENBQUMsV0FBbUI7SUFDN0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUvQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ25GLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFZO0lBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUU5QyxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUN4RixDQUFDO0FBSkQsZ0RBSUM7QUFFRCxTQUFnQixXQUFXLENBQUMsS0FBWTtJQUNwQyxPQUFPLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDMUQsQ0FBQztBQUZELGtDQUVDO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLE1BQWU7SUFDcEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNwQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsOEJBQVksQ0FBQyxLQUFLLENBQUM7U0FDekM7S0FDRixDQUFDLENBQUMsQ0FBQztJQUdKLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFURCw0QkFTQyJ9