routing-controllers-openapi-extended
Version:
Runtime Swagger v2 / OpenAPI v2 specification generation for routing-controllers
32 lines • 3.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _ = require("lodash");
const storage_1 = require("../storage");
function operationInfoParser(target, method) {
const operationInfos = storage_1.getStorage().filterOperationInfoByTarget(target, method);
return _.merge(...operationInfos);
}
function customEntryParser(target, method) {
const customProperties = storage_1.getStorage().filterCustomEntryByTarget(target, method);
return _.merge(...customProperties);
}
function codeSnippetParser(target, method) {
const codeSnippets = storage_1.getStorage().filterCodeSnippetsByTarget(target, method);
return codeSnippets.reduce((acc, { lang, snippet }) => {
acc[lang] = snippet;
return acc;
}, {});
}
function getTags(target, method) {
return storage_1.getStorage().filterTagsByTarget(target, method);
}
function decoratorParser(route) {
const { target, method } = route.action;
const operationInfoProperties = operationInfoParser(target, method);
const customProperties = customEntryParser(target, method);
const codeSnippets = codeSnippetParser(target, method);
const tags = getTags(target, method);
return _.merge(operationInfoProperties, customProperties, codeSnippets, tags);
}
exports.decoratorParser = decoratorParser;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlci9kZWNvcmF0b3JQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0QkFBMkI7QUFHM0Isd0NBQXdDO0FBRXhDLFNBQVMsbUJBQW1CLENBQUMsTUFBZ0IsRUFBRSxNQUFjO0lBQ3pELE1BQU0sY0FBYyxHQUFHLG9CQUFVLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFHaEYsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUF1QixDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLE1BQWdCLEVBQUUsTUFBYztJQUN2RCxNQUFNLGdCQUFnQixHQUFHLG9CQUFVLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFHaEYsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxNQUFnQixFQUFFLE1BQWM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsb0JBQVUsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUU3RSxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtRQUNsRCxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQStCLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsTUFBZ0IsRUFBRSxNQUFjO0lBQzdDLE9BQU8sb0JBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLEtBQVk7SUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3hDLE1BQU0sdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNELE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXJDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQVJELDBDQVFDIn0=