vscode-jsonrpc
Version:
A json rpc implementation over streams
32 lines (31 loc) • 1.12 kB
TypeScript
import { ChildProcess } from 'child_process';
import { Message } from './messages';
import { Event } from './events';
export interface MessageWriter {
onError: Event<[Error, Message, number]>;
onClose: Event<void>;
write(msg: Message): void;
}
export declare abstract class AbstractMessageWriter {
private errorEmitter;
private closeEmitter;
constructor();
onError: Event<[Error, Message, number]>;
protected fireError(error: any, message?: Message, count?: number): void;
onClose: Event<void>;
protected fireClose(): void;
private asError(error);
}
export declare class StreamMessageWriter extends AbstractMessageWriter implements MessageWriter {
private writable;
private encoding;
private errorCount;
constructor(writable: NodeJS.WritableStream, encoding?: string);
write(msg: Message): void;
}
export declare class IPCMessageWriter extends AbstractMessageWriter implements MessageWriter {
private process;
private errorCount;
constructor(process: NodeJS.Process | ChildProcess);
write(msg: Message): void;
}