@test-org122/utils
Version:
Utilities used by Hypernet Labs packages
31 lines • 1.12 kB
TypeScript
import Postmate from "postmate";
import { ResultAsync } from "neverthrow";
import { ProxyError } from "./errors";
interface IIFrameCallData<T> {
callId: number;
data: T;
}
declare class IFrameCall<T, E> {
callData: IIFrameCallData<any>;
protected promise: Promise<T>;
protected resolveFunc: ((result: T) => void) | null;
protected rejectFunc: ((error: E) => void) | null;
constructor(callData: IIFrameCallData<any>);
resolve(result: T): void;
reject(error: E): void;
getResult(): ResultAsync<T, E>;
}
export declare abstract class ParentProxy {
protected handshake: Postmate;
protected child: Postmate.ParentAPI | null;
protected callId: number;
protected calls: IFrameCall<any, any>[];
protected active: boolean;
constructor(element: HTMLElement | null, iframeUrl: string);
protected activateResult: ResultAsync<void, Error> | undefined;
activate(): ResultAsync<void, Error>;
destroy(): void;
protected _createCall<T, E>(callName: string, data: any): ResultAsync<T, E | ProxyError>;
}
export {};
//# sourceMappingURL=ParentProxy.d.ts.map