@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/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.8"
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.2"
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.4"
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 = (server: Server, request: Request, query: Record<string, unknown>) => {
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<TWebSocketUpgradeData>(request, {
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(responseBodyArgsKey, {
515
- httpCode: 404,
516
- message: "Route not found",
517
- data: undefined
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
- data instanceof Uint8Array
1476
- ? String.fromCharCode(...new Uint8Array(data))
1477
- : data,
1478
- { status: status, statusText: statusText, headers: headers }
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>(httpServerArgsKey, contextOptions) ||
1547
- undefined,
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 prefix = "__boolTypescriptCore";
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 argumentsKey = Symbol.for(`__${prefix}:arguments__`);
4
- export const webSocketEventArgumentsKey = Symbol.for(`__${prefix}:webSocketEventArguments__`);
5
- export const configKey = Symbol.for(`__${prefix}:config__`);
6
- export const controllerKey = Symbol.for(`__${prefix}:controller__`);
7
- export const interceptorKey = Symbol.for(`__${prefix}:interceptor__`);
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 webSocketServerArgsKey = Symbol.for(`__${prefix}:webSocketArguments:server__`);
20
- export const webSocketConnectionArgsKey = Symbol.for(`__${prefix}:webSocketArguments:connection__`);
21
- export const webSocketMessageArgsKey = Symbol.for(`__${prefix}:webSocketArguments:message__`);
22
- export const webSocketCloseCodeArgsKey = Symbol.for(`__${prefix}:webSocketArguments:closeCode__`);
23
- export const webSocketCloseReasonArgsKey = Symbol.for(
24
- `__${prefix}:webSocketArguments:closeReason__`
25
- );
26
-
27
- export const httpServerArgsKey = Symbol.for(`__${prefix}:httpArguments:server__`);
28
- export const requestHeadersArgsKey = Symbol.for(`__${prefix}:httpArguments:requestHeaders__`);
29
- export const requestHeaderArgsKey = Symbol.for(`__${prefix}:httpArguments:requestHeader__`);
30
- export const requestBodyArgsKey = Symbol.for(`__${prefix}:httpArguments:requestBody__`);
31
- export const paramsArgsKey = Symbol.for(`__${prefix}:httpArguments:params__`);
32
- export const paramArgsKey = Symbol.for(`__${prefix}:httpArguments:param__`);
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__");