@bool-ts/core 2.0.4 → 2.1.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/dist/index.js +5 -5
- package/dist/index.js.map +5 -5
- package/package.json +3 -3
- package/src/decorators/webSocket.ts +6 -2
- package/src/entities/application.ts +19 -15
- package/src/keys/index.ts +34 -40
package/package.json
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"@bool-ts/date-time": "^1.0.0",
|
|
8
8
|
"qs": "^6.14.0",
|
|
9
9
|
"reflect-metadata": "^0.2.2",
|
|
10
|
-
"zod": "^4.1.
|
|
10
|
+
"zod": "^4.1.12"
|
|
11
11
|
},
|
|
12
12
|
"description": "Core package for BoolTS framework",
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"@types/bun": "latest",
|
|
15
15
|
"@types/qs": "^6.14.0",
|
|
16
|
-
"typescript": "^5.9.
|
|
16
|
+
"typescript": "^5.9.3"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"./dist",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"test": "bun --hot run __test/index.ts"
|
|
44
44
|
},
|
|
45
45
|
"types": "./dist/index.d.ts",
|
|
46
|
-
"version": "2.0
|
|
46
|
+
"version": "2.1.0"
|
|
47
47
|
}
|
|
@@ -29,10 +29,14 @@ export type TWebSocketMetadata = Required<{
|
|
|
29
29
|
|
|
30
30
|
const upgradeHandlerSymbol = Symbol("__bool:webSocket.upgrade__");
|
|
31
31
|
|
|
32
|
-
const upgradeHandler = (
|
|
32
|
+
const upgradeHandler = (
|
|
33
|
+
server: Server<TWebSocketUpgradeData>,
|
|
34
|
+
request: Request,
|
|
35
|
+
query: Record<string, unknown>
|
|
36
|
+
) => {
|
|
33
37
|
const url = new URL(request.url);
|
|
34
38
|
|
|
35
|
-
return server.upgrade
|
|
39
|
+
return server.upgrade(request, {
|
|
36
40
|
data: {
|
|
37
41
|
method: request.method.toUpperCase(),
|
|
38
42
|
pathname: url.pathname,
|
|
@@ -280,7 +280,7 @@ export class Application<TRootClass extends Object = Object> {
|
|
|
280
280
|
|
|
281
281
|
const { resolutedContainer, resolutedModules, webSocketsMap } = await this.preLaunch();
|
|
282
282
|
|
|
283
|
-
const server = Bun.serve<TWebSocketUpgradeData
|
|
283
|
+
const server = Bun.serve<TWebSocketUpgradeData>({
|
|
284
284
|
port: this.options.port,
|
|
285
285
|
fetch: async (request, server) => {
|
|
286
286
|
const start = performance.now(),
|
|
@@ -511,11 +511,14 @@ export class Application<TRootClass extends Object = Object> {
|
|
|
511
511
|
.setOptions({ isStatic: false })
|
|
512
512
|
.set(responseStatusArgsKey, 404)
|
|
513
513
|
.set(responseStatusTextArgsKey, "Not found.")
|
|
514
|
-
.set(
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
514
|
+
.set(
|
|
515
|
+
responseBodyArgsKey,
|
|
516
|
+
JSON.stringify({
|
|
517
|
+
httpCode: 404,
|
|
518
|
+
message: "Route not found",
|
|
519
|
+
data: undefined
|
|
520
|
+
})
|
|
521
|
+
);
|
|
519
522
|
} else {
|
|
520
523
|
const { context: newContext } = await this.httpFetcher({
|
|
521
524
|
context: context,
|
|
@@ -1471,12 +1474,11 @@ export class Application<TRootClass extends Object = Object> {
|
|
|
1471
1474
|
data instanceof ReadableStream
|
|
1472
1475
|
) {
|
|
1473
1476
|
return this.finalizeResponse(
|
|
1474
|
-
new Response(
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
)
|
|
1477
|
+
new Response(data as BodyInit, {
|
|
1478
|
+
status: status,
|
|
1479
|
+
statusText: statusText,
|
|
1480
|
+
headers: headers
|
|
1481
|
+
})
|
|
1480
1482
|
);
|
|
1481
1483
|
}
|
|
1482
1484
|
|
|
@@ -1543,8 +1545,10 @@ export class Application<TRootClass extends Object = Object> {
|
|
|
1543
1545
|
}
|
|
1544
1546
|
|
|
1545
1547
|
const httpServer =
|
|
1546
|
-
context.get<Server | null | undefined>(
|
|
1547
|
-
|
|
1548
|
+
context.get<Server<TWebSocketUpgradeData> | null | undefined>(
|
|
1549
|
+
httpServerArgsKey,
|
|
1550
|
+
contextOptions
|
|
1551
|
+
) || undefined,
|
|
1548
1552
|
request =
|
|
1549
1553
|
context.get<Request | null | undefined>(requestArgsKey, contextOptions) ||
|
|
1550
1554
|
undefined,
|
|
@@ -2178,7 +2182,7 @@ export class Application<TRootClass extends Object = Object> {
|
|
|
2178
2182
|
private async webSocketFetcher(
|
|
2179
2183
|
bun: Required<{
|
|
2180
2184
|
request: Request;
|
|
2181
|
-
server: Server
|
|
2185
|
+
server: Server<TWebSocketUpgradeData>;
|
|
2182
2186
|
}>,
|
|
2183
2187
|
bool: Required<{
|
|
2184
2188
|
responseHeaders: Headers;
|
package/src/keys/index.ts
CHANGED
|
@@ -1,42 +1,36 @@
|
|
|
1
|
-
const
|
|
1
|
+
export const argumentsKey = Symbol("__bool:arguments__");
|
|
2
|
+
export const webSocketEventArgumentsKey = Symbol("__bool:webSocketEventArguments__");
|
|
3
|
+
export const configKey = Symbol("__bool:config__");
|
|
4
|
+
export const controllerKey = Symbol("__bool:controller__");
|
|
5
|
+
export const interceptorKey = Symbol("__bool:interceptor__");
|
|
6
|
+
export const guardKey = Symbol("__bool:guard__");
|
|
7
|
+
export const controllerHttpKey = Symbol("__bool:controller.http__");
|
|
8
|
+
export const injectKey = Symbol("__bool:inject__");
|
|
9
|
+
export const injectableKey = Symbol("__bool:injectable__");
|
|
10
|
+
export const middlewareKey = Symbol("__bool:middleware__");
|
|
11
|
+
export const moduleKey = Symbol("__bool:module__");
|
|
12
|
+
export const containerKey = Symbol("__bool:container__");
|
|
13
|
+
export const zodSchemaKey = Symbol("__bool:zodSchema__");
|
|
14
|
+
export const webSocketKey = Symbol("__bool:webSocket__");
|
|
15
|
+
export const webSocketEventKey = Symbol("__bool:webSocket:event__");
|
|
2
16
|
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
8
|
-
export const guardKey = Symbol.for(`__${prefix}:guard__`);
|
|
9
|
-
export const controllerHttpKey = Symbol.for(`__${prefix}:controller.http__`);
|
|
10
|
-
export const injectKey = Symbol.for(`__${prefix}:inject__`);
|
|
11
|
-
export const injectableKey = Symbol.for(`__${prefix}:injectable__`);
|
|
12
|
-
export const middlewareKey = Symbol.for(`__${prefix}:middleware__`);
|
|
13
|
-
export const moduleKey = Symbol.for(`__${prefix}:module__`);
|
|
14
|
-
export const containerKey = Symbol.for(`__${prefix}:container__`);
|
|
15
|
-
export const zodSchemaKey = Symbol.for(`__${prefix}:zodSchema__`);
|
|
16
|
-
export const webSocketKey = Symbol.for(`__${prefix}:webSocket__`);
|
|
17
|
-
export const webSocketEventKey = Symbol.for(`__${prefix}:webSocket:event__`);
|
|
17
|
+
export const webSocketServerArgsKey = Symbol("__bool:webSocketArguments:server__");
|
|
18
|
+
export const webSocketConnectionArgsKey = Symbol("__bool:webSocketArguments:connection__");
|
|
19
|
+
export const webSocketMessageArgsKey = Symbol("__bool:webSocketArguments:message__");
|
|
20
|
+
export const webSocketCloseCodeArgsKey = Symbol("__bool:webSocketArguments:closeCode__");
|
|
21
|
+
export const webSocketCloseReasonArgsKey = Symbol("__bool:webSocketArguments:closeReason__");
|
|
18
22
|
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
export const
|
|
24
|
-
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
export const
|
|
28
|
-
export const
|
|
29
|
-
export const
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
32
|
-
export const
|
|
33
|
-
export const queryArgsKey = Symbol.for(`__${prefix}:httpArguments:query__`);
|
|
34
|
-
export const requestArgsKey = Symbol.for(`__${prefix}:httpArguments:request__`);
|
|
35
|
-
export const responseHeadersArgsKey = Symbol.for(`__${prefix}:httpArguments:responseHeaders__`);
|
|
36
|
-
export const contextArgsKey = Symbol.for(`__${prefix}:httpArguments:context__`);
|
|
37
|
-
export const routeModelArgsKey = Symbol.for(`__${prefix}:httpArguments:routeModel__`);
|
|
38
|
-
export const responseBodyArgsKey = Symbol.for(`__${prefix}:httpArguments:responseBody__`);
|
|
39
|
-
export const responseStatusArgsKey = Symbol.for(`__${prefix}:httpArguments:responseStatus__`);
|
|
40
|
-
export const responseStatusTextArgsKey = Symbol.for(
|
|
41
|
-
`__${prefix}:httpArguments:responseStatusText__`
|
|
42
|
-
);
|
|
23
|
+
export const httpServerArgsKey = Symbol("__bool:httpArguments:server__");
|
|
24
|
+
export const requestHeadersArgsKey = Symbol("__bool:httpArguments:requestHeaders__");
|
|
25
|
+
export const requestHeaderArgsKey = Symbol("__bool:httpArguments:requestHeader__");
|
|
26
|
+
export const requestBodyArgsKey = Symbol("__bool:httpArguments:requestBody__");
|
|
27
|
+
export const paramsArgsKey = Symbol("__bool:httpArguments:params__");
|
|
28
|
+
export const paramArgsKey = Symbol("__bool:httpArguments:param__");
|
|
29
|
+
export const queryArgsKey = Symbol("__bool:httpArguments:query__");
|
|
30
|
+
export const requestArgsKey = Symbol("__bool:httpArguments:request__");
|
|
31
|
+
export const responseHeadersArgsKey = Symbol("__bool:httpArguments:responseHeaders__");
|
|
32
|
+
export const contextArgsKey = Symbol("__bool:httpArguments:context__");
|
|
33
|
+
export const routeModelArgsKey = Symbol("__bool:httpArguments:routeModel__");
|
|
34
|
+
export const responseBodyArgsKey = Symbol("__bool:httpArguments:responseBody__");
|
|
35
|
+
export const responseStatusArgsKey = Symbol("__bool:httpArguments:responseStatus__");
|
|
36
|
+
export const responseStatusTextArgsKey = Symbol("__bool:httpArguments:responseStatusText__");
|