UNPKG

@foal/core

Version:

Full-featured Node.js framework, with no complexity

28 lines (27 loc) 962 B
"use strict"; 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;