UNPKG

@codingame/monaco-vscode-extensions-service-override

Version:

VSCode public API plugged on the monaco editor - extensions service-override

35 lines (34 loc) 1.84 kB
import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer"; import { Emitter, Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ISocket, SocketCloseEvent, SocketDiagnosticsEventType } from "@codingame/monaco-vscode-api/vscode/vs/base/parts/ipc/common/ipc.net"; export declare const makeRawSocketHeaders: (path: string, query: string, deubgLabel: string) => string; export declare const socketRawEndHeaderSequence: VSBuffer; export interface RemoteSocketHalf { onData: Emitter<VSBuffer>; onClose: Emitter<SocketCloseEvent>; onEnd: Emitter<void>; } /** Should be called immediately after making a ManagedSocket to make it ready for data flow. */ export declare function connectManagedSocket<T extends ManagedSocket>(socket: T, path: string, query: string, debugLabel: string, half: RemoteSocketHalf): Promise<T>; export declare abstract class ManagedSocket extends Disposable implements ISocket { private readonly debugLabel; private readonly pausableDataEmitter; onData: Event<VSBuffer>; onClose: Event<SocketCloseEvent>; onEnd: Event<void>; private readonly didDisposeEmitter; onDidDispose: Event<void>; private ended; protected constructor(debugLabel: string, half: RemoteSocketHalf); /** Pauses data events until a new listener comes in onData() */ pauseData(): void; /** Flushes data to the socket. */ drain(): Promise<void>; /** Ends the remote socket. */ end(): void; abstract write(buffer: VSBuffer): void; protected abstract closeRemote(): void; traceSocketEvent(type: SocketDiagnosticsEventType, data?: VSBuffer | Uint8Array | ArrayBuffer | ArrayBufferView | unknown): void; dispose(): void; }