@becomes/cms-cloud-client
Version:
SDK for accessing BCMS Cloud API
41 lines (40 loc) • 1.19 kB
TypeScript
import type { SocketEventData } from '../../b-types/socket';
import type { BCMSCloudSdk } from '../main';
export declare enum SocketEventName {
ORG = "ORG",
INSTANCE = "INSTANCE",
USER = "USER",
REFRESH = "REFRESH",
INVITATION = "INVITATION",
CHECKOUT_COMPLETE = "CHECKOUT_COMPLETE",
INSTANCE_LOG = "INSTANCE_LOG",
INSTANCE_STATS = "INSTANCE_STATS",
INSTANCE_FJE = "INSTANCE_FJE",
INSTANCE_AF = "INSTANCE_AF",
FEATURE = "FEATURE",
LIMIT = "LIMIT",
REDIRECT = "REDIRECT"
}
export interface SocketEvent {
name: SocketEventName;
data: SocketEventData;
}
export interface SocketSubscriptionCallback {
(event: SocketEvent): Promise<void>;
}
export declare class SocketHandler {
sdk: BCMSCloudSdk;
private path;
private isConnected;
private socket;
private subs;
constructor(sdk: BCMSCloudSdk, path: string);
private triggerSubs;
private initSocket;
id(): string | null;
connect(): Promise<void>;
connected(): boolean;
disconnect(): void;
emit(event: string, data: unknown): void;
subscribe(event: SocketEventName | 'ANY', callback: SocketSubscriptionCallback): () => void;
}