UNPKG

@nestjsvn/swagger-sse

Version:

OpenAPI documentation and interactive Swagger UI for NestJS Server-Sent Events endpoints

80 lines (79 loc) 3.83 kB
"use strict"; /** * Plugin module exports * * This module provides the TypeScript CLI transformer for automatic * SSE endpoint detection and documentation generation. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.addApiSseDecorator = exports.typeNameToEventName = exports.analyzeObservableType = exports.extractEventTypes = exports.isDecoratorNamed = exports.hasApiSseDecorator = exports.hasSseDecorator = exports.sseTransformer = void 0; exports.before = before; exports.after = after; exports.afterDeclarations = afterDeclarations; exports.default = nestjsCliPlugin; exports.createTransformerFactory = createTransformerFactory; const transformer_1 = require("./transformer"); var transformer_2 = require("./transformer"); Object.defineProperty(exports, "sseTransformer", { enumerable: true, get: function () { return transformer_2.sseTransformer; } }); var ast_utils_1 = require("./ast-utils"); Object.defineProperty(exports, "hasSseDecorator", { enumerable: true, get: function () { return ast_utils_1.hasSseDecorator; } }); Object.defineProperty(exports, "hasApiSseDecorator", { enumerable: true, get: function () { return ast_utils_1.hasApiSseDecorator; } }); Object.defineProperty(exports, "isDecoratorNamed", { enumerable: true, get: function () { return ast_utils_1.isDecoratorNamed; } }); Object.defineProperty(exports, "extractEventTypes", { enumerable: true, get: function () { return ast_utils_1.extractEventTypes; } }); Object.defineProperty(exports, "analyzeObservableType", { enumerable: true, get: function () { return ast_utils_1.analyzeObservableType; } }); Object.defineProperty(exports, "typeNameToEventName", { enumerable: true, get: function () { return ast_utils_1.typeNameToEventName; } }); Object.defineProperty(exports, "addApiSseDecorator", { enumerable: true, get: function () { return ast_utils_1.addApiSseDecorator; } }); /** * NestJS CLI Plugin Integration - Before hook * * This function is called by the NestJS CLI before TypeScript compilation. * It provides SSE transformer functionality for the before lifecycle. */ function before(options = {}, program) { if (!program) { throw new Error('TypeScript program is required for SSE transformer'); } return (0, transformer_1.sseTransformer)(program, options); } /** * NestJS CLI Plugin Integration - After hook * * This function is called by the NestJS CLI after TypeScript compilation. * Currently delegates to the before transformer. */ function after(options = {}, program) { if (!program) { throw new Error('TypeScript program is required for SSE transformer'); } return (0, transformer_1.sseTransformer)(program, options); } /** * NestJS CLI Plugin Integration - After declarations hook * * This function is called by the NestJS CLI after declaration files are generated. * Currently delegates to the before transformer. */ function afterDeclarations(options = {}, program) { if (!program) { throw new Error('TypeScript program is required for SSE transformer'); } return (0, transformer_1.sseTransformer)(program, options); } /** * Legacy function factory for backward compatibility */ function nestjsCliPlugin(pluginOptions = {}) { return { before: (options, program) => (0, transformer_1.sseTransformer)(program, pluginOptions), after: (options, program) => (0, transformer_1.sseTransformer)(program, pluginOptions), afterDeclarations: (options, program) => (0, transformer_1.sseTransformer)(program, pluginOptions), }; } /** * TypeScript Compiler Plugin Integration * * This function provides integration with the TypeScript compiler plugin system. */ function createTransformerFactory(pluginOptions = {}) { return (program) => (0, transformer_1.sseTransformer)(program, pluginOptions); }