graphql-language-service-server
Version:
Server process backing the GraphQL Language Service
74 lines • 4.82 kB
TypeScript
import { CachedContent, Uri, GraphQLConfig, GraphQLProjectConfig, GraphQLLanguageService } from 'graphql-language-service';
import type { CompletionParams, VersionedTextDocumentIdentifier, DidSaveTextDocumentParams, DidOpenTextDocumentParams, DidChangeConfigurationParams } from 'vscode-languageserver-protocol';
import type { CompletionItem, CompletionList, CancellationToken, Hover, InitializeResult, Location, PublishDiagnosticsParams, DidChangeTextDocumentParams, DidCloseTextDocumentParams, DidChangeWatchedFilesParams, InitializeParams, TextDocumentPositionParams, DocumentSymbolParams, SymbolInformation, WorkspaceSymbolParams, IConnection, DidChangeConfigurationRegistrationOptions } from 'vscode-languageserver';
import type { UnnormalizedTypeDefPointer } from '@graphql-tools/load';
import { GraphQLCache } from './GraphQLCache';
import { parseDocument } from './parseDocument';
import { Logger } from './Logger';
import { GraphQLExtensionDeclaration } from 'graphql-config';
import type { LoadConfigOptions } from './types';
declare type CachedDocumentType = {
version: number;
contents: CachedContent[];
};
export declare class MessageProcessor {
_connection: IConnection;
_graphQLCache: GraphQLCache;
_graphQLConfig: GraphQLConfig | undefined;
_languageService: GraphQLLanguageService;
_textDocumentCache: Map<string, CachedDocumentType>;
_isInitialized: boolean;
_willShutdown: boolean;
_logger: Logger;
_extensions?: GraphQLExtensionDeclaration[];
_parser: (text: string, uri: string) => CachedContent[];
_tmpDir: string;
_tmpUriBase: string;
_tmpDirBase: string;
_loadConfigOptions: LoadConfigOptions;
_schemaCacheInit: boolean;
_rootPath: string;
_settings: any;
constructor({ logger, fileExtensions, graphqlFileExtensions, loadConfigOptions, config, parser, tmpDir, connection, }: {
logger: Logger;
fileExtensions: string[];
graphqlFileExtensions: string[];
loadConfigOptions: LoadConfigOptions;
config?: GraphQLConfig;
parser?: typeof parseDocument;
tmpDir?: string;
connection: IConnection;
});
get connection(): IConnection;
set connection(connection: IConnection);
handleInitializeRequest(params: InitializeParams, _token?: CancellationToken, configDir?: string): Promise<InitializeResult>;
_updateGraphQLConfig(): Promise<void>;
handleDidOpenOrSaveNotification(params: DidSaveTextDocumentParams | DidOpenTextDocumentParams): Promise<PublishDiagnosticsParams | null>;
handleDidChangeNotification(params: DidChangeTextDocumentParams): Promise<PublishDiagnosticsParams | null>;
handleDidChangeConfiguration(_params?: DidChangeConfigurationParams): Promise<DidChangeConfigurationRegistrationOptions>;
handleDidCloseNotification(params: DidCloseTextDocumentParams): void;
handleShutdownRequest(): void;
handleExitNotification(): void;
validateDocumentAndPosition(params: CompletionParams): void;
handleCompletionRequest(params: CompletionParams): Promise<CompletionList | Array<CompletionItem>>;
handleHoverRequest(params: TextDocumentPositionParams): Promise<Hover>;
handleWatchedFilesChangedNotification(params: DidChangeWatchedFilesParams): Promise<Array<PublishDiagnosticsParams | undefined> | null>;
handleDefinitionRequest(params: TextDocumentPositionParams, _token?: CancellationToken): Promise<Array<Location>>;
handleDocumentSymbolRequest(params: DocumentSymbolParams): Promise<Array<SymbolInformation>>;
handleWorkspaceSymbolRequest(params: WorkspaceSymbolParams): Promise<Array<SymbolInformation>>;
_getTextDocuments(): [string, CachedDocumentType][];
_cacheSchemaText(uri: string, text: string, version: number): Promise<void>;
_cacheSchemaFile(uri: UnnormalizedTypeDefPointer, project: GraphQLProjectConfig): Promise<void>;
_getTmpProjectPath(project: GraphQLProjectConfig, prependWithProtocol?: boolean, appendPath?: string): string;
_cacheSchemaFilesForProject(project: GraphQLProjectConfig): Promise<void>;
_cacheConfigSchema(project: GraphQLProjectConfig): Promise<void>;
_cacheDocumentFilesforProject(project: GraphQLProjectConfig): Promise<void[] | undefined>;
_cacheAllProjectFiles(config: GraphQLConfig): Promise<void[] | undefined>;
_isRelayCompatMode(query: string): boolean;
_updateFragmentDefinition(uri: Uri, contents: CachedContent[]): Promise<void>;
_updateObjectTypeDefinition(uri: Uri, contents: CachedContent[]): Promise<void>;
_getCachedDocument(uri: string): CachedDocumentType | null;
_invalidateCache(textDocument: VersionedTextDocumentIdentifier, uri: Uri, contents: CachedContent[]): Promise<Map<string, CachedDocumentType> | null>;
}
export {};
//# sourceMappingURL=MessageProcessor.d.ts.map