Skip to content

Commit 1983883

Browse files
authored
fix: fix endless recursion during dts generation (#2387)
1 parent 7db1006 commit 1983883

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/bindings/tsd.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,17 +302,16 @@ export class TSDBuilder extends ExportsWalker {
302302
sb.push(mode == Mode.EXPORT ? "<never>" : "<undefined>");
303303
}
304304
} else {
305-
if (this.isPlainObject(clazz)) {
306-
typeName = "__Record" + clazz.id.toString();
307-
sb.push(typeName);
305+
let isPlain = this.isPlainObject(clazz);
306+
typeName = `${isPlain ? "__Record" : "__Internref"}${clazz.id}`;
307+
sb.push(typeName);
308+
seenObjectTypes.set(clazz, typeName);
309+
if (isPlain) {
308310
sb.push(mode == Mode.EXPORT ? "<never>" : "<undefined>");
309311
this.deferredTypings.push(this.makeRecordType(clazz, mode));
310312
} else {
311-
typeName = "__Internref" + clazz.id.toString();
312-
sb.push(typeName);
313313
this.deferredTypings.push(this.makeInternrefType(clazz));
314314
}
315-
seenObjectTypes.set(clazz, typeName);
316315
}
317316
}
318317
if (type.is(TypeFlags.NULLABLE)) {

0 commit comments

Comments
 (0)