1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.SwaggerTransformer = void 0;
|
4 | const lodash_1 = require("lodash");
|
5 | class SwaggerTransformer {
|
6 | normalizePaths(denormalizedDoc) {
|
7 | const roots = lodash_1.filter(denormalizedDoc, (r) => r.root);
|
8 | const groupedByPath = lodash_1.groupBy(roots, ({ root }) => root.path);
|
9 | const paths = lodash_1.mapValues(groupedByPath, (routes) => {
|
10 | const keyByMethod = lodash_1.keyBy(routes, ({ root }) => root.method);
|
11 | return lodash_1.mapValues(keyByMethod, (route) => {
|
12 | return Object.assign(Object.assign({}, lodash_1.omit(route.root, ['method', 'path'])), lodash_1.omit(route, 'root'));
|
13 | });
|
14 | });
|
15 | return {
|
16 | paths
|
17 | };
|
18 | }
|
19 | }
|
20 | exports.SwaggerTransformer = SwaggerTransformer;
|