inversify-postman-collection
Version:
convert inversify route to postman collection
61 lines • 2.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRouteDefinitions = void 0;
const helpers_1 = require("../helpers");
function getRouteDefinitions({ routesDefs, baseUrl, title, routeDefData, }) {
const dataRoutesDefList = [];
routesDefs.forEach(({ endpoints, controller }) => {
const dataRoutesDef = {};
const groupName = controller.split("Controller")[0].replace(/([a-z](?=[A-Z]))/g, "$1 ");
dataRoutesDef.group = groupName;
dataRoutesDef.endpoints = [];
endpoints.forEach(({ route, args }) => {
let [method01, urlPath] = route.split(" ").map((x) => x.trim());
const method = method01.toUpperCase();
if (urlPath.endsWith("/")) {
urlPath = urlPath.slice(0, -1);
}
const url = [baseUrl, urlPath].filter((x) => x).join("");
const { queryParams, routeName, routeRawDefName } = (0, helpers_1.getValidQueryParams)(args);
const endpoint = { url, method };
if (queryParams === null || queryParams === void 0 ? void 0 : queryParams.length) {
endpoint.queryParams = queryParams;
}
if (routeName) {
endpoint.title = routeName;
}
const { requestBody, responseBody, routeDescribe } = (0, helpers_1.getRouteDefData)({
groupName,
method,
routeRawDefName,
routeDefData,
controller,
});
if (requestBody !== undefined) {
endpoint.requestBody = requestBody;
}
if (responseBody !== undefined) {
endpoint.response = responseBody;
}
if (routeDescribe) {
endpoint.title = routeDescribe;
}
dataRoutesDef.endpoints.push(endpoint);
});
dataRoutesDefList.push(dataRoutesDef);
});
const dataRoutesDefListSorted = dataRoutesDefList === null || dataRoutesDefList === void 0 ? void 0 : dataRoutesDefList.sort((a, b) => {
const _a = (a.group || "").toLowerCase();
const _b = (b.group || "").toLowerCase();
if (_a > _b) {
return 1;
}
if (_a < _b) {
return -1;
}
return 0;
});
return dataRoutesDefListSorted;
}
exports.getRouteDefinitions = getRouteDefinitions;
//# sourceMappingURL=route-definition.js.map