@@ -10,11 +10,9 @@ import {
1010import type {
1111 JsonRpcEngineEndCallback ,
1212 JsonRpcEngineNextCallback ,
13- } from './JsonRpcEngine' ;
14- import {
1513 JsonRpcEngine ,
16- type JsonRpcMiddleware as LegacyMiddleware ,
1714} from './JsonRpcEngine' ;
15+ import { type JsonRpcMiddleware as LegacyMiddleware } from './JsonRpcEngine' ;
1816import { mergeMiddleware } from './mergeMiddleware' ;
1917import {
2018 deepClone ,
@@ -32,57 +30,49 @@ import type {
3230} from './v2/JsonRpcEngineV2' ;
3331
3432/**
35- * Convert a legacy {@link JsonRpcEngine} or an array of legacy middlewares into a {@link JsonRpcEngineV2} middleware.
33+ * Convert a legacy {@link JsonRpcEngine} into a {@link JsonRpcEngineV2} middleware.
3634 *
37- * @param engineOrMiddlewares - The legacy engine or array of legacy middlewares to convert.
35+ * @param engine - The legacy engine to convert.
3836 * @returns The {@link JsonRpcEngineV2} middleware.
3937 */
4038export function asV2Middleware <
4139 Params extends JsonRpcParams ,
4240 Request extends JsonRpcRequest < Params > ,
43- > (
44- engineOrMiddlewares : JsonRpcEngine | LegacyMiddleware < JsonRpcParams , Json > [ ] ,
45- ) : JsonRpcMiddleware < Request > ;
41+ > ( engine : JsonRpcEngine ) : JsonRpcMiddleware < Request > ;
4642
4743/**
48- * Convert one or more legacy middlewares into a {@link JsonRpcEngineV2} middleware.
44+ * Convert one or more legacy middleware into a {@link JsonRpcEngineV2} middleware.
4945 *
50- * @param middlewares - The legacy middleware(s) to convert.
46+ * @param middleware - The legacy middleware(s) to convert.
5147 * @returns The {@link JsonRpcEngineV2} middleware.
5248 */
5349export function asV2Middleware <
5450 Params extends JsonRpcParams ,
5551 Request extends JsonRpcRequest < Params > ,
5652> (
57- ...middlewares : LegacyMiddleware < JsonRpcParams , Json > [ ]
53+ ...middleware : LegacyMiddleware < JsonRpcParams , Json > [ ]
5854) : JsonRpcMiddleware < Request > ;
5955
6056/**
6157 * Implementation of asV2Middleware that handles all input types.
6258 *
63- * @param engineOrMiddleware - A legacy engine, a single legacy middleware, or an array of legacy middlewares .
64- * @param rest - Additional legacy middlewares when the first argument is a single middleware.
59+ * @param engineOrMiddleware - A legacy engine, a single legacy middleware, or an array of legacy middleware .
60+ * @param rest - Additional legacy middleware when the first argument is a single middleware.
6561 * @returns The {@link JsonRpcEngineV2} middleware.
6662 */
6763export function asV2Middleware <
6864 Params extends JsonRpcParams ,
6965 Request extends JsonRpcRequest < Params > ,
7066> (
71- engineOrMiddleware :
72- | JsonRpcEngine
73- | LegacyMiddleware < JsonRpcParams , Json >
74- | LegacyMiddleware < JsonRpcParams , Json > [ ] ,
67+ engineOrMiddleware : JsonRpcEngine | LegacyMiddleware < JsonRpcParams , Json > ,
7568 ...rest : LegacyMiddleware < JsonRpcParams , Json > [ ]
7669) : JsonRpcMiddleware < Request > {
7770 // Determine the legacy middleware function from input(s)
7871 const middleware =
79- engineOrMiddleware instanceof JsonRpcEngine
80- ? engineOrMiddleware . asMiddleware ( )
81- : mergeMiddleware (
82- Array . isArray ( engineOrMiddleware )
83- ? engineOrMiddleware
84- : [ engineOrMiddleware , ...rest ] ,
85- ) ;
72+ typeof engineOrMiddleware === 'function'
73+ ? mergeMiddleware ( [ engineOrMiddleware , ...rest ] )
74+ : engineOrMiddleware . asMiddleware ( ) ;
75+
8676 return async ( { request, context, next } ) => {
8777 const req = deepClone ( request ) as JsonRpcRequest < Params > ;
8878 propagateToRequest ( req , context ) ;
0 commit comments