UNPKG

@typespec/http-server-js

Version:

TypeSpec HTTP server code generator for JavaScript

40 lines 1.33 kB
/** * Attempts to import the OpenAPI 3 emitter if it is installed. * * @returns the OpenAPI 3 emitter module or undefined */ export function getOpenApi3Emitter() { return import("@typespec/openapi3").catch(() => undefined); } /** * Gets the OpenAPI 3 service record for a given service. * * @param program - the program in which the service occurs * @param service - the service to check */ export async function getOpenApi3ServiceRecord(program, service) { const openapi3 = await getOpenApi3Emitter(); if (!openapi3) return undefined; const serviceRecords = await openapi3.getOpenAPI3(program, { "include-x-typespec-name": "never", "omit-unreachable-types": true, "safeint-strategy": "int64", }); return serviceRecords.find((r) => r.service === service); } /** * Determines if an OpenAPI3 document can be generated for the given service. * * @param program - the program in which the service occurs * @param service - the service to check */ export async function tryGetOpenApi3(program, service) { const serviceRecord = await getOpenApi3ServiceRecord(program, service); if (!serviceRecord) return undefined; if (serviceRecord.versioned) return undefined; return serviceRecord.document; } //# sourceMappingURL=openapi3.js.map