Skip to content

Commit 1acb896

Browse files
committed
refactor: Tweak asV2Middleware signatures
1 parent 3837098 commit 1acb896

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

packages/json-rpc-engine/src/asV2Middleware.ts

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@ import {
1010
import 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';
1816
import { mergeMiddleware } from './mergeMiddleware';
1917
import {
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
*/
4038
export 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
*/
5349
export 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
*/
6763
export 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

Comments
 (0)