@forklaunch/express 0.1.32 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.mts +118 -0
- package/lib/index.d.ts +103 -9
- package/lib/index.js +301 -23
- package/lib/index.mjs +270 -0
- package/package.json +13 -10
- package/lib/index.d.ts.map +0 -1
- package/lib/src/expressApplication.d.ts +0 -30
- package/lib/src/expressApplication.d.ts.map +0 -1
- package/lib/src/expressApplication.js +0 -32
- package/lib/src/expressRouter.d.ts +0 -46
- package/lib/src/expressRouter.d.ts.map +0 -1
- package/lib/src/expressRouter.js +0 -92
- package/lib/src/middleware/async.middleware.d.ts +0 -16
- package/lib/src/middleware/async.middleware.d.ts.map +0 -1
- package/lib/src/middleware/async.middleware.js +0 -19
- package/lib/src/middleware/response.middleware.d.ts +0 -15
- package/lib/src/middleware/response.middleware.d.ts.map +0 -1
- package/lib/src/middleware/response.middleware.js +0 -54
- package/lib/src/types/express.types.d.ts +0 -28
- package/lib/src/types/express.types.d.ts.map +0 -1
- package/lib/src/types/express.types.js +0 -1
- package/lib/tests/typebox.forklaunch.express.test.d.ts +0 -2
- package/lib/tests/typebox.forklaunch.express.test.d.ts.map +0 -1
- package/lib/tests/typebox.forklaunch.express.test.js +0 -110
- package/lib/tests/zod.forklaunch.express.test.d.ts +0 -2
- package/lib/tests/zod.forklaunch.express.test.d.ts.map +0 -1
- package/lib/tests/zod.forklaunch.express.test.js +0 -110
- package/lib/vitest.config.d.ts +0 -3
- package/lib/vitest.config.d.ts.map +0 -1
- package/lib/vitest.config.js +0 -7
package/lib/index.mjs
ADDED
@@ -0,0 +1,270 @@
|
|
1
|
+
// src/expressApplication.ts
|
2
|
+
import {
|
3
|
+
ForklaunchExpressLikeApplication,
|
4
|
+
generateSwaggerDocument
|
5
|
+
} from "@forklaunch/core/http";
|
6
|
+
import express from "express";
|
7
|
+
import swaggerUi from "swagger-ui-express";
|
8
|
+
var Application = class extends ForklaunchExpressLikeApplication {
|
9
|
+
/**
|
10
|
+
* Creates an instance of Application.
|
11
|
+
*
|
12
|
+
* @param {SV} schemaValidator - The schema validator.
|
13
|
+
*/
|
14
|
+
constructor(schemaValidator) {
|
15
|
+
super(schemaValidator, express());
|
16
|
+
}
|
17
|
+
listen(...args) {
|
18
|
+
const port = typeof args[0] === "number" ? args[0] : Number(process.env.PORT);
|
19
|
+
this.internal.use(
|
20
|
+
`/api${process.env.VERSION ?? "/v1"}${process.env.SWAGGER_PATH ?? "/swagger"}`,
|
21
|
+
swaggerUi.serve,
|
22
|
+
swaggerUi.setup(
|
23
|
+
generateSwaggerDocument(this.schemaValidator, port, this.routers)
|
24
|
+
)
|
25
|
+
);
|
26
|
+
const errorHandler = (err, _req, res, _next) => {
|
27
|
+
console.error(err);
|
28
|
+
res.locals.errorMessage = err.message;
|
29
|
+
res.status(res.statusCode && res.statusCode >= 400 ? res.statusCode : 500).send(`Internal server error:
|
30
|
+
|
31
|
+
${err.message}`);
|
32
|
+
};
|
33
|
+
this.internal.use(errorHandler);
|
34
|
+
return this.internal.listen(...args);
|
35
|
+
}
|
36
|
+
};
|
37
|
+
|
38
|
+
// src/expressRouter.ts
|
39
|
+
import {
|
40
|
+
ForklaunchExpressLikeRouter
|
41
|
+
} from "@forklaunch/core/http";
|
42
|
+
import express2 from "express";
|
43
|
+
|
44
|
+
// src/middleware/response.middleware.ts
|
45
|
+
import { enrichExpressLikeSend } from "@forklaunch/core/http";
|
46
|
+
function enrichResponseTransmission(req, res, next) {
|
47
|
+
const originalSend = res.send;
|
48
|
+
const originalJson = res.json;
|
49
|
+
const originalSetHeader = res.setHeader;
|
50
|
+
res.json = function(data) {
|
51
|
+
res.bodyData = data;
|
52
|
+
return originalJson.call(this, data);
|
53
|
+
};
|
54
|
+
res.send = function(data) {
|
55
|
+
if (!res.bodyData) {
|
56
|
+
res.bodyData = data;
|
57
|
+
}
|
58
|
+
return enrichExpressLikeSend(this, req, res, originalSend, data, !res.cors);
|
59
|
+
};
|
60
|
+
res.setHeader = function(name, value) {
|
61
|
+
let stringifiedValue;
|
62
|
+
if (Array.isArray(value)) {
|
63
|
+
stringifiedValue = value.map(
|
64
|
+
(v) => typeof v !== "string" ? JSON.stringify(v) : v
|
65
|
+
);
|
66
|
+
} else {
|
67
|
+
stringifiedValue = typeof value !== "string" ? JSON.stringify(value) : value;
|
68
|
+
}
|
69
|
+
return originalSetHeader.call(this, name, stringifiedValue);
|
70
|
+
};
|
71
|
+
next?.();
|
72
|
+
}
|
73
|
+
|
74
|
+
// src/expressRouter.ts
|
75
|
+
var Router = class extends ForklaunchExpressLikeRouter {
|
76
|
+
// implements ForklaunchRouter<SV>
|
77
|
+
/**
|
78
|
+
* Creates an instance of Router.
|
79
|
+
*
|
80
|
+
* @param {string} basePath - The base path for the router.
|
81
|
+
* @param {SV} schemaValidator - The schema validator.
|
82
|
+
*/
|
83
|
+
constructor(basePath, schemaValidator) {
|
84
|
+
super(basePath, schemaValidator, express2.Router());
|
85
|
+
this.basePath = basePath;
|
86
|
+
this.internal.use(express2.json());
|
87
|
+
this.internal.use(enrichResponseTransmission);
|
88
|
+
}
|
89
|
+
route(path) {
|
90
|
+
this.internal.route(path);
|
91
|
+
return this;
|
92
|
+
}
|
93
|
+
param(name, types, handler) {
|
94
|
+
this.internal.param(name, (req, res, next, value, name2) => {
|
95
|
+
handler(
|
96
|
+
req,
|
97
|
+
res,
|
98
|
+
next,
|
99
|
+
value,
|
100
|
+
name2
|
101
|
+
);
|
102
|
+
});
|
103
|
+
return this;
|
104
|
+
}
|
105
|
+
checkout = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
106
|
+
return this.registerMiddlewareHandler(
|
107
|
+
this.internal.checkout,
|
108
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
109
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
110
|
+
...middlewareOrMiddlewareWithTypedHandler
|
111
|
+
);
|
112
|
+
};
|
113
|
+
copy = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
114
|
+
return this.registerMiddlewareHandler(
|
115
|
+
this.internal.copy,
|
116
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
117
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
118
|
+
...middlewareOrMiddlewareWithTypedHandler
|
119
|
+
);
|
120
|
+
};
|
121
|
+
lock = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
122
|
+
return this.registerMiddlewareHandler(
|
123
|
+
this.internal.lock,
|
124
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
125
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
126
|
+
...middlewareOrMiddlewareWithTypedHandler
|
127
|
+
);
|
128
|
+
};
|
129
|
+
merge = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
130
|
+
return this.registerMiddlewareHandler(
|
131
|
+
this.internal.merge,
|
132
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
133
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
134
|
+
...middlewareOrMiddlewareWithTypedHandler
|
135
|
+
);
|
136
|
+
};
|
137
|
+
mkcactivity = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
138
|
+
return this.registerMiddlewareHandler(
|
139
|
+
this.internal.mkactivity,
|
140
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
141
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
142
|
+
...middlewareOrMiddlewareWithTypedHandler
|
143
|
+
);
|
144
|
+
};
|
145
|
+
mkcol = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
146
|
+
return this.registerMiddlewareHandler(
|
147
|
+
this.internal.mkcol,
|
148
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
149
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
150
|
+
...middlewareOrMiddlewareWithTypedHandler
|
151
|
+
);
|
152
|
+
};
|
153
|
+
move = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
154
|
+
return this.registerMiddlewareHandler(
|
155
|
+
this.internal.move,
|
156
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
157
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
158
|
+
...middlewareOrMiddlewareWithTypedHandler
|
159
|
+
);
|
160
|
+
};
|
161
|
+
"m-search" = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
162
|
+
return this.registerMiddlewareHandler(
|
163
|
+
this.internal["m-search"],
|
164
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
165
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
166
|
+
...middlewareOrMiddlewareWithTypedHandler
|
167
|
+
);
|
168
|
+
};
|
169
|
+
notify = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
170
|
+
return this.registerMiddlewareHandler(
|
171
|
+
this.internal.notify,
|
172
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
173
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
174
|
+
...middlewareOrMiddlewareWithTypedHandler
|
175
|
+
);
|
176
|
+
};
|
177
|
+
propfind = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
178
|
+
return this.registerMiddlewareHandler(
|
179
|
+
this.internal.propfind,
|
180
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
181
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
182
|
+
...middlewareOrMiddlewareWithTypedHandler
|
183
|
+
);
|
184
|
+
};
|
185
|
+
proppatch = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
186
|
+
return this.registerMiddlewareHandler(
|
187
|
+
this.internal.proppatch,
|
188
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
189
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
190
|
+
...middlewareOrMiddlewareWithTypedHandler
|
191
|
+
);
|
192
|
+
};
|
193
|
+
purge = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
194
|
+
return this.registerMiddlewareHandler(
|
195
|
+
this.internal.purge,
|
196
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
197
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
198
|
+
...middlewareOrMiddlewareWithTypedHandler
|
199
|
+
);
|
200
|
+
};
|
201
|
+
report = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
202
|
+
return this.registerMiddlewareHandler(
|
203
|
+
this.internal.report,
|
204
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
205
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
206
|
+
...middlewareOrMiddlewareWithTypedHandler
|
207
|
+
);
|
208
|
+
};
|
209
|
+
search = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
210
|
+
return this.registerMiddlewareHandler(
|
211
|
+
this.internal.search,
|
212
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
213
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
214
|
+
...middlewareOrMiddlewareWithTypedHandler
|
215
|
+
);
|
216
|
+
};
|
217
|
+
subscribe = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
218
|
+
return this.registerMiddlewareHandler(
|
219
|
+
this.internal.subscribe,
|
220
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
221
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
222
|
+
...middlewareOrMiddlewareWithTypedHandler
|
223
|
+
);
|
224
|
+
};
|
225
|
+
unlock = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
226
|
+
return this.registerMiddlewareHandler(
|
227
|
+
this.internal.unlock,
|
228
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
229
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
230
|
+
...middlewareOrMiddlewareWithTypedHandler
|
231
|
+
);
|
232
|
+
};
|
233
|
+
unsubscribe = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
234
|
+
return this.registerMiddlewareHandler(
|
235
|
+
this.internal.unsubscribe,
|
236
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
237
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
238
|
+
...middlewareOrMiddlewareWithTypedHandler
|
239
|
+
);
|
240
|
+
};
|
241
|
+
link = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
242
|
+
return this.registerMiddlewareHandler(
|
243
|
+
this.internal.link,
|
244
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
245
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
246
|
+
...middlewareOrMiddlewareWithTypedHandler
|
247
|
+
);
|
248
|
+
};
|
249
|
+
unlink = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
250
|
+
return this.registerMiddlewareHandler(
|
251
|
+
this.internal.unlink,
|
252
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
253
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
254
|
+
...middlewareOrMiddlewareWithTypedHandler
|
255
|
+
);
|
256
|
+
};
|
257
|
+
};
|
258
|
+
|
259
|
+
// index.ts
|
260
|
+
function forklaunchExpress(schemaValidator) {
|
261
|
+
return new Application(schemaValidator);
|
262
|
+
}
|
263
|
+
function forklaunchRouter(basePath, schemaValidator) {
|
264
|
+
const router = new Router(basePath, schemaValidator);
|
265
|
+
return router;
|
266
|
+
}
|
267
|
+
export {
|
268
|
+
forklaunchExpress,
|
269
|
+
forklaunchRouter
|
270
|
+
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@forklaunch/express",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.2.0",
|
4
4
|
"description": "Forklaunch framework for express.",
|
5
5
|
"files": [
|
6
6
|
"lib/**"
|
@@ -19,36 +19,39 @@
|
|
19
19
|
"dependencies": {
|
20
20
|
"@types/express": "^5.0.0",
|
21
21
|
"cors": "^2.8.5",
|
22
|
-
"express": "^4.21.
|
22
|
+
"express": "^4.21.2",
|
23
23
|
"qs": "^6.13.1",
|
24
24
|
"swagger-ui-express": "^5.0.1",
|
25
|
-
"@forklaunch/
|
26
|
-
"@forklaunch/
|
27
|
-
"@forklaunch/
|
25
|
+
"@forklaunch/core": "0.3.0",
|
26
|
+
"@forklaunch/validator": "0.4.0",
|
27
|
+
"@forklaunch/common": "0.2.0"
|
28
28
|
},
|
29
29
|
"devDependencies": {
|
30
|
-
"@eslint/js": "^9.
|
30
|
+
"@eslint/js": "^9.17.0",
|
31
31
|
"@types/cors": "^2.8.17",
|
32
32
|
"@types/jest": "^29.5.14",
|
33
33
|
"@types/qs": "^6.9.17",
|
34
34
|
"@types/swagger-ui-express": "^4.1.7",
|
35
35
|
"jest": "^29.7.0",
|
36
36
|
"kill-port-process": "^3.2.1",
|
37
|
-
"prettier": "^3.4.
|
37
|
+
"prettier": "^3.4.2",
|
38
38
|
"ts-jest": "^29.2.5",
|
39
39
|
"ts-node": "^10.9.2",
|
40
|
-
"
|
41
|
-
"typescript
|
40
|
+
"tsup": "^8.3.5",
|
41
|
+
"typescript": "^5.7.3",
|
42
|
+
"typescript-eslint": "^8.19.1"
|
42
43
|
},
|
43
44
|
"exports": {
|
44
45
|
".": {
|
45
46
|
"types": "./lib/index.d.ts",
|
47
|
+
"import": "./lib/index.mjs",
|
48
|
+
"require": "./lib/index.js",
|
46
49
|
"default": "./lib/index.js"
|
47
50
|
}
|
48
51
|
},
|
49
52
|
"scripts": {
|
50
53
|
"test": "vitest --passWithNoTests",
|
51
|
-
"build": "tsc",
|
54
|
+
"build": "tsc --noEmit && tsup index.ts --format cjs,esm --no-splitting --tsconfig tsconfig.json --outDir lib --dts --clean",
|
52
55
|
"clean": "rm -rf lib pnpm.lock.yaml node_modules",
|
53
56
|
"docs": "typedoc --out docs *",
|
54
57
|
"lint": "eslint . -c eslint.config.mjs",
|
package/lib/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,kBAAkB,EAC7D,eAAe,EAAE,EAAE,mBAGpB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,SAAS,kBAAkB,EAC7B,QAAQ,SAAS,IAAI,MAAM,EAAE,EAC7B,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAG/D;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import { ForklaunchExpressLikeApplication } from '@forklaunch/core/http';
|
2
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
3
|
-
import { Express, RequestHandler } from 'express';
|
4
|
-
import { Server } from 'http';
|
5
|
-
/**
|
6
|
-
* Application class that sets up an Express server with Forklaunch routers and middleware.
|
7
|
-
*
|
8
|
-
* @template SV - A type that extends AnySchemaValidator.
|
9
|
-
*/
|
10
|
-
export declare class Application<SV extends AnySchemaValidator> extends ForklaunchExpressLikeApplication<SV, Express, RequestHandler> {
|
11
|
-
/**
|
12
|
-
* Creates an instance of Application.
|
13
|
-
*
|
14
|
-
* @param {SV} schemaValidator - The schema validator.
|
15
|
-
*/
|
16
|
-
constructor(schemaValidator: SV);
|
17
|
-
/**
|
18
|
-
* Starts the server and sets up Swagger documentation.
|
19
|
-
*
|
20
|
-
* @param {...unknown[]} args - The arguments to pass to the listen method.
|
21
|
-
* @returns {Server} - The HTTP server.
|
22
|
-
*/
|
23
|
-
listen(port: number, hostname: string, backlog: number, callback?: () => void): Server;
|
24
|
-
listen(port: number, hostname: string, callback?: () => void): Server;
|
25
|
-
listen(port: number, callback?: () => void): Server;
|
26
|
-
listen(callback?: () => void): Server;
|
27
|
-
listen(path: string, callback?: () => void): Server;
|
28
|
-
listen(handle: unknown, listeningListener?: () => void): Server;
|
29
|
-
}
|
30
|
-
//# sourceMappingURL=expressApplication.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"expressApplication.d.ts","sourceRoot":"","sources":["../../src/expressApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAEjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAgB,EAAuB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAG9B;;;;GAIG;AACH,qBAAa,WAAW,CACtB,EAAE,SAAS,kBAAkB,CAC7B,SAAQ,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC;IACrE;;;;OAIG;gBACS,eAAe,EAAE,EAAE;IAI/B;;;;;OAKG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,MAAM;IACT,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM;IACrE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM;IACnD,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM;IACrC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM;IACnD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM;CAuBhE"}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import { ForklaunchExpressLikeApplication, generateSwaggerDocument } from '@forklaunch/core/http';
|
2
|
-
import express from 'express';
|
3
|
-
import swaggerUi from 'swagger-ui-express';
|
4
|
-
/**
|
5
|
-
* Application class that sets up an Express server with Forklaunch routers and middleware.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
*/
|
9
|
-
export class Application extends ForklaunchExpressLikeApplication {
|
10
|
-
/**
|
11
|
-
* Creates an instance of Application.
|
12
|
-
*
|
13
|
-
* @param {SV} schemaValidator - The schema validator.
|
14
|
-
*/
|
15
|
-
constructor(schemaValidator) {
|
16
|
-
super(schemaValidator, express());
|
17
|
-
}
|
18
|
-
listen(...args) {
|
19
|
-
const port = typeof args[0] === 'number' ? args[0] : Number(process.env.PORT);
|
20
|
-
this.internal.use(`/api${process.env.VERSION ?? '/v1'}${process.env.SWAGGER_PATH ?? '/swagger'}`, swaggerUi.serve, swaggerUi.setup(generateSwaggerDocument(this.schemaValidator, port, this.routers)));
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
22
|
-
const errorHandler = (err, _req, res, _next) => {
|
23
|
-
console.error(err);
|
24
|
-
res.locals.errorMessage = err.message;
|
25
|
-
res
|
26
|
-
.status(res.statusCode && res.statusCode >= 400 ? res.statusCode : 500)
|
27
|
-
.send(`Internal server error:\n\n${err.message}`);
|
28
|
-
};
|
29
|
-
this.internal.use(errorHandler);
|
30
|
-
return this.internal.listen(...args);
|
31
|
-
}
|
32
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
import { ForklaunchExpressLikeRouter, TypedMiddlewareDefinition } from '@forklaunch/core/http';
|
2
|
-
import { AnySchemaValidator, IdiomaticSchema, LiteralSchema, SchemaResolve } from '@forklaunch/validator';
|
3
|
-
import { Router as ExpressRouter, NextFunction, RequestHandler } from 'express';
|
4
|
-
/**
|
5
|
-
* Router class that sets up routes and middleware for an Express router.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
* @implements {ForklaunchRouter<SV>}
|
9
|
-
*/
|
10
|
-
export declare class Router<SV extends AnySchemaValidator, BasePath extends `/${string}`> extends ForklaunchExpressLikeRouter<SV, BasePath, RequestHandler, ExpressRouter> {
|
11
|
-
basePath: BasePath;
|
12
|
-
/**
|
13
|
-
* Creates an instance of Router.
|
14
|
-
*
|
15
|
-
* @param {string} basePath - The base path for the router.
|
16
|
-
* @param {SV} schemaValidator - The schema validator.
|
17
|
-
*/
|
18
|
-
constructor(basePath: BasePath, schemaValidator: SV);
|
19
|
-
route(path: string): this;
|
20
|
-
param<ParamName extends string, Types extends {
|
21
|
-
req?: LiteralSchema | SV['_SchemaCatchall'];
|
22
|
-
res?: IdiomaticSchema<SV>;
|
23
|
-
} & {
|
24
|
-
[K in ParamName]: IdiomaticSchema<SV>;
|
25
|
-
}>(name: ParamName, types: Types, handler: (req: SchemaResolve<Types['req']>, res: SchemaResolve<Types['res']>, next: NextFunction, value: SchemaResolve<Types[ParamName]>, name: ParamName) => void): this;
|
26
|
-
checkout: TypedMiddlewareDefinition<this, SV>;
|
27
|
-
copy: TypedMiddlewareDefinition<this, SV>;
|
28
|
-
lock: TypedMiddlewareDefinition<this, SV>;
|
29
|
-
merge: TypedMiddlewareDefinition<this, SV>;
|
30
|
-
mkcactivity: TypedMiddlewareDefinition<this, SV>;
|
31
|
-
mkcol: TypedMiddlewareDefinition<this, SV>;
|
32
|
-
move: TypedMiddlewareDefinition<this, SV>;
|
33
|
-
'm-search': TypedMiddlewareDefinition<this, SV>;
|
34
|
-
notify: TypedMiddlewareDefinition<this, SV>;
|
35
|
-
propfind: TypedMiddlewareDefinition<this, SV>;
|
36
|
-
proppatch: TypedMiddlewareDefinition<this, SV>;
|
37
|
-
purge: TypedMiddlewareDefinition<this, SV>;
|
38
|
-
report: TypedMiddlewareDefinition<this, SV>;
|
39
|
-
search: TypedMiddlewareDefinition<this, SV>;
|
40
|
-
subscribe: TypedMiddlewareDefinition<this, SV>;
|
41
|
-
unlock: TypedMiddlewareDefinition<this, SV>;
|
42
|
-
unsubscribe: TypedMiddlewareDefinition<this, SV>;
|
43
|
-
link: TypedMiddlewareDefinition<this, SV>;
|
44
|
-
unlink: TypedMiddlewareDefinition<this, SV>;
|
45
|
-
}
|
46
|
-
//# sourceMappingURL=expressRouter.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/expressRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,2BAA2B,EAO3B,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAgB,EACd,MAAM,IAAI,aAAa,EACvB,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAGjB;;;;;GAKG;AACH,qBAAa,MAAM,CACjB,EAAE,SAAS,kBAAkB,EAC7B,QAAQ,SAAS,IAAI,MAAM,EAAE,CAC7B,SAAQ,2BAA2B,CACnC,EAAE,EACF,QAAQ,EACR,cAAc,EACd,aAAa,CACd;IASU,QAAQ,EAAE,QAAQ;IAP3B;;;;;OAKG;gBAEM,QAAQ,EAAE,QAAQ,EACzB,eAAe,EAAE,EAAE;IAQrB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzB,KAAK,CACH,SAAS,SAAS,MAAM,EACxB,KAAK,SAAS;QACZ,GAAG,CAAC,EAAE,aAAa,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;KAC3B,GAAG;SACD,CAAC,IAAI,SAAS,GAAG,eAAe,CAAC,EAAE,CAAC;KACtC,EAED,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CACP,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAChC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAChC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EACtC,IAAI,EAAE,SAAS,KACZ,IAAI,GACR,IAAI;IAcP,QAAQ,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE3C;IAEF,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEvC;IAEF,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEvC;IAEF,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgExC;IAEF,WAAW,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE9C;IAEF,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgExC;IAEF,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEvC;IAEF,UAAU,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE7C;IAEF,MAAM,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEzC;IAEF,QAAQ,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE3C;IAEF,SAAS,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE5C;IAEF,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgExC;IAEF,MAAM,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEzC;IAEF,MAAM,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEzC;IAEF,SAAS,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE5C;IAEF,MAAM,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEzC;IAEF,WAAW,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgE9C;IAEF,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEvC;IAEF,MAAM,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAgEzC;CACH"}
|
package/lib/src/expressRouter.js
DELETED
@@ -1,92 +0,0 @@
|
|
1
|
-
import { ForklaunchExpressLikeRouter } from '@forklaunch/core/http';
|
2
|
-
import express from 'express';
|
3
|
-
import { enrichResponseTransmission } from './middleware/response.middleware';
|
4
|
-
/**
|
5
|
-
* Router class that sets up routes and middleware for an Express router.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
* @implements {ForklaunchRouter<SV>}
|
9
|
-
*/
|
10
|
-
export class Router extends ForklaunchExpressLikeRouter {
|
11
|
-
basePath;
|
12
|
-
// implements ForklaunchRouter<SV>
|
13
|
-
/**
|
14
|
-
* Creates an instance of Router.
|
15
|
-
*
|
16
|
-
* @param {string} basePath - The base path for the router.
|
17
|
-
* @param {SV} schemaValidator - The schema validator.
|
18
|
-
*/
|
19
|
-
constructor(basePath, schemaValidator) {
|
20
|
-
super(basePath, schemaValidator, express.Router());
|
21
|
-
this.basePath = basePath;
|
22
|
-
this.internal.use(express.json());
|
23
|
-
this.internal.use(enrichResponseTransmission);
|
24
|
-
}
|
25
|
-
route(path) {
|
26
|
-
this.internal.route(path);
|
27
|
-
return this;
|
28
|
-
}
|
29
|
-
param(name, types, handler) {
|
30
|
-
this.internal.param(name, (req, res, next, value, name) => {
|
31
|
-
handler(req, res, next, value, name);
|
32
|
-
});
|
33
|
-
return this;
|
34
|
-
}
|
35
|
-
checkout = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
36
|
-
return this.registerMiddlewareHandler(this.internal.checkout, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
37
|
-
};
|
38
|
-
copy = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
39
|
-
return this.registerMiddlewareHandler(this.internal.copy, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
40
|
-
};
|
41
|
-
lock = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
42
|
-
return this.registerMiddlewareHandler(this.internal.lock, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
43
|
-
};
|
44
|
-
merge = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
45
|
-
return this.registerMiddlewareHandler(this.internal.merge, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
46
|
-
};
|
47
|
-
mkcactivity = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
48
|
-
return this.registerMiddlewareHandler(this.internal.mkactivity, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
49
|
-
};
|
50
|
-
mkcol = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
51
|
-
return this.registerMiddlewareHandler(this.internal.mkcol, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
52
|
-
};
|
53
|
-
move = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
54
|
-
return this.registerMiddlewareHandler(this.internal.move, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
55
|
-
};
|
56
|
-
'm-search' = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
57
|
-
return this.registerMiddlewareHandler(this.internal['m-search'], pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
58
|
-
};
|
59
|
-
notify = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
60
|
-
return this.registerMiddlewareHandler(this.internal.notify, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
61
|
-
};
|
62
|
-
propfind = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
63
|
-
return this.registerMiddlewareHandler(this.internal.propfind, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
64
|
-
};
|
65
|
-
proppatch = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
66
|
-
return this.registerMiddlewareHandler(this.internal.proppatch, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
67
|
-
};
|
68
|
-
purge = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
69
|
-
return this.registerMiddlewareHandler(this.internal.purge, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
70
|
-
};
|
71
|
-
report = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
72
|
-
return this.registerMiddlewareHandler(this.internal.report, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
73
|
-
};
|
74
|
-
search = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
75
|
-
return this.registerMiddlewareHandler(this.internal.search, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
76
|
-
};
|
77
|
-
subscribe = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
78
|
-
return this.registerMiddlewareHandler(this.internal.subscribe, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
79
|
-
};
|
80
|
-
unlock = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
81
|
-
return this.registerMiddlewareHandler(this.internal.unlock, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
82
|
-
};
|
83
|
-
unsubscribe = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
84
|
-
return this.registerMiddlewareHandler(this.internal.unsubscribe, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
85
|
-
};
|
86
|
-
link = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
87
|
-
return this.registerMiddlewareHandler(this.internal.link, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
88
|
-
};
|
89
|
-
unlink = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
90
|
-
return this.registerMiddlewareHandler(this.internal.unlink, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
91
|
-
};
|
92
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import { RequestHandler } from 'express';
|
2
|
-
/**
|
3
|
-
* Wraps an asynchronous middleware function to handle errors and pass them to the next middleware.
|
4
|
-
*
|
5
|
-
* @template SV - A type that extends AnySchemaValidator.
|
6
|
-
* @template P - A type for request parameters, defaulting to ParamsDictionary.
|
7
|
-
* @template ResBodyMap - A type for the response body, defaulting to unknown.
|
8
|
-
* @template ReqBody - A type for the request body, defaulting to unknown.
|
9
|
-
* @template ReqQuery - A type for the request query, defaulting to ParsedQs.
|
10
|
-
* @template LocalsObj - A type for local variables, defaulting to an empty object.
|
11
|
-
* @template StatusCode - A type for the status code, defaulting to number.
|
12
|
-
* @param {RequestHandler} fn - The asynchronous middleware function to wrap.
|
13
|
-
* @returns {RequestHandler} - The wrapped middleware function.
|
14
|
-
*/
|
15
|
-
export declare function asyncMiddleware(fn: RequestHandler): RequestHandler;
|
16
|
-
//# sourceMappingURL=async.middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"async.middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/async.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,cAAc,CAKlE"}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Wraps an asynchronous middleware function to handle errors and pass them to the next middleware.
|
3
|
-
*
|
4
|
-
* @template SV - A type that extends AnySchemaValidator.
|
5
|
-
* @template P - A type for request parameters, defaulting to ParamsDictionary.
|
6
|
-
* @template ResBodyMap - A type for the response body, defaulting to unknown.
|
7
|
-
* @template ReqBody - A type for the request body, defaulting to unknown.
|
8
|
-
* @template ReqQuery - A type for the request query, defaulting to ParsedQs.
|
9
|
-
* @template LocalsObj - A type for local variables, defaulting to an empty object.
|
10
|
-
* @template StatusCode - A type for the status code, defaulting to number.
|
11
|
-
* @param {RequestHandler} fn - The asynchronous middleware function to wrap.
|
12
|
-
* @returns {RequestHandler} - The wrapped middleware function.
|
13
|
-
*/
|
14
|
-
export function asyncMiddleware(fn) {
|
15
|
-
return async (req, res, next) => {
|
16
|
-
await Promise.resolve(fn(req, res, next)).catch(next);
|
17
|
-
next?.();
|
18
|
-
};
|
19
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { ParamsDictionary } from '@forklaunch/core/http';
|
2
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
3
|
-
import { NextFunction } from 'express';
|
4
|
-
import { ParsedQs } from 'qs';
|
5
|
-
import { Request, Response } from '../types/express.types';
|
6
|
-
/**
|
7
|
-
* Middleware to enrich the response transmission by intercepting and parsing responses before they are sent.
|
8
|
-
*
|
9
|
-
* @template SV - A type that extends AnySchemaValidator.
|
10
|
-
* @param {Request<SV>} req - The request object.
|
11
|
-
* @param {Response} res - The response object.
|
12
|
-
* @param {NextFunction} [next] - The next middleware function.
|
13
|
-
*/
|
14
|
-
export declare function enrichResponseTransmission<SV extends AnySchemaValidator>(req: Request<SV, ParamsDictionary, Record<number, unknown>, Record<string, unknown>, ParsedQs, Record<string, string>, Record<string, unknown>>, res: Response<Record<number, unknown>, Record<string, string>, Record<string, unknown>>, next?: NextFunction): void;
|
15
|
-
//# sourceMappingURL=response.middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"response.middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/response.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,SAAS,kBAAkB,EACtE,GAAG,EAAE,OAAO,CACV,EAAE,EACF,gBAAgB,EAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,QAAQ,EACR,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,EACD,GAAG,EAAE,QAAQ,CACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,EACD,IAAI,CAAC,EAAE,YAAY,QA+DpB"}
|