@metamask/json-rpc-engine
Version:
A tool for processing JSON-RPC messages
30 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createScaffoldMiddleware = void 0;
/**
* Creates a middleware function from an object of RPC method handler functions,
* keyed to particular method names. If a method corresponding to a key of this
* object is requested, this middleware will pass it to the corresponding
* handler and return the result.
*
* @param handlers - The RPC method handler functions.
* @returns The scaffold middleware function.
*/
function createScaffoldMiddleware(handlers) {
return (req, res, next, end) => {
const handler = handlers[req.method];
// if no handler, return
if (handler === undefined) {
return next();
}
// if handler is fn, call as middleware
if (typeof handler === 'function') {
return handler(req, res, next, end);
}
// if handler is some other value, use as result
res.result = handler;
return end();
};
}
exports.createScaffoldMiddleware = createScaffoldMiddleware;
//# sourceMappingURL=createScaffoldMiddleware.cjs.map