mirror of
https://github.com/hanzoai/trpc-openapi.git
synced 2026-10-30 18:18:55 +00:00
33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.generateOpenApiDocument = void 0;
|
|
const zod_openapi_1 = require("zod-openapi");
|
|
const paths_1 = require("./paths");
|
|
const generateOpenApiDocument = (appRouter, opts) => {
|
|
var _a, _b, _c;
|
|
const securitySchemes = (_a = opts.securitySchemes) !== null && _a !== void 0 ? _a : {
|
|
Authorization: {
|
|
type: 'http',
|
|
scheme: 'bearer',
|
|
},
|
|
};
|
|
return (0, zod_openapi_1.createDocument)({
|
|
openapi: (_b = opts.openApiVersion) !== null && _b !== void 0 ? _b : '3.1.0',
|
|
info: {
|
|
title: opts.title,
|
|
description: opts.description,
|
|
version: opts.version,
|
|
},
|
|
servers: [
|
|
{
|
|
url: opts.baseUrl,
|
|
},
|
|
],
|
|
paths: (0, paths_1.mergePaths)((0, paths_1.getOpenApiPathsObject)(appRouter, Object.keys(securitySchemes), opts.filter), opts.paths),
|
|
components: Object.assign({ securitySchemes }, (opts.defs && { schemas: opts.defs })),
|
|
tags: (_c = opts.tags) === null || _c === void 0 ? void 0 : _c.map((tag) => ({ name: tag })),
|
|
externalDocs: opts.docsUrl ? { url: opts.docsUrl } : undefined,
|
|
});
|
|
};
|
|
exports.generateOpenApiDocument = generateOpenApiDocument;
|
|
//# sourceMappingURL=index.js.map
|