UNPKG

infinity-forge

Version:
51 lines 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateOpenApiClient = generateOpenApiClient; function simplifySchema(schema) { if (schema === null || schema === void 0 ? void 0 : schema["$ref"]) { var referenceObject = schema; return referenceObject["$ref"].replace("#/components/schemas/", ""); } var schemaObject = schema; if (schemaObject.type === "array" && "items" in schema) { return "".concat(simplifySchema(schema.items), "[]"); } if (schemaObject.type === "object" && schemaObject.properties) { return Object.entries(schemaObject.properties).reduce(function (acc, _a) { var key = _a[0], value = _a[1]; acc[key] = simplifySchema(value); return acc; }, {}); } if (schemaObject.format === "date-time") return "Date"; return schemaObject; } function generateMethodsString(methods) { return Object.keys(methods) .map(function (method) { var _a, _b, _c; var _d = methods[method], params = _d.params, requestBody = _d.requestBody, result = _d.result; var paramsString = params ? (_a = JSON.stringify(simplifySchema(params))) === null || _a === void 0 ? void 0 : _a.replace(/"/g, "") : "null"; var requestBodyString = requestBody ? (_b = JSON.stringify(simplifySchema(requestBody))) === null || _b === void 0 ? void 0 : _b.replace(/"/g, "") : "null"; var resultString = result ? (_c = JSON.stringify(simplifySchema(result))) === null || _c === void 0 ? void 0 : _c.replace(/"/g, "") : "null"; return " ".concat(method, ": {\n params: ").concat(paramsString, ",\n requestBody: ").concat(requestBodyString, ",\n result: ").concat(resultString, "\n }"); }) .join(",\n"); } function generateOpenApiClient(routesApi, interfacesOpenApi) { var apiLiteral = Object.keys(routesApi) .map(function (path) { var methods = routesApi[path]; return " \"".concat(path, "\": {\n").concat(generateMethodsString(methods), "\n }"); }) .join(",\n"); return "export type Swagger = {\n".concat(apiLiteral, "\n};\n\n").concat(interfacesOpenApi); } //# sourceMappingURL=index.js.map