@hg-ts/redis 0.1.17
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/.eslintcache +1 -0
- package/.eslintrc.json +1 -0
- package/.nyc_output/089b21aa-e535-4b85-ae33-c883bb354098.json +1 -0
- package/.nyc_output/3e07cb8f-5adb-4386-8f08-9568a8f6b6fe.json +1 -0
- package/.nyc_output/84fba1cd-e0a1-4b6f-9061-44e27d7310d3.json +1 -0
- package/.nyc_output/processinfo/089b21aa-e535-4b85-ae33-c883bb354098.json +1 -0
- package/.nyc_output/processinfo/3e07cb8f-5adb-4386-8f08-9568a8f6b6fe.json +1 -0
- package/.nyc_output/processinfo/84fba1cd-e0a1-4b6f-9061-44e27d7310d3.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +18 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/redis.module.d.ts +6 -0
- package/dist/redis.module.d.ts.map +1 -0
- package/dist/redis.module.js +37 -0
- package/dist/redis.module.js.map +1 -0
- package/dist-esm/base.handler-map.d.ts +13 -0
- package/dist-esm/base.handler-map.d.ts.map +1 -0
- package/dist-esm/base.handler-map.js +24 -0
- package/dist-esm/base.handler-map.js.map +1 -0
- package/dist-esm/base.server.d.ts +25 -0
- package/dist-esm/base.server.d.ts.map +1 -0
- package/dist-esm/base.server.js +51 -0
- package/dist-esm/base.server.js.map +1 -0
- package/dist-esm/config.d.ts +31 -0
- package/dist-esm/config.d.ts.map +1 -0
- package/dist-esm/config.js +13 -0
- package/dist-esm/config.js.map +1 -0
- package/dist-esm/controller-explorer.service.d.ts +10 -0
- package/dist-esm/controller-explorer.service.d.ts.map +1 -0
- package/dist-esm/controller-explorer.service.js +23 -0
- package/dist-esm/controller-explorer.service.js.map +1 -0
- package/dist-esm/controller.caller.d.ts +9 -0
- package/dist-esm/controller.caller.d.ts.map +1 -0
- package/dist-esm/controller.caller.js +41 -0
- package/dist-esm/controller.caller.js.map +1 -0
- package/dist-esm/controllers/controller-explorer.service.d.ts +10 -0
- package/dist-esm/controllers/controller-explorer.service.d.ts.map +1 -0
- package/dist-esm/controllers/controller-explorer.service.js +23 -0
- package/dist-esm/controllers/controller-explorer.service.js.map +1 -0
- package/dist-esm/controllers/controller.caller.d.ts +9 -0
- package/dist-esm/controllers/controller.caller.d.ts.map +1 -0
- package/dist-esm/controllers/controller.caller.js +41 -0
- package/dist-esm/controllers/controller.caller.js.map +1 -0
- package/dist-esm/controllers/index.d.ts +3 -0
- package/dist-esm/controllers/index.d.ts.map +1 -0
- package/dist-esm/controllers/index.js +3 -0
- package/dist-esm/controllers/index.js.map +1 -0
- package/dist-esm/decorators/context.decorator.d.ts +2 -0
- package/dist-esm/decorators/context.decorator.d.ts.map +1 -0
- package/dist-esm/decorators/context.decorator.js +3 -0
- package/dist-esm/decorators/context.decorator.js.map +1 -0
- package/dist-esm/decorators/controller.decorator.d.ts +7 -0
- package/dist-esm/decorators/controller.decorator.d.ts.map +1 -0
- package/dist-esm/decorators/controller.decorator.js +27 -0
- package/dist-esm/decorators/controller.decorator.js.map +1 -0
- package/dist-esm/decorators/create-param-decorator.d.ts +14 -0
- package/dist-esm/decorators/create-param-decorator.d.ts.map +1 -0
- package/dist-esm/decorators/create-param-decorator.js +26 -0
- package/dist-esm/decorators/create-param-decorator.js.map +1 -0
- package/dist-esm/decorators/index.d.ts +5 -0
- package/dist-esm/decorators/index.d.ts.map +1 -0
- package/dist-esm/decorators/index.js +5 -0
- package/dist-esm/decorators/index.js.map +1 -0
- package/dist-esm/decorators/middleware-data.decorator.d.ts +2 -0
- package/dist-esm/decorators/middleware-data.decorator.d.ts.map +1 -0
- package/dist-esm/decorators/middleware-data.decorator.js +3 -0
- package/dist-esm/decorators/middleware-data.decorator.js.map +1 -0
- package/dist-esm/execution-context/execution-context.d.ts +38 -0
- package/dist-esm/execution-context/execution-context.d.ts.map +1 -0
- package/dist-esm/execution-context/execution-context.js +69 -0
- package/dist-esm/execution-context/execution-context.js.map +1 -0
- package/dist-esm/execution-context/execution-context.provider.d.ts +5 -0
- package/dist-esm/execution-context/execution-context.provider.d.ts.map +1 -0
- package/dist-esm/execution-context/execution-context.provider.js +4 -0
- package/dist-esm/execution-context/execution-context.provider.js.map +1 -0
- package/dist-esm/execution-context/index.d.ts +3 -0
- package/dist-esm/execution-context/index.d.ts.map +1 -0
- package/dist-esm/execution-context/index.js +3 -0
- package/dist-esm/execution-context/index.js.map +1 -0
- package/dist-esm/index.d.ts +1 -0
- package/dist-esm/index.d.ts.map +1 -0
- package/dist-esm/index.js +2 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/map-to-observable.d.ts +5 -0
- package/dist-esm/map-to-observable.d.ts.map +1 -0
- package/dist-esm/map-to-observable.js +32 -0
- package/dist-esm/map-to-observable.js.map +1 -0
- package/dist-esm/redis.module.d.ts +6 -0
- package/dist-esm/redis.module.d.ts.map +1 -0
- package/dist-esm/redis.module.js +34 -0
- package/dist-esm/redis.module.js.map +1 -0
- package/dist-esm/request.handler.d.ts +6 -0
- package/dist-esm/request.handler.d.ts.map +1 -0
- package/dist-esm/request.handler.js +14 -0
- package/dist-esm/request.handler.js.map +1 -0
- package/dist-esm/server/base.handler-map.d.ts +13 -0
- package/dist-esm/server/base.handler-map.d.ts.map +1 -0
- package/dist-esm/server/base.handler-map.js +24 -0
- package/dist-esm/server/base.handler-map.js.map +1 -0
- package/dist-esm/server/base.server.d.ts +25 -0
- package/dist-esm/server/base.server.d.ts.map +1 -0
- package/dist-esm/server/base.server.js +51 -0
- package/dist-esm/server/base.server.js.map +1 -0
- package/dist-esm/server/index.d.ts +4 -0
- package/dist-esm/server/index.d.ts.map +1 -0
- package/dist-esm/server/index.js +4 -0
- package/dist-esm/server/index.js.map +1 -0
- package/dist-esm/server/request.handler.d.ts +6 -0
- package/dist-esm/server/request.handler.d.ts.map +1 -0
- package/dist-esm/server/request.handler.js +14 -0
- package/dist-esm/server/request.handler.js.map +1 -0
- package/dist-esm/server.module.d.ts +3 -0
- package/dist-esm/server.module.d.ts.map +1 -0
- package/dist-esm/server.module.js +25 -0
- package/dist-esm/server.module.js.map +1 -0
- package/dist-esm/tests/controllers/consts.d.ts +2 -0
- package/dist-esm/tests/controllers/consts.d.ts.map +1 -0
- package/dist-esm/tests/controllers/consts.js +2 -0
- package/dist-esm/tests/controllers/consts.js.map +1 -0
- package/dist-esm/tests/controllers/controller.test-suite.d.ts +9 -0
- package/dist-esm/tests/controllers/controller.test-suite.d.ts.map +1 -0
- package/dist-esm/tests/controllers/controller.test-suite.js +78 -0
- package/dist-esm/tests/controllers/controller.test-suite.js.map +1 -0
- package/dist-esm/tests/controllers/test.controller.d.ts +7 -0
- package/dist-esm/tests/controllers/test.controller.d.ts.map +1 -0
- package/dist-esm/tests/controllers/test.controller.js +32 -0
- package/dist-esm/tests/controllers/test.controller.js.map +1 -0
- package/dist-esm/tests/controllers/test.execution-context.d.ts +5 -0
- package/dist-esm/tests/controllers/test.execution-context.d.ts.map +1 -0
- package/dist-esm/tests/controllers/test.execution-context.js +7 -0
- package/dist-esm/tests/controllers/test.execution-context.js.map +1 -0
- package/dist-esm/tests/server/server.test-suite.d.ts +11 -0
- package/dist-esm/tests/server/server.test-suite.d.ts.map +1 -0
- package/dist-esm/tests/server/server.test-suite.js +42 -0
- package/dist-esm/tests/server/server.test-suite.js.map +1 -0
- package/dist-esm/tests/server/test-handler.decorator.d.ts +6 -0
- package/dist-esm/tests/server/test-handler.decorator.d.ts.map +1 -0
- package/dist-esm/tests/server/test-handler.decorator.js +15 -0
- package/dist-esm/tests/server/test-handler.decorator.js.map +1 -0
- package/dist-esm/tests/server/test.body.d.ts +2 -0
- package/dist-esm/tests/server/test.body.d.ts.map +1 -0
- package/dist-esm/tests/server/test.body.js +3 -0
- package/dist-esm/tests/server/test.body.js.map +1 -0
- package/dist-esm/tests/server/test.controller.d.ts +4 -0
- package/dist-esm/tests/server/test.controller.d.ts.map +1 -0
- package/dist-esm/tests/server/test.controller.js +21 -0
- package/dist-esm/tests/server/test.controller.js.map +1 -0
- package/dist-esm/tests/server/test.execution-context.d.ts +6 -0
- package/dist-esm/tests/server/test.execution-context.d.ts.map +1 -0
- package/dist-esm/tests/server/test.execution-context.js +7 -0
- package/dist-esm/tests/server/test.execution-context.js.map +1 -0
- package/dist-esm/tests/server/test.handler-map.d.ts +14 -0
- package/dist-esm/tests/server/test.handler-map.d.ts.map +1 -0
- package/dist-esm/tests/server/test.handler-map.js +12 -0
- package/dist-esm/tests/server/test.handler-map.js.map +1 -0
- package/dist-esm/tests/server/test.module.d.ts +3 -0
- package/dist-esm/tests/server/test.module.d.ts.map +1 -0
- package/dist-esm/tests/server/test.module.js +15 -0
- package/dist-esm/tests/server/test.module.js.map +1 -0
- package/dist-esm/tests/server/test.server.d.ts +17 -0
- package/dist-esm/tests/server/test.server.d.ts.map +1 -0
- package/dist-esm/tests/server/test.server.js +39 -0
- package/dist-esm/tests/server/test.server.js.map +1 -0
- package/dist-esm/tests/server.test-suite.d.ts +11 -0
- package/dist-esm/tests/server.test-suite.d.ts.map +1 -0
- package/dist-esm/tests/server.test-suite.js +42 -0
- package/dist-esm/tests/server.test-suite.js.map +1 -0
- package/dist-esm/tests/test-handler.decorator.d.ts +6 -0
- package/dist-esm/tests/test-handler.decorator.d.ts.map +1 -0
- package/dist-esm/tests/test-handler.decorator.js +15 -0
- package/dist-esm/tests/test-handler.decorator.js.map +1 -0
- package/dist-esm/tests/test.body.d.ts +2 -0
- package/dist-esm/tests/test.body.d.ts.map +1 -0
- package/dist-esm/tests/test.body.js +3 -0
- package/dist-esm/tests/test.body.js.map +1 -0
- package/dist-esm/tests/test.controller.d.ts +4 -0
- package/dist-esm/tests/test.controller.d.ts.map +1 -0
- package/dist-esm/tests/test.controller.js +21 -0
- package/dist-esm/tests/test.controller.js.map +1 -0
- package/dist-esm/tests/test.execution-context.d.ts +6 -0
- package/dist-esm/tests/test.execution-context.d.ts.map +1 -0
- package/dist-esm/tests/test.execution-context.js +7 -0
- package/dist-esm/tests/test.execution-context.js.map +1 -0
- package/dist-esm/tests/test.handler-map.d.ts +14 -0
- package/dist-esm/tests/test.handler-map.d.ts.map +1 -0
- package/dist-esm/tests/test.handler-map.js +12 -0
- package/dist-esm/tests/test.handler-map.js.map +1 -0
- package/dist-esm/tests/test.module.d.ts +3 -0
- package/dist-esm/tests/test.module.d.ts.map +1 -0
- package/dist-esm/tests/test.module.js +15 -0
- package/dist-esm/tests/test.module.js.map +1 -0
- package/dist-esm/tests/test.server.d.ts +18 -0
- package/dist-esm/tests/test.server.d.ts.map +1 -0
- package/dist-esm/tests/test.server.js +39 -0
- package/dist-esm/tests/test.server.js.map +1 -0
- package/dist-esm/utils.d.ts +5 -0
- package/dist-esm/utils.d.ts.map +1 -0
- package/dist-esm/utils.js +32 -0
- package/dist-esm/utils.js.map +1 -0
- package/package.json +47 -0
- package/src/config.ts +13 -0
- package/src/index.ts +0 -0
- package/src/redis.module.ts +40 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware-data.decorator.js","sourceRoot":"","sources":["../../src/decorators/middleware-data.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC,CAAC,OAAyB,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="@hg-ts/types" />
|
|
2
|
+
import type { Observable } from 'rxjs';
|
|
3
|
+
import { ArgumentMetadata } from '../decorators';
|
|
4
|
+
type Handler = (...args: unknown[]) => Observable<unknown> | Promise<unknown> | unknown;
|
|
5
|
+
export type ExecutionControllerInfo<InputType> = {
|
|
6
|
+
data: InputType;
|
|
7
|
+
instance: object;
|
|
8
|
+
method: string | symbol;
|
|
9
|
+
};
|
|
10
|
+
export declare enum CallType {
|
|
11
|
+
RPC = "rpc",
|
|
12
|
+
EVENT = "event",
|
|
13
|
+
SUBSCRIPTION = "subscription"
|
|
14
|
+
}
|
|
15
|
+
export type ExecutionArgsInfo = ArgumentMetadata<ExecutionContext> | typeof NOT_DECORATED_ARGUMENT | {
|
|
16
|
+
value: unknown;
|
|
17
|
+
};
|
|
18
|
+
export declare const NOT_DECORATED_ARGUMENT: unique symbol;
|
|
19
|
+
export declare abstract class ExecutionContext<InputType = unknown, InternalData = unknown> {
|
|
20
|
+
data: Nullable<InputType>;
|
|
21
|
+
protected internalData: InternalData;
|
|
22
|
+
protected rawArgs: Nullable<ExecutionArgsInfo[]>;
|
|
23
|
+
private readonly controllerInfo;
|
|
24
|
+
constructor(controllerInfo: Nullable<ExecutionControllerInfo<InputType>>);
|
|
25
|
+
get handler(): Nullable<Handler>;
|
|
26
|
+
get controller(): Nullable<object>;
|
|
27
|
+
get controllerClass(): Nullable<Class<object>>;
|
|
28
|
+
get method(): Nullable<string | symbol>;
|
|
29
|
+
get isSubscription(): boolean;
|
|
30
|
+
get isEvent(): boolean;
|
|
31
|
+
get isRpc(): boolean;
|
|
32
|
+
get args(): ExecutionArgsInfo[];
|
|
33
|
+
getMiddlewareData(): InternalData;
|
|
34
|
+
protected initArguments(): ExecutionArgsInfo[];
|
|
35
|
+
protected abstract callType(): CallType;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=execution-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../src/execution-context/execution-context.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EACN,gBAAgB,EAEhB,MAAM,eAAe,CAAC;AAEvB,KAAK,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAExF,MAAM,MAAM,uBAAuB,CAAC,SAAS,IAAI;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,QAAQ;IACnB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,YAAY,iBAAiB;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,OAAO,sBAAsB,GAAG;IACpG,KAAK,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,8BAAsB,gBAAgB,CAAC,SAAS,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO;IAC1E,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAQ;IAExD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;gBAE3D,cAAc,EAAE,QAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAK/E,IAAW,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAQtC;IAGD,IAAW,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,CAExC;IAED,IAAW,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAQpD;IAED,IAAW,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAE7C;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,IAAI,IAAI,iBAAiB,EAAE,CAMrC;IAEM,iBAAiB,IAAI,YAAY;IAIxC,SAAS,CAAC,aAAa,IAAI,iBAAiB,EAAE;IAe9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ;CACvC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { getHandlerArguments, } from '../decorators';
|
|
3
|
+
export var CallType;
|
|
4
|
+
(function (CallType) {
|
|
5
|
+
CallType["RPC"] = "rpc";
|
|
6
|
+
CallType["EVENT"] = "event";
|
|
7
|
+
CallType["SUBSCRIPTION"] = "subscription";
|
|
8
|
+
})(CallType || (CallType = {}));
|
|
9
|
+
export const NOT_DECORATED_ARGUMENT = Symbol('NOT_DECORATED_ARGUMENT');
|
|
10
|
+
export class ExecutionContext {
|
|
11
|
+
data;
|
|
12
|
+
internalData;
|
|
13
|
+
rawArgs = null;
|
|
14
|
+
controllerInfo;
|
|
15
|
+
constructor(controllerInfo) {
|
|
16
|
+
this.controllerInfo = controllerInfo;
|
|
17
|
+
this.data = controllerInfo?.data ?? null;
|
|
18
|
+
}
|
|
19
|
+
get handler() {
|
|
20
|
+
const { controller, method } = this;
|
|
21
|
+
if (!controller || !method) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return controller[method].bind(controller);
|
|
25
|
+
}
|
|
26
|
+
get controller() {
|
|
27
|
+
return this.controllerInfo?.instance ?? null;
|
|
28
|
+
}
|
|
29
|
+
get controllerClass() {
|
|
30
|
+
const { controller } = this;
|
|
31
|
+
if (!controller) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return Object.getPrototypeOf(controller).constructor;
|
|
35
|
+
}
|
|
36
|
+
get method() {
|
|
37
|
+
return this.controllerInfo?.method ?? null;
|
|
38
|
+
}
|
|
39
|
+
get isSubscription() {
|
|
40
|
+
return this.callType() === CallType.SUBSCRIPTION;
|
|
41
|
+
}
|
|
42
|
+
get isEvent() {
|
|
43
|
+
return this.callType() === CallType.EVENT;
|
|
44
|
+
}
|
|
45
|
+
get isRpc() {
|
|
46
|
+
return this.callType() === CallType.RPC;
|
|
47
|
+
}
|
|
48
|
+
get args() {
|
|
49
|
+
if (this.rawArgs === null) {
|
|
50
|
+
this.rawArgs = this.initArguments();
|
|
51
|
+
}
|
|
52
|
+
return this.rawArgs;
|
|
53
|
+
}
|
|
54
|
+
getMiddlewareData() {
|
|
55
|
+
return this.internalData;
|
|
56
|
+
}
|
|
57
|
+
initArguments() {
|
|
58
|
+
assert.ok(this.controllerInfo);
|
|
59
|
+
const argumentsMap = getHandlerArguments(this.controllerInfo.instance, this.controllerInfo.method);
|
|
60
|
+
const lastIndex = Math.max(...argumentsMap.keys());
|
|
61
|
+
const argsLength = lastIndex ? lastIndex + 1 : 0;
|
|
62
|
+
const args = Array(argsLength).fill({ value: NOT_DECORATED_ARGUMENT });
|
|
63
|
+
argumentsMap.forEach((handler, index) => {
|
|
64
|
+
args[index] = handler;
|
|
65
|
+
});
|
|
66
|
+
return args;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=execution-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../../src/execution-context/execution-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AsyncContextProvider } from '@hg-ts/async-context';
|
|
2
|
+
import type { ExecutionContext } from './execution-context';
|
|
3
|
+
export declare class ExecutionContextProvider extends AsyncContextProvider<ExecutionContext> {
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=execution-context.provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.provider.d.ts","sourceRoot":"","sources":["../../src/execution-context/execution-context.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,wBAAyB,SAAQ,oBAAoB,CAAC,gBAAgB,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.provider.js","sourceRoot":"","sources":["../../src/execution-context/execution-context.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI5D,MAAM,OAAO,wBAAyB,SAAQ,oBAAsC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
export declare function mapToObservable<T>(value: Observable<T> | Promise<T> | T): Observable<T>;
|
|
3
|
+
export declare function promiseToObservable<T>(promise: Promise<T>): Observable<T>;
|
|
4
|
+
export declare function isPrimitiveValue<T>(value: Observable<T> | Promise<T> | T): value is T;
|
|
5
|
+
//# sourceMappingURL=map-to-observable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-to-observable.d.ts","sourceRoot":"","sources":["../src/map-to-observable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EAEV,MAAM,MAAM,CAAC;AAGd,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAUvF;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAezE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAErF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Observable, of, } from 'rxjs';
|
|
2
|
+
import { first } from 'rxjs/operators';
|
|
3
|
+
export function mapToObservable(value) {
|
|
4
|
+
if (isPrimitiveValue(value)) {
|
|
5
|
+
return of(value);
|
|
6
|
+
}
|
|
7
|
+
if (value instanceof Promise) {
|
|
8
|
+
return promiseToObservable(value);
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
export function promiseToObservable(promise) {
|
|
13
|
+
return new Observable(subscriber => {
|
|
14
|
+
promise
|
|
15
|
+
.then(result => {
|
|
16
|
+
if (result instanceof Observable) {
|
|
17
|
+
result
|
|
18
|
+
.pipe(first())
|
|
19
|
+
.subscribe(subscriber);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
subscriber.next(result);
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
.catch(error => subscriber.error(error))
|
|
26
|
+
.finally(() => subscriber.complete());
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function isPrimitiveValue(value) {
|
|
30
|
+
return !(value instanceof Promise || value instanceof Observable);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=map-to-observable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-to-observable.js","sourceRoot":"","sources":["../src/map-to-observable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,EAAE,GACF,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,UAAU,eAAe,CAAI,KAAqC;IACvE,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;KACjB;IAED,IAAI,KAAK,YAAY,OAAO,EAAE;QAC7B,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,OAAmB;IACzD,OAAO,IAAI,UAAU,CAAI,UAAU,CAAC,EAAE;QACrC,OAAO;aACL,IAAI,CAAC,MAAM,CAAC,EAAE;YACd,IAAI,MAAM,YAAY,UAAU,EAAE;gBACjC,MAAM;qBACJ,IAAI,CAAC,KAAK,EAAE,CAAC;qBACb,SAAS,CAAC,UAAU,CAAC,CAAC;aACxB;iBAAM;gBACN,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxB;QACF,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACvC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAI,KAAqC;IACxE,OAAO,CAAC,CAAC,KAAK,YAAY,OAAO,IAAI,KAAK,YAAY,UAAU,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.module.d.ts","sourceRoot":"","sources":["../src/redis.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACN,aAAa,EAGb,MAAM,YAAY,CAAC;AASpB,qBAEa,WAAW;WACT,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,aAAa;CAsBrE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var RedisModule_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { Global, Module, } from '@hg-ts/ioc';
|
|
4
|
+
import { RedisModule as RawRedisModule } from '@liaoliaots/nestjs-redis';
|
|
5
|
+
import { REDIS_CONFIG_SCHEMA, RedisConfig, } from './config';
|
|
6
|
+
let RedisModule = RedisModule_1 = class RedisModule {
|
|
7
|
+
static forRootAsync(configLoader) {
|
|
8
|
+
const redisModule = RawRedisModule.forRootAsync({
|
|
9
|
+
async useFactory() {
|
|
10
|
+
const config = await configLoader.load(REDIS_CONFIG_SCHEMA, 'redis');
|
|
11
|
+
return {
|
|
12
|
+
commonOptions: { enableReadyCheck: true },
|
|
13
|
+
config: {
|
|
14
|
+
host: config.host,
|
|
15
|
+
port: config.port,
|
|
16
|
+
db: config.database,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
inject: [RedisConfig],
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
module: RedisModule_1,
|
|
24
|
+
imports: [redisModule],
|
|
25
|
+
exports: [redisModule],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
RedisModule = RedisModule_1 = __decorate([
|
|
30
|
+
Global(),
|
|
31
|
+
Module()
|
|
32
|
+
], RedisModule);
|
|
33
|
+
export { RedisModule };
|
|
34
|
+
//# sourceMappingURL=redis.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.module.js","sourceRoot":"","sources":["../src/redis.module.ts"],"names":[],"mappings":";;AACA,OAAO,EAEN,MAAM,EACN,MAAM,GACN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,IAAI,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EACN,mBAAmB,EACnB,WAAW,GACX,MAAM,UAAU,CAAC;AAIX,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAChB,MAAM,CAAC,YAAY,CAAC,YAA0B;QACpD,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC;YAC/C,KAAK,CAAC,UAAU;gBACf,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;gBACrE,OAAO;oBACN,aAAa,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;oBACzC,MAAM,EAAE;wBACP,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,EAAE,EAAE,MAAM,CAAC,QAAQ;qBACnB;iBACD,CAAC;YACH,CAAC;YACD,MAAM,EAAE,CAAC,WAAW,CAAC;SACrB,CAAC,CAAC;QAEH,OAAO;YACN,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,WAAW,CAAC;YACtB,OAAO,EAAE,CAAC,WAAW,CAAC;SACtB,CAAC;IACH,CAAC;CACD,CAAA;AAvBY,WAAW;IAFvB,MAAM,EAAE;IACR,MAAM,EAAE;GACI,WAAW,CAuBvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.handler.d.ts","sourceRoot":"","sources":["../src/request.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,gBAAgB,EAChB,MAAM,MAAM,CAAC;AAGd,qBAAa,cAAc;IAE1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAE7C,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;CAKjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Dependency } from '@hg-ts/ioc';
|
|
3
|
+
import { ControllerCaller } from './controller.caller';
|
|
4
|
+
export class RequestHandler {
|
|
5
|
+
controllerCaller;
|
|
6
|
+
call() {
|
|
7
|
+
return (source) => source.pipe(this.controllerCaller.call());
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
__decorate([
|
|
11
|
+
Dependency(),
|
|
12
|
+
__metadata("design:type", ControllerCaller)
|
|
13
|
+
], RequestHandler.prototype, "controllerCaller", void 0);
|
|
14
|
+
//# sourceMappingURL=request.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.handler.js","sourceRoot":"","sources":["../src/request.handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,OAAO,cAAc;IAET,gBAAgB,CAAmB;IAE7C,IAAI;QACV,OAAO,CAAC,MAAM,EAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAC5B,CAAC;IACH,CAAC;CACD;AAPiB;IADhB,UAAU,EAAE;8BACsB,gBAAgB;wDAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="@hg-ts/types" />
|
|
2
|
+
import type { ControllerInfo } from '../controllers';
|
|
3
|
+
export type GetHandlerParams = {
|
|
4
|
+
controller: object;
|
|
5
|
+
method: string | symbol;
|
|
6
|
+
};
|
|
7
|
+
export declare abstract class BaseHandlersMap<HandlerKey, Input> extends Map<HandlerKey, GetHandlerParams> {
|
|
8
|
+
addControllers(controllers: ControllerInfo[]): void;
|
|
9
|
+
hasInputKey(input: Input): boolean;
|
|
10
|
+
abstract getInputKey(input: Input): Nullable<HandlerKey>;
|
|
11
|
+
protected abstract getHandlerKey(info: GetHandlerParams): Nullable<HandlerKey>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=base.handler-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.handler-map.d.ts","sourceRoot":"","sources":["../../src/server/base.handler-map.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAA;AAED,8BAAsB,eAAe,CAAC,UAAU,EAAE,KAAK,CAAE,SAAQ,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAC1F,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI;IAqBnD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;aAIzB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;CAC9E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class BaseHandlersMap extends Map {
|
|
2
|
+
addControllers(controllers) {
|
|
3
|
+
controllers.forEach(info => {
|
|
4
|
+
const { instance } = info;
|
|
5
|
+
info.handlers.forEach(method => {
|
|
6
|
+
const result = {
|
|
7
|
+
controller: instance,
|
|
8
|
+
method,
|
|
9
|
+
};
|
|
10
|
+
const key = this.getHandlerKey({
|
|
11
|
+
controller: instance,
|
|
12
|
+
method,
|
|
13
|
+
});
|
|
14
|
+
if (key) {
|
|
15
|
+
this.set(key, result);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
hasInputKey(input) {
|
|
21
|
+
return this.getInputKey(input) !== null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=base.handler-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.handler-map.js","sourceRoot":"","sources":["../../src/server/base.handler-map.ts"],"names":[],"mappings":"AAOA,MAAM,OAAgB,eAAmC,SAAQ,GAAiC;IAC1F,cAAc,CAAC,WAA6B;QAClD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC9B,MAAM,MAAM,GAAqB;oBAChC,UAAU,EAAE,QAAQ;oBACpB,MAAM;iBACN,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;oBAC9B,UAAU,EAAE,QAAQ;oBACpB,MAAM;iBACN,CAAC,CAAC;gBAEH,IAAI,GAAG,EAAE;oBACR,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;iBACtB;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,WAAW,CAAC,KAAY;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACzC,CAAC;CAID"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="@hg-ts/types" />
|
|
2
|
+
import { BEFORE_SHUT_DOWN_HOOK, INIT_HOOK, START_HOOK } from '@hg-ts/ioc';
|
|
3
|
+
import { MonoTypeOperatorFunction, Observable, OperatorFunction, Subscription } from 'rxjs';
|
|
4
|
+
import { ExecutionContextProvider, ExecutionContext } from '../execution-context';
|
|
5
|
+
import type { BaseHandlersMap, GetHandlerParams } from './base.handler-map';
|
|
6
|
+
export declare abstract class BaseServer<HandlerKey, Input, Context extends ExecutionContext> {
|
|
7
|
+
protected readonly executionContextProvider: ExecutionContextProvider;
|
|
8
|
+
protected subscription: Nullable<Subscription>;
|
|
9
|
+
private readonly requestHandler;
|
|
10
|
+
private readonly controllerExplorerService;
|
|
11
|
+
protected abstract readonly handlersMap: BaseHandlersMap<HandlerKey, Input>;
|
|
12
|
+
[INIT_HOOK](): Promise<void>;
|
|
13
|
+
[START_HOOK](): Promise<void>;
|
|
14
|
+
[BEFORE_SHUT_DOWN_HOOK](): Promise<void>;
|
|
15
|
+
protected subscribe(): void;
|
|
16
|
+
protected get context(): Context;
|
|
17
|
+
protected abstract getInputSteam(): Observable<Input>;
|
|
18
|
+
protected abstract getFilterOperator(): MonoTypeOperatorFunction<Input>;
|
|
19
|
+
protected abstract getHandlerResultOperator(): OperatorFunction<unknown, void>;
|
|
20
|
+
protected abstract createContext(input: Input, info: GetHandlerParams): Context;
|
|
21
|
+
protected abstract close(): Promise<void>;
|
|
22
|
+
protected abstract get transportKey(): symbol;
|
|
23
|
+
private getContextOperator;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=base.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.server.d.ts","sourceRoot":"","sources":["../../src/server/base.server.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,qBAAqB,EAErB,SAAS,EACT,UAAU,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAEN,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,8BAAsB,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS,gBAAgB;IAEnF,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAEtE,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAQ;IAGtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA4B;IAEtE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE/D,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrD,SAAS,CAAC,SAAS,IAAI,IAAI;IAa3B,SAAS,KAAK,OAAO,IAAI,OAAO,CAE/B;IAED,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,wBAAwB,CAAC,KAAK,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;IAC9E,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO;IAC/E,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC,SAAS,CAAC,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC;IAE9C,OAAO,CAAC,kBAAkB;CAQ1B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { BEFORE_SHUT_DOWN_HOOK, Dependency, INIT_HOOK, START_HOOK, } from '@hg-ts/ioc';
|
|
3
|
+
import { map, } from 'rxjs';
|
|
4
|
+
import { ExecutionContextProvider } from '../execution-context';
|
|
5
|
+
import { ControllerExplorerService } from '../controllers';
|
|
6
|
+
import { RequestHandler } from './request.handler';
|
|
7
|
+
export class BaseServer {
|
|
8
|
+
executionContextProvider;
|
|
9
|
+
subscription = null;
|
|
10
|
+
requestHandler;
|
|
11
|
+
controllerExplorerService;
|
|
12
|
+
async [INIT_HOOK]() {
|
|
13
|
+
const controllers = this.controllerExplorerService.getControllers(this.transportKey);
|
|
14
|
+
this.handlersMap.addControllers(controllers);
|
|
15
|
+
}
|
|
16
|
+
async [START_HOOK]() {
|
|
17
|
+
this.subscribe();
|
|
18
|
+
}
|
|
19
|
+
async [BEFORE_SHUT_DOWN_HOOK]() {
|
|
20
|
+
this.subscription?.unsubscribe();
|
|
21
|
+
await this.close();
|
|
22
|
+
}
|
|
23
|
+
subscribe() {
|
|
24
|
+
this.subscription = this.getInputSteam()
|
|
25
|
+
.pipe(this.getFilterOperator(), this.getContextOperator(), this.executionContextProvider.runOperator(), map(() => null), this.requestHandler.call(), this.getHandlerResultOperator())
|
|
26
|
+
.subscribe();
|
|
27
|
+
}
|
|
28
|
+
get context() {
|
|
29
|
+
return this.executionContextProvider.getOrFail();
|
|
30
|
+
}
|
|
31
|
+
getContextOperator() {
|
|
32
|
+
return map(input => {
|
|
33
|
+
const inputKey = this.handlersMap.getInputKey(input);
|
|
34
|
+
const handler = this.handlersMap.get(inputKey);
|
|
35
|
+
return this.createContext(input, handler);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
__decorate([
|
|
40
|
+
Dependency(),
|
|
41
|
+
__metadata("design:type", ExecutionContextProvider)
|
|
42
|
+
], BaseServer.prototype, "executionContextProvider", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
Dependency(),
|
|
45
|
+
__metadata("design:type", RequestHandler)
|
|
46
|
+
], BaseServer.prototype, "requestHandler", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
Dependency(),
|
|
49
|
+
__metadata("design:type", ControllerExplorerService)
|
|
50
|
+
], BaseServer.prototype, "controllerExplorerService", void 0);
|
|
51
|
+
//# sourceMappingURL=base.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.server.js","sourceRoot":"","sources":["../../src/server/base.server.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,GAAG,GAKH,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,wBAAwB,EAAoB,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAgB,UAAU;IAEZ,wBAAwB,CAA2B;IAE5D,YAAY,GAA2B,IAAI,CAAC;IAGrC,cAAc,CAAiB;IAE/B,yBAAyB,CAA4B;IAI/D,KAAK,CAAC,CAAC,SAAS,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAErF,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,CAAC,UAAU,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,CAAC,qBAAqB,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAES,SAAS;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE;aACtC,IAAI,CACJ,IAAI,CAAC,iBAAiB,EAAE,EACxB,IAAI,CAAC,kBAAkB,EAAE,EACzB,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,EAC3C,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACf,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAC1B,IAAI,CAAC,wBAAwB,EAAE,CAC/B;aACA,SAAS,EAAE,CAAC;IACf,CAAC;IAED,IAAc,OAAO;QACpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAa,CAAC;IAC7D,CAAC;IAUO,kBAAkB;QACzB,OAAO,GAAG,CAAiB,KAAK,CAAC,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAE,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YAEhD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AA3DmB;IADlB,UAAU,EAAE;8BACgC,wBAAwB;4DAAC;AAKrD;IADhB,UAAU,EAAE;8BACoB,cAAc;kDAAC;AAE/B;IADhB,UAAU,EAAE;8BAC+B,yBAAyB;6DAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.handler.d.ts","sourceRoot":"","sources":["../../src/server/request.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,gBAAgB,EAChB,MAAM,MAAM,CAAC;AAGd,qBAAa,cAAc;IAE1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAE7C,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;CAKjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Dependency } from '@hg-ts/ioc';
|
|
3
|
+
import { ControllerCaller } from '../controllers';
|
|
4
|
+
export class RequestHandler {
|
|
5
|
+
controllerCaller;
|
|
6
|
+
call() {
|
|
7
|
+
return (source) => source.pipe(this.controllerCaller.call());
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
__decorate([
|
|
11
|
+
Dependency(),
|
|
12
|
+
__metadata("design:type", ControllerCaller)
|
|
13
|
+
], RequestHandler.prototype, "controllerCaller", void 0);
|
|
14
|
+
//# sourceMappingURL=request.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.handler.js","sourceRoot":"","sources":["../../src/server/request.handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,OAAO,cAAc;IAET,gBAAgB,CAAmB;IAE7C,IAAI;QACV,OAAO,CAAC,MAAM,EAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAC5B,CAAC;IACH,CAAC;CACD;AAPiB;IADhB,UAAU,EAAE;8BACsB,gBAAgB;wDAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.module.d.ts","sourceRoot":"","sources":["../src/server.module.ts"],"names":[],"mappings":"AAMA,qBAca,YAAY;CAAG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Module } from '@hg-ts/ioc';
|
|
3
|
+
import { ExecutionContextProvider } from './execution-context';
|
|
4
|
+
import { ControllerExplorerService, ControllerCaller } from './controllers';
|
|
5
|
+
import { RequestHandler } from './server';
|
|
6
|
+
let ServerModule = class ServerModule {
|
|
7
|
+
};
|
|
8
|
+
ServerModule = __decorate([
|
|
9
|
+
Module({
|
|
10
|
+
providers: [
|
|
11
|
+
ControllerExplorerService,
|
|
12
|
+
RequestHandler,
|
|
13
|
+
ExecutionContextProvider,
|
|
14
|
+
ControllerCaller,
|
|
15
|
+
],
|
|
16
|
+
exports: [
|
|
17
|
+
ControllerExplorerService,
|
|
18
|
+
RequestHandler,
|
|
19
|
+
ExecutionContextProvider,
|
|
20
|
+
ControllerCaller,
|
|
21
|
+
],
|
|
22
|
+
})
|
|
23
|
+
], ServerModule);
|
|
24
|
+
export { ServerModule };
|
|
25
|
+
//# sourceMappingURL=server.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.module.js","sourceRoot":"","sources":["../src/server.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAgBnC,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAdxB,MAAM,CAAC;QACP,SAAS,EAAE;YACV,yBAAyB;YACzB,cAAc;YACd,wBAAwB;YACxB,gBAAgB;SAChB;QACD,OAAO,EAAE;YACR,yBAAyB;YACzB,cAAc;YACd,wBAAwB;YACxB,gBAAgB;SAChB;KACD,CAAC;GACW,YAAY,CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/tests/controllers/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,eAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/tests/controllers/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TestSuite } from '@hg-ts/tests';
|
|
2
|
+
export declare class ControllerTestSuite extends TestSuite {
|
|
3
|
+
isController(): Promise<void>;
|
|
4
|
+
isControllerWithIncorrectTransport(): Promise<void>;
|
|
5
|
+
getHandlers(): Promise<void>;
|
|
6
|
+
getEmptyArguments(): Promise<void>;
|
|
7
|
+
getEchoArguments(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=controller.test-suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.test-suite.d.ts","sourceRoot":"","sources":["../../../src/tests/controllers/controller.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,SAAS,EAET,MAAM,cAAc,CAAC;AAWtB,qBACa,mBAAoB,SAAQ,SAAS;IAEpC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,kCAAkC,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB9C"}
|