UNPKG

@sprucelabs/mercury-client

Version:

The simple way to interact with the Spruce Experience Platform

27 lines (26 loc) 1.34 kB
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; };