UNPKG

swagger-routes-express

Version:

Connect Express route controllers to restful paths using a Swagger 2 or OpenAPI 3 definition file

28 lines (23 loc) 959 B
const extractVersion = require('../extract/extractVersion') const ERRORS = require('../errors') const summariseApiV2 = require('./v2/summariseApi') const summariseApiV3 = require('./v3/summariseApi') /** * Summarises the given API into the form * { * info: { name, description, version }, * paths: { [method]: ['/', '/ping', '/v1/api/function/:param'] } * } * * @param {object} apiDefinition The imported YML or JSON api document. * @param {object} options Object holding an optional `INVALID_VERSION` message. * @returns {object} API summary object in the form `{ info, paths }` */ const summarise = (apiDefinition, options = {}) => { const { INVALID_VERSION = ERRORS.INVALID_VERSION } = options const version = extractVersion(apiDefinition) if (!version) throw new Error(INVALID_VERSION) const summariseApi = version === 2 ? summariseApiV2 : summariseApiV3 return summariseApi(apiDefinition) } module.exports = summarise