@sprucelabs/mercury-client
Version:
The simple way to interact with the Spruce Experience Platform
27 lines (26 loc) • 1.34 kB
TypeScript
import { EventContract, SkillEventContract } from '@sprucelabs/mercury-types';
import { ConnectionOptions, MercuryClient } from '../types/client.types';
import MutableContractClient from './MutableContractClient';
export default class MercuryClientFactory {
private static isTestMode;
private static defaultContract;
private static timeoutMs;
private static totalClients;
private static clients;
static ClientClass: new (...args: any[]) => MutableContractClient<EventContract>;
static Client<Contract extends SkillEventContract = SkillEventContract>(connectionOptions?: ConnectionOptions): Promise<Client<Contract>>;
static isInTestMode(): boolean;
static setIsTestMode(isTestMode: boolean): void;
static setDefaultContract(contract: EventContract): void;
static hasDefaultContract(): boolean;
static clearDefaultContract(): void;
private static resetTestClient;
static setDefaultTimeoutMs(ms: number): void;
static getTotalClients(): number;
static reset(): void;
static getClients(): Client<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.EventContract>[];
}
export type Client<Contract extends EventContract> = MercuryClient<Contract> & {
doesHandleEvent(eventName: string): boolean;
mixinContract(eventContract: EventContract): void;
};