1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/app/scripts/lib/createOnboardingMiddleware.js
Mark Stacey 3732c5f71e
Add JSDoc ESLint rules (#12112)
ESLint rules have been added to enforce our JSDoc conventions. These
rules were introduced by updating `@metamask/eslint-config` to v9.

Some of the rules have been disabled because the effort to fix all lint
errors was too high. It might be easiest to enable these rules one
directory at a time, or one rule at a time.

Most of the changes in this PR were a result of running
`yarn lint:fix`. There were a handful of manual changes that seemed
obvious and simple to make. Anything beyond that and the rule was left
disabled.
2022-01-07 12:27:33 -03:30

34 lines
946 B
JavaScript

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