import log from 'loglevel' import extension from 'extensionizer' /** * Returns a middleware that intercepts `wallet_registerOnboarding` messages * @param {{ location: string, registerOnboarding: Function }} opts - The middleware options * @returns {(req: any, res: any, next: Function, end: Function) => void} */ export default function createOnboardingMiddleware ({ location, registerOnboarding }) { return async function originMiddleware (req, res, next, end) { try { if (req.method !== 'wallet_registerOnboarding') { next() return } if (req.tabId && req.tabId !== extension.tabs.TAB_ID_NONE) { await registerOnboarding(location, req.tabId) } else { log.debug(`'wallet_registerOnboarding' message from ${location} ignored due to missing tabId`) } res.result = true end() } catch (error) { end(error) } } }