@dicy/client
Version:
JSON-RPC client for DiCy.
23 lines (22 loc) • 1.15 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import * as rpc from 'vscode-jsonrpc';
import { BuilderInterface, BuilderCacheInterface, Command, OptionsSource, Uri } from '@dicy/types';
export default class Client extends EventEmitter implements BuilderCacheInterface {
constructor(autoStart?: boolean);
createTransport(): [rpc.MessageReader, rpc.MessageWriter];
start(): Promise<void>;
exit(): void;
destroy(): Promise<void>;
get(file: Uri): Promise<BuilderInterface>;
getTargets(file: Uri): Promise<string[]>;
clear(file: Uri): Promise<void>;
clearAll(): Promise<void>;
kill(file: Uri, message?: string): Promise<void>;
killAll(message?: string): Promise<void>;
setInstanceOptions(file: Uri, options: OptionsSource, merge?: boolean): Promise<void>;
setUserOptions(file: Uri, options: OptionsSource, merge?: boolean): Promise<void>;
setDirectoryOptions(file: Uri, options: OptionsSource, merge?: boolean): Promise<void>;
setProjectOptions(file: Uri, options: OptionsSource, merge?: boolean): Promise<void>;
run(file: Uri, commands: Command[]): Promise<boolean>;
}