Skip to content
This repository was archived by the owner on Mar 16, 2025. It is now read-only.

Commit 66b0f6f

Browse files
committed
Upgrade deps
1 parent 08ff431 commit 66b0f6f

4 files changed

Lines changed: 42 additions & 52 deletions

File tree

package.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,29 +37,29 @@
3737
"node": ">=12"
3838
},
3939
"devDependencies": {
40-
"@jest/globals": "^28.1.3",
41-
"@run-z/eslint-config": "^3.1.1",
40+
"@jest/globals": "^29.0.1",
41+
"@run-z/eslint-config": "^3.2.0",
4242
"@run-z/rollup-helpers": "^2.0.0",
43-
"@types/node": "^16.11.48",
44-
"@typescript-eslint/eslint-plugin": "^5.33.0",
45-
"@typescript-eslint/parser": "^5.33.0",
46-
"eslint": "^8.22.0",
47-
"eslint-plugin-jest": "^26.8.2",
43+
"@types/node": "^16.11.56",
44+
"@typescript-eslint/eslint-plugin": "^5.36.1",
45+
"@typescript-eslint/parser": "^5.36.1",
46+
"eslint": "^8.23.0",
47+
"eslint-plugin-jest": "^27.0.1",
4848
"gh-pages": "^4.0.0",
49-
"jest": "^28.1.3",
50-
"jest-junit": "^14.0.0",
51-
"jest-mock": "^28.1.3",
49+
"jest": "^29.0.1",
50+
"jest-junit": "^14.0.1",
51+
"jest-mock": "^29.0.1",
5252
"prettier": "^2.7.1",
53-
"rollup": "^2.77.3",
54-
"rollup-plugin-flat-dts": "^1.6.1",
53+
"rollup": "^2.79.0",
54+
"rollup-plugin-flat-dts": "^1.7.0",
5555
"rollup-plugin-sourcemaps": "^0.6.3",
56-
"rollup-plugin-typescript2": "^0.32.1",
56+
"rollup-plugin-typescript2": "^0.33.0",
5757
"run-z": "^1.10.0",
5858
"shx": "^0.3.4",
59-
"ts-jest": "^28.0.7",
59+
"ts-jest": "^29.0.0-next.0",
6060
"tslib": "^2.4.0",
61-
"typedoc": "^0.23.10",
62-
"typescript": "^4.7.4"
61+
"typedoc": "^0.23.12",
62+
"typescript": "^4.8.2"
6363
},
6464
"pnpm": {
6565
"peerDependencyRules": {

src/core/request-context.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import type { RequestModification } from './request-modification';
1616
export type RequestContext<TMeans> = TMeans & RequestContext.Agent<TMeans>;
1717

1818
export namespace RequestContext {
19-
2019
/**
2120
* Request processing agent interface.
2221
*
@@ -26,7 +25,6 @@ export namespace RequestContext {
2625
* @typeParam TMeans - A type of request processing means.
2726
*/
2827
export interface Agent<TMeans> {
29-
3028
/**
3129
* Delegates request processing to the next `handler` and optionally modifies processing means by creating a new
3230
* context with the given `modifications` applied. The rest of the properties remain unchanged.
@@ -38,12 +36,10 @@ export namespace RequestContext {
3836
* @returns A promise resolved when request processing finishes. Resolves to `true` when request is responded,
3937
* or to `false` otherwise.
4038
*/
41-
next<TExt = object>(
42-
this: void,
43-
handler: RequestHandler<TMeans & TExt>,
44-
modification?: RequestModification<TMeans, TExt>,
39+
next<TExt extends object = object>(
40+
this: void,
41+
handler: RequestHandler<TMeans & TExt>,
42+
modification?: RequestModification<TMeans, TExt>,
4543
): Promise<boolean>;
46-
4744
}
48-
4945
}

src/core/request-modification.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* @typeParam TMeans - A type of request processing means to modify.
77
* @typeParam TExt - A type of request processing means extension.
88
*/
9-
export type RequestModification<TMeans, TExt = object> = {
9+
export type RequestModification<TMeans, TExt extends object = object> = {
1010
[K in keyof TMeans]?: TMeans[K] | undefined;
1111
} & {
1212
[K in Exclude<keyof TExt, keyof TMeans>]: TExt[K];
@@ -37,6 +37,8 @@ export function requestUpdate<TMeans>(modification: Partial<TMeans>): RequestMod
3737
*
3838
* @returns Request extension cast to {@link RequestModification}.
3939
*/
40-
export function requestExtension<TMeans, TExt>(extension: TExt): RequestModification<TMeans, TExt> {
40+
export function requestExtension<TMeans, TExt extends object>(
41+
extension: TExt,
42+
): RequestModification<TMeans, TExt> {
4143
return extension;
4244
}

src/core/request-processor.ts

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,21 @@ import type { RequestModification } from './request-modification';
1010
* @typeParam TMeans - A type of initial request processing means.
1111
*/
1212
export type RequestProcessor<TMeans> =
13-
/**
14-
* @param means - Initial request processing means.
15-
*
16-
* @returns A promise resolved when request processing finishes. Resolves to `true` when request is responded,
17-
* or to `false` otherwise.
18-
*/
19-
(this: void, means: TMeans) => Promise<boolean>;
20-
13+
/**
14+
* @param means - Initial request processing means.
15+
*
16+
* @returns A promise resolved when request processing finishes. Resolves to `true` when request is responded,
17+
* or to `false` otherwise.
18+
*/
19+
(this: void, means: TMeans) => Promise<boolean>;
2120

2221
export namespace RequestProcessor {
23-
2422
/**
2523
* Request processor configuration.
2624
*
2725
* @typeParam TMeans - A type of initial request processing means.
2826
*/
2927
export interface Config<TMeans> {
30-
3128
/**
3229
* Initial request processing handler.
3330
*
@@ -47,13 +44,11 @@ export namespace RequestProcessor {
4744
* @returns A promise resolved when request processing finishes. Resolves to `true` when request is responded,
4845
* or to `false` otherwise.
4946
*/
50-
next<TExt>(
51-
handler: RequestHandler<TMeans & TExt>,
52-
context: RequestContext<TMeans & TExt>,
47+
next<TExt extends object>(
48+
handler: RequestHandler<TMeans & TExt>,
49+
context: RequestContext<TMeans & TExt>,
5350
): Promise<boolean>;
54-
5551
}
56-
5752
}
5853

5954
/**
@@ -65,13 +60,11 @@ export namespace RequestProcessor {
6560
* @returns New request processor.
6661
*/
6762
export function requestProcessor<TMeans>(
68-
config: RequestProcessor.Config<TMeans>,
63+
config: RequestProcessor.Config<TMeans>,
6964
): RequestProcessor<TMeans> {
70-
7165
const handler = config.handler.bind(config);
7266

7367
return means => {
74-
7568
const context = { ...means } as RequestContext<TMeans>;
7669

7770
context.next = nextHandlerCaller(config, context) as RequestContext<TMeans>['next'];
@@ -83,18 +76,17 @@ export function requestProcessor<TMeans>(
8376
/**
8477
* @internal
8578
*/
86-
function nextHandlerCaller<TBase, TMeans extends TBase, TExt>(
87-
config: RequestProcessor.Config<TBase>,
88-
means: TMeans,
79+
function nextHandlerCaller<TBase, TMeans extends TBase, TExt extends object>(
80+
config: RequestProcessor.Config<TBase>,
81+
means: TMeans,
8982
): (
90-
handler: RequestHandler<TMeans & TExt>,
91-
modification?: RequestModification<TMeans, TExt>,
83+
handler: RequestHandler<TMeans & TExt>,
84+
modification?: RequestModification<TMeans, TExt>,
9285
) => Promise<boolean> {
9386
return async (
94-
handler: RequestHandler<TMeans & TExt>,
95-
modification?: RequestModification<TMeans, TExt>,
87+
handler: RequestHandler<TMeans & TExt>,
88+
modification?: RequestModification<TMeans, TExt>,
9689
): Promise<boolean> => {
97-
9890
let context: RequestContext<TMeans & TExt>;
9991

10092
if (modification) {

0 commit comments

Comments
 (0)