From 0060eb7505c3622976b24ee1543815552d0a65d5 Mon Sep 17 00:00:00 2001 From: Gerrit Birkeland Date: Thu, 26 Nov 2020 09:17:02 -0700 Subject: [PATCH] fix: isExternal flag wasn't set properly --- src/lib/converter/context.ts | 4 ++++ src/lib/converter/converter.ts | 5 +++++ src/lib/models/reflections/abstract.ts | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/src/lib/converter/context.ts b/src/lib/converter/context.ts index 1e22f519f..ab88185bf 100644 --- a/src/lib/converter/context.ts +++ b/src/lib/converter/context.ts @@ -6,6 +6,7 @@ import { ContainerReflection, DeclarationReflection, ReflectionKind, + ReflectionFlag, } from "../models/index"; import type { Converter } from "./converter"; @@ -150,6 +151,9 @@ export class Context { ) { const reflection = new DeclarationReflection(name, kind, this.scope); this.addChild(reflection); + if (this.converter.isExternal(symbol)) { + reflection.setFlag(ReflectionFlag.External); + } this.registerReflection(reflection, symbol); this.converter.trigger( diff --git a/src/lib/converter/converter.ts b/src/lib/converter/converter.ts index 9326b6a21..393a8b356 100644 --- a/src/lib/converter/converter.ts +++ b/src/lib/converter/converter.ts @@ -384,6 +384,11 @@ export class Converter extends ChildableComponent< return false; } + return this.isExternal(symbol); + } + + /** @internal */ + isExternal(symbol: ts.Symbol) { this.externalPatternCache ??= createMinimatch(this.externalPattern); for (const node of symbol.getDeclarations() ?? []) { if ( diff --git a/src/lib/models/reflections/abstract.ts b/src/lib/models/reflections/abstract.ts index 7f98d64ee..5f53814fe 100644 --- a/src/lib/models/reflections/abstract.ts +++ b/src/lib/models/reflections/abstract.ts @@ -432,6 +432,11 @@ export abstract class Reflection { this.name = name; this.originalName = name; this.kind = kind; + + // If our parent is external, we are too. + if (parent?.flags.isExternal) { + this.setFlag(ReflectionFlag.External); + } } /**