@foal/core
Version:
Full-featured Node.js framework, with no complexity
28 lines (27 loc) • 962 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenApi = void 0;
class OpenApi {
constructor() {
this.documentMap = new Map();
this.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;
;