UNPKG

graphql-language-service-server

Version:
86 lines 4.49 kB
import { GraphQLConfig, GraphQLProjectConfig } from 'graphql-language-service'; import type { CompletionParams, DidSaveTextDocumentParams, DidOpenTextDocumentParams, DidChangeConfigurationParams, Diagnostic, CompletionList, CancellationToken, Hover, InitializeResult, Location, PublishDiagnosticsParams, DidChangeTextDocumentParams, DidCloseTextDocumentParams, DidChangeWatchedFilesParams, InitializeParams, Range as RangeType, TextDocumentPositionParams, DocumentSymbolParams, SymbolInformation, WorkspaceSymbolParams, Connection, DidChangeConfigurationRegistrationOptions } from 'vscode-languageserver/node'; import { parseDocument } from './parseDocument'; import type { LoadConfigOptions, LocateCommand } from './types'; import { SupportedExtensionsEnum } from './constants'; import { NoopLogger, Logger } from './Logger'; import { DefinitionQueryResponse } from 'graphql-language-service/src/interface'; export declare class MessageProcessor { private _connection; private _graphQLCache; private _languageService; private _textDocumentCache; private _isInitialized; private _isGraphQLConfigMissing; private _willShutdown; private _logger; private _parser; private _tmpDir; private _tmpDirBase; private _loadConfigOptions; private _rootPath; private _settings; private _providedConfig?; constructor({ logger, fileExtensions, graphqlFileExtensions, loadConfigOptions, config, parser, tmpDir, connection, }: { logger: Logger | NoopLogger; fileExtensions: ReadonlyArray<SupportedExtensionsEnum>; graphqlFileExtensions: string[]; loadConfigOptions: LoadConfigOptions; config?: GraphQLConfig; parser?: typeof parseDocument; tmpDir?: string; connection: Connection; }); get connection(): Connection; set connection(connection: Connection); handleInitializeRequest(params: InitializeParams, _token?: CancellationToken, configDir?: string): Promise<InitializeResult>; _initializeGraphQLCaches(): Promise<void>; private _handleConfigError; private _logConfigError; private _isGraphQLConfigFile; private _loadConfigOrSkip; handleDidOpenOrSaveNotification(params: DidSaveTextDocumentParams | DidOpenTextDocumentParams): Promise<PublishDiagnosticsParams>; handleDidChangeNotification(params: DidChangeTextDocumentParams): Promise<PublishDiagnosticsParams | null>; handleDidChangeConfiguration(_params: DidChangeConfigurationParams): Promise<DidChangeConfigurationRegistrationOptions>; handleDidCloseNotification(params: DidCloseTextDocumentParams): void; handleShutdownRequest(): void; handleExitNotification(): void; private validateDocumentAndPosition; handleCompletionRequest(params: CompletionParams): Promise<CompletionList>; handleHoverRequest(params: TextDocumentPositionParams): Promise<Hover>; private _parseAndCacheFile; handleWatchedFilesChangedNotification(params: DidChangeWatchedFilesParams): Promise<Array<PublishDiagnosticsParams | undefined> | null>; handleDefinitionRequest(params: TextDocumentPositionParams, _token?: CancellationToken): Promise<Array<Location>>; _getCustomLocateResult(project: GraphQLProjectConfig, result: DefinitionQueryResponse, locateCommand: LocateCommand): { range: { start: { line: number; character: number; }; end: { line: number; character: number; }; }; uri: string; } | null; handleDocumentSymbolRequest(params: DocumentSymbolParams): Promise<Array<SymbolInformation>>; handleWorkspaceSymbolRequest(params: WorkspaceSymbolParams): Promise<Array<SymbolInformation>>; private _getTextDocuments; private _cacheSchemaText; private _cacheSchemaFile; private _getTmpProjectPath; private getCachedSchemaSettings; private _cacheSchemaFilesForProject; private cacheConfigSchemaFile; private _cacheDocumentFilesforProject; private _cacheAllProjectFiles; _isRelayCompatMode(query: string): boolean; private _updateFragmentDefinition; private _updateSchemaIfChanged; private _updateObjectTypeDefinition; private _getCachedDocument; private _invalidateCache; } export declare function processDiagnosticsMessage(results: Diagnostic[], query: string, range: RangeType | null): Diagnostic[]; //# sourceMappingURL=MessageProcessor.d.ts.map