UNPKG

graphql-language-service-server

Version:
74 lines 4.82 kB
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