1- /*@internal */
2- namespace ts {
1+ import * as ts from "./_namespaces/ts" ;
2+
3+ /** @internal */
34export interface ReusableDiagnostic extends ReusableDiagnosticRelatedInformation {
45 /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
56 reportsUnnecessary ?: { } ;
@@ -9,6 +10,7 @@ export interface ReusableDiagnostic extends ReusableDiagnosticRelatedInformation
910 skippedOn ?: keyof ts . CompilerOptions ;
1011}
1112
13+ /** @internal */
1214export interface ReusableDiagnosticRelatedInformation {
1315 category : ts . DiagnosticCategory ;
1416 code : number ;
@@ -18,8 +20,10 @@ export interface ReusableDiagnosticRelatedInformation {
1820 messageText : string | ReusableDiagnosticMessageChain ;
1921}
2022
23+ /** @internal */
2124export type ReusableDiagnosticMessageChain = ts . DiagnosticMessageChain ;
2225
26+ /** @internal */
2327export interface ReusableBuilderProgramState extends ts . BuilderState {
2428 /**
2529 * Cache of bind and check diagnostics for files with their Path being the key
@@ -67,11 +71,13 @@ export interface ReusableBuilderProgramState extends ts.BuilderState {
6771 latestChangedDtsFile : string | undefined ;
6872}
6973
74+ /** @internal */
7075export const enum BuilderFileEmit {
7176 DtsOnly ,
7277 Full
7378}
7479
80+ /** @internal */
7581/**
7682 * State to store the changed files, affected files and cache semantic diagnostics
7783 */
@@ -133,6 +139,7 @@ export interface BuilderProgramState extends ts.BuilderState, ReusableBuilderPro
133139 filesChangingSignature ?: ts . Set < ts . Path > ;
134140}
135141
142+ /** @internal */
136143export type SavedBuildProgramEmitState = Pick < BuilderProgramState ,
137144 "affectedFilesPendingEmit" |
138145 "affectedFilesPendingEmitIndex" |
@@ -767,11 +774,17 @@ function getBinderAndCheckerDiagnosticsOfFile(state: BuilderProgramState, source
767774 return ts . filterSemanticDiagnostics ( diagnostics , state . compilerOptions ) ;
768775}
769776
777+ /** @internal */
770778export type ProgramBuildInfoFileId = number & { __programBuildInfoFileIdBrand : any } ;
779+ /** @internal */
771780export type ProgramBuildInfoFileIdListId = number & { __programBuildInfoFileIdListIdBrand : any } ;
781+ /** @internal */
772782export type ProgramBuildInfoDiagnostic = ProgramBuildInfoFileId | [ fileId : ProgramBuildInfoFileId , diagnostics : readonly ReusableDiagnostic [ ] ] ;
783+ /** @internal */
773784export type ProgramBuilderInfoFilePendingEmit = ProgramBuildInfoFileId | [ fileId : ProgramBuildInfoFileId ] ;
785+ /** @internal */
774786export type ProgramBuildInfoReferencedMap = [ fileId : ProgramBuildInfoFileId , fileIdListId : ProgramBuildInfoFileIdListId ] [ ] ;
787+ /** @internal */
775788export type ProgramBuildInfoBuilderStateFileInfo = Omit < ts . BuilderState . FileInfo , "signature" > & {
776789 /**
777790 * Signature is
@@ -781,15 +794,18 @@ export type ProgramBuildInfoBuilderStateFileInfo = Omit<ts.BuilderState.FileInfo
781794 */
782795 signature : string | false | undefined ;
783796} ;
797+ /** @internal */
784798/**
785799 * [fileId, signature] if different from file's signature
786800 * fileId if file wasnt emitted
787801 */
788802export type ProgramBuildInfoEmitSignature = ProgramBuildInfoFileId | [ fileId : ProgramBuildInfoFileId , signature : string ] ;
803+ /** @internal */
789804/**
790805 * ProgramBuildInfoFileInfo is string if FileInfo.version === FileInfo.signature && !FileInfo.affectsGlobalScope otherwise encoded FileInfo
791806 */
792807export type ProgramBuildInfoFileInfo = string | ProgramBuildInfoBuilderStateFileInfo ;
808+ /** @internal */
793809export interface ProgramMultiFileEmitBuildInfo {
794810 fileNames : readonly string [ ] ;
795811 fileInfos : readonly ProgramBuildInfoFileInfo [ ] ;
@@ -805,6 +821,7 @@ export interface ProgramMultiFileEmitBuildInfo {
805821 latestChangedDtsFile ?: string ;
806822}
807823
824+ /** @internal */
808825export interface ProgramBundleEmitBuildInfo {
809826 fileNames : readonly string [ ] ;
810827 fileInfos : readonly string [ ] ;
@@ -813,8 +830,10 @@ export interface ProgramBundleEmitBuildInfo {
813830 latestChangedDtsFile ?: string ;
814831}
815832
833+ /** @internal */
816834export type ProgramBuildInfo = ProgramMultiFileEmitBuildInfo | ProgramBundleEmitBuildInfo ;
817835
836+ /** @internal */
818837export function isProgramBundleEmitBuildInfo ( info : ProgramBuildInfo ) : info is ProgramBundleEmitBuildInfo {
819838 return ! ! ts . outFile ( info . options || { } ) ;
820839}
@@ -1042,18 +1061,21 @@ function convertToReusableDiagnosticRelatedInformation(diagnostic: ts.Diagnostic
10421061 } ;
10431062}
10441063
1064+ /** @internal */
10451065export enum BuilderProgramKind {
10461066 SemanticDiagnosticsBuilderProgram ,
10471067 EmitAndSemanticDiagnosticsBuilderProgram
10481068}
10491069
1070+ /** @internal */
10501071export interface BuilderCreationParameters {
10511072 newProgram : ts . Program ;
10521073 host : ts . BuilderProgramHost ;
10531074 oldProgram : ts . BuilderProgram | undefined ;
10541075 configFileParsingDiagnostics : readonly ts . Diagnostic [ ] ;
10551076}
10561077
1078+ /** @internal */
10571079export function getBuilderCreationParameters ( newProgramOrRootNames : ts . Program | readonly string [ ] | undefined , hostOrOptions : ts . BuilderProgramHost | ts . CompilerOptions | undefined , oldProgramOrHost ?: ts . BuilderProgram | ts . CompilerHost , configFileParsingDiagnosticsOrOldProgram ?: readonly ts . Diagnostic [ ] | ts . BuilderProgram , configFileParsingDiagnostics ?: readonly ts . Diagnostic [ ] , projectReferences ?: readonly ts . ProjectReference [ ] ) : BuilderCreationParameters {
10581080 let host : ts . BuilderProgramHost ;
10591081 let newProgram : ts . Program ;
@@ -1090,6 +1112,7 @@ function getTextHandlingSourceMapForSignature(text: string, data: ts.WriteFileCa
10901112 return data ?. sourceMapUrlPos !== undefined ? text . substring ( 0 , data . sourceMapUrlPos ) : text ;
10911113}
10921114
1115+ /** @internal */
10931116export function computeSignatureWithDiagnostics (
10941117 sourceFile : ts . SourceFile ,
10951118 text : string ,
@@ -1123,12 +1146,16 @@ export function computeSignatureWithDiagnostics(
11231146 }
11241147}
11251148
1149+ /** @internal */
11261150export function computeSignature ( text : string , computeHash : ts . BuilderState . ComputeHash | undefined , data ?: ts . WriteFileCallbackData ) {
11271151 return ( computeHash ?? ts . generateDjb2Hash ) ( getTextHandlingSourceMapForSignature ( text , data ) ) ;
11281152}
11291153
1154+ /** @internal */
11301155export function createBuilderProgram ( kind : BuilderProgramKind . SemanticDiagnosticsBuilderProgram , builderCreationParameters : BuilderCreationParameters ) : ts . SemanticDiagnosticsBuilderProgram ;
1156+ /** @internal */
11311157export function createBuilderProgram ( kind : BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram , builderCreationParameters : BuilderCreationParameters ) : ts . EmitAndSemanticDiagnosticsBuilderProgram ;
1158+ /** @internal */
11321159export function createBuilderProgram ( kind : BuilderProgramKind , { newProgram, host, oldProgram, configFileParsingDiagnostics } : BuilderCreationParameters ) {
11331160 // Return same program if underlying program doesnt change
11341161 let oldState = oldProgram && oldProgram . getState ( ) ;
@@ -1470,6 +1497,7 @@ function addToAffectedFilesPendingEmit(state: BuilderProgramState, affectedFileP
14701497 }
14711498}
14721499
1500+ /** @internal */
14731501export function toBuilderStateFileInfo ( fileInfo : ProgramBuildInfoFileInfo ) : ts . BuilderState . FileInfo {
14741502 return ts . isString ( fileInfo ) ?
14751503 { version : fileInfo , signature : fileInfo , affectsGlobalScope : undefined , impliedFormat : undefined } :
@@ -1478,10 +1506,12 @@ export function toBuilderStateFileInfo(fileInfo: ProgramBuildInfoFileInfo): ts.B
14781506 { version : fileInfo . version , signature : fileInfo . signature === false ? undefined : fileInfo . version , affectsGlobalScope : fileInfo . affectsGlobalScope , impliedFormat : fileInfo . impliedFormat } ;
14791507}
14801508
1509+ /** @internal */
14811510export function toBuilderFileEmit ( value : ProgramBuilderInfoFilePendingEmit ) : BuilderFileEmit {
14821511 return ts . isNumber ( value ) ? BuilderFileEmit . Full : BuilderFileEmit . DtsOnly ;
14831512}
14841513
1514+ /** @internal */
14851515export function createBuilderProgramUsingProgramBuildInfo ( program : ProgramBuildInfo , buildInfoPath : string , host : ts . ReadBuildProgramHost ) : ts . EmitAndSemanticDiagnosticsBuilderProgram {
14861516 const buildInfoDirectory = ts . getDirectoryPath ( ts . getNormalizedAbsolutePath ( buildInfoPath , host . getCurrentDirectory ( ) ) ) ;
14871517 const getCanonicalFileName = ts . createGetCanonicalFileName ( host . useCaseSensitiveFileNames ( ) ) ;
@@ -1584,6 +1614,7 @@ export function createBuilderProgramUsingProgramBuildInfo(program: ProgramBuildI
15841614 }
15851615}
15861616
1617+ /** @internal */
15871618export function getBuildInfoFileVersionMap (
15881619 program : ProgramBuildInfo ,
15891620 buildInfoPath : string ,
@@ -1600,6 +1631,7 @@ export function getBuildInfoFileVersionMap(
16001631 return fileInfos ;
16011632}
16021633
1634+ /** @internal */
16031635export function createRedirectedBuilderProgram ( getState : ( ) => { program ?: ts . Program | undefined ; compilerOptions : ts . CompilerOptions ; } , configFileParsingDiagnostics : readonly ts . Diagnostic [ ] ) : ts . BuilderProgram {
16041636 return {
16051637 getState : ts . notImplemented ,
@@ -1628,4 +1660,3 @@ export function createRedirectedBuilderProgram(getState: () => { program?: ts.Pr
16281660 return ts . Debug . checkDefined ( getState ( ) . program ) ;
16291661 }
16301662}
1631- }
0 commit comments