UNPKG

@becomes/cms-cloud-client

Version:

SDK for accessing BCMS Cloud API

41 lines (40 loc) 1.19 kB
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; }