@trapi/metadata 2.0.0-beta.4 → 2.0.1

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/index.d.mts CHANGED
@@ -372,7 +372,7 @@ type SubResolverContext = {
372
372
  resolveType(typeNode: TypeNode, parentNode?: Node, context?: TypeNodeResolverContext, referencer?: TypeNode): Type;
373
373
  propertyFromSignature(sig: PropertySignature, overrideToken?: OverrideToken): ResolverProperty;
374
374
  propertyFromDeclaration(decl: PropertyDeclaration | ParameterDeclaration, overrideToken?: OverrideToken): ResolverProperty;
375
- getNodeDescription(node: UsableDeclaration | PropertyDeclaration | ParameterDeclaration | EnumDeclaration): string;
375
+ getNodeDescription(node: UsableDeclaration | PropertyDeclaration | ParameterDeclaration | EnumDeclaration): string | undefined;
376
376
  getNodeExample(node: UsableDeclaration | PropertyDeclaration | ParameterDeclaration | EnumDeclaration): unknown;
377
377
  getNodeExtensions(node: UsableDeclaration | PropertyDeclaration | ParameterDeclaration | EnumDeclaration): Extension[];
378
378
  };
@@ -383,7 +383,7 @@ declare function resolveArrayType(typeNode: TypeNode, ctx: SubResolverContext):
383
383
  //#region src/adapters/typescript/resolver/sub/base.d.ts
384
384
  declare class ResolverBase {
385
385
  protected hasPublicModifier(node: Node): boolean;
386
- protected hasStaticModifier(node: Node): boolean;
386
+ protected hasStaticModifier(node: Node): boolean | undefined;
387
387
  protected isAccessibleParameter(node: Node): boolean;
388
388
  }
389
389
  //#endregion
@@ -408,7 +408,7 @@ declare class PrimitiveResolver {
408
408
  protected registry: Registry;
409
409
  constructor(registry: Registry);
410
410
  resolve(node: TypeNode, parentNode?: Node): PrimitiveType | NeverType | VoidType | undefined;
411
- resolveSyntaxKind(syntaxKind: SyntaxKind): "string" | "boolean" | "void" | "undefined" | "null" | "number" | "bigint" | "never";
411
+ resolveSyntaxKind(syntaxKind: SyntaxKind): "string" | "boolean" | "void" | "undefined" | "null" | "number" | "bigint" | "never" | undefined;
412
412
  }
413
413
  //#endregion
414
414
  //#region src/adapters/typescript/resolver/sub/reference.d.ts
@@ -474,13 +474,11 @@ declare class TypeNodeResolver extends ResolverBase {
474
474
  private static resolveSpecialReference;
475
475
  private getDateType;
476
476
  private static getDesignatedModels;
477
- private getEnumerateType;
478
477
  private getReferenceType;
479
478
  private getTypeAliasReference;
480
479
  private getModelReference;
481
480
  private static getRefTypeName;
482
481
  private contextualizedName;
483
- private handleCachingAndCircularReferences;
484
482
  private createCircularDependencyResolver;
485
483
  private static nodeIsUsable;
486
484
  private getModelTypeDeclarations;
@@ -512,7 +510,7 @@ declare class ResolverCache implements IResolverCache {
512
510
  }
513
511
  //#endregion
514
512
  //#region src/adapters/typescript/resolver/utils.d.ts
515
- declare function getNodeDescription(node: Node, typeChecker: TypeChecker): string;
513
+ declare function getNodeDescription(node: Node, typeChecker: TypeChecker): string | undefined;
516
514
  declare function toTypeNodeOrFail(typeChecker: TypeChecker, ...args: Parameters<TypeChecker['typeToTypeNode']>): TypeNode;
517
515
  //#endregion
518
516
  //#region src/adapters/typescript/resolver/extension/module.d.ts
@@ -677,7 +675,7 @@ declare class MetadataGenerator implements IGeneratorContext, IMetadataGenerator
677
675
  protected isAllowedPath(filePath: string): boolean;
678
676
  isExportedNode(_node: Node): boolean;
679
677
  addReferenceType(referenceType: ReferenceType): void;
680
- getReferenceType(refName: string): ReferenceType;
678
+ getReferenceType(refName: string): ReferenceType | undefined;
681
679
  registerDependencyResolver(callback: DependencyResolver): void;
682
680
  private buildControllers;
683
681
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/adapters/cache/types.ts","../src/adapters/cache/client.ts","../src/adapters/cache/constants.ts","../src/adapters/cache/utils.ts","../src/adapters/filesystem/tsconfig/types.ts","../src/adapters/filesystem/tsconfig/module.ts","../src/core/config/types.ts","../src/core/metadata/types.ts","../src/core/error/base.ts","../src/core/error/config.ts","../src/core/error/config-codes.ts","../src/core/error/generator.ts","../src/core/error/generator-codes.ts","../src/core/error/parameter.ts","../src/core/error/parameter-codes.ts","../src/core/error/resolver.ts","../src/core/error/validator.ts","../src/core/error/validator-codes.ts","../src/adapters/typescript/resolver/types.ts","../src/adapters/typescript/resolver/sub/array.ts","../src/adapters/typescript/resolver/sub/base.ts","../src/adapters/typescript/resolver/sub/indexed-access.ts","../src/adapters/typescript/resolver/sub/intersection.ts","../src/adapters/typescript/resolver/sub/literal.ts","../src/adapters/typescript/resolver/sub/mapped.ts","../src/adapters/typescript/resolver/sub/object-literal.ts","../src/adapters/typescript/resolver/sub/primitive.ts","../src/adapters/typescript/resolver/sub/reference.ts","../src/adapters/typescript/resolver/sub/tuple.ts","../src/adapters/typescript/resolver/sub/type-operator.ts","../src/adapters/typescript/resolver/sub/union.ts","../src/adapters/typescript/resolver/module.ts","../src/adapters/typescript/resolver/cache.ts","../src/adapters/typescript/resolver/utils.ts","../src/adapters/typescript/resolver/extension/module.ts","../src/adapters/typescript/node-utils/types.ts","../src/adapters/typescript/node-utils/module.ts","../src/adapters/typescript/initializer.ts","../src/adapters/typescript/js-doc/constants.ts","../src/adapters/typescript/js-doc/module.ts","../src/adapters/typescript/js-doc/utils.ts","../src/adapters/typescript/validator/module.ts","../src/adapters/decorator/orchestrator/types.ts","../src/adapters/decorator/orchestrator/module.ts","../src/adapters/decorator/typescript/types.ts","../src/adapters/decorator/typescript/module.ts","../src/adapters/decorator/typescript/utils.ts","../src/adapters/filesystem/source-files.ts","../src/app/generate.ts","../src/app/generator/metadata/module.ts","../src/app/generator/controller/module.ts","../src/app/generator/method/module.ts","../src/app/generator/parameter/module.ts","../src/core/utils/array.ts","../src/core/utils/object.ts","../src/core/utils/path-normalize.ts"],"mappings":";;;;;UASiB,YAAA;;;;AAAjB;;EAMI,OAAA;EANyB;;;;;EAYzB,aAAA;EAiBQ;AAGZ;;;;;AAEA;;EAbI,QAAA;EAuBQ;;;;;;EAfR,QAAA;AAAA;AAAA,KAGQ,iBAAA,GAAoB,OAAA,CAAQ,YAAA;AAAA,KAE5B,SAAA;EAae;;;;;;EANvB,QAAA,UAMW;EAJX,aAAA;AAAA,IACA,QAAA;AAAA,UAEa,YAAA;EACb,IAAA,CAAK,IAAA,EAAM,SAAA,GAAY,OAAA;EACvB,GAAA,CAAI,QAAA,WAAmB,OAAA,CAAQ,SAAA;EAAA;EAE/B,KAAA,IAAS,OAAA;AAAA;;;cCjCA,WAAA,YAAuB,YAAA;EAAA,iBACf,OAAA;cAEL,KAAA,sBAA2B,iBAAA;EAMjC,IAAA,CAAK,IAAA,EAAM,SAAA,GAAY,OAAA;EAwCvB,GAAA,CAAI,QAAA,WAAmB,OAAA,CAAQ,SAAA;EDlEZ;;;;;EC2GnB,KAAA,CAAA,GAAS,OAAA;EAAA,QA+BP,eAAA;EAAA,QAaM,eAAA;AAAA;;;;;;;;ADvJlB;cEIa,oBAAA;AAAA,cAEA,iBAAA;AAAA,cACA,iBAAA;;cAGA,wBAAA;;;iBCHG,iBAAA,CAAkB,KAAA,sBAA2B,iBAAA,GAAqB,YAAA;AAAA,KA0CtE,aAAA;EACR,aAAA;EACA,eAAA;EACA,mBAAA;EACA,YAAA;EACA,UAAA;AAAA;;;;;iBAOY,eAAA,CAAgB,KAAA,EAAO,aAAA;;;;;iBAkBvB,mBAAA,CAAoB,OAAA,GAAU,eAAA;;;;;;;;iBAa9B,YAAA,CAAa,QAAA,EAAU,QAAA;;;KC5F3B,mBAAA;EACR,GAAA;EACA,IAAA;AAAA;AAAA,KAGQ,iBAAA,GAAoB,eAAA;AAAA,KAEpB,QAAA;EACR,eAAA,GAAkB,iBAAA;EAAA,CACjB,GAAA;AAAA;;;iBCHiB,YAAA,CAClB,OAAA,GAAS,mBAAA,GACT,OAAA,CAAQ,QAAA;AAAA,iBAuCU,gBAAA,CAClB,OAAA,GAAS,mBAAA,GACT,OAAA,CAAQ,QAAA;;;KC/CA,iBAAA;EACR,GAAA;EACA,OAAA;AAAA;AAAA,KAGQ,UAAA,uBAAiC,iBAAA,GAAoB,iBAAA;AAAA,KAErD,wBAAA;ENHR;;;EMOA,UAAA,EAAY,UAAA;ENgBJ;;AAGZ;;EMbI,MAAA;ENa4B;;AAEhC;;EMTI,KAAA;ENmBQ;;;;EMbR,KAAA,sBAA2B,OAAA,CAAQ,YAAA;ENa3B;AAEZ;;;;;;;;;;;EMDI,MAAA,YAAkB,MAAA;ENEb;;;;;;;;;;EMUL,QAAA,GAAW,QAAA;;;ALxCf;;;;;;;;;;;;;;;;EK4DI,MAAA;ELnDM;;;;;;;;;EK8DN,oBAAA,IAAwB,OAAA,EAAS,wBAAA;AAAA;AAAA,KAGzB,uBAAA,GAA0B,wBAAA;EL4DL;;;EKxD7B,QAAA,YAAoB,QAAA;AAAA;;;KCvFZ,wBAAA;EACR,OAAA,EAAS,wBAAA;EACT,WAAA;EACA,eAAA,GAAkB,eAAA;AAAA;AAAA,UAGL,kBAAA;EACb,QAAA,IAAY,OAAA,CAAQ,QAAA;AAAA;;;;;UAOP,gBAAA;EAAA,SACJ,WAAA,EAAa,WAAA;EAAA,SACb,KAAA,EAAO,IAAA;EAAA,SACP,QAAA,EAAU,QAAA;EAAA,SACV,aAAA,EAAe,cAAA;EACxB,cAAA,CAAe,IAAA,EAAM,IAAA;AAAA;;;;;;UAQR,sBAAA;EACb,gBAAA,CAAiB,IAAA,EAAM,aAAA;EACvB,gBAAA,CAAiB,OAAA,WAAkB,aAAA;EACnC,0BAAA,CAA2B,QAAA,EAAU,kBAAA;AAAA;;;;;;UAQxB,iBAAA,SAA0B,gBAAA,EAAkB,sBAAA;EAAA,SAChD,MAAA,EAAQ,wBAAA;EAAA,SACR,QAAA,EAAU,QAAA;EPDR;;;;;EOOX,wBAAA,EAA0B,MAAA,EAAQ,wBAAA;AAAA;;;cCtDzB,aAAA,SAAsB,SAAA;;;cCAtB,WAAA,SAAoB,aAAA;;;cCFpB,eAAA;EAAA;;;;KAKD,eAAA,UAAyB,eAAA,cAA6B,eAAA;;;cCFrD,cAAA,SAAuB,aAAA;AAAA,iBAIpB,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,cAAA;EAAmB,IAAA;AAAA;;;cCPjE,kBAAA;EAAA;;;;;;;KAQD,kBAAA,UAA4B,kBAAA,cAAgC,kBAAA;;;KCHnE,sBAAA;EACD,aAAA;EACA,YAAA;EACA,IAAA,EAAM,QAAA;EACN,IAAA,GAAO,IAAA;AAAA;AAAA,KAGN,wBAAA;EACD,aAAA;EACA,YAAA;EACA,MAAA;EACA,IAAA,GAAO,IAAA;AAAA;AAAA,KAGN,uBAAA;EACD,aAAA;EACA,YAAA;EACA,IAAA;EACA,IAAA,GAAO,IAAA;AAAA;AAAA,KAGN,oBAAA;EACD,aAAA;EACA,IAAA,GAAO,IAAA;AAAA;AAAA,cAGE,cAAA,SAAuB,aAAA;EAAA,OACzB,eAAA,CAAgB,OAAA,EAAS,sBAAA,GAAsB,cAAA;EAAA,OAQ/C,iBAAA,CAAkB,OAAA,EAAS,wBAAA,GAAwB,cAAA;EAAA,OAQnD,gBAAA,CAAiB,OAAA,EAAS,uBAAA,GAAuB,cAAA;EAAA,OAQjD,aAAA,CAAc,OAAA,EAAS,oBAAA,GAAoB,cAAA;EAAA,OAQ3C,oBAAA,CAAA,GAAoB,cAAA;EAAA,OAOb,kBAAA,CAAmB,IAAA,EAAM,IAAA;AAAA;;;cCvE9B,kBAAA;EAAA;;;;;;KAOD,kBAAA,UAA4B,kBAAA,cAAgC,kBAAA;;;cCF3D,aAAA,SAAsB,aAAA;EAAA,SACf,IAAA;EAAA,SAEA,IAAA;cAGZ,OAAA,UACA,IAAA,GAAO,IAAA,GAAO,QAAA,EACd,OAAA;IAAsB,WAAA;IAAuB,KAAA;EAAA;AAAA;AAAA,iBA8BrC,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,aAAA;AAAA,iBAQ1C,oBAAA,CAAqB,IAAA,EAAM,IAAA,GAAO,QAAA;EAC9C,IAAA;EACA,IAAA;EACA,IAAA;AAAA;AAAA,iBAwBY,kBAAA,CAAmB,IAAA,EAAM,IAAA,GAAO,QAAA,EAAU,WAAA;;;cC5E7C,cAAA,SAAuB,aAAA;;;cCFvB,kBAAA;EAAA;;;;KAKD,kBAAA,UAA4B,kBAAA,cAAgC,kBAAA;;;KCqB5D,aAAA,GAAgB,KAAA,CAAM,UAAA,CAAW,aAAA,IAC7C,KAAA,CAAM,UAAA,CAAW,SAAA,IACjB,KAAA,CAAM,UAAA,CAAW,UAAA;AAAA,KAEL,iBAAA,GAAoB,oBAAA,GAChC,gBAAA,GACA,iBAAA,GACA,oBAAA,GACA,UAAA;AAAA,KAEY,uBAAA;EAAA,CACP,IAAA,WAAe,iBAAA,GAAoB,QAAA;AAAA;AAAA,KAG5B,kBAAA;EAAA,SACC,WAAA,EAAa,WAAA;EAAA,SACb,OAAA,EAAS,gBAAA,GAAmB,sBAAA;EAAA,SAC5B,UAAA,GAAa,IAAA;EAAA,SACb,OAAA,EAAS,uBAAA;EAAA,SACT,UAAA,GAAa,QAAA;EAEtB,WAAA,CACI,QAAA,EAAU,QAAA,EACV,UAAA,GAAa,IAAA,EACb,OAAA,GAAU,uBAAA,EACV,UAAA,GAAa,QAAA,GACd,IAAA;EAEH,qBAAA,CACI,GAAA,EAAK,iBAAA,EACL,aAAA,GAAgB,aAAA,GACjB,gBAAA;EAEH,uBAAA,CACI,IAAA,EAAM,mBAAA,GAAsB,oBAAA,EAC5B,aAAA,GAAgB,aAAA,GACjB,gBAAA;EAEH,kBAAA,CACI,IAAA,EAAM,iBAAA,GAAoB,mBAAA,GAAsB,oBAAA,GAAuB,eAAA;EAG3E,cAAA,CACI,IAAA,EAAM,iBAAA,GAAoB,mBAAA,GAAsB,oBAAA,GAAuB,eAAA;EAG3E,iBAAA,CACI,IAAA,EAAM,iBAAA,GAAoB,mBAAA,GAAsB,oBAAA,GAAuB,eAAA,GACxE,SAAA;AAAA;;;iBCpES,gBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;cCDU,YAAA;EAAA,UACC,iBAAA,CAAkB,IAAA,EAAM,IAAA;EAAA,UAexB,iBAAA,CAAkB,IAAA,EAAM,IAAA;EAAA,UAUxB,qBAAA,CAAsB,IAAA,EAAM,IAAA;AAAA;;;iBCrB1B,wBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;iBCVa,uBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;iBCYa,kBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;AAAA,iBA0Da,eAAA,CAAgB,QAAA,EAAU,eAAA;;;iBC1D1B,iBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;iBCGa,wBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;cCPU,iBAAA;EAAA,UACC,QAAA,EAAU,QAAA;cAER,QAAA,EAAU,QAAA;EAItB,OAAA,CAAQ,IAAA,EAAM,QAAA,EAAU,UAAA,GAAa,IAAA,GAAQ,aAAA,GAAgB,SAAA,GAAY,QAAA;EAoEzE,iBAAA,CAAkB,UAAA,EAAY,UAAA;AAAA;;;cCxFrB,iBAAA,SAA0B,YAAA;EAAA,UACzB,WAAA,EAAc,WAAA;cAEZ,WAAA,EAAa,WAAA;EAMlB,KAAA,CAAM,cAAA,EAAgB,aAAA,KAAkB,aAAA;EAkBxC,iBAAA,CAAkB,IAAA,EAAM,WAAA,KAAgB,WAAA;EASxC,aAAA,CAAc,KAAA,EAAO,WAAA,EAAa,MAAA,EAAQ,WAAA,GAAc,WAAA;EA6BxD,mBAAA,CAAoB,IAAA,EAAM,aAAA,KAAe,aAAA;EAQzC,cAAA,CAAe,KAAA,EAAO,aAAA,EAAe,MAAA,EAAQ,aAAA,GAAiB,aAAA;EA0CrE,aAAA,CAAc,WAAA,EAAa,eAAA,EAAiB,QAAA,WAAoB,WAAA;EAgBhE,mBAAA,CAAoB,WAAA,EAAa,UAAA,EAAY,QAAA,WAAoB,WAAA;AAAA;;;iBC1IrD,gBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;iBCFa,uBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;iBCJa,gBAAA,CACZ,QAAA,EAAU,QAAA,EACV,GAAA,EAAK,kBAAA,GACN,IAAA;;;cCuFU,gBAAA,SAAyB,YAAA;EAAA,wBACV,SAAA;EAAA,iBAEP,QAAA;EAAA,iBAEA,OAAA;EAAA,iBAEA,UAAA;EAAA,QAET,OAAA;EAAA,iBAES,UAAA;EAAA,iBAEA,KAAA;EAAA,iBAEA,iBAAA;EAAA,iBAEA,iBAAA;cAGb,QAAA,EAAU,QAAA,EACV,OAAA,EAAS,gBAAA,GAAmB,sBAAA,EAC5B,UAAA,GAAa,IAAA,EACb,OAAA,GAAU,uBAAA,EACV,UAAA,GAAa,QAAA,EACb,KAAA;E/BvFqB;;;;EAAA,O+B0GX,UAAA,CAAA;EAKP,OAAA,CAAA,GAAW,IAAA;EAAA,QA8BV,wBAAA;EAAA,QAoBA,iBAAA;EAAA,QAgBA,gBAAA;EAAA,QAQA,sBAAA;EAAA,QAuBA,oBAAA;EAAA,wBAyGgB,gCAAA;EAAA,eAgBT,8BAAA;EAAA,QAIP,4BAAA;E/B/TiB;;;;;EAAA,Q+BiVjB,qBAAA;E/B7UC;;;;;EAAA,Q+B2WD,qBAAA;EAAA,eAWO,uBAAA;EAAA,QAWP,WAAA;EAAA,eAmBO,mBAAA;EAAA,QAIP,gBAAA;EAAA,QAiCA,gBAAA;EAAA,QAyFA,qBAAA;EAAA,QA8CA,iBAAA;EAAA,eAkEO,cAAA;EAAA,QAsBP,kBAAA;EAAA,QAUA,kCAAA;EAAA,QAiCA,gCAAA;EAAA,eAyBO,YAAA;EAAA,QAaP,wBAAA;EAAA,QAoDA,uBAAA;EAAA,QA+CA,OAAA;EAAA,QAIA,mBAAA;EAAA,QAUA,kBAAA;EAAA,QAqCA,qBAAA;EAAA,QAkCA,uBAAA;EAAA,QAwCA,4BAAA;EAAA,QAwBA,sBAAA;EAAA,QAuCA,2BAAA;EAAA,QAiDA,kBAAA;EAAA,eAIO,aAAA;EAAA,QAMP,cAAA;EAAA,UAcE,iBAAA,CAAkB,IAAA,EAAM,iBAAA,GAAoB,mBAAA,GAAsB,oBAAA,GAAuB,eAAA,GAAmB,SAAA;AAAA;;;cCnoC7G,aAAA,YAAyB,cAAA;EAAA,QAC1B,cAAA;EAAA,QAEA,eAAA;EAER,aAAA,CAAc,IAAA,WAAe,aAAA;EAI7B,aAAA,CAAc,IAAA,UAAc,IAAA,EAAM,aAAA;EAIlC,YAAA,CAAa,IAAA;EAIb,cAAA,CAAe,IAAA;EAIf,eAAA,CAAgB,IAAA;EAIhB,KAAA,CAAA;AAAA;;;iBCnBY,kBAAA,CACZ,IAAA,EAAM,IAAA,EACN,WAAA,EAAa,WAAA;AAAA,iBA4BD,gBAAA,CACZ,WAAA,EAAa,WAAA,KACV,IAAA,EAAM,UAAA,CAAW,WAAA,sBACpB,QAAA;;;iBCjCY,iBAAA,CAAkB,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,QAAA,GAAY,SAAA;;;UCRnD,aAAA;EACb,IAAA;EACA,SAAA;EACA,aAAA;AAAA;;;;;;AnCDJ;;;iBoCcgB,iBAAA,CACZ,IAAA,EAAM,IAAA,EACN,UAAA,IAAc,IAAA,EAAM,aAAA,eACrB,aAAA;;;iBCEa,mBAAA,CACZ,WAAA,GAAc,UAAA,EACd,WAAA,GAAc,WAAA,EACd,IAAA,GAAO,IAAA;AAAA,cA6GE,cAAA,GACT,IAAA,EAAM,IAAA,KACP,IAAA,IAAQ,cAAA;;;aCvIC,YAAA;EACR,QAAA;EACA,MAAA;EACA,KAAA;EACA,KAAA;EtCFa;;;EsCMb,QAAA;EACA,MAAA;EAIA,OAAA;EACA,UAAA;EACA,WAAA;EACA,OAAA;EAEA,MAAA;EAEA,MAAA;EAEA,OAAA;AAAA;;;iBCPY,mBAAA,CAAoB,IAAA,EAAM,IAAA,EAAM,KAAA;AAAA,iBAahC,QAAA,CAAS,IAAA,EAAM,IAAA,EAAM,KAAA,wBAA8B,KAAA;AAAA,iBAenD,YAAA,CACZ,IAAA,EAAM,IAAA,EACN,UAAA,MACS,YAAA,QACF,YAAA,2CAGD,GAAA,EAAK,QAAA,gBACX,QAAA;AAAA,iBAyBY,WAAA,CAAY,IAAA,EAAM,IAAA,EAAM,OAAA,IAAW,GAAA,EAAK,QAAA,mBAA2B,YAAA;AAAA,iBAUnE,kBAAA,CAAmB,IAAA,EAAM,IAAA,EAAM,OAAA,IAAW,GAAA,EAAK,QAAA,mBAA2B,YAAA;AAAA,iBAa1E,gBAAA,CAAiB,IAAA,EAAM,IAAA,EAAM,cAAA;;;iBChG7B,qBAAA,CACZ,KAAA,YAAiB,SAAA,CAAU,YAAA;;;iBCQf,wBAAA,CACZ,WAAA,EAAa,mBAAA,GAAsB,oBAAA,GAAuB,iBAAA,GAAoB,oBAAA,EAC9E,IAAA,YACD,MAAA,SAAe,SAAA;;;KCNN,oBAAA;EACR,MAAA,EAAQ,eAAA;EACR,IAAA,EAAM,aAAA;EACN,eAAA,GAAkB,IAAA,EAAM,QAAA,KAAa,IAAA;EACrC,aAAA,SAAsB,IAAA;EACtB,WAAA,GAAc,WAAA;E1CZW;;;;;;E0CmBzB,oBAAA,IAAwB,MAAA,EAAQ,wBAAA,EAA0B,MAAA,EAAQ,eAAA;AAAA;;;KCLjE,oBAAA;EACD,KAAA,EAAO,KAAA;EACP,KAAA,GAAQ,GAAA,EAAK,cAAA,EAAgB,KAAA,EAAO,CAAA;AAAA;AAAA,KAGnC,gBAAA;EACD,KAAA,EAAO,UAAA;EACP,KAAA,GAAQ,GAAA,EAAK,mBAAA,EAAqB,KAAA,EAAO,CAAA;AAAA;AAAA,iBAG7B,mBAAA,CACZ,MAAA,EAAQ,eAAA,EACR,OAAA,EAAS,oBAAA,GACV,cAAA;AAAA,iBAWa,wBAAA,CACZ,MAAA,EAAQ,WAAA,EACR,OAAA,EAAS,oBAAA,GACV,mBAAA;AAAA,iBAQa,sBAAA,GAAA,CACZ,IAAA,EAAM,IAAA,EACN,QAAA,EAAU,oBAAA,CAAqB,CAAA,KAC/B,KAAA,EAAO,CAAA,EACP,OAAA,EAAS,oBAAA;AAAA,iBA4CG,kBAAA,GAAA,CACZ,IAAA,EAAM,IAAA,EACN,QAAA,EAAU,gBAAA,CAAiB,CAAA,KAC3B,KAAA,EAAO,CAAA,EACP,OAAA,EAAS,oBAAA;;;KCpGD,6BAAA;EACR,MAAA,EAAQ,eAAA;EACR,IAAA,EAAM,aAAA;EACN,eAAA,GAAkB,IAAA,EAAM,QAAA,KAAa,IAAA;EACrC,WAAA,GAAc,WAAA;AAAA;AAAA,KAGN,yBAAA;EACR,MAAA,EAAQ,eAAA;EACR,IAAA,EAAM,aAAA;EACN,eAAA,GAAkB,IAAA,EAAM,QAAA,KAAa,IAAA;AAAA;;;iBCuBzB,qBAAA,CACZ,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,6BAAA,GACV,eAAA;AAAA,iBAgFa,iBAAA,CACZ,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,yBAAA,GACV,WAAA;;;KCpGS,YAAA;EACR,IAAA;EACA,SAAA,EAAW,iBAAA;AAAA;;;;;;iBAQC,kBAAA,CAAmB,IAAA,EAAM,IAAA,EAAM,WAAA,GAAc,WAAA,GAAc,YAAA;AAAA,iBAkC3D,mBAAA,CACZ,IAAA,EAAM,IAAA,EACN,IAAA,UACA,WAAA,GAAc,WAAA,GACf,YAAA;AAAA,iBAIa,oBAAA,CACZ,IAAA,EAAM,IAAA,EACN,IAAA,UACA,WAAA,GAAc,WAAA,GACf,YAAA;AAAA,iBAIa,iBAAA,CAAkB,IAAA,EAAM,IAAA,EAAM,IAAA,UAAc,WAAA,GAAc,WAAA;AAAA,iBAc1D,sBAAA,CACZ,IAAA,EAAM,UAAA,EACN,WAAA,GAAc,WAAA,GACf,iBAAA;;;iBC/FmB,eAAA,CAAgB,KAAA,EAAO,UAAA,GAAc,OAAA;;;iBCGrC,gBAAA,CAClB,OAAA,EAAS,uBAAA,GACT,OAAA,CAAQ,QAAA;;;cC2CC,iBAAA,YAA6B,iBAAA,EAAmB,kBAAA;EAAA,SACzC,KAAA,EAAQ,IAAA;EAAA,SAER,WAAA,EAAa,WAAA;EAEtB,QAAA,EAAU,QAAA;EAAA,SAED,aAAA,EAAe,aAAA;EAAA,SAEf,MAAA,EAAQ,wBAAA;EAAA,iBAEP,OAAA;EAAA,QAET,KAAA;EAAA,QAEA,WAAA;EAAA,QAEA,cAAA;EAAA,QAEA,2BAAA;EAAA,QAEA,mBAAA;cAII,OAAA,EAAS,wBAAA;EAiBf,QAAA,CAAA,GAAY,OAAA,CAAQ,QAAA;EAAA,QAqElB,+BAAA;EAgBD,wBAAA,CAAyB,MAAA,EAAQ,wBAAA;EAAA,QAUhC,iCAAA;EAAA,QA6BA,sBAAA;EAAA,UAcE,yBAAA,CAAA;EjD7LV;;;;;AAKJ;EALI,UiDgPU,aAAA,CAAc,QAAA;;;;;;;YAcd,aAAA,CAAc,QAAA;EAWjB,cAAA,CAAe,KAAA,EAAO,IAAA;EAMtB,gBAAA,CAAiB,aAAA,EAAe,aAAA;EAQhC,gBAAA,CAAiB,OAAA,WAAe,aAAA;EAIhC,0BAAA,CAA2B,QAAA,EAAU,kBAAA;EAAA,QAIpC,gBAAA;AAAA;;;cC/SC,mBAAA,YAA+B,oBAAA;EAAA,mBACrB,IAAA,EAAM,gBAAA;EAAA,mBAEN,OAAA,EAAS,iBAAA;cAEhB,IAAA,EAAM,gBAAA,EAAkB,OAAA,EAAS,iBAAA;EAKtC,OAAA,CAAA;EASA,QAAA,CAAA,GAAY,UAAA;EAAA,QAqDX,YAAA;EAAA,UAYE,YAAA,CAAa,eAAA,aAA4B,MAAA;EAAA,QA2D3C,kCAAA;EAAA,QAiCA,2BAAA;AAAA;;;cCtKC,eAAA;EAAA,mBACU,IAAA,EAAM,iBAAA;EAAA,mBAEN,OAAA,EAAS,iBAAA;cAEhB,IAAA,EAAM,iBAAA,EAAmB,OAAA,EAAS,iBAAA;EAKvC,aAAA,CAAA;EAKA,QAAA,CAAS,eAAA,aAA4B,MAAA;EAAA,QAqDpC,YAAA;EAAA,QAaA,iBAAA;EAAA,QAWA,eAAA;AAAA;;;cCvEC,kBAAA,YAA8B,mBAAA;EAAA,iBACtB,SAAA;EAAA,iBAEA,MAAA;EAAA,iBAEA,KAAA;EAAA,iBAEA,OAAA;cAGb,SAAA,EAAW,oBAAA,EACX,MAAA,UACA,KAAA,YACA,OAAA,EAAS,iBAAA;EAQN,QAAA,CAAA,GAAY,SAAA;EAAA,QAqEX,QAAA;EAAA,QA6DA,gBAAA;EAAA,QAqBA,eAAA;EAAA,QA8CA,iBAAA;EAAA,QAgBA,yBAAA;EAAA,QAaA,gBAAA;EAAA,QAYA,mBAAA;EAAA,QAIA,mBAAA;EAAA,QAMA,WAAA;EAAA,QAgBA,gBAAA;EAAA,QAOA,cAAA;EAAA,QAWA,gBAAA;EAAA,QAuCA,YAAA;AAAA;;;iBChZI,aAAA,CAAc,KAAA,YAAkB,KAAA;;;iBCAhC,cAAA,WAAyB,WAAA,CAAA,CAAa,GAAA,WAAc,IAAA,EAAM,CAAA,GAAI,GAAA,IAAO,MAAA,CAAO,CAAA;;;iBCA5E,aAAA,CAAc,GAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/adapters/cache/types.ts","../src/adapters/cache/client.ts","../src/adapters/cache/constants.ts","../src/adapters/cache/utils.ts","../src/adapters/filesystem/tsconfig/types.ts","../src/adapters/filesystem/tsconfig/module.ts","../src/core/config/types.ts","../src/core/metadata/types.ts","../src/core/error/base.ts","../src/core/error/config.ts","../src/core/error/config-codes.ts","../src/core/error/generator.ts","../src/core/error/generator-codes.ts","../src/core/error/parameter.ts","../src/core/error/parameter-codes.ts","../src/core/error/resolver.ts","../src/core/error/validator.ts","../src/core/error/validator-codes.ts","../src/adapters/typescript/resolver/types.ts","../src/adapters/typescript/resolver/sub/array.ts","../src/adapters/typescript/resolver/sub/base.ts","../src/adapters/typescript/resolver/sub/indexed-access.ts","../src/adapters/typescript/resolver/sub/intersection.ts","../src/adapters/typescript/resolver/sub/literal.ts","../src/adapters/typescript/resolver/sub/mapped.ts","../src/adapters/typescript/resolver/sub/object-literal.ts","../src/adapters/typescript/resolver/sub/primitive.ts","../src/adapters/typescript/resolver/sub/reference.ts","../src/adapters/typescript/resolver/sub/tuple.ts","../src/adapters/typescript/resolver/sub/type-operator.ts","../src/adapters/typescript/resolver/sub/union.ts","../src/adapters/typescript/resolver/module.ts","../src/adapters/typescript/resolver/cache.ts","../src/adapters/typescript/resolver/utils.ts","../src/adapters/typescript/resolver/extension/module.ts","../src/adapters/typescript/node-utils/types.ts","../src/adapters/typescript/node-utils/module.ts","../src/adapters/typescript/initializer.ts","../src/adapters/typescript/js-doc/constants.ts","../src/adapters/typescript/js-doc/module.ts","../src/adapters/typescript/js-doc/utils.ts","../src/adapters/typescript/validator/module.ts","../src/adapters/decorator/orchestrator/types.ts","../src/adapters/decorator/orchestrator/module.ts","../src/adapters/decorator/typescript/types.ts","../src/adapters/decorator/typescript/module.ts","../src/adapters/decorator/typescript/utils.ts","../src/adapters/filesystem/source-files.ts","../src/app/generate.ts","../src/app/generator/metadata/module.ts","../src/app/generator/controller/module.ts","../src/app/generator/method/module.ts","../src/app/generator/parameter/module.ts","../src/core/utils/array.ts","../src/core/utils/object.ts","../src/core/utils/path-normalize.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -88,7 +88,7 @@ var ParameterError = class ParameterError extends MetadataError {
88
88
  const parts = [];
89
89
  if (isMethodDeclaration(node.parent)) {
90
90
  parts.push(node.parent.name.getText());
91
- if (isClassDeclaration(node.parent.parent)) parts.unshift(node.parent.parent.name.text);
91
+ if (isClassDeclaration(node.parent.parent) && node.parent.parent.name) parts.unshift(node.parent.parent.name.text);
92
92
  }
93
93
  return parts.join(".");
94
94
  }
@@ -239,9 +239,9 @@ function hasJSDocTag(node, tagName) {
239
239
  return !(!tags || !tags.length);
240
240
  }
241
241
  function getJSDocTagComment(node, tagName) {
242
- const tags = getJSDocTags(node, tagName);
243
- if (!tags || !tags.length || typeof tags[0].comment !== "string") return;
244
- return tags[0].comment;
242
+ const first = getJSDocTags(node, tagName)[0];
243
+ if (!first || typeof first.comment !== "string") return;
244
+ return first.comment;
245
245
  }
246
246
  function getJSDocTagNames(node, requireTagName = false) {
247
247
  let tags;
@@ -321,7 +321,10 @@ function getInitializerValue(initializer, typeChecker, type) {
321
321
  }
322
322
  const hasInitializer = (node) => Object.prototype.hasOwnProperty.call(node, "initializer");
323
323
  const extractInitializer = (valueDeclaration) => valueDeclaration && hasInitializer(valueDeclaration) && valueDeclaration.initializer || void 0;
324
- const extractImportSpecifier = (symbol) => symbol?.declarations && symbol.declarations.length > 0 && isImportSpecifier(symbol.declarations[0]) && symbol.declarations[0] || void 0;
324
+ const extractImportSpecifier = (symbol) => {
325
+ const declaration = symbol?.declarations?.[0];
326
+ return declaration && isImportSpecifier(declaration) ? declaration : void 0;
327
+ };
325
328
  //#endregion
326
329
  //#region src/adapters/decorator/typescript/utils.ts
327
330
  /**
@@ -552,9 +555,8 @@ function getDeclarationValidators(declaration, name) {
552
555
  const parameterTags = getSupportedParameterTags();
553
556
  const tags = getJSDocTags(declaration.parent, (tag) => {
554
557
  const { comment } = tag;
555
- const text = transformJSDocComment(comment);
556
558
  if (!comment) return false;
557
- const commentValue = getCommentValue(text);
559
+ const commentValue = getCommentValue(transformJSDocComment(comment));
558
560
  return parameterTags.some((value) => {
559
561
  if (value !== tag.tagName.text) return false;
560
562
  return !(name && name !== commentValue);
@@ -573,8 +575,9 @@ function getDeclarationValidators(declaration, name) {
573
575
  for (const tag of tags) {
574
576
  if (!tag.comment) continue;
575
577
  const name = tag.tagName.text;
576
- let comment = transformJSDocComment(tag.comment);
577
- comment = comment.substring(comment.indexOf(" ") + 1).trim();
578
+ const rawComment = transformJSDocComment(tag.comment);
579
+ if (!rawComment) continue;
580
+ const comment = rawComment.substring(rawComment.indexOf(" ") + 1).trim();
578
581
  const value = getCommentValue(comment);
579
582
  switch (name) {
580
583
  case ValidatorName.UNIQUE_ITEMS:
@@ -1144,7 +1147,7 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1144
1147
  if (this.typeNode.kind !== SyntaxKind.TypeReference) return;
1145
1148
  const typeReference = this.typeNode;
1146
1149
  if (typeReference.typeName.kind === SyntaxKind.Identifier) {
1147
- if (typeReference.typeName.text === "Record" && typeReference.typeArguments) return {
1150
+ if (typeReference.typeName.text === "Record" && typeReference.typeArguments && typeReference.typeArguments[1]) return {
1148
1151
  additionalProperties: this.resolveNestedType(typeReference.typeArguments[1], this.parentNode, this.context),
1149
1152
  typeName: TypeName.NESTED_OBJECT_LITERAL,
1150
1153
  properties: []
@@ -1153,13 +1156,14 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1153
1156
  if (typeof specialReference !== "undefined") return specialReference;
1154
1157
  if (typeReference.typeName.text === "Date") return this.getDateType(this.parentNode);
1155
1158
  if (typeReference.typeName.text === "Buffer" || typeReference.typeName.text === "Readable") return { typeName: TypeName.BUFFER };
1156
- if (typeReference.typeName.text === "Array" && typeReference.typeArguments && typeReference.typeArguments.length >= 1) return {
1159
+ if (typeReference.typeName.text === "Array" && typeReference.typeArguments?.[0]) return {
1157
1160
  typeName: TypeName.ARRAY,
1158
1161
  elementType: this.resolveNestedType(typeReference.typeArguments[0], this.parentNode, this.context)
1159
1162
  };
1160
- if (typeReference.typeName.text === "Promise" && typeReference.typeArguments && typeReference.typeArguments.length === 1) return this.resolveNestedType(typeReference.typeArguments[0], this.parentNode, this.context);
1163
+ if (typeReference.typeName.text === "Promise" && typeReference.typeArguments?.length === 1 && typeReference.typeArguments[0]) return this.resolveNestedType(typeReference.typeArguments[0], this.parentNode, this.context);
1161
1164
  if (typeReference.typeName.text === "String") return { typeName: TypeName.STRING };
1162
- if (this.context[typeReference.typeName.text]) return this.resolveNestedType(this.context[typeReference.typeName.text], this.parentNode, this.context);
1165
+ const contextual = this.context[typeReference.typeName.text];
1166
+ if (contextual) return this.resolveNestedType(contextual, this.parentNode, this.context);
1163
1167
  if (TypeNodeResolver.isCheckerResolvableUtilityType(typeReference.typeName.text)) return this.resolveUtilityTypeViaChecker(typeReference);
1164
1168
  }
1165
1169
  try {
@@ -1239,25 +1243,6 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1239
1243
  static getDesignatedModels(nodes, _typeName) {
1240
1244
  return nodes;
1241
1245
  }
1242
- getEnumerateType(typeName) {
1243
- const enumName = typeName.text;
1244
- let enumNodes = this.current.nodes.filter((node) => node.kind === SyntaxKind.EnumDeclaration && node.name.text === enumName);
1245
- if (!enumNodes.length) return;
1246
- enumNodes = TypeNodeResolver.getDesignatedModels(enumNodes, enumName);
1247
- if (enumNodes.length > 1) throw new ResolverError(`Multiple matching enum found for enum ${enumName}; please make enum names unique.`);
1248
- const enumDeclaration = enumNodes[0];
1249
- const isNotUndefined = (item) => item !== void 0;
1250
- const enums = enumDeclaration.members.map(this.current.typeChecker.getConstantValue.bind(this.current.typeChecker)).filter(isNotUndefined);
1251
- const enumNames = enumDeclaration.members.map((e) => e.name.getText()).filter(isNotUndefined);
1252
- return {
1253
- typeName: TypeName.REF_ENUM,
1254
- description: this.getNodeDescription(enumDeclaration),
1255
- members: enums,
1256
- memberNames: enumNames,
1257
- refName: enumName,
1258
- deprecated: hasJSDocTag(enumDeclaration, "deprecated")
1259
- };
1260
- }
1261
1246
  getReferenceType(node) {
1262
1247
  let type;
1263
1248
  if (isTypeReferenceNode(node)) type = node.typeName;
@@ -1371,24 +1356,6 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1371
1356
  contextualizedName(name) {
1372
1357
  return Object.entries(this.context).reduce((acc, [key, entry]) => acc.replace(new RegExp(`<\\s*([^>]*\\s)*\\s*(${key})(\\s[^>]*)*\\s*>`, "g"), `<$1${entry.getText()}$3>`).replace(new RegExp(`<\\s*([^,]*\\s)*\\s*(${key})(\\s[^,]*)*\\s*,`, "g"), `<$1${entry.getText()}$3,`).replace(new RegExp(`,\\s*([^>]*\\s)*\\s*(${key})(\\s[^>]*)*\\s*>`, "g"), `,$1${entry.getText()}$3>`).replace(new RegExp(`<\\s*([^<]*\\s)*\\s*(${key})(\\s[^<]*)*\\s*<`, "g"), `<$1${entry.getText()}$3<`), name);
1373
1358
  }
1374
- handleCachingAndCircularReferences(name, declarationResolver) {
1375
- try {
1376
- const existingType = this.current.resolverCache.getCachedType(name);
1377
- if (existingType) return existingType;
1378
- if (this.current.resolverCache.isInProgress(name)) return this.createCircularDependencyResolver(name);
1379
- this.current.resolverCache.markInProgress(name);
1380
- try {
1381
- const reference = declarationResolver();
1382
- this.current.resolverCache.setCachedType(name, reference);
1383
- this.current.addReferenceType(reference);
1384
- return reference;
1385
- } finally {
1386
- this.current.resolverCache.clearInProgress(name);
1387
- }
1388
- } catch (err) {
1389
- throw new ResolverError(`There was a problem resolving type of '${name}'.`, this.typeNode, { cause: err });
1390
- }
1391
- }
1392
1359
  createCircularDependencyResolver(refName) {
1393
1360
  const referenceType = {
1394
1361
  deprecated: false,
@@ -1534,7 +1501,8 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1534
1501
  if (typeParameters) for (const [index, typeParameter] of typeParameters.entries()) {
1535
1502
  const typeArg = type.typeArguments && type.typeArguments[index];
1536
1503
  let resolvedType;
1537
- if (typeArg && isTypeReferenceNode(typeArg) && isIdentifier(typeArg.typeName) && context[typeArg.typeName.text]) resolvedType = context[typeArg.typeName.text];
1504
+ const contextual = typeArg && isTypeReferenceNode(typeArg) && isIdentifier(typeArg.typeName) ? context[typeArg.typeName.text] : void 0;
1505
+ if (contextual) resolvedType = contextual;
1538
1506
  else if (typeArg) resolvedType = typeArg;
1539
1507
  else if (typeParameter.default) resolvedType = typeParameter.default;
1540
1508
  else throw new ResolverError(`Could not find a value for type parameter ${typeParameter.name.text}`, type);
@@ -1650,7 +1618,7 @@ async function scanSourceFiles(input) {
1650
1618
  const result = /* @__PURE__ */ new Set();
1651
1619
  const promises = [];
1652
1620
  for (const source of sources) if (typeof source === "string") promises.push(locateMany(source));
1653
- else promises.push(locateMany(source.pattern, { path: source.cwd }));
1621
+ else promises.push(locateMany(source.pattern, { cwd: source.cwd }));
1654
1622
  const matches = (await Promise.all(promises)).flat();
1655
1623
  for (const match of matches) result.add(buildFilePath(match));
1656
1624
  return Array.from(result);
@@ -1850,7 +1818,7 @@ var CacheClient = class {
1850
1818
  const pattern = this.options.fileName ?? `.trapi-metadata-*.json`;
1851
1819
  let entries;
1852
1820
  try {
1853
- entries = await locateMany(pattern, { path: this.options.directoryPath });
1821
+ entries = await locateMany(pattern, { cwd: this.options.directoryPath });
1854
1822
  } catch {
1855
1823
  return;
1856
1824
  }
@@ -2083,8 +2051,9 @@ var ParameterGenerator = class {
2083
2051
  const comment = transformJSDocComment(tag.comment);
2084
2052
  const isExample = (tag.tagName.text === "example" || tag.tagName.escapedText === "example") && !!comment && comment.startsWith(parameterName);
2085
2053
  if (isExample && comment) {
2086
- const hasExampleLabel = (comment.split(" ")[0].indexOf(".") || -1) > 0;
2087
- exampleLabels.push(hasExampleLabel ? comment.split(" ")[0].split(".").slice(1).join(".") : void 0);
2054
+ const head = comment.split(" ")[0] ?? "";
2055
+ const hasExampleLabel = head.indexOf(".") > 0;
2056
+ exampleLabels.push(hasExampleLabel ? head.split(".").slice(1).join(".") : void 0);
2088
2057
  }
2089
2058
  return isExample ?? false;
2090
2059
  }).map((tag) => (transformJSDocComment(tag.comment) || "").replace(`${transformJSDocComment(tag.comment)?.split(" ")[0] || ""}`, "").replace(/\r/g, ""));
@@ -2177,6 +2146,7 @@ var MethodGenerator = class {
2177
2146
  if (!nodeType) {
2178
2147
  const { typeChecker } = this.current;
2179
2148
  const signature = typeChecker.getSignatureFromDeclaration(this.node);
2149
+ if (!signature) throw new GeneratorError({ message: "Could not resolve method signature." });
2180
2150
  const implicitType = typeChecker.getReturnTypeOfSignature(signature);
2181
2151
  nodeType = typeChecker.typeToTypeNode(implicitType, void 0, NodeBuilderFlags.NoTruncation);
2182
2152
  }
@@ -2189,8 +2159,8 @@ var MethodGenerator = class {
2189
2159
  const output = [];
2190
2160
  let bodyParameterCount = 0;
2191
2161
  let formParameterCount = 0;
2192
- for (let i = 0; i < this.node.parameters.length; i++) try {
2193
- const parameters = new ParameterGenerator(this.node.parameters[i], verb, fullPaths, this.current).generate();
2162
+ for (const [i, declaration] of this.node.parameters.entries()) try {
2163
+ const parameters = new ParameterGenerator(declaration, verb, fullPaths, this.current).generate();
2194
2164
  for (const parameter of parameters) {
2195
2165
  if (parameter.in === ParameterSource.BODY) bodyParameterCount += 1;
2196
2166
  if (parameter.in === ParameterSource.FORM_DATA) formParameterCount += 1;
@@ -2227,9 +2197,8 @@ function buildDefaultResponse(returnType, examples) {
2227
2197
  }
2228
2198
  function mergeDefaultResponse(handlerResponses, defaultResponse) {
2229
2199
  if (handlerResponses.length === 0) return [defaultResponse];
2230
- const existing = handlerResponses.findIndex((r) => r.status === defaultResponse.status);
2231
- if (existing >= 0) {
2232
- const target = handlerResponses[existing];
2200
+ const target = handlerResponses.find((r) => r.status === defaultResponse.status);
2201
+ if (target) {
2233
2202
  if (defaultResponse.examples && defaultResponse.examples.length > 0 && (!target.examples || target.examples.length === 0)) target.examples = defaultResponse.examples;
2234
2203
  return handlerResponses;
2235
2204
  }
@@ -2343,7 +2312,7 @@ var ControllerGenerator = class {
2343
2312
  const declarations = symbol.getDeclarations();
2344
2313
  if (!declarations || declarations.length === 0) return;
2345
2314
  const declaration = declarations[0];
2346
- if (isClassDeclaration(declaration)) return declaration;
2315
+ if (declaration && isClassDeclaration(declaration)) return declaration;
2347
2316
  }
2348
2317
  };
2349
2318
  //#endregion
@@ -2356,7 +2325,7 @@ var MetadataGenerator = class {
2356
2325
  config;
2357
2326
  program;
2358
2327
  cache;
2359
- controllers;
2328
+ controllers = [];
2360
2329
  referenceTypes = {};
2361
2330
  circularDependencyResolvers = new Array();
2362
2331
  unmatchedDecorators = /* @__PURE__ */ new Map();
@@ -2446,6 +2415,7 @@ var MetadataGenerator = class {
2446
2415
  const lines = ["[trapi] strict mode: decorators with no matching handler:"];
2447
2416
  for (const reports of this.unmatchedDecorators.values()) {
2448
2417
  const first = reports[0];
2418
+ if (!first) continue;
2449
2419
  const occurrences = reports.length;
2450
2420
  const location = `${first.file}:${first.line}`;
2451
2421
  const suffix = occurrences > 1 ? ` (${occurrences} occurrences; first at ${location})` : ` (${location})`;
@@ -2515,8 +2485,7 @@ var MetadataGenerator = class {
2515
2485
  }
2516
2486
  buildControllers() {
2517
2487
  this.controllers = [];
2518
- for (let i = 0; i < this.nodes.length; i++) {
2519
- const node = this.nodes[i];
2488
+ for (const node of this.nodes) {
2520
2489
  if (!isClassDeclaration(node)) continue;
2521
2490
  const generator = new ControllerGenerator(node, this);
2522
2491
  if (!generator.isValid()) continue;