@codesandbox/sdk
Version:
The CodeSandbox SDK
32 lines (31 loc) • 1.23 kB
TypeScript
import { PitcherResponseStatus } from "../pitcher-protocol";
import type { PitcherRequest, PitcherResponse, PitcherErrorCode } from "../pitcher-protocol";
import { Disposable } from "../utils/disposable";
export declare class PitcherMessageError extends Error {
code: number;
constructor(message: string, code: number);
static match(error: any): error is PitcherMessageError;
static matchCode(error: any, code: PitcherErrorCode): error is PitcherMessageError;
}
export declare class PendingPitcherMessage<T extends PitcherRequest, R extends PitcherResponse = PitcherResponse> extends Disposable {
id: number;
message: Uint8Array;
promise: Promise<R extends {
method: T["method"];
} ? R : never>;
method: PitcherRequest["method"];
private timeoutRef?;
private _hasResolved;
private _resolve?;
private _reject?;
constructor(id: number, request: T, timeoutMs?: number);
resolve(response: R extends {
method: T["method"];
} ? R : never): void;
reject(error: Error): void;
unwrap(): R extends {
method: T["method"];
status: PitcherResponseStatus.RESOLVED;
} ? Promise<R["result"]> : never;
dispose(message?: string): void;
}