typescript
Version:
TypeScript is a language for application scale JavaScript development
1,421 lines • 68.5 kB
TypeScript
import { CaseSensitivity } from "../../enums/caseSensitivity.js";
import { JsxEmit } from "../../enums/jsxEmit.js";
import { ModuleDetectionKind } from "../../enums/moduleDetectionKind.js";
import { ModuleKind } from "../../enums/moduleKind.js";
import { ModuleResolutionKind } from "../../enums/moduleResolutionKind.js";
import { NewLineKind } from "../../enums/newLineKind.js";
import { ScriptKind } from "../../enums/scriptKind.js";
import { ScriptTarget } from "../../enums/scriptTarget.js";
import { SymbolOwnerKind } from "../../enums/symbolOwnerKind.js";
import type { PathKey, RootedDirectoryPath, RootedFilePath, RootedPath } from "../ast/index.ts";
import type { CompilerOptions, PluginImport } from "./compilerOptions.generated.ts";
import type { UserPreferences } from "./userPreferences.generated.ts";
export { CaseSensitivity } from "../../enums/caseSensitivity.js";
export { JsxEmit } from "../../enums/jsxEmit.js";
export { ModuleDetectionKind } from "../../enums/moduleDetectionKind.js";
export { ModuleKind } from "../../enums/moduleKind.js";
export { ModuleResolutionKind } from "../../enums/moduleResolutionKind.js";
export { NewLineKind } from "../../enums/newLineKind.js";
export { ScriptKind } from "../../enums/scriptKind.js";
export { ScriptTarget } from "../../enums/scriptTarget.js";
export { SymbolOwnerKind } from "../../enums/symbolOwnerKind.js";
export type { PathKey, RootedDirectoryPath, RootedFilePath, RootedPath } from "../ast/index.ts";
export type { CompilerOptions, PluginImport } from "./compilerOptions.generated.ts";
export * from "./compilerOptions.generated.ts";
export type { UserPreferences } from "./userPreferences.generated.ts";
export type APIMethod<TParams, TResult> = {
params: TParams;
result: TResult;
};
export interface APIMethodInfo {
release: APIMethod<ReleaseParams, void>;
releaseSourceFile: APIMethod<ReleaseSourceFileParams, unknown>;
retainSourceFile: APIMethod<RetainSourceFileParams, RetainSourceFileResponse>;
getCachedSourceFile: APIMethod<GetCachedSourceFileParams, SourceFileResponse>;
getSymbolOfDeclaration: APIMethod<GetSymbolOfDeclarationParams, SymbolResponse>;
batchRequests: APIMethod<BatchRequestsParams, BatchRequestsResponse>;
initialize: APIMethod<null, InitializeResponse>;
createSnapshot: APIMethod<CreateSnapshotParams, CreateSnapshotResponse>;
updateSnapshot: APIMethod<UpdateSnapshotParams, CreateSnapshotResponse>;
getCurrentLanguageServerSnapshot: APIMethod<GetCurrentLanguageServerSnapshotParams, CreateSnapshotResponse>;
createBuildOrchestrator: APIMethod<CreateBuildOrchestratorParams, CreateBuildOrchestratorResponse>;
disposeBuildOrchestrator: APIMethod<DisposeBuildOrchestratorParams, unknown>;
build: APIMethod<BuildParams, BuildResponse>;
buildReferences: APIMethod<BuildParams, BuildResponse>;
cleanBuild: APIMethod<CleanBuildParams, CleanBuildResponse>;
cleanReferences: APIMethod<CleanBuildParams, CleanBuildResponse>;
createModuleResolver: APIMethod<CreateModuleResolverParams, number>;
releaseModuleResolver: APIMethod<ReleaseModuleResolverParams, unknown>;
resolveModuleName: APIMethod<ResolveModuleNameParams, ResolveModuleNameResult>;
parseCommandLine: APIMethod<ParseCommandLineParams, ConfigFileResponse>;
readConfigFile: APIMethod<ReadConfigFileParams, ReadConfigFileResponse>;
parseJsonConfigFileContent: APIMethod<ParseJsonConfigFileContentParams, ConfigFileResponse>;
parseConfigFile: APIMethod<ParseConfigFileParams, ConfigFileResponse>;
createSourceFile: APIMethod<CreateSourceFileParams, SourceFileResponse>;
createSourceFileFromFile: APIMethod<CreateSourceFileFromFileParams, SourceFileResponse>;
transpileModule: APIMethod<TranspileParams, TranspileOutputResponse>;
transpileModuleFromFile: APIMethod<TranspileFromFileParams, TranspileOutputResponse>;
transpileDeclaration: APIMethod<TranspileParams, TranspileOutputResponse>;
transpileDeclarationFromFile: APIMethod<TranspileFromFileParams, TranspileOutputResponse>;
getDefaultProjectForFile: APIMethod<GetDefaultProjectForFileParams, ProjectResponse | null>;
getSymbolAtPosition: APIMethod<GetSymbolAtPositionParams, SymbolResponse | null>;
getSymbolsAtPositions: APIMethod<GetSymbolsAtPositionsParams, SymbolResponse[]>;
getSymbolAtLocation: APIMethod<GetSymbolAtLocationParams, SymbolResponse | null>;
getSymbolsAtLocations: APIMethod<GetSymbolsAtLocationsParams, SymbolResponse[]>;
getSymbolOfSourceFile: APIMethod<GetSymbolOfSourceFileParams, SymbolResponse | null>;
getSymbolsOfSourceFiles: APIMethod<GetSymbolsOfSourceFilesParams, SymbolResponse[]>;
getTypeOfSymbol: APIMethod<GetTypeOfSymbolParams, TypeResponse>;
getTypesOfSymbols: APIMethod<GetTypesOfSymbolsParams, TypeResponse[]>;
getDeclaredTypeOfSymbol: APIMethod<GetTypeOfSymbolParams, TypeResponse>;
getNonMissingTypeOfSymbol: APIMethod<GetTypeOfSymbolParams, TypeResponse>;
getSourceFile: APIMethod<GetSourceFileParams, SourceFileResponse | null>;
getSourceFileNames: APIMethod<GetSourceFileNamesParams, RootedFilePath[]>;
getSourceFileMetadata: APIMethod<GetSourceFileParams, SourceFileMetadata | null>;
getModeForUsageLocation: APIMethod<GetModeForUsageLocationParams, ModuleKind>;
getModeForResolutionAtIndex: APIMethod<GetModeForResolutionAtIndexParams, ModuleKind>;
getResolvedModule: APIMethod<GetResolvedModuleParams, ResolvedModule | null>;
getResolvedModuleFromModuleSpecifier: APIMethod<GetResolvedModuleFromModuleSpecifierParams, ResolvedModule | null>;
getResolvedTypeReferenceDirective: APIMethod<GetResolvedTypeReferenceDirectiveParams, ResolvedTypeReferenceDirective | null>;
getResolvedTypeReferenceDirectiveFromTypeReferenceDirective: APIMethod<GetResolvedTypeReferenceDirectiveFromReferenceParams, ResolvedTypeReferenceDirective | null>;
getConfigFileNames: APIMethod<GetProjectDiagnosticsParams, RootedFilePath[] | null>;
getConfigSourceFile: APIMethod<GetSourceFileParams, SourceFileResponse | null>;
resolveName: APIMethod<ResolveNameParams, SymbolResponse | null>;
getSymbolsInScope: APIMethod<GetSymbolsInScopeParams, SymbolResponse[]>;
getSignaturesOfType: APIMethod<GetSignaturesOfTypeParams, SignatureResponse[]>;
getResolvedSignature: APIMethod<GetResolvedSignatureParams, SignatureResponse>;
getTypeAtLocation: APIMethod<GetTypeAtLocationParams, TypeResponse>;
getTypeAtLocations: APIMethod<GetTypeAtLocationsParams, TypeResponse[]>;
getTypeAtPosition: APIMethod<GetTypeAtPositionParams, TypeResponse | null>;
getTypesAtPositions: APIMethod<GetTypesAtPositionsParams, TypeResponse[]>;
getParentOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse | null>;
getMembersOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse[] | null>;
getExportsOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse[] | null>;
getExportSymbolOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse | null>;
getSymbolOfType: APIMethod<GetTypePropertyParams, SymbolResponse | null>;
getTargetOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getFreshTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
getRegularTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
getTypesOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
getTypeParametersOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
getOuterTypeParametersOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
getLocalTypeParametersOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
getThisTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
getAliasTypeArgumentsOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
getAliasSymbolOfType: APIMethod<GetTypePropertyParams, SymbolResponse | null>;
getObjectTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getIndexTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getCheckTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getExtendsTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getBaseTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getConstraintOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
getTypeParameterOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse>;
getConstraintTypeOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse>;
getNameTypeOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
getTemplateTypeOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse>;
getTypeParametersOfSignature: APIMethod<GetSignaturePropertyParams, TypeResponse[] | null>;
getParametersOfSignature: APIMethod<GetSignaturePropertyParams, SymbolResponse[] | null>;
getThisParameterOfSignature: APIMethod<GetSignaturePropertyParams, SymbolResponse | null>;
getTargetOfSignature: APIMethod<GetSignaturePropertyParams, SignatureResponse | null>;
getContextualType: APIMethod<GetContextualTypeParams, TypeResponse | null>;
getContextualTypeForArgument: APIMethod<GetContextualTypeForArgumentParams, TypeResponse | null>;
getAwaitedType: APIMethod<CheckerTypeParams, TypeResponse | null>;
getBaseTypeOfLiteralType: APIMethod<GetBaseTypeOfLiteralTypeParams, TypeResponse>;
getNonNullableType: APIMethod<GetTypePropertyParams, TypeResponse>;
getTypeFromTypeNode: APIMethod<GetTypeFromTypeNodeParams, TypeResponse>;
getWidenedType: APIMethod<GetWidenedTypeParams, TypeResponse>;
getParameterType: APIMethod<GetParameterTypeParams, TypeResponse>;
getTypeParameterAtPosition: APIMethod<GetParameterTypeParams, TypeResponse>;
isArrayLikeType: APIMethod<IsArrayLikeTypeParams, boolean>;
isTypeAssignableTo: APIMethod<IsTypeAssignableToParams, boolean>;
getShorthandAssignmentValueSymbol: APIMethod<GetTypeAtLocationParams, SymbolResponse | null>;
getTypeOfSymbolAtLocation: APIMethod<GetTypeOfSymbolAtLocationParams, TypeResponse>;
typeToTypeNode: APIMethod<TypeToTypeNodeParams, SourceFileResponse | null>;
signatureToSignatureDeclaration: APIMethod<SignatureToSignatureDeclarationParams, SourceFileResponse | null>;
typeToString: APIMethod<TypeToTypeNodeParams, unknown>;
isContextSensitive: APIMethod<GetContextualTypeParams, boolean>;
getReturnTypeOfSignature: APIMethod<GetSignaturePropertyParams, TypeResponse>;
getRestTypeOfSignature: APIMethod<CheckerSignatureParams, TypeResponse>;
getTypePredicateOfSignature: APIMethod<CheckerSignatureParams, TypePredicateResponse | null>;
getBaseTypes: APIMethod<CheckerTypeParams, TypeResponse[] | null>;
getPropertiesOfType: APIMethod<CheckerTypeParams, SymbolResponse[] | null>;
getApparentPropertiesOfType: APIMethod<GetTypePropertyParams, SymbolResponse[]>;
getApparentType: APIMethod<GetTypePropertyParams, TypeResponse>;
getReducedType: APIMethod<GetTypePropertyParams, TypeResponse>;
getPropertyOfType: APIMethod<GetPropertyOfTypeParams, SymbolResponse | null>;
getTypeOfPropertyOfType: APIMethod<GetPropertyOfTypeParams, TypeResponse | null>;
getIndexInfoOfType: APIMethod<GetIndexInfoOfTypeParams, IndexInfoResponse | null>;
getIndexInfosOfType: APIMethod<CheckerTypeParams, IndexInfoResponse[] | null>;
getConstraintOfTypeParameter: APIMethod<GetTypePropertyParams, TypeResponse | null>;
getDefaultFromTypeParameter: APIMethod<GetTypePropertyParams, TypeResponse | null>;
getBaseConstraintOfType: APIMethod<CheckerTypeParams, TypeResponse | null>;
getTypeArguments: APIMethod<CheckerTypeParams, TypeResponse[] | null>;
getImportAdderEdits: APIMethod<GetImportAdderEditsParams, TextEdit[]>;
getTrueTypeOfConditionalType: APIMethod<GetTypePropertyParams, TypeResponse>;
getFalseTypeOfConditionalType: APIMethod<GetTypePropertyParams, TypeResponse>;
getConstantValue: APIMethod<CheckerNodeParams, ConstantValueResponse | null>;
getSignatureFromDeclaration: APIMethod<CheckerNodeParams, SignatureResponse>;
getExportSpecifierLocalTargetSymbol: APIMethod<CheckerNodeParams, SymbolResponse | null>;
getAliasedSymbol: APIMethod<CheckerSymbolParams, SymbolResponse>;
getImmediateAliasedSymbol: APIMethod<CheckerSymbolParams, SymbolResponse | null>;
getTargetSymbol: APIMethod<CheckerSymbolParams, SymbolResponse>;
getMergedSymbol: APIMethod<CheckerSymbolParams, SymbolResponse>;
getSymbolOfNode: APIMethod<CheckerNodeParams, SymbolResponse | null>;
getSymbolOfDeclarationForChecker: APIMethod<CheckerNodeParams, SymbolResponse | null>;
getParentOfSymbolForChecker: APIMethod<CheckerSymbolParams, SymbolResponse | null>;
getExportSymbolOfSymbolForChecker: APIMethod<CheckerSymbolParams, SymbolResponse>;
getFullyQualifiedName: APIMethod<CheckerSymbolParams, string>;
getExportsOfModule: APIMethod<CheckerSymbolParams, SymbolResponse[] | null>;
getMemberInModuleExports: APIMethod<GetMemberInModuleExportsParams, SymbolResponse | null>;
getJsDocTags: APIMethod<CheckerSymbolParams, JSDocTagInfo[] | null>;
getDocumentationComment: APIMethod<CheckerSymbolParams, string>;
isArrayType: APIMethod<CheckerTypeParams, boolean>;
isReadonlySymbol: APIMethod<CheckerSymbolParams, boolean>;
getReferencesToSymbolInFile: APIMethod<GetReferencesToSymbolInFileParams, string[]>;
getReferencedSymbolsForNode: APIMethod<GetReferencedSymbolsForNodeParams, ReferencedSymbolEntry[] | null>;
getSignatureUsages: APIMethod<GetSignatureUsagesParams, SignatureUsageResponse[] | null>;
getCompletionsAtPosition: APIMethod<GetCompletionsAtPositionParams, CompletionInfoResponse | null>;
formatNodeForInsertion: APIMethod<FormatNodeForInsertionParams, string>;
getSyntacticDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
getBindDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
getSemanticDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
getSuggestionDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
getDeclarationDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
getProgramDiagnostics: APIMethod<GetProjectDiagnosticsParams, DiagnosticResponse[] | null>;
getGlobalDiagnostics: APIMethod<GetProjectDiagnosticsParams, DiagnosticResponse[] | null>;
getConfigFileParsingDiagnostics: APIMethod<GetProjectDiagnosticsParams, DiagnosticResponse[] | null>;
printNode: APIMethod<PrintNodeParams, string>;
emit: APIMethod<EmitParams, EmitResponse>;
emitToString: APIMethod<EmitParams, EmitOutputResponse>;
getJavaScriptEmit: APIMethod<SelectedFilesEmitParams, EmitOutputResponse>;
getDeclarationEmit: APIMethod<SelectedFilesEmitParams, EmitOutputResponse>;
getAnyType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getStringType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getNumberType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getBooleanType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getVoidType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getUndefinedType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getNullType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getNeverType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getUnknownType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getBigIntType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getESSymbolType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getNonPrimitiveType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
getWellKnownSymbols: APIMethod<GetIntrinsicTypeParams, WellKnownSymbolsResponse>;
getWellKnownSignatures: APIMethod<GetIntrinsicTypeParams, WellKnownSignaturesResponse>;
startCPUProfile: APIMethod<ProfileParams, void>;
stopCPUProfile: APIMethod<null, ProfileResult>;
saveHeapProfile: APIMethod<ProfileParams, ProfileResult>;
}
export type DocumentIdentifier = string | {
uri: string;
};
export type ResolutionMode = ModuleKind.None | ModuleKind.CommonJS | ModuleKind.ESNext;
export type EnsurePrograms = true | readonly ProjectId[];
export type InferredProjectId = string & {
__inferredProjectIdBrand: any;
};
export type ConfiguredProjectId = PathKey & {
__configuredProjectIdBrand: any;
};
export type SyntheticProjectId = string & {
__syntheticProjectIdBrand: any;
};
export type ProjectId = InferredProjectId | ConfiguredProjectId | SyntheticProjectId;
/** ReleaseParams are the parameters for the release method. */
export interface ReleaseParams {
snapshot: number;
}
export interface ReleaseSourceFileParams {
lease: number;
}
export interface RetainSourceFileParams {
file: SourceFileDescriptor;
}
export interface RetainSourceFileResponse {
lease: number;
}
/**
* GetCachedSourceFileParams address an ordinary cached source file by its complete identity,
* independent of any snapshot or lease.
*/
export interface GetCachedSourceFileParams {
file: SourceFileDescriptor;
}
/**
* SourceFileResponse contains the binary-encoded AST data for a source file.
* The Data field is base64-encoded binary data in the encoder's format.
*/
export interface SourceFileResponse {
/** Data is the base64-encoded binary AST data in the encoder's format. */
data: string;
}
export interface GetSymbolOfDeclarationParams {
file: SourceFileDescriptor;
index: number;
}
export interface SymbolResponse {
reference: SymbolReference;
name: string;
flags: number;
checkFlags?: number | undefined;
declarations?: string[] | undefined;
valueDeclaration?: string | undefined;
parent?: CompactSymbolReference | undefined;
exportSymbol?: CompactSymbolReference | undefined;
}
export interface BatchRequestsParams {
requests: readonly BatchRequest[] | null;
continuationToken?: string | undefined;
maxResponseBytesPerPage?: number | undefined;
}
export interface BatchRequestsResponse {
responses: BatchResponse[];
continuationToken?: string | undefined;
}
/** InitializeResponse is returned by the initialize method. */
export interface InitializeResponse {
/** CaseSensitivity determines how the host file system compares paths. */
caseSensitivity: CaseSensitivity;
/** CurrentDirectory is the server's current working directory. */
currentDirectory: RootedDirectoryPath;
}
/** CreateSnapshotParams are the parameters for creating a new independent snapshot. */
export interface CreateSnapshotParams extends SnapshotRequestChangesParams {
/** UserPreferences configures language service behavior in the new snapshot. */
userPreferences?: UserPreferences | undefined;
/** PrepareAutoImports identifies the file whose auto-import indexes should be ready in the new snapshot. */
prepareAutoImports?: DocumentIdentifier | undefined;
/** FileNotifications describes host file system changes to invalidate while creating the snapshot. */
fileNotifications?: FileNotifications | undefined;
/**
* FileSystem supplies file contents and directory listings for the new snapshot.
* A full filesystem is canonical and total. A filesystem layer is checked
* before falling back to the base snapshot or host filesystem.
*/
fileSystem?: RequestFileSystem | undefined;
}
/** CreateSnapshotResponse is returned by createSnapshot. */
export interface CreateSnapshotResponse {
/** Snapshot is the handle for the newly created snapshot. */
snapshot: number;
/**
* Projects contains all projects when no response base was supplied, or only
* projects added or replaced relative to that base.
*/
projects: ProjectResponse[];
/** Changes describes source file differences from the response base. */
changes?: SnapshotChanges | undefined;
/** Operation describes results correlated with the request that produced the snapshot. */
operation: SnapshotOperationResponse;
}
export interface UpdateSnapshotParams {
snapshot: number;
changes?: CreateSnapshotParams | undefined;
}
export interface GetCurrentLanguageServerSnapshotParams {
baseSnapshot?: number | undefined;
changes?: LanguageServerSnapshotChanges | undefined;
}
export interface CreateBuildOrchestratorParams extends BuildOptions, CompilerOptions {
rootNames: readonly string[] | null;
cwd?: RootedDirectoryPath | undefined;
}
export interface CreateBuildOrchestratorResponse {
buildOrchestratorID: number;
}
export interface DisposeBuildOrchestratorParams {
buildOrchestratorID: number;
}
export interface BuildParams {
buildOrchestratorID: number;
project?: string | undefined;
}
export interface BuildResponse {
status: number;
diagnostics?: DiagnosticResponse[] | undefined;
statistics: Statistics;
}
export interface CleanBuildParams {
buildOrchestratorID: number;
project?: string | undefined;
}
export interface CleanBuildResponse {
status: number;
diagnostics?: DiagnosticResponse[] | undefined;
statistics: Statistics;
filesDeleted?: RootedFilePath[] | undefined;
}
export interface CreateModuleResolverParams {
compilerOptions: CompilerOptions;
moduleResolutions?: ModuleResolutionSpec | undefined;
resolveModuleNameCallback?: string | undefined;
}
export interface ReleaseModuleResolverParams {
resolver: number;
}
export interface ResolveModuleNameParams {
snapshot?: number | undefined;
inProgressSnapshot?: number | undefined;
resolver: number;
moduleName: string;
containingDirectory: DocumentIdentifier;
resolutionMode?: ResolutionMode | undefined;
}
export interface ResolveModuleNameResult {
resolvedModule?: ResolvedModule | undefined;
/** Trace is provided when compilerOptions.traceResolution is true. */
trace?: string[] | undefined;
}
export interface ParseCommandLineParams {
commandLine: readonly string[] | null;
}
export interface ConfigFileResponse {
fileNames: RootedFilePath[];
options: CompilerOptions;
buildOptions?: BuildOptions | undefined;
projectReferences?: ProjectReference[] | undefined;
typeAcquisition?: TypeAcquisition | undefined;
compileOnSave?: boolean | undefined;
raw?: unknown | undefined;
errors: DiagnosticResponse[];
}
export interface ReadConfigFileParams {
file: DocumentIdentifier;
}
export interface ReadConfigFileResponse {
config: unknown;
error?: DiagnosticResponse | undefined;
}
export interface ParseJsonConfigFileContentParams {
json: unknown;
configDirectory?: string | undefined;
configFileName?: DocumentIdentifier | undefined;
}
export interface ParseConfigFileParams {
file: DocumentIdentifier;
}
export interface CreateSourceFileParams {
fileName: string;
sourceText: string;
options: CreateSourceFileOptions;
}
export interface CreateSourceFileFromFileParams {
fileName: string;
options: CreateSourceFileOptions;
}
export interface TranspileParams {
input: string;
options: TranspileOptions;
}
export interface TranspileOutputResponse {
outputText: string;
diagnostics?: DiagnosticResponse[] | undefined;
sourceMapText?: string | undefined;
}
export interface TranspileFromFileParams {
fileName: string;
options: TranspileOptions;
}
export interface GetDefaultProjectForFileParams {
snapshot: number;
file: DocumentIdentifier;
}
export interface ProjectResponse {
id: ProjectId;
/** Handle identifies this project's lifetime across snapshots; Id is its logical name. */
handle: number;
configFileName?: RootedFilePath | undefined;
currentDirectory: RootedDirectoryPath;
dirty: boolean;
parsedCommandLine: ConfigFileResponse;
}
export interface GetSymbolAtPositionParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
position: number;
}
export interface GetSymbolsAtPositionsParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
positions: readonly number[] | null;
}
export interface GetSymbolAtLocationParams {
snapshot: number;
project: number;
location: string;
}
export interface GetSymbolsAtLocationsParams {
snapshot: number;
project: number;
locations: readonly string[] | null;
}
export interface GetSymbolOfSourceFileParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
}
export interface GetSymbolsOfSourceFilesParams {
snapshot: number;
project: number;
files: readonly DocumentIdentifier[] | null;
}
export interface GetTypeOfSymbolParams {
snapshot: number;
project: number;
symbol: SymbolReference;
}
export interface TypeResponse {
id: number;
flags: number;
objectFlags?: number | undefined;
isTupleType?: boolean | undefined;
/**
* Value is literal type data. BigInt literals are encoded as signed decimal
* strings because JSON cannot represent bigint; absent values are omitted.
*/
value?: unknown | undefined;
/** ObjectType / TypeReference / StringMappingType / IndexType target */
target?: number | undefined;
/** InterfaceType type parameters */
typeParameters?: number[] | undefined;
outerTypeParameters?: number[] | undefined;
localTypeParameters?: number[] | undefined;
/** TupleType data */
elementFlags?: number[] | undefined;
fixedLength?: number | undefined;
readonly?: boolean | undefined;
labeledElementDeclarations?: string[] | undefined;
/** IndexedAccessType data */
objectType?: number | undefined;
indexType?: number | undefined;
/** ConditionalType data */
checkType?: number | undefined;
extendsType?: number | undefined;
/** SubstitutionType data */
baseType?: number | undefined;
substConstraint?: number | undefined;
/** MappedType data */
typeParameter?: number | undefined;
constraintType?: number | undefined;
nameType?: number | undefined;
templateType?: number | undefined;
/** TemplateLiteralType text segments */
texts?: string[] | undefined;
/** FreshableType data (LiteralType and computed enum types) */
freshType?: number | undefined;
regularType?: number | undefined;
/** TypeParameter data */
isThisType?: boolean | undefined;
/** InterfaceType data */
thisType?: number | undefined;
/** IntrinsicType data */
intrinsicName?: string | undefined;
/** TypeAlias data */
aliasTypeArguments?: number[] | undefined;
aliasSymbol?: CompactSymbolReference | undefined;
/** Symbol associated with structured types */
symbol?: CompactSymbolReference | undefined;
}
export interface GetTypesOfSymbolsParams {
snapshot: number;
project: number;
symbols: readonly SymbolReference[] | null;
}
export interface GetSourceFileParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
}
export interface GetSourceFileNamesParams {
snapshot: number;
project: number;
}
/** SourceFileMetadata carries program-stored metadata about a single source file. */
export interface SourceFileMetadata {
isDefaultLibrary: boolean;
isFromExternalLibrary: boolean;
packageJsonType: string;
packageJsonDirectory: RootedDirectoryPath;
impliedNodeFormat: ModuleKind;
}
export interface GetModeForUsageLocationParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
usage: string;
}
export interface GetModeForResolutionAtIndexParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
index: number;
}
export interface GetResolvedModuleParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
moduleName: string;
mode: ModuleKind;
}
export interface ResolvedModule {
resolvedFileName: string;
originalPath?: string | undefined;
extension: string;
resolvedUsingTsExtension?: boolean | undefined;
resolvedUsingExtraExtensions?: boolean | undefined;
packageId?: PackageId | undefined;
isExternalLibraryImport?: boolean | undefined;
alternateResult?: string | undefined;
}
export interface GetResolvedModuleFromModuleSpecifierParams {
snapshot: number;
project: number;
moduleSpecifier: string;
sourceFile?: DocumentIdentifier | undefined;
}
export interface GetResolvedTypeReferenceDirectiveParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
typeDirectiveName: string;
mode: ModuleKind;
}
export interface ResolvedTypeReferenceDirective {
primary: boolean;
resolvedFileName: string;
originalPath?: string | undefined;
packageId?: PackageId | undefined;
isExternalLibraryImport?: boolean | undefined;
}
export interface GetResolvedTypeReferenceDirectiveFromReferenceParams {
snapshot: number;
project: number;
sourceFile: DocumentIdentifier;
typeDirectiveName: string;
resolutionMode: ModuleKind;
}
/** GetProjectDiagnosticsParams are parameters for project-wide diagnostic methods. */
export interface GetProjectDiagnosticsParams {
snapshot: number;
project: number;
}
export interface ResolveNameParams {
snapshot: number;
project: number;
name: string;
/** Optional: node handle for location context */
location?: string | undefined;
/** Optional: file for location context (alternative to Location) */
file?: DocumentIdentifier | undefined;
/** Optional: position in file for location context (with File) */
position?: number | undefined;
/** SymbolFlags for what kind of symbol to find */
meaning: number;
/** Whether to exclude global symbols */
excludeGlobals?: boolean | undefined;
}
/**
* GetSymbolsInScopeParams are parameters for getSymbolsInScope, which returns
* all symbols visible at a given location.
*/
export interface GetSymbolsInScopeParams {
snapshot: number;
project: number;
/** Optional: node handle for location context */
location?: string | undefined;
/** Optional: file for location context (alternative to Location) */
file?: DocumentIdentifier | undefined;
/** Optional: position in file for location context (with File) */
position?: number | undefined;
/** SymbolFlags for what kind of symbols to find */
meaning: number;
}
export interface GetSignaturesOfTypeParams {
snapshot: number;
project: number;
type: number;
kind: number;
}
export interface SignatureResponse {
id: number;
flags?: number | undefined;
declaration?: string | undefined;
typeParameters?: number[] | undefined;
parameters?: CompactSymbolReference[] | undefined;
thisParameter?: CompactSymbolReference | undefined;
target?: number | undefined;
}
export interface GetResolvedSignatureParams {
snapshot: number;
project: number;
location: string;
}
export interface GetTypeAtLocationParams {
snapshot: number;
project: number;
location: string;
}
export interface GetTypeAtLocationsParams {
snapshot: number;
project: number;
locations: readonly string[] | null;
}
export interface GetTypeAtPositionParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
position: number;
}
export interface GetTypesAtPositionsParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
positions: readonly number[] | null;
}
/** GetSymbolPropertyParams is used for all symbol sub-property endpoints. */
export interface GetSymbolPropertyParams {
symbol: SymbolReference;
}
/** GetTypePropertyParams is used for all type sub-property endpoints. */
export interface GetTypePropertyParams {
snapshot: number;
project: number;
objectId: number;
}
/** GetSignaturePropertyParams is used for all signature sub-property endpoints. */
export interface GetSignaturePropertyParams {
snapshot: number;
project: number;
objectId: number;
}
/** GetContextualTypeParams returns the contextual type for a node. */
export interface GetContextualTypeParams {
snapshot: number;
project: number;
location: string;
}
export interface GetContextualTypeForArgumentParams {
snapshot: number;
project: number;
location: string;
index: number;
}
/** CheckerTypeParams are parameters for checker methods that operate on a type. */
export interface CheckerTypeParams {
snapshot: number;
project: number;
type: number;
}
/** GetBaseTypeOfLiteralTypeParams returns the base type of a literal type. */
export interface GetBaseTypeOfLiteralTypeParams {
snapshot: number;
project: number;
type: number;
}
/** GetTypeFromTypeNodeParams are the parameters for the getTypeFromTypeNode method. */
export interface GetTypeFromTypeNodeParams {
snapshot: number;
project: number;
location: string;
}
/** GetWidenedTypeParams are the parameters for the getWidenedType method. */
export interface GetWidenedTypeParams {
snapshot: number;
project: number;
type: number;
}
/** GetParameterTypeParams are the parameters for the getParameterType method. */
export interface GetParameterTypeParams {
snapshot: number;
project: number;
signature: number;
index: number;
}
/** IsArrayLikeTypeParams checks whether a type is array-like. */
export interface IsArrayLikeTypeParams {
snapshot: number;
project: number;
type: number;
}
/** IsTypeAssignableToParams checks assignability between two types. */
export interface IsTypeAssignableToParams {
snapshot: number;
project: number;
source: number;
target: number;
}
/** GetTypeOfSymbolAtLocationParams returns the narrowed type of a symbol at a specific location. */
export interface GetTypeOfSymbolAtLocationParams {
snapshot: number;
project: number;
symbol: SymbolReference;
location: string;
}
/** TypeToTypeNodeParams are the parameters for the typeToTypeNode method. */
export interface TypeToTypeNodeParams {
snapshot: number;
project: number;
type: number;
location?: string | undefined;
flags?: number | undefined;
}
/** SignatureToSignatureDeclarationParams are the parameters for the signatureToSignatureDeclaration method. */
export interface SignatureToSignatureDeclarationParams {
snapshot: number;
project: number;
signature: number;
kind: number;
location?: string | undefined;
flags?: number | undefined;
}
/** CheckerSignatureParams are parameters for checker methods that operate on a signature. */
export interface CheckerSignatureParams {
snapshot: number;
project: number;
signature: number;
}
/** TypePredicateResponse is the response for getTypePredicateOfSignature. */
export interface TypePredicateResponse {
kind: number;
parameterIndex: number;
parameterName?: string | undefined;
type?: TypeResponse | undefined;
}
/** GetPropertyOfTypeParams are parameters for getPropertyOfType (a named property of a type). */
export interface GetPropertyOfTypeParams {
snapshot: number;
project: number;
type: number;
name: string;
}
export interface GetIndexInfoOfTypeParams {
snapshot: number;
project: number;
type: number;
kind: number;
}
/** IndexInfoResponse represents a single index signature. */
export interface IndexInfoResponse {
keyType: TypeResponse;
valueType: TypeResponse;
isReadonly?: boolean | undefined;
declaration?: string | undefined;
}
export interface GetImportAdderEditsParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
actions: readonly ImportAdderAction[] | null;
}
export interface TextEdit {
pos: number;
end: number;
newText: string;
}
/** CheckerNodeParams are parameters for checker methods that operate on a node location. */
export interface CheckerNodeParams {
snapshot: number;
project: number;
location: string;
}
export interface ConstantValueResponse {
isNumber: boolean;
value: unknown;
}
/** CheckerSymbolParams are parameters for checker methods that operate on a symbol. */
export interface CheckerSymbolParams {
snapshot: number;
project: number;
symbol: SymbolReference;
}
/** GetMemberInModuleExportsParams are parameters for getMemberInModuleExports. */
export interface GetMemberInModuleExportsParams {
snapshot: number;
project: number;
symbol: SymbolReference;
name: string;
}
/**
* JSDocTagInfo is a single JSDoc tag, mirroring Strada's JSDocTagInfo but with the tag text
* rendered as a plain string rather than SymbolDisplayPart[].
*/
export interface JSDocTagInfo {
name: string;
text?: string | undefined;
}
/** GetReferencesToSymbolInFileParams are the parameters for the getReferencesToSymbolInFile method. */
export interface GetReferencesToSymbolInFileParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
symbol: SymbolReference;
}
/** GetReferencedSymbolsForNodeParams are the parameters for the getReferencedSymbolsForNode method. */
export interface GetReferencedSymbolsForNodeParams {
snapshot: number;
project: number;
node: string;
position: number;
}
/** ReferencedSymbolEntry represents a symbol definition and its references. */
export interface ReferencedSymbolEntry {
definition: string;
symbol?: SymbolResponse | undefined;
references: string[];
}
/** GetSignatureUsagesParams are the parameters for the getSignatureUsages method. */
export interface GetSignatureUsagesParams {
snapshot: number;
project: number;
signatureDecl: string;
}
/** SignatureUsageResponse represents a single usage of a signature as a name-call pair. */
export interface SignatureUsageResponse {
name: string;
call?: string | undefined;
}
/** GetCompletionsAtPositionParams are the parameters for the getCompletionsAtPosition method. */
export interface GetCompletionsAtPositionParams {
snapshot: number;
project: number;
file: DocumentIdentifier;
position: number;
triggerCharacter?: string | undefined;
includeSymbol?: boolean | undefined;
}
/** CompletionInfoResponse wraps a list of completion entries. */
export interface CompletionInfoResponse {
isIncomplete: boolean;
entries: CompletionEntryResponse[];
}
/** FormatNodeForInsertionParams are the parameters for the formatNodeForInsertion method. */
export interface FormatNodeForInsertionParams {
snapshot: number;
project: number;
/** target file where the node will be inserted */
file: DocumentIdentifier;
/** UTF-16 code-unit offset of the insertion position in the target file */
position: number;
/** base64-encoded binary AST data for the synthesized node */
data: string;
}
/** GetDiagnosticsParams are parameters for per-file diagnostic methods. */
export interface GetDiagnosticsParams {
snapshot: number;
project: number;
files?: readonly DocumentIdentifier[] | undefined;
}
/** DiagnosticResponse is the API response for a single diagnostic. */
export interface DiagnosticResponse {
/** The file name of the file this diagnostic belongs to, if any. */
fileName?: RootedFilePath | undefined;
/** Pos is the start position of the diagnostic in the source file. */
pos: number;
/** End is the end position of the diagnostic in the source file. */
end: number;
/** StartPosition is the zero-based line and UTF-16 character position of Pos. */
startPosition?: DiagnosticPositionResponse | undefined;
/** EndPosition is the zero-based line and UTF-16 character position of End. */
endPosition?: DiagnosticPositionResponse | undefined;
/** SourceLines contains the source lines needed to render this diagnostic with context. */
sourceLines?: DiagnosticSourceLineResponse[] | undefined;
/** Code is the diagnostic error code. */
code: number;
/** Category is the diagnostic category (error, warning, suggestion, message). */
category: number;
/** Source is a custom diagnostic-code prefix. An empty value uses the default "TS". */
source?: string | undefined;
/** Text is the localized diagnostic message text. */
text: string;
/** ReportsUnnecessary indicates this diagnostic highlights unnecessary code. */
reportsUnnecessary?: boolean | undefined;
/** ReportsDeprecated indicates this diagnostic highlights deprecated code. */
reportsDeprecated?: boolean | undefined;
/** MessageChain contains chained diagnostic messages, if any. */
messageChain?: DiagnosticResponse[] | undefined;
/** RelatedInformation contains related diagnostic information, if any. */
relatedInformation?: DiagnosticResponse[] | undefined;
}
/** PrintNodeParams are the parameters for the printNode method. */
export interface PrintNodeParams {
/** base64-encoded binary AST data */
data: string;
preserveSourceNewlines?: boolean | undefined;
neverAsciiEscape?: boolean | undefined;
terminateUnterminatedLiterals?: boolean | undefined;
}
export interface EmitParams {
snapshot: number;
project: number;
emitOnly?: number | undefined;
}
export interface EmitResponse {
emitSkipped: boolean;
diagnostics: DiagnosticResponse[];
emittedFiles: RootedFilePath[];
/**
* EmittedFilesContents contains contents parallel to EmittedFiles when the
* source snapshot uses a full filesystem. It is empty for write-through emits.
*/
emittedFilesContents: string[];
}
export interface EmitOutputResponse {
emitSkipped: boolean;
diagnostics: DiagnosticResponse[];
outputFiles: EmitOutputFile[];
}
export interface SelectedFilesEmitParams {
snapshot: number;
project: number;
files: readonly DocumentIdentifier[] | null;
}
/** GetIntrinsicTypeParams is used for intrinsic type getters (anyType, stringType, etc.). */
export interface GetIntrinsicTypeParams {
snapshot: number;
project: number;
}
/**
* WellKnownSymbolsResponse carries the handle ids of the per-checker singleton
* symbols (unknown, undefined, arguments) so the client can identify them by id
* without a round-trip on every check.
*/
export interface WellKnownSymbolsResponse {
unknown: number;
undefined: number;
arguments: number;
}
/**
* WellKnownSignaturesResponse carries the handle id of the per-checker singleton
* unknown signature (the signature the checker yields when a call cannot be
* resolved) so the client can identify it by id without a round-trip on every check.
*/
export interface WellKnownSignaturesResponse {
unknown: number;
}
export interface ProfileParams {
dir: string;
}
export interface ProfileResult {
file: RootedFilePath;
}
export interface SourceFileDescriptor {
fileName: RootedFilePath;
path: PathKey;
contentHash: string;
parseOptionsKey: string;
scriptKind: ScriptKind;
nodeId: string;
}
/** SymbolReference identifies a symbol and its server-resolvable owner. */
export interface SymbolReference extends SymbolOwner {
id: number;
}
/**
* CompactSymbolReference is embedded in other responses. It identifies a cached
* symbol without repeating its owning file's full descriptor: File is the owning source file's
* node ID, or empty for a symbol owned by the response's snapshot. When the client has not cached
* the symbol, it fetches a full SymbolResponse through the corresponding property method.
*/
export interface CompactSymbolReference {
id: number;
file?: string | undefined;
}
export interface BatchRequest {
method: "batchRequests" | "build" | "buildReferences" | "cleanBuild" | "cleanReferences" | "createBuildOrchestrator" | "createModuleResolver" | "createSnapshot" | "createSourceFile" | "createSourceFileFromFile" | "disposeBuildOrchestrator" | "emit" | "emitToString" | "formatNodeForInsertion" | "getAliasSymbolOfType" | "getAliasTypeArgumentsOfType" | "getAliasedSymbol" | "getAnyType" | "getApparentPropertiesOfType" | "getApparentType" | "getAwaitedType" | "getBaseConstraintOfType" | "getBaseTypeOfLiteralType" | "getBaseTypeOfType" | "getBaseTypes" | "getBigIntType" | "getBindDiagnostics" | "getBooleanType" | "getCachedSourceFile" | "getCheckTypeOfType" | "getCompletionsAtPosition" | "getConfigFileNames" | "getConfigFileParsingDiagnostics" | "getConfigSourceFile" | "getConstantValue" | "getConstraintOfType" | "getConstraintOfTypeParameter" | "getConstraintTypeOfMappedType" | "getContextualType" | "getContextualTypeForArgument" | "getCurrentLanguageServerSnapshot" | "getDeclarationDiagnostics" | "getDeclarationEmit" | "getDeclaredTypeOfSymbol" | "getDefaultFromTypeParameter" | "getDefaultProjectForFile" | "getDocumentationComment" | "getESSymbolType" | "getExportSpecifierLocalTargetSymbol" | "getExportSymbolOfSymbol" | "getExportSymbolOfSymbolForChecker" | "getExportsOfModule" | "getExportsOfSymbol" | "getExtendsTypeOfType" | "getFalseTypeOfConditionalType" | "getFreshTypeOfType" | "getFullyQualifiedName" | "getGlobalDiagnostics" | "getImmediateAliasedSymbol" | "getImportAdderEdits" | "getIndexInfoOfType" | "getIndexInfosOfType" | "getIndexTypeOfType" | "getJavaScriptEmit" | "getJsDocTags" | "getLocalTypeParametersOfType" | "getMemberInModuleExports" | "getMembersOfSymbol" | "getMergedSymbol" | "getModeForResolutionAtIndex" | "getModeForUsageLocation" | "getNameTypeOfMappedType" | "getNeverType" | "getNonMissingTypeOfSymbol" | "getNonNullableType" | "getNonPrimitiveType" | "getNullType" | "getNumberType" | "getObjectTypeOfType" | "getOuterTypeParametersOfType" | "getParameterType" | "getParametersOfSignature" | "getParentOfSymbol" | "getParentOfSymbolForChecker" | "getProgramDiagnostics" | "getPropertiesOfType" | "getPropertyOfType" | "getReducedType" | "getReferencedSymbolsForNode" | "getReferencesToSymbolInFile" | "getRegularTypeOfType" | "getResolvedModule" | "getResolvedModuleFromModuleSpecifier" | "getResolvedSignature" | "getResolvedTypeReferenceDirective" | "getResolvedTypeReferenceDirectiveFromTypeReferenceDirective" | "getRestTypeOfSignature" | "getReturnTypeOfSignature" | "getSemanticDiagnostics" | "getShorthandAssignmentValueSymbol" | "getSignatureFromDeclaration" | "getSignatureUsages" | "getSignaturesOfType" | "getSourceFile" | "getSourceFileMetadata" | "getSourceFileNames" | "getStringType" | "getSuggestionDiagnostics" | "getSymbolAtLocation" | "getSymbolAtPosition" | "getSymbolOfDeclaration" | "getSymbolOfDeclarationForChecker" | "getSymbolOfNode" | "getSymbolOfSourceFile" | "getSymbolOfType" | "getSymbolsAtLocations" | "getSymbolsAtPositions" | "getSymbolsInScope" | "getSymbolsOfSourceFiles" | "getSyntacticDiagnostics" | "getTargetOfSignature" | "getTargetOfType" | "getTargetSymbol" | "getTemplateTypeOfMappedType" | "getThisParameterOfSignature" | "getThisTypeOfType" | "getTrueTypeOfConditionalType" | "getTypeArguments" | "getTypeAtLocation" | "getTypeAtLocations" | "getTypeAtPosition" | "getTypeFromTypeNode" | "getTypeOfPropertyOfType" | "getTypeOfSymbol" | "getTypeOfSymbolAtLocation" | "getTypeParameterAtPosition" | "getTypeParameterOfMappedType" | "getTypeParametersOfSignature" | "getTypeParametersOfType" | "getTypePredicateOfSignature" | "getTypesAtPositions" | "getTypesOfSymbols" | "getTypesOfType" | "getUndefinedType" | "getUnknownType" | "getVoidType" | "getWellKnownSignatures" | "getWellKnownSymbols" | "getWidenedType" | "initialize" | "isArrayLikeType" | "isArrayType" | "isContextSensitive" | "isReadonlySymbol" | "isTypeAssignableTo" | "parseCommandLine" | "parseConfigFile" | "parseJsonConfigFileContent" | "printNode" | "readConfigFile" | "release" | "releaseModuleResolver" | "releaseSourceFile" | "resolveModuleName" | "resolveName" | "retainSourceFile" | "saveHeapProfile" | "signatureToSignatureDeclaration" | "startCPUProfile" | "stopCPUProfile" | "transpileDeclaration" | "transpileDeclarationFromFile" | "transpileModule" | "transpileModuleFromFile" | "typeToString" | "typeToTypeNode" | "updateSnapshot";
params?: unknown | undefined;
}
export interface BatchResponse {
method: "batchRequests" | "build" | "buildReferences" | "cleanBuild" | "cleanReferences" | "createBuildOrchestrator" | "createModuleResolver" | "createSnapshot" | "createSourceFile" | "createSourceFileFromFile" | "disposeBuildOrchestrator" | "emit" | "emitToString" | "formatNodeForInsertion" | "getAliasSymbolOfType" | "getAliasTypeArgumentsOfType" | "getAliasedSymbol" | "getAnyType" | "getApparentPropertiesOfType" | "getApparentType" | "getAwaitedType" | "getBaseConstraintOfType" | "getBaseTypeOfLiteralType" | "getBaseTypeOfType" | "getBaseTypes" | "getBigIntType" | "getBindDiagnostics" | "getBooleanType" | "getCachedSourceFile" | "getCheckTypeOfType" | "getCompletionsAtPosition" | "getConfigFileNames" | "getConfigFileParsingDiagnostics" | "getConfigSourceFile" | "getConstantValue" | "getConstraintOfType" | "getConstraintOfTypeParameter" | "getConstraintTypeOfMappedType" | "getContextualType" | "getContextualTypeForArgument" | "getCurrentLanguageServerSnapshot" | "getDeclarationDiagnostics" | "getDeclarationEmit" | "getDeclaredTypeOfSymbol" | "getDefaultFromTypeParameter" | "getDefaultProjectForFile" | "getDocumentationComment" | "getESSymbolType" | "getExportSpecifierLocalTargetSymbol" | "getExportSymbolOfSymbol" | "getExportSymbolOfSymbolForChecker" | "getExportsOfModule" | "getExportsOfSymbol" | "getExtendsTypeOfType" | "getFalseTypeOfConditionalType" | "getFreshTypeOfType" | "getFullyQualifiedName" | "getGlobalDiagnostics" | "getImmediateAliasedSymbol" | "getImportAdderEdits" | "getIndexInfoOfType" | "getIndexInfosOfType" | "getIndexTypeOfType" | "getJavaScriptEmit" | "getJsDocTags" | "getLocalTypeParametersOfType" | "getMemberInModuleExports" | "getMembersOfSymbol" | "getMergedSymbol" | "getModeForResolutionAtIndex" | "getModeForUsageLocation" | "getNameTypeOfMappedType" | "getNeverType" | "getNonMissingTypeOfSymbol" | "getNonNullableType" | "getNonPrimitiveType" | "getNullType" | "getNumberType" | "getObjectTypeOfType" | "getOuterTypeParametersOfType" | "getParameterType" | "getParametersOfSignature" | "getParentOfSymbol" | "getParentOfSymbolForChecker" | "getProgramDiagnostics" | "getPropertiesOfType" | "getPropertyOfType" | "getReducedType" | "getReferencedSymbolsForNode" | "getReferencesToSymbolInFile" | "getRegularTypeOfType" | "getResolvedModule" | "getResolvedModuleFromModuleSpecifier" | "getResolvedSignature" | "getResolvedTypeReferenceDirective" | "getResolvedTypeReferenceDirectiveFromTypeReferenceDirective" | "getRestTypeOfSignature" | "getReturnTypeOfSignature" | "getSemanticDiagnostics" | "getShorthandAssignmentValueSymbol" | "getSignatureFromDeclaration" | "getSignatureUsages" | "getSignaturesOfType" | "getSourceFile" | "getSourceFileMetadata" | "getSourceFileNames" | "getStringType" | "getSuggestionDiagnostics" | "getSymbolAtLocation" | "getSymbolAtPosition" | "getSymbolOfDeclaration" | "getSymbolOfDeclarationForChecker" | "getSymbolOfNode" | "getSymbolOfSourceFile" | "getSymbolOfType" | "getSymbolsAtLocations" | "getSymbolsAtPositions" | "getSymbolsInScope" | "getSymbolsOfSourceFiles" | "getSyntacticDiagnostics" | "getTargetOfSignature" | "getTargetOfType" | "getTargetSymbol" | "getTemplateTypeOfMappedType" | "getThisParameterOfSignature" | "getThisTypeOfType" | "getTrueTypeOfConditionalType" | "getTypeArguments" | "getTypeAtLocation" | "getTypeAtLocations" | "getTypeAtPosition" | "getTypeFromTypeNode" | "getTypeOfPropertyOfType" | "getTypeOfSymbol" | "getTypeOfSymbolAtLocation" | "getTypeParameterAtPosition" | "getTypeParameterOfMappedType" | "getTypeParametersOfSignature" | "getTypeParametersOfType" | "getTypePredicateOfSignature" | "getTypesAtPositions" | "getTypesOfSymbols" | "getTypesOfType" | "getUndefinedType" | "getUnknownType" | "getVoidType" | "getWellKnownSignatures" | "getWellKnownSymbols" | "getWidenedType" | "initialize" | "isArrayLikeType" | "isArrayType" | "isContextSensitive" | "isReadonlySymbol" | "isTypeAssignableTo" | "parseCommandLine" | "parseConfigFile" | "parseJsonConfigFileContent" | "printNode" | "readConfigFile" | "release" | "releaseModuleResolver" | "releaseSourceFile" | "resolveModuleName" | "resolveName" | "retainSourceFile" | "saveHeapProfile" | "signatureToSignatureDeclaration" | "startCPUProfile" | "stopCPUProfile" | "transpileDeclaration" | "transpileDeclarationFromFile" | "transpileModule" | "transpileModuleFromFile" | "typeToString" | "typeToTypeNode" | "updateSnapshot";
result: unknown;
error?: string | undefined;
}
/**
* SnapshotRequestChangesParams describes project, file, and program changes to apply
* while creating or updating a snapshot.
*/
export interface SnapshotRequestChangesParams {
/** OpenProjects lists tsconfig.json files to open/load in the new snapshot. */
openProjects?: readonly DocumentIdentifier[] | undefined;
/**
* CloseProjects lists tsconfig.json files to release in the new snapshot.
* A project is only unloaded once every API client that opened it closes it.
*/
closeProjects?: readonly DocumentIdentifier[] | undefined;
/**
* OpenFiles lists files to open in the new snapshot, mirroring LSP's
* textDocument/didOpen. For each file, ancestor directories are searched for a
* tsconfig that contains it; if found, that configured project is loaded and
* becomes the file's default project. Otherwise the file is loaded into the
* inferred project (e.g. a node_modules d.ts not in any project's import graph).
* If a file cannot be loaded into any project, the request fails.
*/
openFiles?: readonly DocumentIdentifier[] | undefined;
/**
* CloseFiles lists files to release in the new snapshot. A file is only fully
* closed once every API client that opened it closes it.
*/
closeFiles?: readonly DocumentIdentifier[] | undefined;
/** CreatePrograms describes synthetic programs to create in the snapshot. */
createPrograms?: readonly CreateSnapshotProgramParams[] | undefined;
/** ReconfigurePrograms replaces the configuration of existing synthetic programs. */
reconfigurePrograms?: readonly ReconfigureSnapshotProgramParams[] | undefined;
/** RemovePrograms lists synthetic project handles to remove from the snapshot. */
removePrograms?: readonly SyntheticProjectId[] | undefined;
/**
* EnsurePrograms identifies projects whose programs should be updated if dirty,
* or all contained projects when true.
*/
ensurePrograms?: EnsurePrograms | undefined;
}
/**
* FileNotifications describes changes to files that have occurred on the host
* file system, used to notify the session to reload cached files and reevaluate
* tsconfig.json `include` globs. Either InvalidateAll is true (discard all caches)
* or Changed/Created/Deleted list individual documents.
*/
export interface FileNotifications {
invalidateAll?: boolean | undefined;
changed?: DocumentIdentifier[] | undefined;
created?: DocumentIdentifier[] | undefined;
deleted?: DocumentIdentifier[] | undefined;
}
/**
* RequestFileSystem supplies file contents and, optionally, directory listings
* for a request that creates a snapshot.
*/
export interface RequestFileSystem {
kind: "full" | "layer";
/** Files maps file names to their complete contents. */
files: Record<string, string>;
/**
* Directories maps directory names to complete listing results. Directory
* structure implied by Files is derived when a listing is omitted.
*/
directories?: Record<string, RequestDirectoryEntries> | undefined;
/** Symlinks maps link paths to targets in this filesystem or the host filesystem. */
symlinks?: Record<string, RequestSymlink> | undefined;
/**
* RemovedPaths lists files or directory trees that must be treated as missing
* even when present in an underlying snapshot or host filesystem.
*/
removedPaths?: string[] | undefined;
}
/**
* SnapshotChanges describes what changed between a response base and a new
* snapshot. Changes are reported per-project so clients
* can track cache refs at the (snapshot, project) level.
*/
export interface SnapshotChanges {
/**
* ChangedProjects maps project handles to the file changes within that project.
* Projects not listed here (and not in RemovedProjects) are unchanged.
*/
changedProjects?: Record<ProjectId, ProjectFileChanges | null> | undefined;
/**
* RemovedProjects lists project handles that were present in the previous
* snapshot but absent from the new one.
*/
removedProjects?: ProjectId[] | undefined;
}
export interface SnapshotOperationResponse {
createdPrograms?: SyntheticProjectId[] | undefined;
openedFiles?: OpenedFileOperationResult[] | undefined;
}
/**
* LanguageServerSnapshotChanges describes API-driven changes to adopt into the
* language server's canonical state.
*/
export interface LanguageServerSnapshotChanges extends SnapshotRequestChangesParams {
}
export interface BuildOptions {
dry?: boolean | undefined;
force?: boolean | undefined;
verbose?: boolean | undefined;
builders?: number | undefined;
stopBuildOnErrors?: boolean | undefined;
clean?: boolean | undefined;
}
export interface Statistics {
Projects: number;
ProjectsBuilt: number;
TimestampUpdates: number;
}
export interface ModuleResolutionSpec {
fallback: "resolve" | "unresolved";
entries: ModuleResolutionEntry[];
}
export interface ProjectReference {
/** Path is a normalized path on disk. */
path: RootedPath;
/** OriginalPath is the path as it was originally written. */
originalPath?: string | undefined;
/** Circular indicates that this reference is intended to form a circularity. */
circular?: boolean | undefined;
}
export interface TypeAcquisition {
enable?: boolean | undefined;
include?: string[] | undefined;
exclude?: string[] | undefined;
disableFilenameBasedTypeAcquisition?: boolean | undefined;
}
export interface CreateSourceFileOptions {
scriptKind?: ScriptKind | undefined;
}
export interface TranspileOptions {
compilerOptions?: RawCompilerOptions | undefined;
fileName?: string | undefined;
reportDiagnostics?: boolean | undefined;
}
export interface PackageId {
name: string;
subModuleName: string;
version: string;
peerDependencies: string;
}
export interface ImportAdderAction {
kind: "importSymbol";
symbol?: SymbolReference | undefined;
isValidTypeOnlyUseSite?: boolean | undefined;
}
/** CompletionEntryResponse represents a single completion item. */
export interface CompletionEntryResponse {
name: string;
kind?: number | undefined;
sortText?: string | undefined;
insertText?: string | undefined;
filterText?: string | undefined;
detail?: string | undefined;
labelDetails?: CompletionEntryLabelDetailsResponse | undefined;
symbol?: SymbolResponse | undefined;
}
export interface DiagnosticPositionResponse {
line: number;
character: number;
}
export interface DiagnosticSourceLineResponse {
line: number;
text: string;
}
export interface EmitOutputFile {
fileName: RootedFilePath;
text: string;
sourceFileName?: RootedFilePath | undefined;
}
export interface SymbolOwner {
kind: SymbolOwnerKind;
file?: SourceFileDescriptor | undefined;
snapshot?: number | undefined;
project?: number | undefined;
}
export interface CreateSnapshotProgramParams {
rootFiles: readonly DocumentIdentifier[] | null;
compilerOptions: RawCompilerOptions;
options?: CreateProgramOptions | undefined;
}
export interface ReconfigureSnapshotProgramParams {
id: SyntheticProjectId;
rootFiles: readonly DocumentIdentifier[] | null;
compilerOptions: RawCompilerOptions;
options?: CreateProgramOptions | undefined;
}
/**
* RequestDirectoryEntries is a cached directory listing. Entry names are
* relative to the directory, matching vfs.GetAccessibleEntries.
*/
export interface RequestDirectoryEntries {
files: string[];
directories: string[];
}
/** RequestSymlink describes a symbolic link in a request filesystem. */
export interface RequestSymlink {
/**
* Target is resolved relative to the directory containing the link, matching
* native symbolic-link semantics.
*/
target: string;
/**
* Host routes the target through the host filesystem. This is the only way a
* full filesystem can access paths not supplied in the request filesystem.
*/
host?: boolean | undefined;
}
/** ProjectFileChanges describes what source files changed within a single project. */
export interface ProjectFileChanges {
/** ChangedFiles lists source file paths whose content differs. */
changedFiles?: PathKey[] | undefined;
/** DeletedFiles lists source file paths removed from the project's program. */
deletedFiles?: PathKey[] | undefined;
}
export interface OpenedFileOperationResult {
project: ProjectId;
}
export interface ModuleResolutionEntry {
moduleName: string;
containingDirectory?: DocumentIdentifier | undefined;
resolutionMode?: ResolutionMode | undefined;
result: StaticModuleResolution;
}
/** CompletionEntryLabelDetailsResponse holds additional label display text for a completion entry. */
export interface CompletionEntryLabelDetailsResponse {
detail?: string | undefined;
description?: string | undefined;
}
export interface CreateProgramOptions {
projectReferences?: ProjectReference[] | undefined;
configFileParsingDiagnostics?: DiagnosticResponse[] | undefined;
moduleResolver?: number | undefined;
}
export interface StaticModuleResolution {
resolvedFileName?: DocumentIdentifier | undefined;
originalPath?: DocumentIdentifier | undefined;
packageId?: PackageId | undefined;
}
/**
* RawCompilerOptions is the JSON/API representation of compiler options.
* Filesystem paths remain strings until Finalize resolves them against a base
* directory and constructs a CompilerOptions with typed path guarantees.
*/
export interface RawCompilerOptions {
allowJs?: boolean | undefined;
allowArbitraryExtensions?: boolean | undefined;
allowImportingTsExtensions?: boolean | undefined;
allowNonTsExtensions?: boolean | undefined;
allowUmdGlobalAccess?: boolean | undefined;
allowUnreachableCode?: boolean | undefined;
allowUnusedLabels?: boolean | undefined;
assumeChangesOnlyAffectDirectDependencies?: boolean | undefined;
checkJs?: boolean | undefined;
customConditions?: string[] | undefined;
composite?: boolean | undefined;
emitDeclarationOnly?: boolean | undefined;
emitBOM?: boolean | undefined;
emitDecoratorMetadata?: boolean | undefined;
declaration?: boolean | undefined;
declarationDir?: string | undefined;
declarationMap?: boolean | undefined;
deduplicatePackages?: boolean | undefined;
disableSizeLimit?: boolean | undefined;
disableSourceOfProjectReferenceRedirect?: boolean | undefined;
disableSolutionSearching?: boolean | undefined;
disableReferencedProjectLoad?: boolean | undefined;
erasableSyntaxOnly?: boolean | undefined;
exactOptionalPropertyTypes?: boolean | undefined;
experimentalDecorators?: boolean | undefined;
forceConsistentCasingInFileNames?: boolean | undefined;
isolatedModules?: boolean | undefined;
isolatedDeclarations?: boolean | undefined;
ignoreConfig?: boolean | undefined;
ignoreDeprecations?: string | undefined;
importHelpers?: boolean | undefined;
inlineSourceMap?: boolean | undefined;
inlineSources?: boolean | undefined;
init?: boolean | undefined;
incremental?: boolean | undefined;
jsx?: JsxEmit | undefined;
jsxFactory?: string | undefined;
jsxFragmentFactory?: string | undefined;
jsxImportSource?: string | undefined;
lib?: string[] | undefined;
libReplacement?: boolean | undefined;
locale?: string | undefined;
mapRoot?: string | undefined;
module?: ModuleKind | undefined;
moduleResolution?: ModuleResolutionKind | undefined;
moduleSuffixes?: string[] | undefined;
moduleDetection?: ModuleDetectionKind | undefined;
newLine?: NewLineKind | undefined;
noEmit?: boolean | undefined;
noCheck?: boolean | undefined;
noErrorTruncation?: boolean | undefined;
noFallthroughCasesInSwitch?: boolean | undefined;
noImplicitAny?: boolean | undefined;
noImplicitThis?: boolean | undefined;
noImplicitReturns?: boolean | undefined;
noEmitHelpers?: boolean | undefined;
noLib?: boolean | undefined;
noPropertyAccessFromIndexSignature?: boolean | undefined;
noUncheckedIndexedAccess?: boolean | undefined;
noEmitOnError?: boolean | undefined;
noUnusedLocals?: boolean | undefined;
noUnusedParameters?: boolean | undefined;
noResolve?: boolean | undefined;
noImplicitOverride?: boolean | undefined;
noUncheckedSideEffectImports?: boolean | undefined;
outDir?: string | undefined;
paths?: Record<string, string[]> | undefined;
/** Plugins are parsed only so tools can report that native TypeScript does not support them. */
plugins?: PluginImport[] | undefined;
preserveConstEnums?: boolean | undefined;
preserveSymlinks?: boolean | undefined;
project?: string | undefined;
resolveJsonModule?: boolean | undefined;
resolvePackageJsonExports?: boolean | undefined;
resolvePackageJsonImports?: boolean | undefined;
removeComments?: boolean | undefined;
rewriteRelativeImportExtensions?: boolean | undefined;
reactNamespace?: string | undefined;
rootDir?: string | undefined;
rootDirs?: string[] | undefined;
skipLibCheck?: boolean | undefined;
stableTypeOrdering?: boolean | undefined;
strict?: boolean | undefined;
strictBindCallApply?: boolean | undefined;
strictBuiltinIteratorReturn?: boolean | undefined;
strictFunctionTypes?: boolean | undefined;
strictNullChecks?: boolean | undefined;
strictPropertyInitialization?: boolean | undefined;
stripInternal?: boolean | undefined;
skipDefaultLibCheck?: boolean | undefined;
sourceMap?: boolean | undefined;
sourceRoot?: string | undefined;
suppressOutputPathCheck?: boolean | undefined;
target?: ScriptTarget | undefined;
traceResolution?: boolean | undefined;
tsBuildInfoFile?: string | undefined;
typeRoots?: string[] | undefined;
types?: string[] | undefined;
useDefineForClassFields?: boolean | undefined;
useUnknownInCatchVariables?: boolean | undefined;
verbatimModuleSyntax?: boolean | undefined;
maxNodeModuleJsDepth?: number | undefined;
/** @deprecated Do not use outside of options parsing and validation. */
allowSyntheticDefaultImports?: boolean | undefined;
/** @deprecated Do not use outside of options parsing and validation. */
alwaysStrict?: boolean | undefined;
/** @deprecated Do not use outside of options parsing and validation. */
baseUrl?: string | undefined;
/** @deprecated Do not use outside of options parsing and validation. */
downlevelIteration?: boolean | undefined;
/** @deprecated Do not use outside of options parsing and validation. */
esModuleInterop?: boolean | undefined;
/** @deprecated Do not use outside of options parsing and validation. */
outFile?: string | undefined;
configFilePath?: string | undefined;
noDtsResolution?: boolean | undefined;
pathsBasePath?: string | undefined;
diagnostics?: boolean | undefined;
extendedDiagnostics?: boolean | undefined;
generateCpuProfile?: string | undefined;
generateTrace?: string | undefined;
listEmittedFiles?: boolean | undefined;
listFiles?: boolean | undefined;
explainFiles?: boolean | undefined;
listFilesOnly?: boolean | undefined;
noEmitForJsFiles?: boolean | undefined;
preserveWatchOutput?: boolean | undefined;
pretty?: boolean | undefined;
version?: boolean | undefined;
watch?: boolean | undefined;
showConfig?: boolean | undefined;
build?: boolean | undefined;
help?: boolean | undefined;
all?: boolean | undefined;
runExternalCode?: boolean | undefined;
pprofDir?: string | undefined;
singleThreaded?: boolean | undefined;
quiet?: boolean | undefined;
checkers?: number | undefined;
}
//# sourceMappingURL=proto.generated.d.ts.map