@bool-ts/core 1.6.14 → 1.7.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/.prettierrc +11 -11
- package/LICENSE +21 -21
- package/__test/controller.ts +93 -79
- package/__test/dispatcher.ts +16 -0
- package/__test/firstGuard.ts +10 -10
- package/__test/firstMiddleware.ts +15 -9
- package/__test/index.ts +8 -8
- package/__test/interfaces.ts +7 -7
- package/__test/module.ts +28 -30
- package/__test/repository.ts +16 -16
- package/__test/secondGuard.ts +10 -10
- package/__test/secondMiddleware.ts +15 -9
- package/__test/service.ts +20 -20
- package/bun.lockb +0 -0
- package/dist/decorators/arguments.d.ts +3 -3
- package/dist/decorators/arguments.js +3 -3
- package/dist/decorators/dispatcher.js +0 -3
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.js +1 -1
- package/dist/decorators/middleware.js +0 -3
- package/dist/decorators/module.d.ts +2 -4
- package/dist/decorators/module.js +5 -12
- package/dist/hooks/factory.d.ts +41 -2
- package/dist/hooks/factory.js +496 -404
- package/dist/hooks/injector.d.ts +14 -1
- package/dist/hooks/injector.js +3 -3
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.js +2 -1
- package/dist/interfaces/dispatcher.d.ts +3 -2
- package/dist/interfaces/middleware.d.ts +3 -2
- package/dist/keys/index.d.ts +2 -1
- package/dist/keys/index.js +2 -1
- package/jsconfig.json +27 -27
- package/package.json +3 -3
- package/src/decorators/arguments.ts +286 -286
- package/src/decorators/controller.ts +21 -21
- package/src/decorators/dispatcher.ts +14 -18
- package/src/decorators/guard.ts +18 -18
- package/src/decorators/http.ts +81 -81
- package/src/decorators/index.ts +29 -29
- package/src/decorators/inject.ts +13 -13
- package/src/decorators/injectable.ts +8 -8
- package/src/decorators/middleware.ts +14 -18
- package/src/decorators/module.ts +84 -94
- package/src/decorators/zodSchema.ts +19 -19
- package/src/entities/index.ts +5 -5
- package/src/entities/route.ts +327 -327
- package/src/entities/router.ts +35 -35
- package/src/entities/routerGroup.ts +34 -34
- package/src/hooks/factory.ts +990 -809
- package/src/hooks/index.ts +2 -2
- package/src/hooks/injector.ts +57 -57
- package/src/http/clientError.ts +45 -45
- package/src/http/index.ts +62 -61
- package/src/http/serverError.ts +27 -27
- package/src/index.ts +9 -9
- package/src/interfaces/context.ts +4 -4
- package/src/interfaces/controller.ts +1 -1
- package/src/interfaces/dispatcher.ts +4 -3
- package/src/interfaces/guard.ts +3 -3
- package/src/interfaces/index.ts +6 -6
- package/src/interfaces/middleware.ts +4 -3
- package/src/interfaces/module.ts +1 -1
- package/src/keys/index.ts +23 -22
- package/test.http +31 -31
- package/tsconfig.json +108 -108
- package/__test/afterDispatcher.ts +0 -9
- package/__test/beforeDispatcher.ts +0 -9
package/dist/hooks/injector.d.ts
CHANGED
|
@@ -6,5 +6,18 @@ interface IInjector {
|
|
|
6
6
|
set(key: TDefinition, value: any): void;
|
|
7
7
|
get<T>(definition: TDefinition): T;
|
|
8
8
|
}
|
|
9
|
-
export declare
|
|
9
|
+
export declare class Injector implements IInjector {
|
|
10
|
+
private readonly _mapper;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param constructor
|
|
14
|
+
*/
|
|
15
|
+
get<T>(definition: TDefinition): any;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param key
|
|
19
|
+
* @param value
|
|
20
|
+
*/
|
|
21
|
+
set(key: TDefinition, value: any): void;
|
|
22
|
+
}
|
|
10
23
|
export default Injector;
|
package/dist/hooks/injector.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import { controllerKey, dispatcherKey, guardKey, injectableKey, injectKey, middlewareKey } from "../keys";
|
|
3
|
-
export
|
|
3
|
+
export class Injector {
|
|
4
4
|
_mapper = new Map();
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
@@ -19,7 +19,7 @@ export const Injector = new (class {
|
|
|
19
19
|
}
|
|
20
20
|
// Initialize dependencies injection
|
|
21
21
|
const dependencies = Reflect.getOwnMetadata(injectKey, definition) || [];
|
|
22
|
-
const injections = dependencies.map((dependency) =>
|
|
22
|
+
const injections = dependencies.map((dependency) => this.get(dependency));
|
|
23
23
|
const instance = new definition(...injections);
|
|
24
24
|
this._mapper.set(definition, instance);
|
|
25
25
|
return instance;
|
|
@@ -32,5 +32,5 @@ export const Injector = new (class {
|
|
|
32
32
|
set(key, value) {
|
|
33
33
|
this._mapper.set(key, value);
|
|
34
34
|
}
|
|
35
|
-
}
|
|
35
|
+
}
|
|
36
36
|
export default Injector;
|
package/dist/http/index.d.ts
CHANGED
|
@@ -9,6 +9,6 @@ export type THttpMethods = {
|
|
|
9
9
|
TRACE: "TRACE";
|
|
10
10
|
PATCH: "PATCH";
|
|
11
11
|
};
|
|
12
|
-
export declare const jsonErrorInfer: (data: any
|
|
12
|
+
export declare const jsonErrorInfer: (data: any) => Response;
|
|
13
13
|
export * from "./clientError";
|
|
14
14
|
export * from "./serverError";
|
package/dist/http/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HttpClientError } from "./clientError";
|
|
2
2
|
import { HttpServerError } from "./serverError";
|
|
3
|
-
export const jsonErrorInfer = (data
|
|
3
|
+
export const jsonErrorInfer = (data) => {
|
|
4
|
+
const headers = new Headers();
|
|
4
5
|
headers.set("Content-Type", "application/json");
|
|
5
6
|
if (data instanceof HttpClientError || data instanceof HttpServerError) {
|
|
6
7
|
return new Response(JSON.stringify(data), {
|
package/dist/keys/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare const moduleKey: unique symbol;
|
|
|
11
11
|
export declare const controllerRouteZodSchemaKey: unique symbol;
|
|
12
12
|
export declare const requestHeadersArgsKey: unique symbol;
|
|
13
13
|
export declare const requestHeaderArgsKey: unique symbol;
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const requestBodyArgsKey: unique symbol;
|
|
15
15
|
export declare const paramsArgsKey: unique symbol;
|
|
16
16
|
export declare const paramArgsKey: unique symbol;
|
|
17
17
|
export declare const queryArgsKey: unique symbol;
|
|
@@ -19,3 +19,4 @@ export declare const requestArgsKey: unique symbol;
|
|
|
19
19
|
export declare const responseHeadersArgsKey: unique symbol;
|
|
20
20
|
export declare const contextArgsKey: unique symbol;
|
|
21
21
|
export declare const routeModelArgsKey: unique symbol;
|
|
22
|
+
export declare const responseBodyArgsKey: unique symbol;
|
package/dist/keys/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export const moduleKey = Symbol("__bool:module__");
|
|
|
11
11
|
export const controllerRouteZodSchemaKey = Symbol("__bool:controller.route.zodSchema__");
|
|
12
12
|
export const requestHeadersArgsKey = Symbol("__bool:arguments:requestHeaders__");
|
|
13
13
|
export const requestHeaderArgsKey = Symbol("__bool:arguments:requestHeader__");
|
|
14
|
-
export const
|
|
14
|
+
export const requestBodyArgsKey = Symbol("__bool:arguments:requestBody__");
|
|
15
15
|
export const paramsArgsKey = Symbol("__bool:arguments:params__");
|
|
16
16
|
export const paramArgsKey = Symbol("__bool:arguments:param__");
|
|
17
17
|
export const queryArgsKey = Symbol("__bool:arguments:query__");
|
|
@@ -19,3 +19,4 @@ export const requestArgsKey = Symbol("__bool:arguments:request__");
|
|
|
19
19
|
export const responseHeadersArgsKey = Symbol("__bool:arguments:responseHeaders__");
|
|
20
20
|
export const contextArgsKey = Symbol("__bool:arguments:context__");
|
|
21
21
|
export const routeModelArgsKey = Symbol("__bool:arguments:routeModel__");
|
|
22
|
+
export const responseBodyArgsKey = Symbol("__bool:arguments:responseBody__");
|
package/jsconfig.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
// Enable latest features
|
|
4
|
-
"lib": ["ESNext", "DOM"],
|
|
5
|
-
"target": "ESNext",
|
|
6
|
-
"module": "ESNext",
|
|
7
|
-
"moduleDetection": "force",
|
|
8
|
-
"jsx": "react-jsx",
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
|
|
11
|
-
// Bundler mode
|
|
12
|
-
"moduleResolution": "bundler",
|
|
13
|
-
"allowImportingTsExtensions": true,
|
|
14
|
-
"verbatimModuleSyntax": true,
|
|
15
|
-
"noEmit": true,
|
|
16
|
-
|
|
17
|
-
// Best practices
|
|
18
|
-
"strict": true,
|
|
19
|
-
"skipLibCheck": true,
|
|
20
|
-
"noFallthroughCasesInSwitch": true,
|
|
21
|
-
|
|
22
|
-
// Some stricter flags (disabled by default)
|
|
23
|
-
"noUnusedLocals": false,
|
|
24
|
-
"noUnusedParameters": false,
|
|
25
|
-
"noPropertyAccessFromIndexSignature": false
|
|
26
|
-
}
|
|
27
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
// Enable latest features
|
|
4
|
+
"lib": ["ESNext", "DOM"],
|
|
5
|
+
"target": "ESNext",
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"moduleDetection": "force",
|
|
8
|
+
"jsx": "react-jsx",
|
|
9
|
+
"allowJs": true,
|
|
10
|
+
|
|
11
|
+
// Bundler mode
|
|
12
|
+
"moduleResolution": "bundler",
|
|
13
|
+
"allowImportingTsExtensions": true,
|
|
14
|
+
"verbatimModuleSyntax": true,
|
|
15
|
+
"noEmit": true,
|
|
16
|
+
|
|
17
|
+
// Best practices
|
|
18
|
+
"strict": true,
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
|
|
22
|
+
// Some stricter flags (disabled by default)
|
|
23
|
+
"noUnusedLocals": false,
|
|
24
|
+
"noUnusedParameters": false,
|
|
25
|
+
"noPropertyAccessFromIndexSignature": false
|
|
26
|
+
}
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bool-ts/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/bun": "latest",
|
|
28
|
-
"@types/qs": "^6.9.
|
|
29
|
-
"typescript": "^5.
|
|
28
|
+
"@types/qs": "^6.9.16",
|
|
29
|
+
"typescript": "^5.6.2"
|
|
30
30
|
}
|
|
31
31
|
}
|