@trapi/metadata 2.0.0-beta.3 → 2.0.0

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":"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"}
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;
@@ -314,13 +314,17 @@ function getInitializerValue(initializer, typeChecker, type) {
314
314
  return;
315
315
  }
316
316
  const symbol = typeChecker.getSymbolAtLocation(initializer);
317
+ if (!symbol) return;
317
318
  return getInitializerValue(extractInitializer(symbol.valueDeclaration) || extractInitializer(extractImportSpecifier(symbol)), typeChecker);
318
319
  }
319
320
  }
320
321
  }
321
322
  const hasInitializer = (node) => Object.prototype.hasOwnProperty.call(node, "initializer");
322
323
  const extractInitializer = (valueDeclaration) => valueDeclaration && hasInitializer(valueDeclaration) && valueDeclaration.initializer || void 0;
323
- 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
+ };
324
328
  //#endregion
325
329
  //#region src/adapters/decorator/typescript/utils.ts
326
330
  /**
@@ -551,9 +555,8 @@ function getDeclarationValidators(declaration, name) {
551
555
  const parameterTags = getSupportedParameterTags();
552
556
  const tags = getJSDocTags(declaration.parent, (tag) => {
553
557
  const { comment } = tag;
554
- const text = transformJSDocComment(comment);
555
558
  if (!comment) return false;
556
- const commentValue = getCommentValue(text);
559
+ const commentValue = getCommentValue(transformJSDocComment(comment));
557
560
  return parameterTags.some((value) => {
558
561
  if (value !== tag.tagName.text) return false;
559
562
  return !(name && name !== commentValue);
@@ -572,8 +575,9 @@ function getDeclarationValidators(declaration, name) {
572
575
  for (const tag of tags) {
573
576
  if (!tag.comment) continue;
574
577
  const name = tag.tagName.text;
575
- let comment = transformJSDocComment(tag.comment);
576
- 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();
577
581
  const value = getCommentValue(comment);
578
582
  switch (name) {
579
583
  case ValidatorName.UNIQUE_ITEMS:
@@ -1143,7 +1147,7 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1143
1147
  if (this.typeNode.kind !== SyntaxKind.TypeReference) return;
1144
1148
  const typeReference = this.typeNode;
1145
1149
  if (typeReference.typeName.kind === SyntaxKind.Identifier) {
1146
- if (typeReference.typeName.text === "Record" && typeReference.typeArguments) return {
1150
+ if (typeReference.typeName.text === "Record" && typeReference.typeArguments && typeReference.typeArguments[1]) return {
1147
1151
  additionalProperties: this.resolveNestedType(typeReference.typeArguments[1], this.parentNode, this.context),
1148
1152
  typeName: TypeName.NESTED_OBJECT_LITERAL,
1149
1153
  properties: []
@@ -1152,13 +1156,14 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1152
1156
  if (typeof specialReference !== "undefined") return specialReference;
1153
1157
  if (typeReference.typeName.text === "Date") return this.getDateType(this.parentNode);
1154
1158
  if (typeReference.typeName.text === "Buffer" || typeReference.typeName.text === "Readable") return { typeName: TypeName.BUFFER };
1155
- if (typeReference.typeName.text === "Array" && typeReference.typeArguments && typeReference.typeArguments.length >= 1) return {
1159
+ if (typeReference.typeName.text === "Array" && typeReference.typeArguments?.[0]) return {
1156
1160
  typeName: TypeName.ARRAY,
1157
1161
  elementType: this.resolveNestedType(typeReference.typeArguments[0], this.parentNode, this.context)
1158
1162
  };
1159
- 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);
1160
1164
  if (typeReference.typeName.text === "String") return { typeName: TypeName.STRING };
1161
- 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);
1162
1167
  if (TypeNodeResolver.isCheckerResolvableUtilityType(typeReference.typeName.text)) return this.resolveUtilityTypeViaChecker(typeReference);
1163
1168
  }
1164
1169
  try {
@@ -1238,25 +1243,6 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1238
1243
  static getDesignatedModels(nodes, _typeName) {
1239
1244
  return nodes;
1240
1245
  }
1241
- getEnumerateType(typeName) {
1242
- const enumName = typeName.text;
1243
- let enumNodes = this.current.nodes.filter((node) => node.kind === SyntaxKind.EnumDeclaration && node.name.text === enumName);
1244
- if (!enumNodes.length) return;
1245
- enumNodes = TypeNodeResolver.getDesignatedModels(enumNodes, enumName);
1246
- if (enumNodes.length > 1) throw new ResolverError(`Multiple matching enum found for enum ${enumName}; please make enum names unique.`);
1247
- const enumDeclaration = enumNodes[0];
1248
- const isNotUndefined = (item) => item !== void 0;
1249
- const enums = enumDeclaration.members.map(this.current.typeChecker.getConstantValue.bind(this.current.typeChecker)).filter(isNotUndefined);
1250
- const enumNames = enumDeclaration.members.map((e) => e.name.getText()).filter(isNotUndefined);
1251
- return {
1252
- typeName: TypeName.REF_ENUM,
1253
- description: this.getNodeDescription(enumDeclaration),
1254
- members: enums,
1255
- memberNames: enumNames,
1256
- refName: enumName,
1257
- deprecated: hasJSDocTag(enumDeclaration, "deprecated")
1258
- };
1259
- }
1260
1246
  getReferenceType(node) {
1261
1247
  let type;
1262
1248
  if (isTypeReferenceNode(node)) type = node.typeName;
@@ -1370,24 +1356,6 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1370
1356
  contextualizedName(name) {
1371
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);
1372
1358
  }
1373
- handleCachingAndCircularReferences(name, declarationResolver) {
1374
- try {
1375
- const existingType = this.current.resolverCache.getCachedType(name);
1376
- if (existingType) return existingType;
1377
- if (this.current.resolverCache.isInProgress(name)) return this.createCircularDependencyResolver(name);
1378
- this.current.resolverCache.markInProgress(name);
1379
- try {
1380
- const reference = declarationResolver();
1381
- this.current.resolverCache.setCachedType(name, reference);
1382
- this.current.addReferenceType(reference);
1383
- return reference;
1384
- } finally {
1385
- this.current.resolverCache.clearInProgress(name);
1386
- }
1387
- } catch (err) {
1388
- throw new ResolverError(`There was a problem resolving type of '${name}'.`, this.typeNode, { cause: err });
1389
- }
1390
- }
1391
1359
  createCircularDependencyResolver(refName) {
1392
1360
  const referenceType = {
1393
1361
  deprecated: false,
@@ -1533,7 +1501,8 @@ var TypeNodeResolver = class TypeNodeResolver extends ResolverBase {
1533
1501
  if (typeParameters) for (const [index, typeParameter] of typeParameters.entries()) {
1534
1502
  const typeArg = type.typeArguments && type.typeArguments[index];
1535
1503
  let resolvedType;
1536
- 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;
1537
1506
  else if (typeArg) resolvedType = typeArg;
1538
1507
  else if (typeParameter.default) resolvedType = typeParameter.default;
1539
1508
  else throw new ResolverError(`Could not find a value for type parameter ${typeParameter.name.text}`, type);
@@ -2082,8 +2051,9 @@ var ParameterGenerator = class {
2082
2051
  const comment = transformJSDocComment(tag.comment);
2083
2052
  const isExample = (tag.tagName.text === "example" || tag.tagName.escapedText === "example") && !!comment && comment.startsWith(parameterName);
2084
2053
  if (isExample && comment) {
2085
- const hasExampleLabel = (comment.split(" ")[0].indexOf(".") || -1) > 0;
2086
- 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);
2087
2057
  }
2088
2058
  return isExample ?? false;
2089
2059
  }).map((tag) => (transformJSDocComment(tag.comment) || "").replace(`${transformJSDocComment(tag.comment)?.split(" ")[0] || ""}`, "").replace(/\r/g, ""));
@@ -2176,6 +2146,7 @@ var MethodGenerator = class {
2176
2146
  if (!nodeType) {
2177
2147
  const { typeChecker } = this.current;
2178
2148
  const signature = typeChecker.getSignatureFromDeclaration(this.node);
2149
+ if (!signature) throw new GeneratorError({ message: "Could not resolve method signature." });
2179
2150
  const implicitType = typeChecker.getReturnTypeOfSignature(signature);
2180
2151
  nodeType = typeChecker.typeToTypeNode(implicitType, void 0, NodeBuilderFlags.NoTruncation);
2181
2152
  }
@@ -2188,8 +2159,8 @@ var MethodGenerator = class {
2188
2159
  const output = [];
2189
2160
  let bodyParameterCount = 0;
2190
2161
  let formParameterCount = 0;
2191
- for (let i = 0; i < this.node.parameters.length; i++) try {
2192
- 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();
2193
2164
  for (const parameter of parameters) {
2194
2165
  if (parameter.in === ParameterSource.BODY) bodyParameterCount += 1;
2195
2166
  if (parameter.in === ParameterSource.FORM_DATA) formParameterCount += 1;
@@ -2226,9 +2197,8 @@ function buildDefaultResponse(returnType, examples) {
2226
2197
  }
2227
2198
  function mergeDefaultResponse(handlerResponses, defaultResponse) {
2228
2199
  if (handlerResponses.length === 0) return [defaultResponse];
2229
- const existing = handlerResponses.findIndex((r) => r.status === defaultResponse.status);
2230
- if (existing >= 0) {
2231
- const target = handlerResponses[existing];
2200
+ const target = handlerResponses.find((r) => r.status === defaultResponse.status);
2201
+ if (target) {
2232
2202
  if (defaultResponse.examples && defaultResponse.examples.length > 0 && (!target.examples || target.examples.length === 0)) target.examples = defaultResponse.examples;
2233
2203
  return handlerResponses;
2234
2204
  }
@@ -2342,7 +2312,7 @@ var ControllerGenerator = class {
2342
2312
  const declarations = symbol.getDeclarations();
2343
2313
  if (!declarations || declarations.length === 0) return;
2344
2314
  const declaration = declarations[0];
2345
- if (isClassDeclaration(declaration)) return declaration;
2315
+ if (declaration && isClassDeclaration(declaration)) return declaration;
2346
2316
  }
2347
2317
  };
2348
2318
  //#endregion
@@ -2355,7 +2325,7 @@ var MetadataGenerator = class {
2355
2325
  config;
2356
2326
  program;
2357
2327
  cache;
2358
- controllers;
2328
+ controllers = [];
2359
2329
  referenceTypes = {};
2360
2330
  circularDependencyResolvers = new Array();
2361
2331
  unmatchedDecorators = /* @__PURE__ */ new Map();
@@ -2445,6 +2415,7 @@ var MetadataGenerator = class {
2445
2415
  const lines = ["[trapi] strict mode: decorators with no matching handler:"];
2446
2416
  for (const reports of this.unmatchedDecorators.values()) {
2447
2417
  const first = reports[0];
2418
+ if (!first) continue;
2448
2419
  const occurrences = reports.length;
2449
2420
  const location = `${first.file}:${first.line}`;
2450
2421
  const suffix = occurrences > 1 ? ` (${occurrences} occurrences; first at ${location})` : ` (${location})`;
@@ -2514,8 +2485,7 @@ var MetadataGenerator = class {
2514
2485
  }
2515
2486
  buildControllers() {
2516
2487
  this.controllers = [];
2517
- for (let i = 0; i < this.nodes.length; i++) {
2518
- const node = this.nodes[i];
2488
+ for (const node of this.nodes) {
2519
2489
  if (!isClassDeclaration(node)) continue;
2520
2490
  const generator = new ControllerGenerator(node, this);
2521
2491
  if (!generator.isValid()) continue;