UNPKG

mercurius-integration-testing

Version:

[![npm version](https://badge.fury.io/js/mercurius-integration-testing.svg)](https://badge.fury.io/js/mercurius-integration-testing) [![codecov](https://codecov.io/gh/PabloSzx/mercurius-integration-testing/branch/master/graph/badge.svg)](https://codecov.i

63 lines (62 loc) 2.21 kB
import WebSocket from 'ws'; import type { IncomingHttpHeaders } from 'http'; type Operation = { started: boolean; options: { query: string; variables: Record<string, unknown>; operationName: string | undefined | null; }; handler: (data: unknown) => Promise<void>; extensions?: { type: string; payload: unknown; }[]; }; export declare class SubscriptionClient { subscriptionQueryMap: Record<string, string>; socket: WebSocket | null; protocols: string[]; headers: IncomingHttpHeaders; uri: string; operationId: number; ready: boolean; operations: Map<string, Operation>; operationsCount: Record<string | number, number>; tryReconnect: boolean; maxReconnectAttempts: number; serviceName?: string; reconnectAttempts: number; connectionCallback?: Function; failedConnectionCallback?: Function; failedReconnectCallback?: Function; connectionInitPayload?: unknown; closedByUser?: boolean; reconnecting?: boolean; reconnectTimeoutId?: NodeJS.Timeout; constructor(uri: string, config: { protocols?: []; reconnect?: boolean; maxReconnectAttempts?: number; serviceName?: string; connectionCallback?: Function; failedConnectionCallback?: Function; failedReconnectCallback?: Function; connectionInitPayload?: object; headers?: IncomingHttpHeaders; }); connect(): void; close(tryReconnect?: boolean, closedByUser?: boolean): void; getReconnectDelay(): number; reconnect(): any; unsubscribe(operationId: string | number, forceUnsubscribe?: boolean): void; unsubscribeAll(): void; sendMessage(operationId: number | string | null, type: string, payload?: unknown, extensions?: unknown): Promise<void>; handleMessage(message: string): Promise<void>; startOperation(operationId: string): Promise<void>; createSubscription(query: string, variables: Record<string, unknown>, publish: (args: { topic: string; payload: any; }) => void | Promise<void>, operationName?: string | null, connectionInit?: Record<string, any>): Promise<void>; } export {};