package printer import ( "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/tsoptions" "github.com/microsoft/typescript-go/internal/tspath" ) // NOTE: EmitHost operations must be thread-safe type EmitHost interface { Options() *core.CompilerOptions SourceFiles() []*ast.SourceFile UseCaseSensitiveFileNames() bool GetCurrentDirectory() string CommonSourceDirectory() string IsEmitBlocked(file string) bool WriteFile(fileName string, text string) error GetEmitModuleFormatOfFile(file ast.HasFileName) core.ModuleKind GetEmitResolver() EmitResolver GetProjectReferenceFromSource(path tspath.Path) *tsoptions.SourceOutputAndProjectReference IsSourceFileFromExternalLibrary(file *ast.SourceFile) bool }