@@ -13,7 +13,6 @@ import { Span } from '../../utils/Span';
1313import { Entry } from './Entry' ;
1414import { SymbolAnalyzer , IFollowAliasesResult } from './SymbolAnalyzer' ;
1515import { ReleaseTag } from '../../aedoc/ReleaseTag' ;
16- import { release } from 'os' ;
1716
1817/**
1918 * Used with PackageTypingsGenerator.writeTypingsFile()
@@ -171,12 +170,16 @@ export class PackageTypingsGenerator {
171170 if ( ! entry . importPackagePath ) {
172171 // If it's local, then emit all the declarations
173172 for ( const declaration of entry . followedSymbol . declarations || [ ] ) {
174- const span : Span = new Span ( declaration ) ;
175-
176- this . _modifySpan ( span , entry ) ;
177173
178174 indentedWriter . writeLine ( ) ;
179- indentedWriter . writeLine ( span . getModifiedText ( ) ) ;
175+
176+ if ( this . _shouldIncludeReleaseTag ( entry . releaseTag , dtsKind ) ) {
177+ const span : Span = new Span ( declaration ) ;
178+ this . _modifySpan ( span , entry ) ;
179+ indentedWriter . writeLine ( span . getModifiedText ( ) ) ;
180+ } else {
181+ indentedWriter . writeLine ( `// Removed for this release type: ${ entry . uniqueName } ` ) ;
182+ }
180183 }
181184 }
182185 }
@@ -365,6 +368,20 @@ export class PackageTypingsGenerator {
365368 return releaseTag ;
366369 }
367370
371+ private _shouldIncludeReleaseTag ( releaseTag : ReleaseTag , dtsKind : PackageTypingsDtsKind ) : boolean {
372+ switch ( dtsKind ) {
373+ case PackageTypingsDtsKind . InternalRelease :
374+ return true ;
375+ case PackageTypingsDtsKind . PreviewRelease :
376+ // NOTE: If the release tag is "None", then we don't have enough information to trim it
377+ return releaseTag === ReleaseTag . Beta || releaseTag === ReleaseTag . Public || releaseTag === ReleaseTag . None ;
378+ case PackageTypingsDtsKind . PublicRelease :
379+ return releaseTag === ReleaseTag . Public || releaseTag === ReleaseTag . None ;
380+ }
381+
382+ throw new Error ( `PackageTypingsDtsKind[dtsKind] is not implemented` ) ;
383+ }
384+
368385 /**
369386 * Looks up the corresponding Entry for the requested symbol. If it doesn't exist,
370387 * then it tries to create one.
0 commit comments