@duraflows/nestjs 0.1.0 → 0.3.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.
Files changed (79) hide show
  1. package/README.md +5 -5
  2. package/dist/cjs/controllers/dto/available-events-query.dto.d.ts +4 -0
  3. package/dist/cjs/controllers/dto/available-events-query.dto.d.ts.map +1 -0
  4. package/dist/cjs/controllers/dto/available-events-query.dto.js +22 -0
  5. package/dist/cjs/controllers/dto/available-events-query.dto.js.map +1 -0
  6. package/dist/cjs/controllers/dto/create-instance.dto.d.ts +7 -0
  7. package/dist/cjs/controllers/dto/create-instance.dto.d.ts.map +1 -0
  8. package/dist/cjs/controllers/dto/create-instance.dto.js +40 -0
  9. package/dist/cjs/controllers/dto/create-instance.dto.js.map +1 -0
  10. package/dist/cjs/controllers/dto/history-query.dto.d.ts +8 -0
  11. package/dist/cjs/controllers/dto/history-query.dto.d.ts.map +1 -0
  12. package/dist/cjs/controllers/dto/history-query.dto.js +37 -0
  13. package/dist/cjs/controllers/dto/history-query.dto.js.map +1 -0
  14. package/dist/cjs/controllers/dto/index.d.ts +6 -0
  15. package/dist/cjs/controllers/dto/index.d.ts.map +1 -0
  16. package/dist/cjs/controllers/dto/index.js +16 -0
  17. package/dist/cjs/controllers/dto/index.js.map +1 -0
  18. package/dist/cjs/controllers/dto/timeout-process.dto.d.ts +4 -0
  19. package/dist/cjs/controllers/dto/timeout-process.dto.d.ts.map +1 -0
  20. package/dist/cjs/controllers/dto/timeout-process.dto.js +23 -0
  21. package/dist/cjs/controllers/dto/timeout-process.dto.js.map +1 -0
  22. package/dist/cjs/controllers/dto/trigger-event.dto.d.ts +9 -0
  23. package/dist/cjs/controllers/dto/trigger-event.dto.d.ts.map +1 -0
  24. package/dist/cjs/controllers/dto/trigger-event.dto.js +41 -0
  25. package/dist/cjs/controllers/dto/trigger-event.dto.js.map +1 -0
  26. package/dist/cjs/controllers/workflow-event.controller.d.ts +9 -0
  27. package/dist/cjs/controllers/workflow-event.controller.d.ts.map +1 -0
  28. package/dist/cjs/controllers/workflow-event.controller.js +48 -0
  29. package/dist/cjs/controllers/workflow-event.controller.js.map +1 -0
  30. package/dist/cjs/controllers/workflow-instance.controller.d.ts +10 -0
  31. package/dist/cjs/controllers/workflow-instance.controller.d.ts.map +1 -0
  32. package/dist/cjs/controllers/workflow-instance.controller.js +60 -0
  33. package/dist/cjs/controllers/workflow-instance.controller.js.map +1 -0
  34. package/dist/cjs/controllers/workflow-query.controller.d.ts +10 -0
  35. package/dist/cjs/controllers/workflow-query.controller.d.ts.map +1 -0
  36. package/dist/cjs/controllers/workflow-query.controller.js +58 -0
  37. package/dist/cjs/controllers/workflow-query.controller.js.map +1 -0
  38. package/dist/cjs/controllers/workflow-timeout.controller.d.ts +9 -0
  39. package/dist/cjs/controllers/workflow-timeout.controller.d.ts.map +1 -0
  40. package/dist/cjs/controllers/workflow-timeout.controller.js +41 -0
  41. package/dist/cjs/controllers/workflow-timeout.controller.js.map +1 -0
  42. package/dist/cjs/decorators/workflow-command.decorator.d.ts +5 -0
  43. package/dist/cjs/decorators/workflow-command.decorator.d.ts.map +1 -0
  44. package/dist/cjs/decorators/workflow-command.decorator.js +17 -0
  45. package/dist/cjs/decorators/workflow-command.decorator.js.map +1 -0
  46. package/dist/cjs/index.d.ts +16 -0
  47. package/dist/cjs/index.d.ts.map +1 -0
  48. package/dist/cjs/index.js +61 -0
  49. package/dist/cjs/index.js.map +1 -0
  50. package/dist/cjs/package.json +1 -0
  51. package/dist/cjs/providers/command-discovery.d.ts +5 -0
  52. package/dist/cjs/providers/command-discovery.d.ts.map +1 -0
  53. package/dist/cjs/providers/command-discovery.js +35 -0
  54. package/dist/cjs/providers/command-discovery.js.map +1 -0
  55. package/dist/cjs/providers/injection-tokens.d.ts +8 -0
  56. package/dist/cjs/providers/injection-tokens.d.ts.map +1 -0
  57. package/dist/cjs/providers/injection-tokens.js +11 -0
  58. package/dist/cjs/providers/injection-tokens.js.map +1 -0
  59. package/dist/cjs/providers/nest-command-registry.d.ts +16 -0
  60. package/dist/cjs/providers/nest-command-registry.d.ts.map +1 -0
  61. package/dist/cjs/providers/nest-command-registry.js +32 -0
  62. package/dist/cjs/providers/nest-command-registry.js.map +1 -0
  63. package/dist/cjs/services/workflow-timeout.service.d.ts +7 -0
  64. package/dist/cjs/services/workflow-timeout.service.d.ts.map +1 -0
  65. package/dist/cjs/services/workflow-timeout.service.js +33 -0
  66. package/dist/cjs/services/workflow-timeout.service.js.map +1 -0
  67. package/dist/cjs/services/workflow.service.d.ts +18 -0
  68. package/dist/cjs/services/workflow.service.d.ts.map +1 -0
  69. package/dist/cjs/services/workflow.service.js +55 -0
  70. package/dist/cjs/services/workflow.service.js.map +1 -0
  71. package/dist/cjs/workflow.module.d.ts +27 -0
  72. package/dist/cjs/workflow.module.d.ts.map +1 -0
  73. package/dist/cjs/workflow.module.js +209 -0
  74. package/dist/cjs/workflow.module.js.map +1 -0
  75. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  76. package/dist/workflow.module.d.ts.map +1 -1
  77. package/dist/workflow.module.js +1 -1
  78. package/dist/workflow.module.js.map +1 -1
  79. package/package.json +10 -4
@@ -0,0 +1,209 @@
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 WorkflowModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.WorkflowModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@nestjs/core");
13
+ const core_2 = require("@duraflows/core");
14
+ const nest_command_registry_js_1 = require("./providers/nest-command-registry.js");
15
+ const command_discovery_js_1 = require("./providers/command-discovery.js");
16
+ const injection_tokens_js_1 = require("./providers/injection-tokens.js");
17
+ const workflow_service_js_1 = require("./services/workflow.service.js");
18
+ const workflow_timeout_service_js_1 = require("./services/workflow-timeout.service.js");
19
+ const workflow_event_controller_js_1 = require("./controllers/workflow-event.controller.js");
20
+ const workflow_query_controller_js_1 = require("./controllers/workflow-query.controller.js");
21
+ const workflow_timeout_controller_js_1 = require("./controllers/workflow-timeout.controller.js");
22
+ const workflow_instance_controller_js_1 = require("./controllers/workflow-instance.controller.js");
23
+ const EXPORTED_TOKENS = [
24
+ workflow_service_js_1.WorkflowService,
25
+ workflow_timeout_service_js_1.WorkflowTimeoutService,
26
+ injection_tokens_js_1.WORKFLOW_RUNTIME,
27
+ injection_tokens_js_1.WORKFLOW_INSTANCE_STORE,
28
+ injection_tokens_js_1.WORKFLOW_HISTORY_STORE,
29
+ injection_tokens_js_1.WORKFLOW_DEFINITION_REGISTRY,
30
+ injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY,
31
+ injection_tokens_js_1.WORKFLOW_TRANSACTION_RUNNER,
32
+ injection_tokens_js_1.WORKFLOW_CLOCK,
33
+ ];
34
+ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
35
+ static forRoot(options) {
36
+ const controllers = options.enableControllers
37
+ ? [workflow_instance_controller_js_1.WorkflowInstanceController, workflow_event_controller_js_1.WorkflowEventController, workflow_query_controller_js_1.WorkflowQueryController, workflow_timeout_controller_js_1.WorkflowTimeoutController]
38
+ : [];
39
+ const explicitCommands = options.commands ?? [];
40
+ const commandClasses = explicitCommands.map((c) => c.useClass);
41
+ const clock = options.clock ?? { now: () => new Date() };
42
+ const providers = [
43
+ ...commandClasses,
44
+ {
45
+ provide: injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY,
46
+ useFactory: (moduleRef, discoveryService) => {
47
+ const discovered = (0, command_discovery_js_1.discoverDecoratedCommands)(discoveryService);
48
+ const merged = (0, command_discovery_js_1.mergeCommandRegistrations)(explicitCommands, discovered);
49
+ return new nest_command_registry_js_1.NestCommandRegistry(moduleRef, merged);
50
+ },
51
+ inject: [core_1.ModuleRef, core_1.DiscoveryService],
52
+ },
53
+ {
54
+ provide: injection_tokens_js_1.WORKFLOW_DEFINITION_REGISTRY,
55
+ useFactory: (commandRegistry) => {
56
+ const knownCommandNames = commandRegistry.getRegisteredNames();
57
+ const registry = new core_2.InMemoryDefinitionRegistry({
58
+ validator: new core_2.WorkflowValidator(),
59
+ compiler: new core_2.WorkflowCompiler(),
60
+ validationOptions: { knownCommandNames },
61
+ });
62
+ for (const workflow of options.workflows) {
63
+ registry.register(workflow);
64
+ }
65
+ return registry;
66
+ },
67
+ inject: [injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY],
68
+ },
69
+ {
70
+ provide: injection_tokens_js_1.WORKFLOW_INSTANCE_STORE,
71
+ useValue: options.persistence.instanceStore,
72
+ },
73
+ {
74
+ provide: injection_tokens_js_1.WORKFLOW_HISTORY_STORE,
75
+ useValue: options.persistence.historyStore,
76
+ },
77
+ {
78
+ provide: injection_tokens_js_1.WORKFLOW_TRANSACTION_RUNNER,
79
+ useValue: options.persistence.transactionRunner,
80
+ },
81
+ {
82
+ provide: injection_tokens_js_1.WORKFLOW_CLOCK,
83
+ useValue: clock,
84
+ },
85
+ {
86
+ provide: injection_tokens_js_1.WORKFLOW_RUNTIME,
87
+ useFactory: (definitionRegistry, commandRegistry, instanceStore, historyStore, transactionRunner, wfClock) => new core_2.WorkflowRuntime({
88
+ definitionRegistry,
89
+ commandRegistry,
90
+ instanceStore,
91
+ historyStore,
92
+ transactionRunner,
93
+ clock: wfClock,
94
+ }),
95
+ inject: [
96
+ injection_tokens_js_1.WORKFLOW_DEFINITION_REGISTRY,
97
+ injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY,
98
+ injection_tokens_js_1.WORKFLOW_INSTANCE_STORE,
99
+ injection_tokens_js_1.WORKFLOW_HISTORY_STORE,
100
+ injection_tokens_js_1.WORKFLOW_TRANSACTION_RUNNER,
101
+ injection_tokens_js_1.WORKFLOW_CLOCK,
102
+ ],
103
+ },
104
+ workflow_service_js_1.WorkflowService,
105
+ workflow_timeout_service_js_1.WorkflowTimeoutService,
106
+ ];
107
+ return {
108
+ module: WorkflowModule_1,
109
+ imports: [core_1.DiscoveryModule],
110
+ controllers,
111
+ providers,
112
+ exports: EXPORTED_TOKENS,
113
+ };
114
+ }
115
+ static forRootAsync(options) {
116
+ const controllers = options.enableControllers
117
+ ? [workflow_instance_controller_js_1.WorkflowInstanceController, workflow_event_controller_js_1.WorkflowEventController, workflow_query_controller_js_1.WorkflowQueryController, workflow_timeout_controller_js_1.WorkflowTimeoutController]
118
+ : [];
119
+ const explicitCommands = options.commands ?? [];
120
+ const commandClasses = explicitCommands.map((c) => c.useClass);
121
+ const configProvider = {
122
+ provide: "WORKFLOW_MODULE_OPTIONS",
123
+ useFactory: options.useFactory,
124
+ inject: options.inject ?? [],
125
+ };
126
+ const providers = [
127
+ configProvider,
128
+ ...commandClasses,
129
+ {
130
+ provide: injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY,
131
+ useFactory: (moduleRef, discoveryService) => {
132
+ const discovered = (0, command_discovery_js_1.discoverDecoratedCommands)(discoveryService);
133
+ const merged = (0, command_discovery_js_1.mergeCommandRegistrations)(explicitCommands, discovered);
134
+ return new nest_command_registry_js_1.NestCommandRegistry(moduleRef, merged);
135
+ },
136
+ inject: [core_1.ModuleRef, core_1.DiscoveryService],
137
+ },
138
+ {
139
+ provide: injection_tokens_js_1.WORKFLOW_DEFINITION_REGISTRY,
140
+ useFactory: (config, commandRegistry) => {
141
+ const knownCommandNames = commandRegistry.getRegisteredNames();
142
+ const registry = new core_2.InMemoryDefinitionRegistry({
143
+ validator: new core_2.WorkflowValidator(),
144
+ compiler: new core_2.WorkflowCompiler(),
145
+ validationOptions: { knownCommandNames },
146
+ });
147
+ for (const workflow of config.workflows) {
148
+ registry.register(workflow);
149
+ }
150
+ return registry;
151
+ },
152
+ inject: ["WORKFLOW_MODULE_OPTIONS", injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY],
153
+ },
154
+ {
155
+ provide: injection_tokens_js_1.WORKFLOW_INSTANCE_STORE,
156
+ useFactory: (config) => config.persistence.instanceStore,
157
+ inject: ["WORKFLOW_MODULE_OPTIONS"],
158
+ },
159
+ {
160
+ provide: injection_tokens_js_1.WORKFLOW_HISTORY_STORE,
161
+ useFactory: (config) => config.persistence.historyStore,
162
+ inject: ["WORKFLOW_MODULE_OPTIONS"],
163
+ },
164
+ {
165
+ provide: injection_tokens_js_1.WORKFLOW_TRANSACTION_RUNNER,
166
+ useFactory: (config) => config.persistence.transactionRunner,
167
+ inject: ["WORKFLOW_MODULE_OPTIONS"],
168
+ },
169
+ {
170
+ provide: injection_tokens_js_1.WORKFLOW_CLOCK,
171
+ useFactory: (config) => config.clock ?? { now: () => new Date() },
172
+ inject: ["WORKFLOW_MODULE_OPTIONS"],
173
+ },
174
+ {
175
+ provide: injection_tokens_js_1.WORKFLOW_RUNTIME,
176
+ useFactory: (definitionRegistry, commandRegistry, instanceStore, historyStore, transactionRunner, clock) => new core_2.WorkflowRuntime({
177
+ definitionRegistry,
178
+ commandRegistry,
179
+ instanceStore,
180
+ historyStore,
181
+ transactionRunner,
182
+ clock,
183
+ }),
184
+ inject: [
185
+ injection_tokens_js_1.WORKFLOW_DEFINITION_REGISTRY,
186
+ injection_tokens_js_1.WORKFLOW_COMMAND_REGISTRY,
187
+ injection_tokens_js_1.WORKFLOW_INSTANCE_STORE,
188
+ injection_tokens_js_1.WORKFLOW_HISTORY_STORE,
189
+ injection_tokens_js_1.WORKFLOW_TRANSACTION_RUNNER,
190
+ injection_tokens_js_1.WORKFLOW_CLOCK,
191
+ ],
192
+ },
193
+ workflow_service_js_1.WorkflowService,
194
+ workflow_timeout_service_js_1.WorkflowTimeoutService,
195
+ ];
196
+ return {
197
+ module: WorkflowModule_1,
198
+ imports: [core_1.DiscoveryModule, ...(options.imports ?? [])],
199
+ controllers,
200
+ providers,
201
+ exports: EXPORTED_TOKENS,
202
+ };
203
+ }
204
+ };
205
+ exports.WorkflowModule = WorkflowModule;
206
+ exports.WorkflowModule = WorkflowModule = WorkflowModule_1 = __decorate([
207
+ (0, common_1.Module)({})
208
+ ], WorkflowModule);
209
+ //# sourceMappingURL=workflow.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../../src/workflow.module.ts"],"names":[],"mappings":"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"}