UNPKG

flat-embed

Version:

Interact and get events from Flat's Sheet Music Embed

49 lines (48 loc) 1.88 kB
import { default as Embed } from '../embed'; import { EmbedMessageReceived, EmbedMessageReceivedEvent, EmbedMessageReceivedMethod } from '../types'; import { EmbedEventName } from '../types/events'; declare class EmbedCallback { embed: Embed; promises: Partial<Record<string, { resolve: (value: unknown) => void; reject: (reason?: unknown) => void; }[]>>; eventCallbacks: Partial<Record<EmbedEventName, ((parameters: unknown) => void)[]>>; constructor(embed: Embed); pushCall(name: string, resolve: (value: unknown) => void, reject: (reason?: unknown) => void): void; /** * Register a callback for a specified event * * @param event The name of the event. * @param callback The function to call when receiving an event * @return `true` if it is the first subscriber, `false otherwise` */ subscribeEvent(event: EmbedEventName, callback: (parameters: unknown) => void): boolean; /** * Unregister a callback for a specified event * * @param event The name of the event. * @param callback The function to call when receiving an event * @return `true` if it is the last subscriber, `false otherwise` */ unsubscribeEvent(event: EmbedEventName, callback?: (parameters: unknown) => void): boolean; /** * Process a message received from postMessage * * @param {object} data The data received from postMessage */ process(data: EmbedMessageReceived): void; /** * Process a method response * * @param {object} data The data received from postMessage */ processMethodResponse(data: EmbedMessageReceivedMethod): void; /** * Process a receieved event * * @param {object} data The data received from postMessage */ processEvent(data: EmbedMessageReceivedEvent): void; } export default EmbedCallback;