import type {IframeResponseEventMap} from "../../Api/Events/IframeEvent"; import type {IframeCallback} from "../../Api/iframe/IframeApiContribution"; import type {IframeCallbackContribution} from "../../Api/iframe/IframeApiContribution"; export const registeredCallbacks: { [K in keyof IframeResponseEventMap]?: IframeCallback } = {} export function apiCallback(callbackData: IframeCallbackContribution): IframeCallbackContribution { const iframeCallback = { typeChecker: callbackData.typeChecker, callback: callbackData.callback } as IframeCallback; const newCallback = { [callbackData.type]: iframeCallback }; Object.assign(registeredCallbacks, newCallback) return callbackData as unknown as IframeCallbackContribution; }