trpc-to-openapi
Version:
30 lines • 983 B
JavaScript
import { createDocument } from 'zod-openapi';
import { getOpenApiPathsObject, mergePaths } from './paths.mjs';
export const generateOpenApiDocument = (appRouter, opts) => {
const securitySchemes = opts.securitySchemes ?? {
Authorization: {
type: 'http',
scheme: 'bearer',
},
};
return createDocument({
openapi: opts.openApiVersion ?? '3.1.0',
info: {
title: opts.title,
description: opts.description,
version: opts.version,
},
servers: [
{
url: opts.baseUrl,
},
],
paths: mergePaths(getOpenApiPathsObject(appRouter, Object.keys(securitySchemes), opts.filter), opts.paths),
components: {
securitySchemes,
},
tags: opts.tags?.map((tag) => ({ name: tag })),
externalDocs: opts.docsUrl ? { url: opts.docsUrl } : undefined,
});
};
//# sourceMappingURL=index.js.map