@duraflows/nestjs 0.5.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +3 -2
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/injection-tokens.d.ts +1 -0
- package/dist/cjs/providers/injection-tokens.d.ts.map +1 -1
- package/dist/cjs/providers/injection-tokens.js +2 -1
- package/dist/cjs/providers/injection-tokens.js.map +1 -1
- package/dist/cjs/services/workflow.service.d.ts +2 -4
- package/dist/cjs/services/workflow.service.d.ts.map +1 -1
- package/dist/cjs/services/workflow.service.js +4 -10
- package/dist/cjs/services/workflow.service.js.map +1 -1
- package/dist/cjs/workflow.module.d.ts +12 -4
- package/dist/cjs/workflow.module.d.ts.map +1 -1
- package/dist/cjs/workflow.module.js +56 -4
- package/dist/cjs/workflow.module.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/providers/injection-tokens.d.ts +1 -0
- package/dist/providers/injection-tokens.d.ts.map +1 -1
- package/dist/providers/injection-tokens.js +1 -0
- package/dist/providers/injection-tokens.js.map +1 -1
- package/dist/services/workflow.service.d.ts +2 -4
- package/dist/services/workflow.service.d.ts.map +1 -1
- package/dist/services/workflow.service.js +5 -11
- package/dist/services/workflow.service.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/workflow.module.d.ts +12 -4
- package/dist/workflow.module.d.ts.map +1 -1
- package/dist/workflow.module.js +58 -6
- package/dist/workflow.module.js.map +1 -1
- package/package.json +30 -10
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { type DynamicModule, type Type, type InjectionToken } from "@nestjs/common";
|
|
2
|
-
import type { WorkflowDefinition, WorkflowClock, WorkflowPersistenceProvider } from "@duraflows/core";
|
|
2
|
+
import type { WorkflowDefinition, WorkflowClock, WorkflowPersistenceProvider, WorkflowObserver, ObserverErrorHandler, WorkflowGuard, WorkflowGuardRegistry } from "@duraflows/core";
|
|
3
3
|
import { type WorkflowCommandRegistration } from "./providers/nest-command-registry.js";
|
|
4
4
|
export interface WorkflowModuleOptions {
|
|
5
5
|
workflows: WorkflowDefinition[];
|
|
6
6
|
commands?: WorkflowCommandRegistration[];
|
|
7
|
+
guards?: WorkflowGuard[];
|
|
8
|
+
guardRegistry?: WorkflowGuardRegistry;
|
|
9
|
+
observers?: WorkflowObserver[];
|
|
10
|
+
onObserverError?: ObserverErrorHandler;
|
|
7
11
|
persistence: WorkflowPersistenceProvider;
|
|
8
12
|
clock?: WorkflowClock;
|
|
9
13
|
enableControllers?: boolean;
|
|
@@ -12,16 +16,20 @@ export interface WorkflowModuleFactoryConfig {
|
|
|
12
16
|
workflows: WorkflowDefinition[];
|
|
13
17
|
persistence: WorkflowPersistenceProvider;
|
|
14
18
|
clock?: WorkflowClock;
|
|
19
|
+
guards?: WorkflowGuard[];
|
|
20
|
+
guardRegistry?: WorkflowGuardRegistry;
|
|
21
|
+
observers?: WorkflowObserver[];
|
|
22
|
+
onObserverError?: ObserverErrorHandler;
|
|
15
23
|
}
|
|
16
|
-
export interface WorkflowModuleAsyncOptions {
|
|
24
|
+
export interface WorkflowModuleAsyncOptions<TArgs extends unknown[] = unknown[]> {
|
|
17
25
|
imports?: Type<unknown>[];
|
|
18
26
|
commands?: WorkflowCommandRegistration[];
|
|
19
27
|
enableControllers?: boolean;
|
|
20
|
-
useFactory: (...args:
|
|
28
|
+
useFactory: (...args: TArgs) => Promise<WorkflowModuleFactoryConfig> | WorkflowModuleFactoryConfig;
|
|
21
29
|
inject?: InjectionToken[];
|
|
22
30
|
}
|
|
23
31
|
export declare class WorkflowModule {
|
|
24
32
|
static forRoot(options: WorkflowModuleOptions): DynamicModule;
|
|
25
|
-
static forRootAsync(options: WorkflowModuleAsyncOptions): DynamicModule;
|
|
33
|
+
static forRootAsync<TArgs extends unknown[] = unknown[]>(options: WorkflowModuleAsyncOptions<TArgs>): DynamicModule;
|
|
26
34
|
}
|
|
27
35
|
//# sourceMappingURL=workflow.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../src/workflow.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,IAAI,EAAiB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,2BAA2B,
|
|
1
|
+
{"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../src/workflow.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,IAAI,EAAiB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,2BAA2B,EAK3B,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAmB7G,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE;IAC7E,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IACnG,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAeD,qBACa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IA4H7D,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAAG,aAAa;CAkIpH"}
|
package/dist/workflow.module.js
CHANGED
|
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var WorkflowModule_1;
|
|
8
8
|
import { Module } from "@nestjs/common";
|
|
9
9
|
import { DiscoveryModule, DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
10
|
-
import { InMemoryDefinitionRegistry, WorkflowRuntime, WorkflowValidator, WorkflowCompiler } from "@duraflows/core";
|
|
10
|
+
import { InMemoryDefinitionRegistry, WorkflowRuntime, WorkflowValidator, WorkflowCompiler, InMemoryGuardRegistry, } from "@duraflows/core";
|
|
11
11
|
import { NestCommandRegistry } from "./providers/nest-command-registry.js";
|
|
12
12
|
import { discoverDecoratedCommands, mergeCommandRegistrations } from "./providers/command-discovery.js";
|
|
13
|
-
import { WORKFLOW_RUNTIME, WORKFLOW_INSTANCE_STORE, WORKFLOW_HISTORY_STORE, WORKFLOW_COMMAND_REGISTRY, WORKFLOW_DEFINITION_REGISTRY, WORKFLOW_TRANSACTION_RUNNER, WORKFLOW_CLOCK, } from "./providers/injection-tokens.js";
|
|
13
|
+
import { WORKFLOW_RUNTIME, WORKFLOW_INSTANCE_STORE, WORKFLOW_HISTORY_STORE, WORKFLOW_COMMAND_REGISTRY, WORKFLOW_DEFINITION_REGISTRY, WORKFLOW_TRANSACTION_RUNNER, WORKFLOW_CLOCK, WORKFLOW_GUARD_REGISTRY, } from "./providers/injection-tokens.js";
|
|
14
14
|
import { WorkflowService } from "./services/workflow.service.js";
|
|
15
15
|
import { WorkflowTimeoutService } from "./services/workflow-timeout.service.js";
|
|
16
16
|
import { WorkflowEventController } from "./controllers/workflow-event.controller.js";
|
|
@@ -25,11 +25,15 @@ const EXPORTED_TOKENS = [
|
|
|
25
25
|
WORKFLOW_HISTORY_STORE,
|
|
26
26
|
WORKFLOW_DEFINITION_REGISTRY,
|
|
27
27
|
WORKFLOW_COMMAND_REGISTRY,
|
|
28
|
+
WORKFLOW_GUARD_REGISTRY,
|
|
28
29
|
WORKFLOW_TRANSACTION_RUNNER,
|
|
29
30
|
WORKFLOW_CLOCK,
|
|
30
31
|
];
|
|
31
32
|
let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
|
|
32
33
|
static forRoot(options) {
|
|
34
|
+
if (options.guardRegistry && options.guards && options.guards.length > 0) {
|
|
35
|
+
throw new Error("WorkflowModule: cannot supply both `guards` and `guardRegistry` — they are mutually exclusive. Pass guards or a custom registry, not both.");
|
|
36
|
+
}
|
|
33
37
|
const controllers = options.enableControllers
|
|
34
38
|
? [WorkflowInstanceController, WorkflowEventController, WorkflowQueryController, WorkflowTimeoutController]
|
|
35
39
|
: [];
|
|
@@ -47,14 +51,33 @@ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
|
|
|
47
51
|
},
|
|
48
52
|
inject: [ModuleRef, DiscoveryService],
|
|
49
53
|
},
|
|
54
|
+
{
|
|
55
|
+
provide: WORKFLOW_GUARD_REGISTRY,
|
|
56
|
+
useFactory: () => {
|
|
57
|
+
if (options.guardRegistry && options.guards && options.guards.length > 0) {
|
|
58
|
+
throw new Error("WorkflowModule: cannot supply both `guards` and `guardRegistry` — they are mutually exclusive. Pass guards or a custom registry, not both.");
|
|
59
|
+
}
|
|
60
|
+
if (options.guardRegistry)
|
|
61
|
+
return options.guardRegistry;
|
|
62
|
+
const registry = new InMemoryGuardRegistry();
|
|
63
|
+
for (const guard of options.guards ?? []) {
|
|
64
|
+
registry.register(guard.name, guard);
|
|
65
|
+
}
|
|
66
|
+
return registry;
|
|
67
|
+
},
|
|
68
|
+
},
|
|
50
69
|
{
|
|
51
70
|
provide: WORKFLOW_DEFINITION_REGISTRY,
|
|
52
71
|
useFactory: (commandRegistry) => {
|
|
53
72
|
const knownCommandNames = commandRegistry.getRegisteredNames();
|
|
73
|
+
// Validate guard refs only when we own the registry (built-in path).
|
|
74
|
+
// With a custom guardRegistry we can't enumerate names, so skip;
|
|
75
|
+
// unresolved refs surface at runtime as WorkflowError.
|
|
76
|
+
const knownGuardNames = options.guardRegistry !== undefined ? undefined : new Set((options.guards ?? []).map((g) => g.name));
|
|
54
77
|
const registry = new InMemoryDefinitionRegistry({
|
|
55
78
|
validator: new WorkflowValidator(),
|
|
56
79
|
compiler: new WorkflowCompiler(),
|
|
57
|
-
validationOptions: { knownCommandNames },
|
|
80
|
+
validationOptions: { knownCommandNames, knownGuardNames },
|
|
58
81
|
});
|
|
59
82
|
for (const workflow of options.workflows) {
|
|
60
83
|
registry.register(workflow);
|
|
@@ -81,17 +104,21 @@ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
|
|
|
81
104
|
},
|
|
82
105
|
{
|
|
83
106
|
provide: WORKFLOW_RUNTIME,
|
|
84
|
-
useFactory: (definitionRegistry, commandRegistry, instanceStore, historyStore, transactionRunner, wfClock) => new WorkflowRuntime({
|
|
107
|
+
useFactory: (definitionRegistry, commandRegistry, guardRegistry, instanceStore, historyStore, transactionRunner, wfClock) => new WorkflowRuntime({
|
|
85
108
|
definitionRegistry,
|
|
86
109
|
commandRegistry,
|
|
110
|
+
guardRegistry,
|
|
87
111
|
instanceStore,
|
|
88
112
|
historyStore,
|
|
89
113
|
transactionRunner,
|
|
90
114
|
clock: wfClock,
|
|
115
|
+
observers: options.observers,
|
|
116
|
+
onObserverError: options.onObserverError,
|
|
91
117
|
}),
|
|
92
118
|
inject: [
|
|
93
119
|
WORKFLOW_DEFINITION_REGISTRY,
|
|
94
120
|
WORKFLOW_COMMAND_REGISTRY,
|
|
121
|
+
WORKFLOW_GUARD_REGISTRY,
|
|
95
122
|
WORKFLOW_INSTANCE_STORE,
|
|
96
123
|
WORKFLOW_HISTORY_STORE,
|
|
97
124
|
WORKFLOW_TRANSACTION_RUNNER,
|
|
@@ -132,14 +159,34 @@ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
|
|
|
132
159
|
},
|
|
133
160
|
inject: [ModuleRef, DiscoveryService],
|
|
134
161
|
},
|
|
162
|
+
{
|
|
163
|
+
provide: WORKFLOW_GUARD_REGISTRY,
|
|
164
|
+
useFactory: (config) => {
|
|
165
|
+
if (config.guardRegistry && config.guards && config.guards.length > 0) {
|
|
166
|
+
throw new Error("WorkflowModule: cannot supply both `guards` and `guardRegistry` — they are mutually exclusive. Pass guards or a custom registry, not both.");
|
|
167
|
+
}
|
|
168
|
+
if (config.guardRegistry)
|
|
169
|
+
return config.guardRegistry;
|
|
170
|
+
const registry = new InMemoryGuardRegistry();
|
|
171
|
+
for (const guard of config.guards ?? []) {
|
|
172
|
+
registry.register(guard.name, guard);
|
|
173
|
+
}
|
|
174
|
+
return registry;
|
|
175
|
+
},
|
|
176
|
+
inject: ["WORKFLOW_MODULE_OPTIONS"],
|
|
177
|
+
},
|
|
135
178
|
{
|
|
136
179
|
provide: WORKFLOW_DEFINITION_REGISTRY,
|
|
137
180
|
useFactory: (config, commandRegistry) => {
|
|
138
181
|
const knownCommandNames = commandRegistry.getRegisteredNames();
|
|
182
|
+
// Validate guard refs only when we own the registry (built-in path).
|
|
183
|
+
// With a custom guardRegistry we can't enumerate names, so skip;
|
|
184
|
+
// unresolved refs surface at runtime as WorkflowError.
|
|
185
|
+
const knownGuardNames = config.guardRegistry !== undefined ? undefined : new Set((config.guards ?? []).map((g) => g.name));
|
|
139
186
|
const registry = new InMemoryDefinitionRegistry({
|
|
140
187
|
validator: new WorkflowValidator(),
|
|
141
188
|
compiler: new WorkflowCompiler(),
|
|
142
|
-
validationOptions: { knownCommandNames },
|
|
189
|
+
validationOptions: { knownCommandNames, knownGuardNames },
|
|
143
190
|
});
|
|
144
191
|
for (const workflow of config.workflows) {
|
|
145
192
|
registry.register(workflow);
|
|
@@ -170,17 +217,22 @@ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
|
|
|
170
217
|
},
|
|
171
218
|
{
|
|
172
219
|
provide: WORKFLOW_RUNTIME,
|
|
173
|
-
useFactory: (definitionRegistry, commandRegistry, instanceStore, historyStore, transactionRunner, clock) => new WorkflowRuntime({
|
|
220
|
+
useFactory: (config, definitionRegistry, commandRegistry, guardRegistry, instanceStore, historyStore, transactionRunner, clock) => new WorkflowRuntime({
|
|
174
221
|
definitionRegistry,
|
|
175
222
|
commandRegistry,
|
|
223
|
+
guardRegistry,
|
|
176
224
|
instanceStore,
|
|
177
225
|
historyStore,
|
|
178
226
|
transactionRunner,
|
|
179
227
|
clock,
|
|
228
|
+
observers: config.observers,
|
|
229
|
+
onObserverError: config.onObserverError,
|
|
180
230
|
}),
|
|
181
231
|
inject: [
|
|
232
|
+
"WORKFLOW_MODULE_OPTIONS",
|
|
182
233
|
WORKFLOW_DEFINITION_REGISTRY,
|
|
183
234
|
WORKFLOW_COMMAND_REGISTRY,
|
|
235
|
+
WORKFLOW_GUARD_REGISTRY,
|
|
184
236
|
WORKFLOW_INSTANCE_STORE,
|
|
185
237
|
WORKFLOW_HISTORY_STORE,
|
|
186
238
|
WORKFLOW_TRANSACTION_RUNNER,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../src/workflow.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,MAAM,EAAqE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../src/workflow.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,MAAM,EAAqE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAc5E,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAoC,MAAM,sCAAsC,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACxG,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,EACd,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAgC3F,MAAM,eAAe,GAAG;IACtB,eAAe;IACf,sBAAsB;IACtB,gBAAgB;IAChB,uBAAuB;IACvB,sBAAsB;IACtB,4BAA4B;IAC5B,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,cAAc;CACf,CAAC;AAGK,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAA8B;QAC3C,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB;YAC3C,CAAC,CAAC,CAAC,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,yBAAyB,CAAC;YAC3G,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAkB,OAAO,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAExE,MAAM,SAAS,GAAe;YAC5B,GAAG,cAAc;YACjB;gBACE,OAAO,EAAE,yBAAyB;gBAClC,UAAU,EAAE,CAAC,SAAoB,EAAE,gBAAkC,EAAE,EAAE;oBACvE,MAAM,UAAU,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;oBACvE,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;aACtC;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,GAAG,EAAE;oBACf,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzE,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,CAAC,aAAa;wBAAE,OAAO,OAAO,CAAC,aAAa,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;oBAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;wBACzC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvC,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;aACF;YACD;gBACE,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,CAAC,eAAoC,EAAE,EAAE;oBACnD,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;oBAC/D,qEAAqE;oBACrE,iEAAiE;oBACjE,uDAAuD;oBACvD,MAAM,eAAe,GACnB,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvG,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAAC;wBAC9C,SAAS,EAAE,IAAI,iBAAiB,EAAE;wBAClC,QAAQ,EAAE,IAAI,gBAAgB,EAAE;wBAChC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE;qBAC1D,CAAC,CAAC;oBACH,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBACzC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;aAC5C;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,YAAY;aAC3C;YACD;gBACE,OAAO,EAAE,2BAA2B;gBACpC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB;aAChD;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,CACV,kBAA8C,EAC9C,eAAoC,EACpC,aAAoC,EACpC,aAAoC,EACpC,YAAkC,EAClC,iBAA4C,EAC5C,OAAsB,EACtB,EAAE,CACF,IAAI,eAAe,CAAC;oBAClB,kBAAkB;oBAClB,eAAe;oBACf,aAAa;oBACb,aAAa;oBACb,YAAY;oBACZ,iBAAiB;oBACjB,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC;gBACJ,MAAM,EAAE;oBACN,4BAA4B;oBAC5B,yBAAyB;oBACzB,uBAAuB;oBACvB,uBAAuB;oBACvB,sBAAsB;oBACtB,2BAA2B;oBAC3B,cAAc;iBACf;aACF;YACD,eAAe;YACf,sBAAsB;SACvB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO,EAAE,CAAC,eAAe,CAAC;YAC1B,WAAW;YACX,SAAS;YACT,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAsC,OAA0C;QACjG,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB;YAC3C,CAAC,CAAC,CAAC,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,yBAAyB,CAAC;YAC3G,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAa;YAC/B,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,MAAM,SAAS,GAAe;YAC5B,cAAc;YACd,GAAG,cAAc;YACjB;gBACE,OAAO,EAAE,yBAAyB;gBAClC,UAAU,EAAE,CAAC,SAAoB,EAAE,gBAAkC,EAAE,EAAE;oBACvE,MAAM,UAAU,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;oBACvE,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;aACtC;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE;oBAClD,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtE,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa;wBAAE,OAAO,MAAM,CAAC,aAAa,CAAC;oBACtD,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;oBAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;wBACxC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvC,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,CAAC,MAAmC,EAAE,eAAoC,EAAE,EAAE;oBACxF,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;oBAC/D,qEAAqE;oBACrE,iEAAiE;oBACjE,uDAAuD;oBACvD,MAAM,eAAe,GACnB,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrG,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAAC;wBAC9C,SAAS,EAAE,IAAI,iBAAiB,EAAE;wBAClC,QAAQ,EAAE,IAAI,gBAAgB,EAAE;wBAChC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE;qBAC1D,CAAC,CAAC;oBACH,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACxC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;aAC/D;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa;gBACrF,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY;gBACpF,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,2BAA2B;gBACpC,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB;gBACzF,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,CAAC,MAAmC,EAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE;gBAC7G,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,CACV,MAAmC,EACnC,kBAA8C,EAC9C,eAAoC,EACpC,aAAoC,EACpC,aAAoC,EACpC,YAAkC,EAClC,iBAA4C,EAC5C,KAAoB,EACpB,EAAE,CACF,IAAI,eAAe,CAAC;oBAClB,kBAAkB;oBAClB,eAAe;oBACf,aAAa;oBACb,aAAa;oBACb,YAAY;oBACZ,iBAAiB;oBACjB,KAAK;oBACL,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC;gBACJ,MAAM,EAAE;oBACN,yBAAyB;oBACzB,4BAA4B;oBAC5B,yBAAyB;oBACzB,uBAAuB;oBACvB,uBAAuB;oBACvB,sBAAsB;oBACtB,2BAA2B;oBAC3B,cAAc;iBACf;aACF;YACD,eAAe;YACf,sBAAsB;SACvB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,WAAW;YACX,SAAS;YACT,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AA/PY,cAAc;IAD1B,MAAM,CAAC,EAAE,CAAC;GACE,cAAc,CA+P1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duraflows/nestjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "NestJS integration for duraflows: dependency injection, services, optional REST controllers, and @WorkflowCommand decorator for DI-backed command handlers.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"duraflows",
|
|
7
|
+
"workflow",
|
|
8
|
+
"nestjs",
|
|
9
|
+
"dependency-injection",
|
|
10
|
+
"decorator",
|
|
11
|
+
"durable",
|
|
12
|
+
"state-machine"
|
|
13
|
+
],
|
|
14
|
+
"author": "Carlos Cima",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"homepage": "https://github.com/camcima/duraflows#readme",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/camcima/duraflows.git",
|
|
20
|
+
"directory": "packages/duraflows-nestjs"
|
|
21
|
+
},
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/camcima/duraflows/issues"
|
|
24
|
+
},
|
|
4
25
|
"type": "module",
|
|
5
26
|
"main": "dist/index.js",
|
|
6
27
|
"types": "dist/index.d.ts",
|
|
@@ -22,13 +43,10 @@
|
|
|
22
43
|
"publishConfig": {
|
|
23
44
|
"access": "public"
|
|
24
45
|
},
|
|
25
|
-
"scripts": {
|
|
26
|
-
"build": "tsc --build"
|
|
27
|
-
},
|
|
28
46
|
"dependencies": {
|
|
29
|
-
"@duraflows/core": "^
|
|
30
|
-
"@nestjs/common": "^11.
|
|
31
|
-
"@nestjs/core": "^11.
|
|
47
|
+
"@duraflows/core": "^1.1.0",
|
|
48
|
+
"@nestjs/common": "^11.1.19",
|
|
49
|
+
"@nestjs/core": "^11.1.19",
|
|
32
50
|
"class-transformer": "^0.5.1",
|
|
33
51
|
"class-validator": "^0.15.1"
|
|
34
52
|
},
|
|
@@ -37,7 +55,9 @@
|
|
|
37
55
|
"rxjs": "^7.0.0"
|
|
38
56
|
},
|
|
39
57
|
"devDependencies": {
|
|
40
|
-
"@nestjs/testing": "^11.1.
|
|
58
|
+
"@nestjs/testing": "^11.1.19"
|
|
41
59
|
},
|
|
42
|
-
"
|
|
43
|
-
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "tsc --build"
|
|
62
|
+
}
|
|
63
|
+
}
|