UNPKG

pusher-js-mock

Version:

Mock Pusher.js in your JavaScript tests with ease

42 lines (41 loc) 1.42 kB
/** Interface for all the callbacks each Pusher event could potentially have */ interface ICallbacks { [key: string]: Array<() => void>; } /** Class representing a fake Pusher channel. */ declare class PusherChannelMock { name: string; callbacks: ICallbacks; subscribed: boolean; /** Initialize PusherChannelMock with callbacks object. */ constructor(name?: string); /** * Bind callback to an event name. * @param {String} name - name of the event. * @param {Function} callback - callback to be called on event. */ bind(name: string, callback: () => void): this; /** * Unbind callback from an event name. * @param {String} name - name of the event. * @param {Function} callback - callback to be called on event. */ unbind(name: string, callback: () => void): this; /** * Unbind callbacks from all the events. */ unbind_all(): this; /** * Emit event with data. * @param {String} name - name of the event. * @param {*} data - data you want to pass in to callback function that gets called. */ emit(name: string, data?: any): this; /** * Trigger event with data. * @param {String} name - name of the event. * @param {*} data - data you want to pass in to callback function that gets called. */ trigger(name: string, data?: any): void; } export default PusherChannelMock;