@foal/core
Version:
Full-featured Node.js framework, with no complexity
26 lines (25 loc) • 918 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenApi = void 0;
class OpenApi {
documentMap = new Map();
componentMap = new Map();
addDocument(controllerClass, document, controllers = []) {
this.documentMap.set(controllerClass, document);
for (const controller of controllers) {
this.componentMap.set(controller, document.components);
}
}
getDocument(controllerClass) {
const document = this.documentMap.get(controllerClass);
if (!document) {
throw new Error(`No OpenAPI document found associated with the controller ${controllerClass.name}. `
+ 'Are you sure you added the @ApiInfo decorator on the controller?');
}
return document;
}
getComponents(controller) {
return this.componentMap.get(controller) || {};
}
}
exports.OpenApi = OpenApi;