Skip to content

Commit cc94f97

Browse files
committed
Prevent subsequent build of metadata storage
1 parent 20556ec commit cc94f97

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/metadata/metadata-storage.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ export class MetadataStorage {
8080

8181
params: ParamMetadata[] = [];
8282

83+
private hasAlreadyBeenBuilt = false;
84+
8385
collectQueryHandlerMetadata(definition: ResolverMetadata) {
8486
this.queries.push(definition);
8587
}
@@ -174,6 +176,12 @@ export class MetadataStorage {
174176
}
175177

176178
build(options: SchemaGeneratorOptions) {
179+
if (this.hasAlreadyBeenBuilt) {
180+
return;
181+
}
182+
183+
this.hasAlreadyBeenBuilt = true;
184+
177185
this.classDirectives.reverse();
178186
this.fieldDirectives.reverse();
179187
this.argumentDirectives.reverse();
@@ -214,10 +222,11 @@ export class MetadataStorage {
214222
this.argumentDirectives = [];
215223
this.classExtensions = [];
216224
this.fieldExtensions = [];
217-
218225
this.resolverClasses = [];
219226
this.fields = [];
220227
this.params = [];
228+
229+
this.hasAlreadyBeenBuilt = false;
221230
}
222231

223232
private buildClassMetadata(definitions: ClassMetadata[]) {

0 commit comments

Comments
 (0)