nestjs-openapi 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import 'tsx';
3
3
  import { Effect, Exit, Cause, Option } from 'effect';
4
- import { ax as generateEffect, ak as generatorServicesLayer, az as runtimeLayerFor, aw as formatValidationResult } from './shared/nestjs-openapi.P9V98nna.mjs';
4
+ import { ax as generateEffect, ak as generatorServicesLayer, az as runtimeLayerFor, aw as formatValidationResult } from './shared/nestjs-openapi.DeikubMm.mjs';
5
5
  import minimist from 'minimist';
6
6
  import { relative } from 'node:path';
7
7
  import { createRequire } from 'node:module';
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { O as OpenApiSpec, S as SpecFileNotFoundError, a as SpecFileReadError, b as SpecFileParseError, M as MethodInfo, c as OpenApiPaths, d as OpenApiOperation, e as OpenApiPaths$1, G as GeneratedSchemas, f as OpenApiSchema, V as ValidationService, C as ConfigService, g as ModuleTraversalService, h as MethodExtractionService, i as SchemaService, j as OutputService, P as ProjectService } from './shared/nestjs-openapi.D0Osp4GW.mjs';
2
- export { a4 as AnalysisError, aJ as BrokenRef, aK as BrokenRefCategories, az as ClassValidationInfo, n as Config, a3 as ConfigError, X as ConfigLoadError, W as ConfigNotFoundError, Y as ConfigValidationError, o as ContactConfig, Z as DtoGlobResolutionError, U as EntryNotFoundError, E as GenerateOptions, s as GenerateOverrides, l as GenerateResult, a5 as GeneratorError, J as HttpMethod, I as InfoConfig, _ as InvalidMethodError, am as JsonSchema, L as LicenseConfig, $ as MissingGenericSchemaTempFileCleanupError, a0 as MissingGenericSchemaTempFileWriteError, ac as ModuleWithControllers, K as OpenApiGeneratorConfig, t as OpenApiOperation, u as OpenApiParameter, v as OpenApiRequestBody, w as OpenApiResponse, q as OutputFormat, F as ParameterLocation, a8 as ProjectContext, a2 as ProjectError, Q as ProjectInitError, a9 as ProjectOptions, a6 as ProjectServiceLive, ay as PropertyValidationInfo, a1 as PublicApiError, N as ResolvedConfig, R as ResolvedParameter, H as ReturnTypeInfo, ak as SchemaError, aj as SchemaGenerationError, al as SchemaGeneratorOptions, p as ServerConfig, T as TagConfig, r as TelemetryConfig, ax as ValidationConstraints, aI as ValidationResult, au as applyConstraintsToSchema, aG as categorizeBrokenRefs, m as defineConfig, as as extractClassConstraints, aq as extractClassValidationInfo, ar as extractClassValidationInfoEffect, an as extractPropertyConstraints, ap as extractPropertyValidationInfo, aA as findConfigFile, aH as formatValidationResult, k as generate, y as generateAsync, x as generateEffect, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect, ah as generateSchemas, ai as generateSchemasFromFiles, ab as getAllControllers, af as getControllerMethodInfos, ag as getControllerMethodInfosEffect, ad as getMethodInfo, ae as getMethodInfoEffect, aa as getModules, at as getRequiredProperties, ao as isPropertyOptional, aE as loadAndResolveConfig, aC as loadConfig, aB as loadConfigFromFile, a7 as makeProjectContext, av as mergeValidationConstraints, aw as mergeValidationConstraintsEffect, aD as resolveConfig, aF as validateSpec } from './shared/nestjs-openapi.D0Osp4GW.mjs';
1
+ import { O as OpenApiSpec, S as SpecFileNotFoundError, a as SpecFileReadError, b as SpecFileParseError, M as MethodInfo, c as OpenApiPaths, d as OpenApiOperation, e as OpenApiPaths$1, G as GeneratedSchemas, f as OpenApiSchema, g as OutputService, h as SchemaService, V as ValidationService, C as ConfigService, i as ModuleTraversalService, j as MethodExtractionService, P as ProjectService } from './shared/nestjs-openapi.NtbZNAvU.mjs';
2
+ export { a4 as AnalysisError, aJ as BrokenRef, aK as BrokenRefCategories, az as ClassValidationInfo, n as Config, a3 as ConfigError, X as ConfigLoadError, W as ConfigNotFoundError, Y as ConfigValidationError, o as ContactConfig, Z as DtoGlobResolutionError, U as EntryNotFoundError, E as GenerateOptions, s as GenerateOverrides, l as GenerateResult, a5 as GeneratorError, J as HttpMethod, I as InfoConfig, _ as InvalidMethodError, am as JsonSchema, L as LicenseConfig, $ as MissingGenericSchemaTempFileCleanupError, a0 as MissingGenericSchemaTempFileWriteError, ac as ModuleWithControllers, K as OpenApiGeneratorConfig, t as OpenApiOperation, u as OpenApiParameter, v as OpenApiRequestBody, w as OpenApiResponse, q as OutputFormat, F as ParameterLocation, a8 as ProjectContext, a2 as ProjectError, Q as ProjectInitError, a9 as ProjectOptions, a6 as ProjectServiceLive, ay as PropertyValidationInfo, a1 as PublicApiError, N as ResolvedConfig, R as ResolvedParameter, H as ReturnTypeInfo, ak as SchemaError, aj as SchemaGenerationError, al as SchemaGeneratorOptions, p as ServerConfig, T as TagConfig, r as TelemetryConfig, ax as ValidationConstraints, aI as ValidationResult, au as applyConstraintsToSchema, aG as categorizeBrokenRefs, m as defineConfig, as as extractClassConstraints, aq as extractClassValidationInfo, ar as extractClassValidationInfoEffect, an as extractPropertyConstraints, ap as extractPropertyValidationInfo, aA as findConfigFile, aH as formatValidationResult, k as generate, y as generateAsync, x as generateEffect, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect, ah as generateSchemas, ai as generateSchemasFromFiles, ab as getAllControllers, af as getControllerMethodInfos, ag as getControllerMethodInfosEffect, ad as getMethodInfo, ae as getMethodInfoEffect, aa as getModules, at as getRequiredProperties, ao as isPropertyOptional, aE as loadAndResolveConfig, aC as loadConfig, aB as loadConfigFromFile, a7 as makeProjectContext, av as mergeValidationConstraints, aw as mergeValidationConstraintsEffect, aD as resolveConfig, aF as validateSpec } from './shared/nestjs-openapi.NtbZNAvU.mjs';
3
3
  import { DynamicModule } from '@nestjs/common';
4
4
  import { Effect, Option, Layer } from 'effect';
5
5
  import { ClassDeclaration, MethodDeclaration, Decorator, Symbol, ObjectLiteralExpression, Expression } from 'ts-morph';
@@ -309,7 +309,7 @@ declare const normalizeStructureRefsEffect: (schemas: GeneratedSchemas) => Effec
309
309
  /**
310
310
  * Shared service dependency graph for generation pipelines.
311
311
  */
312
- declare const generatorServicesLayer: Layer.Layer<ValidationService | ConfigService | ModuleTraversalService | MethodExtractionService | SchemaService | OutputService | ProjectService, never, never>;
312
+ declare const generatorServicesLayer: Layer.Layer<OutputService | SchemaService | ValidationService | ConfigService | ModuleTraversalService | MethodExtractionService | ProjectService, never, never>;
313
313
 
314
314
  /** Handles aliased symbols (re-exports) */
315
315
  declare const resolveClassFromSymbol: (sym: Symbol) => Option.Option<ClassDeclaration>;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { O as OpenApiSpec, S as SpecFileNotFoundError, a as SpecFileReadError, b as SpecFileParseError, M as MethodInfo, c as OpenApiPaths, d as OpenApiOperation, e as OpenApiPaths$1, G as GeneratedSchemas, f as OpenApiSchema, V as ValidationService, C as ConfigService, g as ModuleTraversalService, h as MethodExtractionService, i as SchemaService, j as OutputService, P as ProjectService } from './shared/nestjs-openapi.D0Osp4GW.js';
2
- export { a4 as AnalysisError, aJ as BrokenRef, aK as BrokenRefCategories, az as ClassValidationInfo, n as Config, a3 as ConfigError, X as ConfigLoadError, W as ConfigNotFoundError, Y as ConfigValidationError, o as ContactConfig, Z as DtoGlobResolutionError, U as EntryNotFoundError, E as GenerateOptions, s as GenerateOverrides, l as GenerateResult, a5 as GeneratorError, J as HttpMethod, I as InfoConfig, _ as InvalidMethodError, am as JsonSchema, L as LicenseConfig, $ as MissingGenericSchemaTempFileCleanupError, a0 as MissingGenericSchemaTempFileWriteError, ac as ModuleWithControllers, K as OpenApiGeneratorConfig, t as OpenApiOperation, u as OpenApiParameter, v as OpenApiRequestBody, w as OpenApiResponse, q as OutputFormat, F as ParameterLocation, a8 as ProjectContext, a2 as ProjectError, Q as ProjectInitError, a9 as ProjectOptions, a6 as ProjectServiceLive, ay as PropertyValidationInfo, a1 as PublicApiError, N as ResolvedConfig, R as ResolvedParameter, H as ReturnTypeInfo, ak as SchemaError, aj as SchemaGenerationError, al as SchemaGeneratorOptions, p as ServerConfig, T as TagConfig, r as TelemetryConfig, ax as ValidationConstraints, aI as ValidationResult, au as applyConstraintsToSchema, aG as categorizeBrokenRefs, m as defineConfig, as as extractClassConstraints, aq as extractClassValidationInfo, ar as extractClassValidationInfoEffect, an as extractPropertyConstraints, ap as extractPropertyValidationInfo, aA as findConfigFile, aH as formatValidationResult, k as generate, y as generateAsync, x as generateEffect, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect, ah as generateSchemas, ai as generateSchemasFromFiles, ab as getAllControllers, af as getControllerMethodInfos, ag as getControllerMethodInfosEffect, ad as getMethodInfo, ae as getMethodInfoEffect, aa as getModules, at as getRequiredProperties, ao as isPropertyOptional, aE as loadAndResolveConfig, aC as loadConfig, aB as loadConfigFromFile, a7 as makeProjectContext, av as mergeValidationConstraints, aw as mergeValidationConstraintsEffect, aD as resolveConfig, aF as validateSpec } from './shared/nestjs-openapi.D0Osp4GW.js';
1
+ import { O as OpenApiSpec, S as SpecFileNotFoundError, a as SpecFileReadError, b as SpecFileParseError, M as MethodInfo, c as OpenApiPaths, d as OpenApiOperation, e as OpenApiPaths$1, G as GeneratedSchemas, f as OpenApiSchema, g as OutputService, h as SchemaService, V as ValidationService, C as ConfigService, i as ModuleTraversalService, j as MethodExtractionService, P as ProjectService } from './shared/nestjs-openapi.NtbZNAvU.js';
2
+ export { a4 as AnalysisError, aJ as BrokenRef, aK as BrokenRefCategories, az as ClassValidationInfo, n as Config, a3 as ConfigError, X as ConfigLoadError, W as ConfigNotFoundError, Y as ConfigValidationError, o as ContactConfig, Z as DtoGlobResolutionError, U as EntryNotFoundError, E as GenerateOptions, s as GenerateOverrides, l as GenerateResult, a5 as GeneratorError, J as HttpMethod, I as InfoConfig, _ as InvalidMethodError, am as JsonSchema, L as LicenseConfig, $ as MissingGenericSchemaTempFileCleanupError, a0 as MissingGenericSchemaTempFileWriteError, ac as ModuleWithControllers, K as OpenApiGeneratorConfig, t as OpenApiOperation, u as OpenApiParameter, v as OpenApiRequestBody, w as OpenApiResponse, q as OutputFormat, F as ParameterLocation, a8 as ProjectContext, a2 as ProjectError, Q as ProjectInitError, a9 as ProjectOptions, a6 as ProjectServiceLive, ay as PropertyValidationInfo, a1 as PublicApiError, N as ResolvedConfig, R as ResolvedParameter, H as ReturnTypeInfo, ak as SchemaError, aj as SchemaGenerationError, al as SchemaGeneratorOptions, p as ServerConfig, T as TagConfig, r as TelemetryConfig, ax as ValidationConstraints, aI as ValidationResult, au as applyConstraintsToSchema, aG as categorizeBrokenRefs, m as defineConfig, as as extractClassConstraints, aq as extractClassValidationInfo, ar as extractClassValidationInfoEffect, an as extractPropertyConstraints, ap as extractPropertyValidationInfo, aA as findConfigFile, aH as formatValidationResult, k as generate, y as generateAsync, x as generateEffect, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect, ah as generateSchemas, ai as generateSchemasFromFiles, ab as getAllControllers, af as getControllerMethodInfos, ag as getControllerMethodInfosEffect, ad as getMethodInfo, ae as getMethodInfoEffect, aa as getModules, at as getRequiredProperties, ao as isPropertyOptional, aE as loadAndResolveConfig, aC as loadConfig, aB as loadConfigFromFile, a7 as makeProjectContext, av as mergeValidationConstraints, aw as mergeValidationConstraintsEffect, aD as resolveConfig, aF as validateSpec } from './shared/nestjs-openapi.NtbZNAvU.js';
3
3
  import { DynamicModule } from '@nestjs/common';
4
4
  import { Effect, Option, Layer } from 'effect';
5
5
  import { ClassDeclaration, MethodDeclaration, Decorator, Symbol, ObjectLiteralExpression, Expression } from 'ts-morph';
@@ -309,7 +309,7 @@ declare const normalizeStructureRefsEffect: (schemas: GeneratedSchemas) => Effec
309
309
  /**
310
310
  * Shared service dependency graph for generation pipelines.
311
311
  */
312
- declare const generatorServicesLayer: Layer.Layer<ValidationService | ConfigService | ModuleTraversalService | MethodExtractionService | SchemaService | OutputService | ProjectService, never, never>;
312
+ declare const generatorServicesLayer: Layer.Layer<OutputService | SchemaService | ValidationService | ConfigService | ModuleTraversalService | MethodExtractionService | ProjectService, never, never>;
313
313
 
314
314
  /** Handles aliased symbols (re-exports) */
315
315
  declare const resolveClassFromSymbol: (sym: Symbol) => Option.Option<ClassDeclaration>;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { S as SpecFileNotFoundError, a as SpecFileReadError, b as SpecFileParseError } from './shared/nestjs-openapi.P9V98nna.mjs';
2
- export { c as ConfigLoadError, C as ConfigNotFoundError, ae as ConfigService, e as ConfigValidationError, D as DtoGlobResolutionError, E as EntryNotFoundError, I as InvalidMethodError, B as MethodExtractionService, M as MissingGenericSchemaTempFileCleanupError, f as MissingGenericSchemaTempFileWriteError, n as ModuleTraversalService, ad as OutputService, P as ProjectInitError, i as ProjectService, j as ProjectServiceLive, h as PublicApiError, a0 as SchemaGenerationError, a1 as SchemaService, ac as ValidationService, a9 as applyConstraintsToSchema, av as categorizeBrokenRefs, d as defineConfig, a7 as extractClassConstraints, a5 as extractClassValidationInfo, a6 as extractClassValidationInfoEffect, a2 as extractPropertyConstraints, a4 as extractPropertyValidationInfo, V as filterInternalSchemas, W as filterInternalSchemasEffect, Q as filterSchemas, R as filterSchemasEffect, af as findConfigFile, aw as formatValidationResult, g as generate, _ as generateSchemas, $ as generateSchemasFromFiles, ak as generatorServicesLayer, l as getAllControllers, am as getArrayInitializer, z as getControllerMethodInfos, A as getControllerMethodInfosEffect, p as getControllerName, o as getControllerPrefix, t as getControllerTags, s as getDecoratorName, u as getHttpDecorator, r as getHttpMethods, x as getMethodInfo, y as getMethodInfoEffect, aq as getModuleDecoratorArg, at as getModuleMetadata, k as getModules, a8 as getRequiredProperties, an as getStringLiteralValue, ao as getSymbolFromIdentifier, v as isHttpDecorator, q as isHttpMethod, ap as isModuleClass, a3 as isPropertyOptional, aj as loadAndResolveConfig, ah as loadConfig, ag as loadConfigFromFile, m as makeProjectContext, N as mergeGeneratedSchemas, O as mergeGeneratedSchemasEffect, K as mergeSchemas, L as mergeSchemasEffect, aa as mergeValidationConstraints, ab as mergeValidationConstraintsEffect, w as normalizePath, T as normalizeSchemas, U as normalizeSchemasEffect, X as normalizeStructureRefs, Y as normalizeStructureRefsEffect, as as resolveArrayOfClasses, ar as resolveClassFromExpression, al as resolveClassFromSymbol, ai as resolveConfig, Z as toPascalCase, F as transformMethod, G as transformMethodEffect, H as transformMethods, J as transformMethodsEffect, au as validateSpec } from './shared/nestjs-openapi.P9V98nna.mjs';
1
+ import { S as SpecFileNotFoundError, a as SpecFileReadError, b as SpecFileParseError } from './shared/nestjs-openapi.DeikubMm.mjs';
2
+ export { c as ConfigLoadError, C as ConfigNotFoundError, ae as ConfigService, e as ConfigValidationError, D as DtoGlobResolutionError, E as EntryNotFoundError, I as InvalidMethodError, B as MethodExtractionService, M as MissingGenericSchemaTempFileCleanupError, f as MissingGenericSchemaTempFileWriteError, n as ModuleTraversalService, ad as OutputService, P as ProjectInitError, i as ProjectService, j as ProjectServiceLive, h as PublicApiError, a0 as SchemaGenerationError, a1 as SchemaService, ac as ValidationService, a9 as applyConstraintsToSchema, av as categorizeBrokenRefs, d as defineConfig, a7 as extractClassConstraints, a5 as extractClassValidationInfo, a6 as extractClassValidationInfoEffect, a2 as extractPropertyConstraints, a4 as extractPropertyValidationInfo, V as filterInternalSchemas, W as filterInternalSchemasEffect, Q as filterSchemas, R as filterSchemasEffect, af as findConfigFile, aw as formatValidationResult, g as generate, _ as generateSchemas, $ as generateSchemasFromFiles, ak as generatorServicesLayer, l as getAllControllers, am as getArrayInitializer, z as getControllerMethodInfos, A as getControllerMethodInfosEffect, p as getControllerName, o as getControllerPrefix, t as getControllerTags, s as getDecoratorName, u as getHttpDecorator, r as getHttpMethods, x as getMethodInfo, y as getMethodInfoEffect, aq as getModuleDecoratorArg, at as getModuleMetadata, k as getModules, a8 as getRequiredProperties, an as getStringLiteralValue, ao as getSymbolFromIdentifier, v as isHttpDecorator, q as isHttpMethod, ap as isModuleClass, a3 as isPropertyOptional, aj as loadAndResolveConfig, ah as loadConfig, ag as loadConfigFromFile, m as makeProjectContext, N as mergeGeneratedSchemas, O as mergeGeneratedSchemasEffect, K as mergeSchemas, L as mergeSchemasEffect, aa as mergeValidationConstraints, ab as mergeValidationConstraintsEffect, w as normalizePath, T as normalizeSchemas, U as normalizeSchemasEffect, X as normalizeStructureRefs, Y as normalizeStructureRefsEffect, as as resolveArrayOfClasses, ar as resolveClassFromExpression, al as resolveClassFromSymbol, ai as resolveConfig, Z as toPascalCase, F as transformMethod, G as transformMethodEffect, H as transformMethods, J as transformMethodsEffect, au as validateSpec } from './shared/nestjs-openapi.DeikubMm.mjs';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { fail } from 'node:assert';
5
5
  import { resolve } from 'node:path';
@@ -1,3 +1,3 @@
1
- export { E as GenerateOptions, x as generate, y as generateAsync, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect } from './shared/nestjs-openapi.D0Osp4GW.mjs';
1
+ export { E as GenerateOptions, x as generate, y as generateAsync, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect } from './shared/nestjs-openapi.NtbZNAvU.mjs';
2
2
  import 'effect';
3
3
  import 'ts-morph';
@@ -1,3 +1,3 @@
1
- export { E as GenerateOptions, x as generate, y as generateAsync, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect } from './shared/nestjs-openapi.D0Osp4GW.js';
1
+ export { E as GenerateOptions, x as generate, y as generateAsync, D as generateFromConfigAsync, B as generateFromConfigEffect, A as generatePathsAsync, z as generatePathsEffect } from './shared/nestjs-openapi.NtbZNAvU.js';
2
2
  import 'effect';
3
3
  import 'ts-morph';
package/dist/internal.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Effect } from 'effect';
2
- import { i as ProjectService, n as ModuleTraversalService, B as MethodExtractionService, J as transformMethodsEffect, ax as generateEffect, ay as runProjectApiPromise, ak as generatorServicesLayer, az as runtimeLayerFor, aA as runGeneratorApiPromise } from './shared/nestjs-openapi.P9V98nna.mjs';
2
+ import { i as ProjectService, n as ModuleTraversalService, B as MethodExtractionService, J as transformMethodsEffect, ax as generateEffect, ay as runProjectApiPromise, ak as generatorServicesLayer, az as runtimeLayerFor, aA as runGeneratorApiPromise } from './shared/nestjs-openapi.DeikubMm.mjs';
3
3
  import 'node:fs';
4
4
  import 'node:path';
5
5
  import 'node:crypto';
@@ -1651,10 +1651,13 @@ const extractParameters = (method, options = {}) => {
1651
1651
  );
1652
1652
  return result;
1653
1653
  };
1654
- const extractDecoratorNames = (method) => {
1654
+ const extractDecoratorNames = (controller, method) => {
1655
1655
  const cached = decoratorNamesCache.get(method);
1656
1656
  if (cached !== void 0) return cached;
1657
- const result = method.getDecorators().map((d) => getDecoratorName$1(d));
1657
+ const result = [
1658
+ ...controller.getDecorators().map((d) => getDecoratorName$1(d)),
1659
+ ...method.getDecorators().map((d) => getDecoratorName$1(d))
1660
+ ];
1658
1661
  decoratorNamesCache.set(method, result);
1659
1662
  return result;
1660
1663
  };
@@ -1963,7 +1966,7 @@ const getMethodInfoInternal = (controller, method, options = {}) => {
1963
1966
  controllerTags: [...getControllerTags(controller)],
1964
1967
  returnType: getReturnTypeInfo(method),
1965
1968
  parameters: extractParameters(method, options),
1966
- decorators: [...extractDecoratorNames(method)],
1969
+ decorators: [...extractDecoratorNames(controller, method)],
1967
1970
  operation: extractApiOperationMetadata(method),
1968
1971
  responses: [...extractApiResponses(method)],
1969
1972
  httpCode: extractHttpCode(method),
@@ -2167,10 +2170,7 @@ const transformParameter = (param) => {
2167
2170
  return {
2168
2171
  name: param.name,
2169
2172
  in: getParameterLocation(param.location),
2170
- description: Option.getOrElse(
2171
- param.description,
2172
- () => `${param.location} parameter: ${param.name}`
2173
- ),
2173
+ ...Option.isSome(param.description) ? { description: param.description.value } : {},
2174
2174
  required: param.location === "path" ? true : param.required,
2175
2175
  schema
2176
2176
  };
@@ -2290,7 +2290,6 @@ const transformMethodInternal = (methodInfo) => {
2290
2290
  const parameters = nonBodyParams.map(transformParameter);
2291
2291
  const requestContentTypes = getRequestContentTypes(methodInfo);
2292
2292
  const requestBody = bodyParams.length > 0 ? {
2293
- description: `Request body parameter: ${bodyParams[0].name}`,
2294
2293
  required: bodyParams[0].required && !isInlineOptionalBodyType(bodyParams[0].tsType),
2295
2294
  content: buildContentObject(
2296
2295
  requestContentTypes,
@@ -3275,7 +3274,7 @@ Schema.Struct({
3275
3274
  controllerTags: Schema.Array(Schema.String),
3276
3275
  returnType: ReturnTypeInfo,
3277
3276
  parameters: Schema.Array(ResolvedParameter),
3278
- /** All decorator names on the method (for filtering) */
3277
+ /** All decorator names on the controller and method (for filtering) */
3279
3278
  decorators: Schema.Array(Schema.String),
3280
3279
  /** Metadata from @ApiOperation decorator */
3281
3280
  operation: OperationMetadata,
@@ -850,7 +850,7 @@ declare const MethodInfo: Schema.Struct<{
850
850
  required: typeof Schema.Boolean;
851
851
  description: Schema.OptionFromNullOr<typeof Schema.String>;
852
852
  }>>;
853
- /** All decorator names on the method (for filtering) */
853
+ /** All decorator names on the controller and method (for filtering) */
854
854
  decorators: Schema.Array$<typeof Schema.String>;
855
855
  /** Metadata from @ApiOperation decorator */
856
856
  operation: Schema.Struct<{
@@ -1332,16 +1332,16 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1332
1332
  readonly effect: Effect.Effect<{
1333
1333
  findConfigFile: (startDir?: string | undefined) => Effect.Effect<string, ConfigNotFoundError, never>;
1334
1334
  loadConfigFromFile: (configPath: string) => Effect.Effect<{
1335
+ readonly format?: "json" | "yaml" | undefined;
1335
1336
  readonly extends?: string | undefined;
1336
1337
  readonly files?: {
1337
- readonly entry?: string | readonly string[] | undefined;
1338
- readonly tsconfig?: string | undefined;
1339
1338
  readonly dtoGlob?: string | readonly string[] | undefined;
1339
+ readonly tsconfig?: string | undefined;
1340
+ readonly entry?: string | readonly string[] | undefined;
1340
1341
  readonly include?: readonly string[] | undefined;
1341
1342
  readonly exclude?: readonly string[] | undefined;
1342
1343
  } | undefined;
1343
1344
  readonly output: string;
1344
- readonly format?: "json" | "yaml" | undefined;
1345
1345
  readonly openapi: {
1346
1346
  readonly security?: {
1347
1347
  readonly schemes?: readonly ({
@@ -1442,16 +1442,16 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1442
1442
  } | undefined;
1443
1443
  }, ConfigError, never>;
1444
1444
  loadConfig: (configPath?: string | undefined, cwd?: string | undefined) => Effect.Effect<{
1445
+ readonly format?: "json" | "yaml" | undefined;
1445
1446
  readonly extends?: string | undefined;
1446
1447
  readonly files?: {
1447
- readonly entry?: string | readonly string[] | undefined;
1448
- readonly tsconfig?: string | undefined;
1449
1448
  readonly dtoGlob?: string | readonly string[] | undefined;
1449
+ readonly tsconfig?: string | undefined;
1450
+ readonly entry?: string | readonly string[] | undefined;
1450
1451
  readonly include?: readonly string[] | undefined;
1451
1452
  readonly exclude?: readonly string[] | undefined;
1452
1453
  } | undefined;
1453
1454
  readonly output: string;
1454
- readonly format?: "json" | "yaml" | undefined;
1455
1455
  readonly openapi: {
1456
1456
  readonly security?: {
1457
1457
  readonly schemes?: readonly ({
@@ -1552,16 +1552,16 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1552
1552
  } | undefined;
1553
1553
  }, ConfigError, never>;
1554
1554
  resolveConfig: (config: {
1555
+ readonly format?: "json" | "yaml" | undefined;
1555
1556
  readonly extends?: string | undefined;
1556
1557
  readonly files?: {
1557
- readonly entry?: string | readonly string[] | undefined;
1558
- readonly tsconfig?: string | undefined;
1559
1558
  readonly dtoGlob?: string | readonly string[] | undefined;
1559
+ readonly tsconfig?: string | undefined;
1560
+ readonly entry?: string | readonly string[] | undefined;
1560
1561
  readonly include?: readonly string[] | undefined;
1561
1562
  readonly exclude?: readonly string[] | undefined;
1562
1563
  } | undefined;
1563
1564
  readonly output: string;
1564
- readonly format?: "json" | "yaml" | undefined;
1565
1565
  readonly openapi: {
1566
1566
  readonly security?: {
1567
1567
  readonly schemes?: readonly ({
@@ -1661,17 +1661,17 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1661
1661
  readonly pathFilter?: RegExp | ((path: string) => boolean) | undefined;
1662
1662
  } | undefined;
1663
1663
  }, configPath?: string | undefined) => Effect.Effect<{
1664
+ readonly format: "json" | "yaml";
1665
+ readonly dtoGlob: readonly string[];
1666
+ readonly tsconfig: string;
1664
1667
  readonly tags: readonly {
1665
1668
  readonly name: string;
1666
1669
  readonly description?: string | undefined;
1667
1670
  }[];
1668
1671
  readonly entry: readonly string[];
1669
- readonly tsconfig: string;
1670
- readonly dtoGlob: readonly string[];
1671
1672
  readonly include: readonly string[];
1672
1673
  readonly exclude: readonly string[];
1673
1674
  readonly output: string;
1674
- readonly format: "json" | "yaml";
1675
1675
  readonly version?: string | undefined;
1676
1676
  readonly info: {
1677
1677
  readonly description?: string | undefined;
@@ -1757,17 +1757,17 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1757
1757
  }[];
1758
1758
  }, ConfigValidationError, never>;
1759
1759
  loadAndResolveConfig: (configPath?: string | undefined, cwd?: string | undefined) => Effect.Effect<{
1760
+ readonly format: "json" | "yaml";
1761
+ readonly dtoGlob: readonly string[];
1762
+ readonly tsconfig: string;
1760
1763
  readonly tags: readonly {
1761
1764
  readonly name: string;
1762
1765
  readonly description?: string | undefined;
1763
1766
  }[];
1764
1767
  readonly entry: readonly string[];
1765
- readonly tsconfig: string;
1766
- readonly dtoGlob: readonly string[];
1767
1768
  readonly include: readonly string[];
1768
1769
  readonly exclude: readonly string[];
1769
1770
  readonly output: string;
1770
- readonly format: "json" | "yaml";
1771
1771
  readonly version?: string | undefined;
1772
1772
  readonly info: {
1773
1773
  readonly description?: string | undefined;
@@ -2271,5 +2271,5 @@ declare const generate: (options: GenerateOptions) => Effect.Effect<{
2271
2271
  }, ProjectInitError | EntryNotFoundError, ModuleTraversalService | ProjectService | MethodExtractionService>;
2272
2272
  declare const generateAsync: (options: GenerateOptions) => Promise<OpenApiPaths>;
2273
2273
 
2274
- export { MissingGenericSchemaTempFileCleanupError as $, generatePathsAsync as A, generateFromConfigEffect as B, ConfigService as C, generateFromConfigAsync as D, ParameterLocation as F, ReturnTypeInfo as H, HttpMethod as J, OpenApiGeneratorConfig as K, MethodInfo as M, ResolvedConfig as N, ProjectService as P, ProjectInitError as Q, ResolvedParameter as R, SpecFileNotFoundError as S, EntryNotFoundError as U, ValidationService as V, ConfigNotFoundError as W, ConfigLoadError as X, ConfigValidationError as Y, DtoGlobResolutionError as Z, InvalidMethodError as _, SpecFileReadError as a, MissingGenericSchemaTempFileWriteError as a0, PublicApiError as a1, ProjectServiceLive as a6, makeProjectContext as a7, findConfigFile as aA, loadConfigFromFile as aB, loadConfig as aC, resolveConfig as aD, loadAndResolveConfig as aE, validateSpec as aF, categorizeBrokenRefs as aG, formatValidationResult as aH, getModules as aa, getAllControllers as ab, getMethodInfo as ad, getMethodInfoEffect as ae, getControllerMethodInfos as af, getControllerMethodInfosEffect as ag, generateSchemas as ah, generateSchemasFromFiles as ai, SchemaGenerationError as aj, extractPropertyConstraints as an, isPropertyOptional as ao, extractPropertyValidationInfo as ap, extractClassValidationInfo as aq, extractClassValidationInfoEffect as ar, extractClassConstraints as as, getRequiredProperties as at, applyConstraintsToSchema as au, mergeValidationConstraints as av, mergeValidationConstraintsEffect as aw, SpecFileParseError as b, OpenApiOperation as d, ModuleTraversalService as g, MethodExtractionService as h, SchemaService as i, OutputService as j, generate$1 as k, defineConfig as m, generate as x, generateAsync as y, generatePathsEffect as z };
2274
+ export { MissingGenericSchemaTempFileCleanupError as $, generatePathsAsync as A, generateFromConfigEffect as B, ConfigService as C, generateFromConfigAsync as D, ParameterLocation as F, ReturnTypeInfo as H, HttpMethod as J, OpenApiGeneratorConfig as K, MethodInfo as M, ResolvedConfig as N, ProjectService as P, ProjectInitError as Q, ResolvedParameter as R, SpecFileNotFoundError as S, EntryNotFoundError as U, ValidationService as V, ConfigNotFoundError as W, ConfigLoadError as X, ConfigValidationError as Y, DtoGlobResolutionError as Z, InvalidMethodError as _, SpecFileReadError as a, MissingGenericSchemaTempFileWriteError as a0, PublicApiError as a1, ProjectServiceLive as a6, makeProjectContext as a7, findConfigFile as aA, loadConfigFromFile as aB, loadConfig as aC, resolveConfig as aD, loadAndResolveConfig as aE, validateSpec as aF, categorizeBrokenRefs as aG, formatValidationResult as aH, getModules as aa, getAllControllers as ab, getMethodInfo as ad, getMethodInfoEffect as ae, getControllerMethodInfos as af, getControllerMethodInfosEffect as ag, generateSchemas as ah, generateSchemasFromFiles as ai, SchemaGenerationError as aj, extractPropertyConstraints as an, isPropertyOptional as ao, extractPropertyValidationInfo as ap, extractClassValidationInfo as aq, extractClassValidationInfoEffect as ar, extractClassConstraints as as, getRequiredProperties as at, applyConstraintsToSchema as au, mergeValidationConstraints as av, mergeValidationConstraintsEffect as aw, SpecFileParseError as b, OpenApiOperation as d, OutputService as g, SchemaService as h, ModuleTraversalService as i, MethodExtractionService as j, generate$1 as k, defineConfig as m, generate as x, generateAsync as y, generatePathsEffect as z };
2275
2275
  export type { GenerateOptions as E, GeneratedSchemas as G, InfoConfig as I, LicenseConfig as L, OpenApiSpec as O, TagConfig as T, ProjectError as a2, ConfigError as a3, AnalysisError as a4, GeneratorError as a5, ProjectContext as a8, ProjectOptions as a9, ValidationResult as aI, BrokenRef as aJ, BrokenRefCategories as aK, ModuleWithControllers as ac, SchemaError as ak, SchemaGeneratorOptions as al, JsonSchema as am, ValidationConstraints as ax, PropertyValidationInfo as ay, ClassValidationInfo as az, OpenApiPaths as c, OpenApiPaths$1 as e, OpenApiSchema$1 as f, GenerateResult as l, Config as n, ContactConfig as o, ServerConfig as p, OutputFormat as q, TelemetryConfig as r, GenerateOverrides as s, OpenApiOperation$1 as t, OpenApiParameter as u, OpenApiRequestBody as v, OpenApiResponse as w };
@@ -850,7 +850,7 @@ declare const MethodInfo: Schema.Struct<{
850
850
  required: typeof Schema.Boolean;
851
851
  description: Schema.OptionFromNullOr<typeof Schema.String>;
852
852
  }>>;
853
- /** All decorator names on the method (for filtering) */
853
+ /** All decorator names on the controller and method (for filtering) */
854
854
  decorators: Schema.Array$<typeof Schema.String>;
855
855
  /** Metadata from @ApiOperation decorator */
856
856
  operation: Schema.Struct<{
@@ -1332,16 +1332,16 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1332
1332
  readonly effect: Effect.Effect<{
1333
1333
  findConfigFile: (startDir?: string | undefined) => Effect.Effect<string, ConfigNotFoundError, never>;
1334
1334
  loadConfigFromFile: (configPath: string) => Effect.Effect<{
1335
+ readonly format?: "json" | "yaml" | undefined;
1335
1336
  readonly extends?: string | undefined;
1336
1337
  readonly files?: {
1337
- readonly entry?: string | readonly string[] | undefined;
1338
- readonly tsconfig?: string | undefined;
1339
1338
  readonly dtoGlob?: string | readonly string[] | undefined;
1339
+ readonly tsconfig?: string | undefined;
1340
+ readonly entry?: string | readonly string[] | undefined;
1340
1341
  readonly include?: readonly string[] | undefined;
1341
1342
  readonly exclude?: readonly string[] | undefined;
1342
1343
  } | undefined;
1343
1344
  readonly output: string;
1344
- readonly format?: "json" | "yaml" | undefined;
1345
1345
  readonly openapi: {
1346
1346
  readonly security?: {
1347
1347
  readonly schemes?: readonly ({
@@ -1442,16 +1442,16 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1442
1442
  } | undefined;
1443
1443
  }, ConfigError, never>;
1444
1444
  loadConfig: (configPath?: string | undefined, cwd?: string | undefined) => Effect.Effect<{
1445
+ readonly format?: "json" | "yaml" | undefined;
1445
1446
  readonly extends?: string | undefined;
1446
1447
  readonly files?: {
1447
- readonly entry?: string | readonly string[] | undefined;
1448
- readonly tsconfig?: string | undefined;
1449
1448
  readonly dtoGlob?: string | readonly string[] | undefined;
1449
+ readonly tsconfig?: string | undefined;
1450
+ readonly entry?: string | readonly string[] | undefined;
1450
1451
  readonly include?: readonly string[] | undefined;
1451
1452
  readonly exclude?: readonly string[] | undefined;
1452
1453
  } | undefined;
1453
1454
  readonly output: string;
1454
- readonly format?: "json" | "yaml" | undefined;
1455
1455
  readonly openapi: {
1456
1456
  readonly security?: {
1457
1457
  readonly schemes?: readonly ({
@@ -1552,16 +1552,16 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1552
1552
  } | undefined;
1553
1553
  }, ConfigError, never>;
1554
1554
  resolveConfig: (config: {
1555
+ readonly format?: "json" | "yaml" | undefined;
1555
1556
  readonly extends?: string | undefined;
1556
1557
  readonly files?: {
1557
- readonly entry?: string | readonly string[] | undefined;
1558
- readonly tsconfig?: string | undefined;
1559
1558
  readonly dtoGlob?: string | readonly string[] | undefined;
1559
+ readonly tsconfig?: string | undefined;
1560
+ readonly entry?: string | readonly string[] | undefined;
1560
1561
  readonly include?: readonly string[] | undefined;
1561
1562
  readonly exclude?: readonly string[] | undefined;
1562
1563
  } | undefined;
1563
1564
  readonly output: string;
1564
- readonly format?: "json" | "yaml" | undefined;
1565
1565
  readonly openapi: {
1566
1566
  readonly security?: {
1567
1567
  readonly schemes?: readonly ({
@@ -1661,17 +1661,17 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1661
1661
  readonly pathFilter?: RegExp | ((path: string) => boolean) | undefined;
1662
1662
  } | undefined;
1663
1663
  }, configPath?: string | undefined) => Effect.Effect<{
1664
+ readonly format: "json" | "yaml";
1665
+ readonly dtoGlob: readonly string[];
1666
+ readonly tsconfig: string;
1664
1667
  readonly tags: readonly {
1665
1668
  readonly name: string;
1666
1669
  readonly description?: string | undefined;
1667
1670
  }[];
1668
1671
  readonly entry: readonly string[];
1669
- readonly tsconfig: string;
1670
- readonly dtoGlob: readonly string[];
1671
1672
  readonly include: readonly string[];
1672
1673
  readonly exclude: readonly string[];
1673
1674
  readonly output: string;
1674
- readonly format: "json" | "yaml";
1675
1675
  readonly version?: string | undefined;
1676
1676
  readonly info: {
1677
1677
  readonly description?: string | undefined;
@@ -1757,17 +1757,17 @@ declare const ConfigService_base: Effect.Service.Class<ConfigService, "ConfigSer
1757
1757
  }[];
1758
1758
  }, ConfigValidationError, never>;
1759
1759
  loadAndResolveConfig: (configPath?: string | undefined, cwd?: string | undefined) => Effect.Effect<{
1760
+ readonly format: "json" | "yaml";
1761
+ readonly dtoGlob: readonly string[];
1762
+ readonly tsconfig: string;
1760
1763
  readonly tags: readonly {
1761
1764
  readonly name: string;
1762
1765
  readonly description?: string | undefined;
1763
1766
  }[];
1764
1767
  readonly entry: readonly string[];
1765
- readonly tsconfig: string;
1766
- readonly dtoGlob: readonly string[];
1767
1768
  readonly include: readonly string[];
1768
1769
  readonly exclude: readonly string[];
1769
1770
  readonly output: string;
1770
- readonly format: "json" | "yaml";
1771
1771
  readonly version?: string | undefined;
1772
1772
  readonly info: {
1773
1773
  readonly description?: string | undefined;
@@ -2271,5 +2271,5 @@ declare const generate: (options: GenerateOptions) => Effect.Effect<{
2271
2271
  }, ProjectInitError | EntryNotFoundError, ModuleTraversalService | ProjectService | MethodExtractionService>;
2272
2272
  declare const generateAsync: (options: GenerateOptions) => Promise<OpenApiPaths>;
2273
2273
 
2274
- export { MissingGenericSchemaTempFileCleanupError as $, generatePathsAsync as A, generateFromConfigEffect as B, ConfigService as C, generateFromConfigAsync as D, ParameterLocation as F, ReturnTypeInfo as H, HttpMethod as J, OpenApiGeneratorConfig as K, MethodInfo as M, ResolvedConfig as N, ProjectService as P, ProjectInitError as Q, ResolvedParameter as R, SpecFileNotFoundError as S, EntryNotFoundError as U, ValidationService as V, ConfigNotFoundError as W, ConfigLoadError as X, ConfigValidationError as Y, DtoGlobResolutionError as Z, InvalidMethodError as _, SpecFileReadError as a, MissingGenericSchemaTempFileWriteError as a0, PublicApiError as a1, ProjectServiceLive as a6, makeProjectContext as a7, findConfigFile as aA, loadConfigFromFile as aB, loadConfig as aC, resolveConfig as aD, loadAndResolveConfig as aE, validateSpec as aF, categorizeBrokenRefs as aG, formatValidationResult as aH, getModules as aa, getAllControllers as ab, getMethodInfo as ad, getMethodInfoEffect as ae, getControllerMethodInfos as af, getControllerMethodInfosEffect as ag, generateSchemas as ah, generateSchemasFromFiles as ai, SchemaGenerationError as aj, extractPropertyConstraints as an, isPropertyOptional as ao, extractPropertyValidationInfo as ap, extractClassValidationInfo as aq, extractClassValidationInfoEffect as ar, extractClassConstraints as as, getRequiredProperties as at, applyConstraintsToSchema as au, mergeValidationConstraints as av, mergeValidationConstraintsEffect as aw, SpecFileParseError as b, OpenApiOperation as d, ModuleTraversalService as g, MethodExtractionService as h, SchemaService as i, OutputService as j, generate$1 as k, defineConfig as m, generate as x, generateAsync as y, generatePathsEffect as z };
2274
+ export { MissingGenericSchemaTempFileCleanupError as $, generatePathsAsync as A, generateFromConfigEffect as B, ConfigService as C, generateFromConfigAsync as D, ParameterLocation as F, ReturnTypeInfo as H, HttpMethod as J, OpenApiGeneratorConfig as K, MethodInfo as M, ResolvedConfig as N, ProjectService as P, ProjectInitError as Q, ResolvedParameter as R, SpecFileNotFoundError as S, EntryNotFoundError as U, ValidationService as V, ConfigNotFoundError as W, ConfigLoadError as X, ConfigValidationError as Y, DtoGlobResolutionError as Z, InvalidMethodError as _, SpecFileReadError as a, MissingGenericSchemaTempFileWriteError as a0, PublicApiError as a1, ProjectServiceLive as a6, makeProjectContext as a7, findConfigFile as aA, loadConfigFromFile as aB, loadConfig as aC, resolveConfig as aD, loadAndResolveConfig as aE, validateSpec as aF, categorizeBrokenRefs as aG, formatValidationResult as aH, getModules as aa, getAllControllers as ab, getMethodInfo as ad, getMethodInfoEffect as ae, getControllerMethodInfos as af, getControllerMethodInfosEffect as ag, generateSchemas as ah, generateSchemasFromFiles as ai, SchemaGenerationError as aj, extractPropertyConstraints as an, isPropertyOptional as ao, extractPropertyValidationInfo as ap, extractClassValidationInfo as aq, extractClassValidationInfoEffect as ar, extractClassConstraints as as, getRequiredProperties as at, applyConstraintsToSchema as au, mergeValidationConstraints as av, mergeValidationConstraintsEffect as aw, SpecFileParseError as b, OpenApiOperation as d, OutputService as g, SchemaService as h, ModuleTraversalService as i, MethodExtractionService as j, generate$1 as k, defineConfig as m, generate as x, generateAsync as y, generatePathsEffect as z };
2275
2275
  export type { GenerateOptions as E, GeneratedSchemas as G, InfoConfig as I, LicenseConfig as L, OpenApiSpec as O, TagConfig as T, ProjectError as a2, ConfigError as a3, AnalysisError as a4, GeneratorError as a5, ProjectContext as a8, ProjectOptions as a9, ValidationResult as aI, BrokenRef as aJ, BrokenRefCategories as aK, ModuleWithControllers as ac, SchemaError as ak, SchemaGeneratorOptions as al, JsonSchema as am, ValidationConstraints as ax, PropertyValidationInfo as ay, ClassValidationInfo as az, OpenApiPaths as c, OpenApiPaths$1 as e, OpenApiSchema$1 as f, GenerateResult as l, Config as n, ContactConfig as o, ServerConfig as p, OutputFormat as q, TelemetryConfig as r, GenerateOverrides as s, OpenApiOperation$1 as t, OpenApiParameter as u, OpenApiRequestBody as v, OpenApiResponse as w };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-openapi",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Static code analysis tool to generate OpenAPI specifications from NestJS applications",
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.mjs",