@fluojs/event-bus 1.0.0-beta.4 → 1.0.0-beta.6
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/README.ko.md +9 -9
- package/README.md +9 -9
- package/dist/module.js +1 -1
- package/dist/service.d.ts +6 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +49 -4
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
package/README.ko.md
CHANGED
|
@@ -58,24 +58,24 @@ export class NotificationService {
|
|
|
58
58
|
import { Module, Inject } from '@fluojs/core';
|
|
59
59
|
import { EventBusModule, EventBusLifecycleService } from '@fluojs/event-bus';
|
|
60
60
|
|
|
61
|
-
@
|
|
62
|
-
imports: [EventBusModule.forRoot()],
|
|
63
|
-
providers: [NotificationService],
|
|
64
|
-
})
|
|
65
|
-
export class AppModule {}
|
|
66
|
-
|
|
61
|
+
@Inject(EventBusLifecycleService)
|
|
67
62
|
export class UserService {
|
|
68
|
-
|
|
69
|
-
private readonly eventBus: EventBusLifecycleService;
|
|
63
|
+
constructor(private readonly eventBus: EventBusLifecycleService) {}
|
|
70
64
|
|
|
71
65
|
async signUp(email: string) {
|
|
72
66
|
// 사용자 저장 로직...
|
|
73
67
|
await this.eventBus.publish(new UserSignedUpEvent(email));
|
|
74
68
|
}
|
|
75
69
|
}
|
|
70
|
+
|
|
71
|
+
@Module({
|
|
72
|
+
imports: [EventBusModule.forRoot()],
|
|
73
|
+
providers: [NotificationService, UserService],
|
|
74
|
+
})
|
|
75
|
+
export class AppModule {}
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
`publish(event, options?)`는 `signal`, `timeoutMs`, `waitForHandlers`를 지원합니다. `waitForHandlers`의 기본값은 `true`이며, `false`로 설정하면 publish가 즉시 반환되고 timeout bound를 적용하지 않습니다.
|
|
78
|
+
`publish(event, options?)`는 `signal`, `timeoutMs`, `waitForHandlers`를 지원합니다. `waitForHandlers`의 기본값은 `true`이며, 기다리는 로컬 핸들러와 기다리는 트랜스포트 publish는 동일한 timeout 및 cancellation bound를 공유합니다. `waitForHandlers`를 `false`로 설정하면 publish가 즉시 반환되고 timeout bound를 적용하지 않습니다. Shutdown 중에는 이벤트 버스가 진행 중인 awaited publish 작업을 drain한 뒤 트랜스포트를 닫고, lifecycle이 stopping에 진입한 뒤의 새 publish 호출은 무시합니다.
|
|
79
79
|
|
|
80
80
|
## 일반적인 패턴
|
|
81
81
|
|
package/README.md
CHANGED
|
@@ -58,24 +58,24 @@ Use `EventBusModule.forRoot(...)` to wire the in-process event bus.
|
|
|
58
58
|
import { Module, Inject } from '@fluojs/core';
|
|
59
59
|
import { EventBusModule, EventBusLifecycleService } from '@fluojs/event-bus';
|
|
60
60
|
|
|
61
|
-
@
|
|
62
|
-
imports: [EventBusModule.forRoot()],
|
|
63
|
-
providers: [NotificationService],
|
|
64
|
-
})
|
|
65
|
-
export class AppModule {}
|
|
66
|
-
|
|
61
|
+
@Inject(EventBusLifecycleService)
|
|
67
62
|
export class UserService {
|
|
68
|
-
|
|
69
|
-
private readonly eventBus: EventBusLifecycleService;
|
|
63
|
+
constructor(private readonly eventBus: EventBusLifecycleService) {}
|
|
70
64
|
|
|
71
65
|
async signUp(email: string) {
|
|
72
66
|
// Logic to save user...
|
|
73
67
|
await this.eventBus.publish(new UserSignedUpEvent(email));
|
|
74
68
|
}
|
|
75
69
|
}
|
|
70
|
+
|
|
71
|
+
@Module({
|
|
72
|
+
imports: [EventBusModule.forRoot()],
|
|
73
|
+
providers: [NotificationService, UserService],
|
|
74
|
+
})
|
|
75
|
+
export class AppModule {}
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
`publish(event, options?)` supports `signal`, `timeoutMs`, and `waitForHandlers`. `waitForHandlers` defaults to `true`;
|
|
78
|
+
`publish(event, options?)` supports `signal`, `timeoutMs`, and `waitForHandlers`. `waitForHandlers` defaults to `true`; awaited local handlers and awaited transport publishes share the same timeout and cancellation bounds. When `waitForHandlers` is set to `false`, publishing returns immediately and skips timeout bounds. During shutdown, the event bus drains in-flight awaited publish work before closing the transport and ignores new publish calls after the lifecycle has started stopping.
|
|
79
79
|
|
|
80
80
|
## Common Patterns
|
|
81
81
|
|
package/dist/module.js
CHANGED
|
@@ -28,7 +28,7 @@ export class EventBusModule {
|
|
|
28
28
|
class EventBusModuleDefinition {}
|
|
29
29
|
return defineModule(EventBusModuleDefinition, {
|
|
30
30
|
exports: [EventBusLifecycleService, EVENT_BUS],
|
|
31
|
-
global: true,
|
|
31
|
+
global: options.global ?? true,
|
|
32
32
|
providers: createEventBusProviders(options)
|
|
33
33
|
});
|
|
34
34
|
}
|
package/dist/service.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare class EventBusLifecycleService implements EventBus, OnApplication
|
|
|
21
21
|
private transportCloseFailures;
|
|
22
22
|
private transportPublishFailures;
|
|
23
23
|
private transportSubscribeFailures;
|
|
24
|
+
private readonly activePublishes;
|
|
24
25
|
private readonly transport;
|
|
25
26
|
constructor(runtimeContainer: Container, compiledModules: readonly CompiledModule[], logger: ApplicationLogger, moduleOptions: EventBusModuleOptions);
|
|
26
27
|
onApplicationBootstrap(): Promise<void>;
|
|
@@ -39,6 +40,9 @@ export declare class EventBusLifecycleService implements EventBus, OnApplication
|
|
|
39
40
|
* @returns A promise that resolves once the configured local/transport publication completes.
|
|
40
41
|
*/
|
|
41
42
|
publish(event: object, options?: EventPublishOptions): Promise<void>;
|
|
43
|
+
private executePublish;
|
|
44
|
+
private canPublishInCurrentLifecycle;
|
|
45
|
+
private drainActivePublishes;
|
|
42
46
|
private matchEventDescriptors;
|
|
43
47
|
private createInvocationTasks;
|
|
44
48
|
private createBackgroundInvocationTasks;
|
|
@@ -51,6 +55,8 @@ export declare class EventBusLifecycleService implements EventBus, OnApplication
|
|
|
51
55
|
private channelFromEventType;
|
|
52
56
|
private channelsForTransportPublish;
|
|
53
57
|
private publishToTransport;
|
|
58
|
+
private logTransportPublishCancelledBeforeDispatch;
|
|
59
|
+
private logBoundedTransportPublishError;
|
|
54
60
|
private subscribeTransportChannels;
|
|
55
61
|
private subscribeTransportChannel;
|
|
56
62
|
private preloadHandlerInstances;
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EAGrB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AA8DpB;;;;;GAKG;AACH,qBACa,wBAAyB,YAAW,QAAQ,EAAE,sBAAsB,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EAGrB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AA8DpB;;;;;GAKG;AACH,qBACa,wBAAyB,YAAW,QAAQ,EAAE,sBAAsB,EAAE,qBAAqB;IAcpG,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhBhC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAsF;IAC5G,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,0BAA0B,CAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;gBAGvC,gBAAgB,EAAE,SAAS,EAC3B,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,qBAAqB;IAKjD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAavC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5C;;;;OAIG;IACH,4BAA4B;IAa5B;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;YAmB5D,cAAc;IA+B5B,OAAO,CAAC,4BAA4B;YAItB,oBAAoB;IAIlC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,8BAA8B;YAMxB,yBAAyB;YAazB,gBAAgB;IAqB9B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;YAQZ,gBAAgB;IAW9B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,2BAA2B;YAcrB,kBAAkB;IA8BhC,OAAO,CAAC,0CAA0C;IAOlD,OAAO,CAAC,+BAA+B;YAwBzB,0BAA0B;YAmB1B,yBAAyB;YAqCzB,uBAAuB;YAUvB,uBAAuB;IAmBrC,OAAO,CAAC,iCAAiC;IAOzC,OAAO,CAAC,yBAAyB;YAwBnB,qBAAqB;IAuBnC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,+BAA+B;IAevC,OAAO,CAAC,8BAA8B;IA4BtC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,mBAAmB;YAsCb,aAAa;YA4Bb,sBAAsB;CAsBrC"}
|
package/dist/service.js
CHANGED
|
@@ -64,6 +64,7 @@ class EventBusLifecycleService {
|
|
|
64
64
|
transportCloseFailures = 0;
|
|
65
65
|
transportPublishFailures = 0;
|
|
66
66
|
transportSubscribeFailures = 0;
|
|
67
|
+
activePublishes = new Set();
|
|
67
68
|
transport;
|
|
68
69
|
constructor(runtimeContainer, compiledModules, logger, moduleOptions) {
|
|
69
70
|
this.runtimeContainer = runtimeContainer;
|
|
@@ -85,6 +86,9 @@ class EventBusLifecycleService {
|
|
|
85
86
|
}
|
|
86
87
|
async onApplicationShutdown() {
|
|
87
88
|
this.lifecycleState = 'stopping';
|
|
89
|
+
if (this.activePublishes.size > 0) {
|
|
90
|
+
await this.drainActivePublishes();
|
|
91
|
+
}
|
|
88
92
|
if (this.transport) {
|
|
89
93
|
try {
|
|
90
94
|
await this.transport.close();
|
|
@@ -125,16 +129,33 @@ class EventBusLifecycleService {
|
|
|
125
129
|
* @returns A promise that resolves once the configured local/transport publication completes.
|
|
126
130
|
*/
|
|
127
131
|
async publish(event, options) {
|
|
132
|
+
if (!this.canPublishInCurrentLifecycle()) {
|
|
133
|
+
this.logger.warn(`EventBus.publish() was ignored because the event bus is ${this.lifecycleState}.`, 'EventBusLifecycleService');
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const publishWorkflow = this.executePublish(event, options);
|
|
137
|
+
this.activePublishes.add(publishWorkflow);
|
|
138
|
+
try {
|
|
139
|
+
await publishWorkflow;
|
|
140
|
+
} finally {
|
|
141
|
+
this.activePublishes.delete(publishWorkflow);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
async executePublish(event, options) {
|
|
128
145
|
await this.ensureDiscovered();
|
|
129
146
|
const matchingDescriptors = this.matchEventDescriptors(event);
|
|
130
147
|
const publishOptions = this.resolvePublishOptions(options);
|
|
131
148
|
const transportPayload = createIsolatedEvent(event.constructor, event);
|
|
132
|
-
const transportPublish = this.publishToTransport(transportPayload, matchingDescriptors);
|
|
133
149
|
if (!publishOptions.waitForHandlers) {
|
|
150
|
+
const transportPublish = this.publishToTransport(transportPayload, matchingDescriptors, {
|
|
151
|
+
...publishOptions,
|
|
152
|
+
timeoutMs: undefined
|
|
153
|
+
});
|
|
134
154
|
const backgroundTasks = this.createBackgroundInvocationTasks(matchingDescriptors, event, publishOptions.signal);
|
|
135
155
|
this.runInvocationTasksInBackground([...backgroundTasks, transportPublish]);
|
|
136
156
|
return;
|
|
137
157
|
}
|
|
158
|
+
const transportPublish = this.publishToTransport(transportPayload, matchingDescriptors, publishOptions);
|
|
138
159
|
if (matchingDescriptors.length === 0) {
|
|
139
160
|
await transportPublish;
|
|
140
161
|
return;
|
|
@@ -142,6 +163,12 @@ class EventBusLifecycleService {
|
|
|
142
163
|
const invocationTasks = this.createInvocationTasks(matchingDescriptors, event, publishOptions);
|
|
143
164
|
await Promise.allSettled([...invocationTasks, transportPublish]);
|
|
144
165
|
}
|
|
166
|
+
canPublishInCurrentLifecycle() {
|
|
167
|
+
return !['failed', 'stopped', 'stopping'].includes(this.lifecycleState);
|
|
168
|
+
}
|
|
169
|
+
async drainActivePublishes() {
|
|
170
|
+
await Promise.allSettled(Array.from(this.activePublishes));
|
|
171
|
+
}
|
|
145
172
|
matchEventDescriptors(event) {
|
|
146
173
|
return this.descriptors.filter(descriptor => event instanceof descriptor.eventType);
|
|
147
174
|
}
|
|
@@ -228,22 +255,40 @@ class EventBusLifecycleService {
|
|
|
228
255
|
}
|
|
229
256
|
return Array.from(channels);
|
|
230
257
|
}
|
|
231
|
-
async publishToTransport(event, descriptors) {
|
|
258
|
+
async publishToTransport(event, descriptors, publishOptions) {
|
|
232
259
|
if (!this.transport) {
|
|
233
260
|
return;
|
|
234
261
|
}
|
|
235
262
|
const channels = this.channelsForTransportPublish(event, descriptors);
|
|
236
263
|
const publishTasks = channels.map(async channel => {
|
|
237
264
|
const payload = createIsolatedEvent(event.constructor, event);
|
|
265
|
+
if (publishOptions.signal?.aborted) {
|
|
266
|
+
this.logTransportPublishCancelledBeforeDispatch(channel);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
238
269
|
try {
|
|
239
|
-
await this.transport.publish(channel, payload);
|
|
270
|
+
await this.awaitInvocationBounds(this.transport.publish(channel, payload), publishOptions);
|
|
240
271
|
} catch (error) {
|
|
241
272
|
this.transportPublishFailures += 1;
|
|
242
|
-
this.
|
|
273
|
+
this.logBoundedTransportPublishError(channel, error);
|
|
243
274
|
}
|
|
244
275
|
});
|
|
245
276
|
await Promise.allSettled(publishTasks);
|
|
246
277
|
}
|
|
278
|
+
logTransportPublishCancelledBeforeDispatch(channel) {
|
|
279
|
+
this.logger.warn(`Event publish was cancelled before publishing transport channel "${channel}".`, 'EventBusLifecycleService');
|
|
280
|
+
}
|
|
281
|
+
logBoundedTransportPublishError(channel, error) {
|
|
282
|
+
if (error instanceof EventPublishTimeoutError) {
|
|
283
|
+
this.logger.warn(`EventBusTransport publish to channel "${channel}" exceeded publish timeout of ${String(error.timeoutMs)}ms.`, 'EventBusLifecycleService');
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
if (error instanceof EventPublishAbortError) {
|
|
287
|
+
this.logger.warn(`Event publish was cancelled while waiting for transport channel "${channel}".`, 'EventBusLifecycleService');
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
this.logger.error(`EventBusTransport failed to publish to channel "${channel}".`, error, 'EventBusLifecycleService');
|
|
291
|
+
}
|
|
247
292
|
async subscribeTransportChannels() {
|
|
248
293
|
if (!this.transport) {
|
|
249
294
|
return;
|
package/dist/types.d.ts
CHANGED
|
@@ -32,8 +32,8 @@ export interface EventBusTransport {
|
|
|
32
32
|
publish(channel: string, payload: unknown): Promise<void>;
|
|
33
33
|
/**
|
|
34
34
|
* Subscribe to incoming messages on the given channel from the external transport.
|
|
35
|
-
* The event bus calls this once per
|
|
36
|
-
* Received messages are
|
|
35
|
+
* The event bus calls this once per unique event channel during bootstrap.
|
|
36
|
+
* Received messages are dispatched to every matching local handler for that channel.
|
|
37
37
|
*/
|
|
38
38
|
subscribe(channel: string, handler: (payload: unknown) => Promise<void>): Promise<void>;
|
|
39
39
|
/**
|
|
@@ -43,6 +43,8 @@ export interface EventBusTransport {
|
|
|
43
43
|
}
|
|
44
44
|
/** Module options for local event dispatch defaults and optional external fan-out. */
|
|
45
45
|
export interface EventBusModuleOptions {
|
|
46
|
+
/** Whether event-bus providers should be visible globally. Defaults to `true`. */
|
|
47
|
+
global?: boolean;
|
|
46
48
|
publish?: {
|
|
47
49
|
timeoutMs?: number;
|
|
48
50
|
waitForHandlers?: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE/D,qGAAqG;AACrG,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IACvD,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF;;;;OAIG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,+DAA+D;AAC/D,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE/D,qGAAqG;AACrG,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IACvD,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF;;;;OAIG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,+DAA+D;AAC/D,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"pubsub",
|
|
9
9
|
"in-process"
|
|
10
10
|
],
|
|
11
|
-
"version": "1.0.0-beta.
|
|
11
|
+
"version": "1.0.0-beta.6",
|
|
12
12
|
"private": false,
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"repository": {
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"dist"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@fluojs/core": "^1.0.0-beta.
|
|
43
|
-
"@fluojs/di": "^1.0.0-beta.
|
|
44
|
-
"@fluojs/runtime": "^1.0.0-beta.
|
|
42
|
+
"@fluojs/core": "^1.0.0-beta.5",
|
|
43
|
+
"@fluojs/di": "^1.0.0-beta.7",
|
|
44
|
+
"@fluojs/runtime": "^1.0.0-beta.12"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"ioredis": "^5.0.0"
|