@rayondigital/nest-dapr 0.10.0 → 0.10.1
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/constants.d.ts +2 -0
- package/dist/constants.js +3 -1
- package/dist/dapr-activity.decorator.d.ts +6 -0
- package/dist/dapr-activity.decorator.js +18 -0
- package/dist/dapr-metadata.accessor.d.ts +4 -0
- package/dist/dapr-metadata.accessor.js +6 -0
- package/dist/dapr-workflow.decorator.d.ts +6 -0
- package/dist/dapr-workflow.decorator.js +18 -0
- package/dist/dapr.loader.d.ts +7 -2
- package/dist/dapr.loader.js +143 -49
- package/dist/dapr.module.d.ts +7 -0
- package/dist/dapr.module.js +10 -0
- package/dist/util/json.util.d.ts +1 -0
- package/dist/util/json.util.js +17 -0
- package/dist/workflow/dapr-workflow-client.service.d.ts +19 -0
- package/dist/workflow/dapr-workflow-client.service.js +90 -0
- package/dist/workflow/workflow-activity.d.ts +10 -0
- package/dist/workflow/workflow-activity.js +24 -0
- package/dist/workflow/workflow.d.ts +22 -0
- package/dist/workflow/workflow.js +31 -0
- package/package.json +4 -4
package/dist/constants.d.ts
CHANGED
|
@@ -4,3 +4,5 @@ export declare const DAPR_ACTOR_PUBSUB_METADATA = "DAPR_PUBSUB_METADATA";
|
|
|
4
4
|
export declare const DAPR_ACTOR_EVENT_METADATA = "DAPR_ACTOR_EVENT_METADATA";
|
|
5
5
|
export declare const DAPR_ACTOR_METADATA = "DAPR_ACTOR_METADATA";
|
|
6
6
|
export declare const DAPR_ACTOR_STATE_METADATA = "DAPR_ACTOR_STATE_METADATA";
|
|
7
|
+
export declare const DAPR_ACTIVITY_METADATA = "DAPR_ACTIVITY_METADATA";
|
|
8
|
+
export declare const DAPR_WORKFLOW_METADATA = "DAPR_WORKFLOW_METADATA";
|
package/dist/constants.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DAPR_ACTOR_STATE_METADATA = exports.DAPR_ACTOR_METADATA = exports.DAPR_ACTOR_EVENT_METADATA = exports.DAPR_ACTOR_PUBSUB_METADATA = exports.DAPR_PUBSUB_METADATA = exports.DAPR_BINDING_METADATA = void 0;
|
|
3
|
+
exports.DAPR_WORKFLOW_METADATA = exports.DAPR_ACTIVITY_METADATA = exports.DAPR_ACTOR_STATE_METADATA = exports.DAPR_ACTOR_METADATA = exports.DAPR_ACTOR_EVENT_METADATA = exports.DAPR_ACTOR_PUBSUB_METADATA = exports.DAPR_PUBSUB_METADATA = exports.DAPR_BINDING_METADATA = void 0;
|
|
4
4
|
exports.DAPR_BINDING_METADATA = 'DAPR_BINDING_METADATA';
|
|
5
5
|
exports.DAPR_PUBSUB_METADATA = 'DAPR_PUBSUB_METADATA';
|
|
6
6
|
exports.DAPR_ACTOR_PUBSUB_METADATA = 'DAPR_PUBSUB_METADATA';
|
|
7
7
|
exports.DAPR_ACTOR_EVENT_METADATA = 'DAPR_ACTOR_EVENT_METADATA';
|
|
8
8
|
exports.DAPR_ACTOR_METADATA = 'DAPR_ACTOR_METADATA';
|
|
9
9
|
exports.DAPR_ACTOR_STATE_METADATA = 'DAPR_ACTOR_STATE_METADATA';
|
|
10
|
+
exports.DAPR_ACTIVITY_METADATA = 'DAPR_ACTIVITY_METADATA';
|
|
11
|
+
exports.DAPR_WORKFLOW_METADATA = 'DAPR_WORKFLOW_METADATA';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
export interface DaprActivityMetadata {
|
|
3
|
+
name?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function DaprActivity(options?: DaprActivityMetadata): ClassDecorator;
|
|
6
|
+
export declare function getActivityMetadata(target: Type<any>): DaprActivityMetadata;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getActivityMetadata = exports.DaprActivity = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
function DaprActivity(options) {
|
|
7
|
+
return (target) => {
|
|
8
|
+
(0, common_1.SetMetadata)(constants_1.DAPR_ACTIVITY_METADATA, {
|
|
9
|
+
name: options === null || options === void 0 ? void 0 : options.name,
|
|
10
|
+
})(target);
|
|
11
|
+
(0, common_1.Injectable)({ scope: common_1.Scope.DEFAULT })(target);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.DaprActivity = DaprActivity;
|
|
15
|
+
function getActivityMetadata(target) {
|
|
16
|
+
return Reflect.getMetadata(constants_1.DAPR_ACTIVITY_METADATA, target);
|
|
17
|
+
}
|
|
18
|
+
exports.getActivityMetadata = getActivityMetadata;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
2
|
import { Reflector } from '@nestjs/core';
|
|
3
|
+
import { DaprActivityMetadata } from './dapr-activity.decorator';
|
|
3
4
|
import { DaprActorOnEventMetadata } from './dapr-actor-on-event.decorator';
|
|
4
5
|
import { DaprActorMetadata } from './dapr-actor.decorator';
|
|
5
6
|
import { DaprBindingMetadata } from './dapr-binding.decorator';
|
|
6
7
|
import { DaprPubSubMetadata } from './dapr-pubsub.decorator';
|
|
8
|
+
import { DaprWorkflowMetadata } from './dapr-workflow.decorator';
|
|
7
9
|
export declare class DaprMetadataAccessor {
|
|
8
10
|
private readonly reflector;
|
|
9
11
|
constructor(reflector: Reflector);
|
|
10
12
|
getDaprPubSubHandlerMetadata(target: Type<unknown>): DaprPubSubMetadata | undefined;
|
|
11
13
|
getDaprBindingHandlerMetadata(target: Type<unknown>): DaprBindingMetadata | undefined;
|
|
12
14
|
getDaprActorMetadata(target: Function | Type<unknown>): DaprActorMetadata | undefined;
|
|
15
|
+
getDaprActivityMetadata(target: Function | Type<unknown>): DaprActivityMetadata | undefined;
|
|
16
|
+
getDaprWorkflowMetadata(target: Function | Type<unknown>): DaprWorkflowMetadata | undefined;
|
|
13
17
|
getDaprEventHandlerMetadata(target: Type<unknown>): DaprActorOnEventMetadata<any>[] | undefined;
|
|
14
18
|
}
|
|
@@ -26,6 +26,12 @@ let DaprMetadataAccessor = class DaprMetadataAccessor {
|
|
|
26
26
|
getDaprActorMetadata(target) {
|
|
27
27
|
return this.reflector.get(constants_1.DAPR_ACTOR_METADATA, target);
|
|
28
28
|
}
|
|
29
|
+
getDaprActivityMetadata(target) {
|
|
30
|
+
return this.reflector.get(constants_1.DAPR_ACTIVITY_METADATA, target);
|
|
31
|
+
}
|
|
32
|
+
getDaprWorkflowMetadata(target) {
|
|
33
|
+
return this.reflector.get(constants_1.DAPR_WORKFLOW_METADATA, target);
|
|
34
|
+
}
|
|
29
35
|
getDaprEventHandlerMetadata(target) {
|
|
30
36
|
if (!target || (typeof target !== 'function' && typeof target !== 'object')) {
|
|
31
37
|
return undefined;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
export interface DaprWorkflowMetadata {
|
|
3
|
+
name?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function DaprWorkflow(options?: DaprWorkflowMetadata): ClassDecorator;
|
|
6
|
+
export declare function getWorkflowMetadata(target: Type<any>): DaprWorkflowMetadata;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWorkflowMetadata = exports.DaprWorkflow = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
function DaprWorkflow(options) {
|
|
7
|
+
return (target) => {
|
|
8
|
+
(0, common_1.SetMetadata)(constants_1.DAPR_WORKFLOW_METADATA, {
|
|
9
|
+
name: options === null || options === void 0 ? void 0 : options.name,
|
|
10
|
+
})(target);
|
|
11
|
+
(0, common_1.Injectable)({ scope: common_1.Scope.DEFAULT })(target);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.DaprWorkflow = DaprWorkflow;
|
|
15
|
+
function getWorkflowMetadata(target) {
|
|
16
|
+
return Reflect.getMetadata(constants_1.DAPR_WORKFLOW_METADATA, target);
|
|
17
|
+
}
|
|
18
|
+
exports.getWorkflowMetadata = getWorkflowMetadata;
|
package/dist/dapr.loader.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { DaprContextService } from './dapr-context-service';
|
|
|
7
7
|
import { DaprMetadataAccessor } from './dapr-metadata.accessor';
|
|
8
8
|
import { DaprModuleOptions } from './dapr.module';
|
|
9
9
|
import { DaprPubSubClient } from './pubsub/dapr-pubsub-client.service';
|
|
10
|
+
import { DaprWorkflowClient } from './workflow/dapr-workflow-client.service';
|
|
10
11
|
export declare class DaprLoader implements OnApplicationBootstrap, OnApplicationShutdown {
|
|
11
12
|
private readonly discoveryService;
|
|
12
13
|
private readonly metadataScanner;
|
|
@@ -17,13 +18,17 @@ export declare class DaprLoader implements OnApplicationBootstrap, OnApplication
|
|
|
17
18
|
private readonly moduleRef;
|
|
18
19
|
private readonly contextService;
|
|
19
20
|
private readonly pubSubClient;
|
|
21
|
+
private readonly workflowClient;
|
|
20
22
|
private readonly actorManager;
|
|
21
23
|
private readonly logger;
|
|
22
|
-
|
|
24
|
+
private workflowRuntime;
|
|
25
|
+
constructor(discoveryService: DiscoveryService, metadataScanner: MetadataScanner, daprServer: DaprServer, daprMetadataAccessor: DaprMetadataAccessor, options: DaprModuleOptions, daprActorClient: DaprActorClient, moduleRef: ModuleRef, contextService: DaprContextService, pubSubClient: DaprPubSubClient, workflowClient: DaprWorkflowClient, actorManager: NestActorManager);
|
|
23
26
|
onApplicationBootstrap(): Promise<void>;
|
|
24
27
|
onApplicationShutdown(): Promise<void>;
|
|
25
|
-
loadDaprHandlers(): void;
|
|
28
|
+
loadDaprHandlers(isActorsEnabled: boolean, isWorkflowEnabled: boolean): void;
|
|
26
29
|
private subscribeToDaprPubSubEventIfListener;
|
|
27
30
|
private subscribeToDaprBindingEventIfListener;
|
|
31
|
+
private registerActivity;
|
|
32
|
+
private registerWorkflow;
|
|
28
33
|
private registerActor;
|
|
29
34
|
}
|
package/dist/dapr.loader.js
CHANGED
|
@@ -37,8 +37,11 @@ const dapr_context_service_1 = require("./dapr-context-service");
|
|
|
37
37
|
const dapr_metadata_accessor_1 = require("./dapr-metadata.accessor");
|
|
38
38
|
const dapr_module_1 = require("./dapr.module");
|
|
39
39
|
const dapr_pubsub_client_service_1 = require("./pubsub/dapr-pubsub-client.service");
|
|
40
|
+
const dapr_workflow_client_service_1 = require("./workflow/dapr-workflow-client.service");
|
|
41
|
+
const workflow_1 = require("./workflow/workflow");
|
|
42
|
+
const workflow_activity_1 = require("./workflow/workflow-activity");
|
|
40
43
|
let DaprLoader = DaprLoader_1 = class DaprLoader {
|
|
41
|
-
constructor(discoveryService, metadataScanner, daprServer, daprMetadataAccessor, options, daprActorClient, moduleRef, contextService, pubSubClient, actorManager) {
|
|
44
|
+
constructor(discoveryService, metadataScanner, daprServer, daprMetadataAccessor, options, daprActorClient, moduleRef, contextService, pubSubClient, workflowClient, actorManager) {
|
|
42
45
|
this.discoveryService = discoveryService;
|
|
43
46
|
this.metadataScanner = metadataScanner;
|
|
44
47
|
this.daprServer = daprServer;
|
|
@@ -48,76 +51,120 @@ let DaprLoader = DaprLoader_1 = class DaprLoader {
|
|
|
48
51
|
this.moduleRef = moduleRef;
|
|
49
52
|
this.contextService = contextService;
|
|
50
53
|
this.pubSubClient = pubSubClient;
|
|
54
|
+
this.workflowClient = workflowClient;
|
|
51
55
|
this.actorManager = actorManager;
|
|
52
56
|
this.logger = new common_1.Logger(DaprLoader_1.name);
|
|
53
57
|
}
|
|
54
58
|
onApplicationBootstrap() {
|
|
55
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
59
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
56
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
this.logger.log('Dapr initializing');
|
|
62
|
+
const isEnabled = !this.options.disabled;
|
|
63
|
+
const isActorsEnabled = (_b = (_a = this.options.actorOptions) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : true;
|
|
64
|
+
const isWorkflowEnabled = (_d = (_c = this.options.workflowOptions) === null || _c === void 0 ? void 0 : _c.enabled) !== null && _d !== void 0 ? _d : true;
|
|
65
|
+
if (isWorkflowEnabled) {
|
|
66
|
+
this.workflowRuntime = new dapr_1.WorkflowRuntime({
|
|
67
|
+
daprHost: this.options.serverHost,
|
|
68
|
+
daprPort: (_e = this.options.workflowOptions.daprPort) !== null && _e !== void 0 ? _e : '3501',
|
|
69
|
+
});
|
|
64
70
|
}
|
|
65
|
-
if (
|
|
66
|
-
this.actorManager.
|
|
71
|
+
if (isActorsEnabled) {
|
|
72
|
+
this.actorManager.setup(this.moduleRef, this.options);
|
|
73
|
+
if (this.options.contextProvider !== dapr_module_1.DaprContextProvider.None) {
|
|
74
|
+
this.actorManager.setupCSLWrapper(this.options, this.contextService);
|
|
75
|
+
}
|
|
76
|
+
if ((_h = (_g = (_f = this.options.clientOptions) === null || _f === void 0 ? void 0 : _f.actor) === null || _g === void 0 ? void 0 : _g.reentrancy) === null || _h === void 0 ? void 0 : _h.enabled) {
|
|
77
|
+
this.actorManager.setupReentrancy(this.options);
|
|
78
|
+
}
|
|
67
79
|
}
|
|
68
|
-
if ((
|
|
80
|
+
if ((_j = this.options.pubsubOptions) === null || _j === void 0 ? void 0 : _j.defaultName) {
|
|
69
81
|
this.pubSubClient.setDefaultName(this.options.pubsubOptions.defaultName);
|
|
70
82
|
}
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
if (isActorsEnabled) {
|
|
84
|
+
if (this.options.actorOptions) {
|
|
85
|
+
this.daprActorClient.setAllowInternalCalls((_l = (_k = this.options.actorOptions) === null || _k === void 0 ? void 0 : _k.allowInternalCalls) !== null && _l !== void 0 ? _l : false);
|
|
86
|
+
this.daprActorClient.setPrefix((_o = (_m = this.options.actorOptions) === null || _m === void 0 ? void 0 : _m.prefix) !== null && _o !== void 0 ? _o : '', (_q = (_p = this.options.actorOptions) === null || _p === void 0 ? void 0 : _p.delimiter) !== null && _q !== void 0 ? _q : '-');
|
|
87
|
+
this.daprActorClient.setTypeNamePrefix((_s = (_r = this.options.actorOptions) === null || _r === void 0 ? void 0 : _r.typeNamePrefix) !== null && _s !== void 0 ? _s : '');
|
|
88
|
+
if ((_t = this.options.actorOptions) === null || _t === void 0 ? void 0 : _t.prefix) {
|
|
89
|
+
this.logger.log(`Actors will be prefixed with ${(_v = (_u = this.options.actorOptions) === null || _u === void 0 ? void 0 : _u.prefix) !== null && _v !== void 0 ? _v : ''} and delimited with ${(_x = (_w = this.options.actorOptions) === null || _w === void 0 ? void 0 : _w.delimiter) !== null && _x !== void 0 ? _x : '-'}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (isEnabled) {
|
|
93
|
+
this.logger.log('Registering Dapr actors');
|
|
94
|
+
yield this.daprServer.actor.init();
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
|
-
|
|
80
|
-
this.
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
res.status(500).send(err);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
97
|
+
this.loadDaprHandlers(isActorsEnabled, isWorkflowEnabled);
|
|
98
|
+
if (isEnabled && this.options.serverPort !== '0') {
|
|
99
|
+
this.logger.log('Starting Dapr server');
|
|
100
|
+
if (this.options.catchErrors) {
|
|
101
|
+
const server = this.daprServer.daprServer.getServer();
|
|
102
|
+
if (server) {
|
|
103
|
+
server.use((err, req, res, next) => {
|
|
104
|
+
if (err) {
|
|
105
|
+
this.logger.error(err, err.stack, 'DaprServer');
|
|
106
|
+
res.status(500).send(err);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
95
110
|
}
|
|
111
|
+
yield this.daprServer.start();
|
|
112
|
+
this.logger.log('Dapr server started');
|
|
96
113
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
114
|
+
if (isEnabled && this.options.workflowOptions.enabled) {
|
|
115
|
+
this.logger.log('Starting Dapr workflow runtime');
|
|
116
|
+
yield this.workflowRuntime.start();
|
|
117
|
+
yield this.workflowClient.start({
|
|
118
|
+
daprHost: this.options.serverHost,
|
|
119
|
+
daprPort: (_y = this.options.workflowOptions.daprPort) !== null && _y !== void 0 ? _y : '3501',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (!isActorsEnabled || !isEnabled)
|
|
123
|
+
return;
|
|
124
|
+
const registeredActors = yield this.daprServer.actor.getRegisteredActors();
|
|
125
|
+
if (registeredActors.length > 0) {
|
|
126
|
+
this.logger.log(`Registered Actors: ${registeredActors.join(', ')}`);
|
|
102
127
|
}
|
|
103
128
|
});
|
|
104
129
|
}
|
|
105
130
|
onApplicationShutdown() {
|
|
106
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
if (this.workflowRuntime && this.options.workflowOptions.enabled) {
|
|
133
|
+
this.logger.log('Stopping Dapr workflow runtime');
|
|
134
|
+
try {
|
|
135
|
+
yield this.workflowRuntime.stop();
|
|
136
|
+
yield this.workflowClient.stop();
|
|
137
|
+
}
|
|
138
|
+
catch (_a) {
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
this.logger.log('Dapr workflow runtime stopped');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
107
144
|
this.logger.log('Stopping Dapr server');
|
|
108
|
-
|
|
109
|
-
|
|
145
|
+
try {
|
|
146
|
+
if (!this.options.disabled) {
|
|
147
|
+
yield this.daprServer.stop();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (_b) {
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
this.logger.log('Dapr server stopped');
|
|
154
|
+
}
|
|
110
155
|
});
|
|
111
156
|
}
|
|
112
|
-
loadDaprHandlers() {
|
|
157
|
+
loadDaprHandlers(isActorsEnabled, isWorkflowEnabled) {
|
|
113
158
|
const providers = this.discoveryService.getProviders();
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
159
|
+
if (isActorsEnabled) {
|
|
160
|
+
providers
|
|
161
|
+
.filter((wrapper) => wrapper.isDependencyTreeStatic() &&
|
|
162
|
+
wrapper.metatype &&
|
|
163
|
+
this.daprMetadataAccessor.getDaprActorMetadata(wrapper.metatype))
|
|
164
|
+
.forEach((wrapper) => __awaiter(this, void 0, void 0, function* () {
|
|
165
|
+
yield this.registerActor(wrapper.metatype);
|
|
166
|
+
}));
|
|
167
|
+
}
|
|
121
168
|
const controllers = this.discoveryService.getControllers();
|
|
122
169
|
[...providers, ...controllers]
|
|
123
170
|
.filter((wrapper) => wrapper.isDependencyTreeStatic())
|
|
@@ -130,6 +177,22 @@ let DaprLoader = DaprLoader_1 = class DaprLoader {
|
|
|
130
177
|
yield this.subscribeToDaprBindingEventIfListener(instance, methodKey);
|
|
131
178
|
}));
|
|
132
179
|
}));
|
|
180
|
+
if (isWorkflowEnabled) {
|
|
181
|
+
providers
|
|
182
|
+
.filter((wrapper) => wrapper.isDependencyTreeStatic() &&
|
|
183
|
+
wrapper.metatype &&
|
|
184
|
+
this.daprMetadataAccessor.getDaprActivityMetadata(wrapper.metatype))
|
|
185
|
+
.forEach((wrapper) => __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
yield this.registerActivity(wrapper.metatype);
|
|
187
|
+
}));
|
|
188
|
+
providers
|
|
189
|
+
.filter((wrapper) => wrapper.isDependencyTreeStatic() &&
|
|
190
|
+
wrapper.metatype &&
|
|
191
|
+
this.daprMetadataAccessor.getDaprWorkflowMetadata(wrapper.metatype))
|
|
192
|
+
.forEach((wrapper) => __awaiter(this, void 0, void 0, function* () {
|
|
193
|
+
yield this.registerWorkflow(wrapper.metatype);
|
|
194
|
+
}));
|
|
195
|
+
}
|
|
133
196
|
}
|
|
134
197
|
subscribeToDaprPubSubEventIfListener(instance, methodKey) {
|
|
135
198
|
var _a, _b;
|
|
@@ -181,6 +244,36 @@ let DaprLoader = DaprLoader_1 = class DaprLoader {
|
|
|
181
244
|
}));
|
|
182
245
|
});
|
|
183
246
|
}
|
|
247
|
+
registerActivity(activityType) {
|
|
248
|
+
var _a, _b;
|
|
249
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
250
|
+
if (!activityType)
|
|
251
|
+
return;
|
|
252
|
+
const metadata = this.daprMetadataAccessor.getDaprActivityMetadata(activityType);
|
|
253
|
+
const activityTypeName = (_b = (_a = metadata.name) !== null && _a !== void 0 ? _a : activityType.name) !== null && _b !== void 0 ? _b : activityType.constructor.name;
|
|
254
|
+
if (!activityType.prototype.run) {
|
|
255
|
+
this.logger.error(`Activity ${activityTypeName} does not have a run method`);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
this.logger.log(`Registering Dapr Activity: ${activityTypeName}`);
|
|
259
|
+
this.workflowRuntime.registerActivityWithName(activityTypeName, (0, workflow_activity_1.lazyActivity)(this.moduleRef, activityType));
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
registerWorkflow(workflowType) {
|
|
263
|
+
var _a, _b;
|
|
264
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
265
|
+
if (!workflowType)
|
|
266
|
+
return;
|
|
267
|
+
const metadata = this.daprMetadataAccessor.getDaprWorkflowMetadata(workflowType);
|
|
268
|
+
const workflowTypeName = (_b = (_a = metadata.name) !== null && _a !== void 0 ? _a : workflowType.name) !== null && _b !== void 0 ? _b : workflowType.constructor.name;
|
|
269
|
+
if (!workflowType.prototype.run) {
|
|
270
|
+
this.logger.error(`Workflow ${workflowTypeName} does not have a run method`);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
this.logger.log(`Registering Dapr Workflow: ${workflowTypeName}`);
|
|
274
|
+
this.workflowRuntime.registerWorkflowWithName(workflowTypeName, (0, workflow_1.lazyWorkflow)(this.moduleRef, workflowType));
|
|
275
|
+
});
|
|
276
|
+
}
|
|
184
277
|
registerActor(actorType) {
|
|
185
278
|
var _a, _b, _c, _d, _e;
|
|
186
279
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -224,6 +317,7 @@ DaprLoader = DaprLoader_1 = __decorate([
|
|
|
224
317
|
core_1.ModuleRef,
|
|
225
318
|
dapr_context_service_1.DaprContextService,
|
|
226
319
|
dapr_pubsub_client_service_1.DaprPubSubClient,
|
|
320
|
+
dapr_workflow_client_service_1.DaprWorkflowClient,
|
|
227
321
|
nest_actor_manager_1.NestActorManager])
|
|
228
322
|
], DaprLoader);
|
|
229
323
|
exports.DaprLoader = DaprLoader;
|
package/dist/dapr.module.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ export declare const DAPR_MODULE_OPTIONS_TOKEN = "DAPR_MODULE_OPTIONS_TOKEN";
|
|
|
5
5
|
export interface DaprModuleOptions {
|
|
6
6
|
serverHost?: string;
|
|
7
7
|
serverPort?: string;
|
|
8
|
+
serverGrpcPort?: string;
|
|
8
9
|
communicationProtocol?: CommunicationProtocolEnum;
|
|
9
10
|
clientOptions?: DaprClientOptions;
|
|
10
11
|
actorOptions?: DaprModuleActorOptions;
|
|
12
|
+
workflowOptions?: DaprModuleWorkflowOptions;
|
|
11
13
|
pubsubOptions?: DaprModulePubSubOptions;
|
|
12
14
|
disabled?: boolean;
|
|
13
15
|
contextProvider?: DaprContextProvider;
|
|
@@ -19,11 +21,16 @@ export interface DaprModuleLoggingOptions {
|
|
|
19
21
|
enabled: boolean;
|
|
20
22
|
}
|
|
21
23
|
export interface DaprModuleActorOptions {
|
|
24
|
+
enabled: boolean;
|
|
22
25
|
prefix?: string;
|
|
23
26
|
delimiter?: string;
|
|
24
27
|
typeNamePrefix?: string;
|
|
25
28
|
allowInternalCalls?: boolean;
|
|
26
29
|
}
|
|
30
|
+
export interface DaprModuleWorkflowOptions {
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
daprPort?: string;
|
|
33
|
+
}
|
|
27
34
|
export interface DaprModulePubSubOptions {
|
|
28
35
|
defaultName?: string;
|
|
29
36
|
onError?: (name: string, topicName: string, error: any) => DaprPubSubStatusEnum;
|
package/dist/dapr.module.js
CHANGED
|
@@ -30,6 +30,7 @@ const dapr_event_subscriber_loader_1 = require("./dapr-event-subscriber.loader")
|
|
|
30
30
|
const dapr_metadata_accessor_1 = require("./dapr-metadata.accessor");
|
|
31
31
|
const dapr_loader_1 = require("./dapr.loader");
|
|
32
32
|
const dapr_pubsub_client_service_1 = require("./pubsub/dapr-pubsub-client.service");
|
|
33
|
+
const dapr_workflow_client_service_1 = require("./workflow/dapr-workflow-client.service");
|
|
33
34
|
exports.DAPR_MODULE_OPTIONS_TOKEN = 'DAPR_MODULE_OPTIONS_TOKEN';
|
|
34
35
|
var DaprContextProvider;
|
|
35
36
|
(function (DaprContextProvider) {
|
|
@@ -48,6 +49,11 @@ function createOptionsProvider(options) {
|
|
|
48
49
|
actorScanInterval: '1m',
|
|
49
50
|
};
|
|
50
51
|
}
|
|
52
|
+
if (!options.workflowOptions) {
|
|
53
|
+
options.workflowOptions = {
|
|
54
|
+
enabled: true,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
51
57
|
return { provide: exports.DAPR_MODULE_OPTIONS_TOKEN, useValue: options || {} };
|
|
52
58
|
}
|
|
53
59
|
exports.createOptionsProvider = createOptionsProvider;
|
|
@@ -82,6 +88,7 @@ let DaprModule = DaprModule_1 = class DaprModule {
|
|
|
82
88
|
dapr_context_service_1.DaprContextService,
|
|
83
89
|
dapr_actor_client_service_1.DaprActorClient,
|
|
84
90
|
dapr_pubsub_client_service_1.DaprPubSubClient,
|
|
91
|
+
dapr_workflow_client_service_1.DaprWorkflowClient,
|
|
85
92
|
dapr_event_emitter_service_1.DaprEventEmitter,
|
|
86
93
|
actor_runtime_service_1.ActorRuntimeService,
|
|
87
94
|
core_1.Reflector,
|
|
@@ -94,6 +101,7 @@ let DaprModule = DaprModule_1 = class DaprModule {
|
|
|
94
101
|
dapr_context_service_1.DaprContextService,
|
|
95
102
|
actor_runtime_service_1.ActorRuntimeService,
|
|
96
103
|
dapr_actor_client_service_1.DaprActorClient,
|
|
104
|
+
dapr_workflow_client_service_1.DaprWorkflowClient,
|
|
97
105
|
dapr_event_subscriber_loader_1.DaprEventSubscriberLoader,
|
|
98
106
|
dapr_event_emitter_service_1.DaprEventEmitter,
|
|
99
107
|
],
|
|
@@ -130,6 +138,7 @@ let DaprModule = DaprModule_1 = class DaprModule {
|
|
|
130
138
|
dapr_context_service_1.DaprContextService,
|
|
131
139
|
dapr_actor_client_service_1.DaprActorClient,
|
|
132
140
|
dapr_pubsub_client_service_1.DaprPubSubClient,
|
|
141
|
+
dapr_workflow_client_service_1.DaprWorkflowClient,
|
|
133
142
|
dapr_event_emitter_service_1.DaprEventEmitter,
|
|
134
143
|
actor_runtime_service_1.ActorRuntimeService,
|
|
135
144
|
core_1.Reflector,
|
|
@@ -142,6 +151,7 @@ let DaprModule = DaprModule_1 = class DaprModule {
|
|
|
142
151
|
dapr_context_service_1.DaprContextService,
|
|
143
152
|
actor_runtime_service_1.ActorRuntimeService,
|
|
144
153
|
dapr_actor_client_service_1.DaprActorClient,
|
|
154
|
+
dapr_workflow_client_service_1.DaprWorkflowClient,
|
|
145
155
|
dapr_event_subscriber_loader_1.DaprEventSubscriberLoader,
|
|
146
156
|
dapr_event_emitter_service_1.DaprEventEmitter,
|
|
147
157
|
],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function fromJson(json: any): any;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromJson = void 0;
|
|
4
|
+
function fromJson(json) {
|
|
5
|
+
try {
|
|
6
|
+
if (typeof json === 'string') {
|
|
7
|
+
const isJson = json.includes('{') || json.includes('[');
|
|
8
|
+
if (isJson)
|
|
9
|
+
return JSON.parse(json);
|
|
10
|
+
}
|
|
11
|
+
return json;
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return json;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.fromJson = fromJson;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DaprWorkflowClient as WorkflowClient, WorkflowState } from '@dapr/dapr';
|
|
2
|
+
import { WorkflowClientOptions } from '@dapr/dapr/types/workflow/WorkflowClientOption';
|
|
3
|
+
import { Type } from '@nestjs/common';
|
|
4
|
+
import { WorkflowInput } from './workflow';
|
|
5
|
+
export declare class DaprWorkflowClient {
|
|
6
|
+
client?: WorkflowClient;
|
|
7
|
+
start(options?: Partial<WorkflowClientOptions>): Promise<void>;
|
|
8
|
+
scheduleNewWorkflow(workflowName: string, input?: any, instanceId?: string, startAt?: Date): Promise<string>;
|
|
9
|
+
scheduleNewWorkflow<C extends Type<any>>(workflowClass: C, input: WorkflowInput<C>, instanceId?: string, startAt?: Date): Promise<string>;
|
|
10
|
+
terminateWorkflow(workflowInstanceId: string, output: any): Promise<void>;
|
|
11
|
+
getWorkflowState(workflowInstanceId: string, getInputsAndOutputs: boolean): Promise<WorkflowState | undefined>;
|
|
12
|
+
waitForWorkflowStart(workflowInstanceId: string, fetchPayloads?: boolean, timeoutInSeconds?: number): Promise<WorkflowState | undefined>;
|
|
13
|
+
waitForWorkflowCompletion(workflowInstanceId: string, fetchPayloads?: boolean, timeoutInSeconds?: number): Promise<WorkflowState | undefined>;
|
|
14
|
+
raiseEvent(workflowInstanceId: string, eventName: string, eventPayload?: any): Promise<void>;
|
|
15
|
+
purgeWorkflow(workflowInstanceId: string): Promise<boolean>;
|
|
16
|
+
suspendWorkflow(workflowInstanceId: string): Promise<void>;
|
|
17
|
+
resumeWorkflow(workflowInstanceId: string): Promise<void>;
|
|
18
|
+
stop(): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DaprWorkflowClient = void 0;
|
|
19
|
+
const dapr_1 = require("@dapr/dapr");
|
|
20
|
+
const common_1 = require("@nestjs/common");
|
|
21
|
+
let DaprWorkflowClient = class DaprWorkflowClient {
|
|
22
|
+
start(options) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
this.client = new dapr_1.DaprWorkflowClient(options);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
scheduleNewWorkflow(wf, input, instanceId, startAt) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
return this.client.scheduleNewWorkflow(wf, input, instanceId, startAt);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
terminateWorkflow(workflowInstanceId, output) {
|
|
33
|
+
var _a;
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
yield ((_a = this.client) === null || _a === void 0 ? void 0 : _a.terminateWorkflow(workflowInstanceId, output));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
getWorkflowState(workflowInstanceId, getInputsAndOutputs) {
|
|
39
|
+
var _a;
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return (_a = this.client) === null || _a === void 0 ? void 0 : _a.getWorkflowState(workflowInstanceId, getInputsAndOutputs);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
waitForWorkflowStart(workflowInstanceId, fetchPayloads, timeoutInSeconds) {
|
|
45
|
+
var _a;
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
return (_a = this.client) === null || _a === void 0 ? void 0 : _a.waitForWorkflowStart(workflowInstanceId, fetchPayloads, timeoutInSeconds);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
waitForWorkflowCompletion(workflowInstanceId, fetchPayloads, timeoutInSeconds) {
|
|
51
|
+
var _a;
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
return (_a = this.client) === null || _a === void 0 ? void 0 : _a.waitForWorkflowCompletion(workflowInstanceId, fetchPayloads, timeoutInSeconds);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
raiseEvent(workflowInstanceId, eventName, eventPayload) {
|
|
57
|
+
var _a;
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
yield ((_a = this.client) === null || _a === void 0 ? void 0 : _a.raiseEvent(workflowInstanceId, eventName, eventPayload));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
purgeWorkflow(workflowInstanceId) {
|
|
63
|
+
var _a;
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
return (_a = this.client) === null || _a === void 0 ? void 0 : _a.purgeWorkflow(workflowInstanceId);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
suspendWorkflow(workflowInstanceId) {
|
|
69
|
+
var _a;
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
yield ((_a = this.client) === null || _a === void 0 ? void 0 : _a.suspendWorkflow(workflowInstanceId));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
resumeWorkflow(workflowInstanceId) {
|
|
75
|
+
var _a;
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
yield ((_a = this.client) === null || _a === void 0 ? void 0 : _a.resumeWorkflow(workflowInstanceId));
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
stop() {
|
|
81
|
+
var _a;
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
yield ((_a = this.client) === null || _a === void 0 ? void 0 : _a.stop());
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
DaprWorkflowClient = __decorate([
|
|
88
|
+
(0, common_1.Injectable)()
|
|
89
|
+
], DaprWorkflowClient);
|
|
90
|
+
exports.DaprWorkflowClient = DaprWorkflowClient;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { WorkflowActivityContext } from '@dapr/dapr';
|
|
2
|
+
import { TWorkflowActivity } from '@dapr/dapr/types/workflow/Activity.type';
|
|
3
|
+
import { Type } from '@nestjs/common';
|
|
4
|
+
import { ModuleRef } from '@nestjs/core';
|
|
5
|
+
export interface WorkflowActivity<TInput = unknown, TResult = unknown> {
|
|
6
|
+
run(context: WorkflowActivityContext, input: TInput): Promise<TResult>;
|
|
7
|
+
}
|
|
8
|
+
export declare function lazyActivity<TInput = unknown, TResult = unknown, TClass extends {
|
|
9
|
+
run(ctx: WorkflowActivityContext, input: TInput): Promise<TResult>;
|
|
10
|
+
} = any>(moduleRef: ModuleRef, klass: Type<TClass>): TWorkflowActivity<TInput, TResult>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.lazyActivity = void 0;
|
|
13
|
+
function lazyActivity(moduleRef, klass) {
|
|
14
|
+
let instance;
|
|
15
|
+
return function (ctx, input) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
if (!instance) {
|
|
18
|
+
instance = moduleRef.get(klass, { strict: false });
|
|
19
|
+
}
|
|
20
|
+
return instance.run(ctx, input);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.lazyActivity = lazyActivity;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TWorkflow, WorkflowContext, WorkflowState } from '@dapr/dapr';
|
|
2
|
+
import { Type } from '@nestjs/common';
|
|
3
|
+
import { ModuleRef } from '@nestjs/core';
|
|
4
|
+
import { WorkflowActivity } from './workflow-activity';
|
|
5
|
+
export interface Workflow<TResult = unknown, TInput = unknown> {
|
|
6
|
+
run(context: WorkflowContext, input: TInput): AsyncGenerator<unknown, TResult> | TResult;
|
|
7
|
+
}
|
|
8
|
+
export declare function lazyWorkflow<TInput = unknown, TResult = unknown, TClass extends {
|
|
9
|
+
run(context: WorkflowContext, input: TInput): AsyncGenerator<unknown, TResult> | TResult;
|
|
10
|
+
} = any>(moduleRef: ModuleRef, klass: Type<TClass>): TWorkflow;
|
|
11
|
+
export type WorkflowInput<C extends Type<any>> = Parameters<InstanceType<C>['run']> extends [any, infer P, ...any[]] ? P : void;
|
|
12
|
+
export type WorkflowReturn<C extends Type<any>> = ReturnType<InstanceType<C>['run']> extends AsyncGenerator<any, infer R, any> ? R : Awaited<ReturnType<InstanceType<C>['run']>>;
|
|
13
|
+
export type ActivityInput<C extends Type<WorkflowActivity>> = Parameters<InstanceType<C>['run']>[1];
|
|
14
|
+
export type ActivityOutput<C extends Type<WorkflowActivity>> = Awaited<ReturnType<InstanceType<C>['run']>>;
|
|
15
|
+
declare module '@dapr/dapr' {
|
|
16
|
+
interface WorkflowContext {
|
|
17
|
+
callActivity<C extends Type<WorkflowActivity>>(activityClass: C, input: ActivityInput<C>): Promise<ActivityOutput<C>>;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export declare function expect<T>(value: unknown): T;
|
|
21
|
+
export declare function workflowOutput<C extends Type<any>>(workflowType: C, state: WorkflowState): WorkflowReturn<C>;
|
|
22
|
+
export declare function workflowInput<C extends Type<any>>(workflowType: C, state: WorkflowState): WorkflowInput<C>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workflowInput = exports.workflowOutput = exports.expect = exports.lazyWorkflow = void 0;
|
|
4
|
+
function lazyWorkflow(moduleRef, klass) {
|
|
5
|
+
let instance;
|
|
6
|
+
return function (ctx, input) {
|
|
7
|
+
if (!instance) {
|
|
8
|
+
instance = moduleRef.get(klass, { strict: false });
|
|
9
|
+
}
|
|
10
|
+
return instance.run(ctx, input);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
exports.lazyWorkflow = lazyWorkflow;
|
|
14
|
+
function expect(value) {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
exports.expect = expect;
|
|
18
|
+
function workflowOutput(workflowType, state) {
|
|
19
|
+
const raw = state.serializedOutput;
|
|
20
|
+
return raw
|
|
21
|
+
? JSON.parse(raw)
|
|
22
|
+
: undefined;
|
|
23
|
+
}
|
|
24
|
+
exports.workflowOutput = workflowOutput;
|
|
25
|
+
function workflowInput(workflowType, state) {
|
|
26
|
+
const raw = state.serializedInput;
|
|
27
|
+
return raw
|
|
28
|
+
? JSON.parse(raw)
|
|
29
|
+
: undefined;
|
|
30
|
+
}
|
|
31
|
+
exports.workflowInput = workflowInput;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rayondigital/nest-dapr",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Develop NestJs microservices using Dapr pubsub, actors and other bindings",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"@opentelemetry/core": "^1.0.0",
|
|
31
31
|
"@opentelemetry/sdk-trace-base": "^1.0.0",
|
|
32
32
|
"eventemitter2": "^6.0.0",
|
|
33
|
-
"nestjs-cls": "^
|
|
33
|
+
"nestjs-cls": "^5.0.0",
|
|
34
34
|
"rxjs": "^7.1.0",
|
|
35
35
|
"node-fetch": "^3.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@dapr/dapr": "^3.
|
|
38
|
+
"@dapr/dapr": "^3.5.2",
|
|
39
39
|
"async-lock": "^1.4.1",
|
|
40
40
|
"node-fetch": "^3.0.0",
|
|
41
41
|
"whatwg-url": "^14.0.0"
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"typescript": "^4.8.4"
|
|
63
63
|
},
|
|
64
64
|
"optionalDependencies": {
|
|
65
|
-
"nestjs-cls": "^
|
|
65
|
+
"nestjs-cls": "^5.0.0",
|
|
66
66
|
"eventemitter2": "^6.0.0"
|
|
67
67
|
},
|
|
68
68
|
"publishConfig": {
|