@theia/core
Version:
Theia is a cloud & desktop IDE framework implemented in TypeScript.
27 lines • 1.52 kB
TypeScript
import { Event, RpcProxy, Channel, RpcProxyFactory } from '../../common';
import { ServiceConnectionProvider } from '../../browser/messaging/service-connection-provider';
import { ILogger } from '../../common/logger';
import { ConnectionSource } from '../../browser/messaging/connection-source';
export declare class FrontendOnlyConnectionSource implements ConnectionSource {
onConnectionDidOpen: Event<Channel>;
}
/**
* Proxy factory for services without a frontend-only implementation. There is no backend,
* so no channel will ever open and requests would otherwise be queued forever, blocking
* any caller that awaits the result, e.g. during application startup.
* Instead, requests fail immediately and notifications (fire-and-forget) resolve silently.
*/
export declare class FrontendOnlyRpcProxyFactory<T extends object> extends RpcProxyFactory<T> {
protected readonly path: string;
constructor(path: string, target?: object);
get(target: T, p: PropertyKey, receiver: unknown): unknown;
}
export declare class FrontendOnlyServiceConnectionProvider extends ServiceConnectionProvider {
protected readonly logger: ILogger;
onSocketDidOpen: Event<any>;
onSocketDidClose: Event<any>;
onIncomingMessageActivity: Event<any>;
createProxy<T extends object>(path: string, target?: object): RpcProxy<T>;
listen(path: string, handler: ServiceConnectionProvider.ConnectionHandler, reconnect: boolean): void;
}
//# sourceMappingURL=frontend-only-service-connection-provider.d.ts.map