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; }