@fluojs/event-bus 1.0.0-beta.3 → 1.0.0-beta.4
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 +10 -1
- package/README.md +10 -1
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +2 -2
- package/dist/metadata.d.ts +23 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +27 -0
- package/dist/status.d.ts +15 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +19 -0
- package/package.json +4 -4
package/README.ko.md
CHANGED
|
@@ -75,6 +75,8 @@ export class UserService {
|
|
|
75
75
|
}
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
+
`publish(event, options?)`는 `signal`, `timeoutMs`, `waitForHandlers`를 지원합니다. `waitForHandlers`의 기본값은 `true`이며, `false`로 설정하면 publish가 즉시 반환되고 timeout bound를 적용하지 않습니다.
|
|
79
|
+
|
|
78
80
|
## 일반적인 패턴
|
|
79
81
|
|
|
80
82
|
### 분산 팬아웃 (Redis)
|
|
@@ -102,11 +104,13 @@ class UserRegisteredEvent {
|
|
|
102
104
|
}
|
|
103
105
|
```
|
|
104
106
|
|
|
107
|
+
핸들러는 imported module의 singleton provider와 controller에서 발견됩니다. 각 핸들러는 격리된 clone payload를 받으며, class inheritance는 `instanceof` 매칭으로 지원됩니다.
|
|
108
|
+
|
|
105
109
|
## 공개 API 개요
|
|
106
110
|
|
|
107
111
|
### 핵심 구성 요소
|
|
108
112
|
- `EventBusModule.forRoot(...)`: 이벤트 버스 등록을 위한 기본 진입점입니다.
|
|
109
|
-
- `EventBusLifecycleService`:
|
|
113
|
+
- `EventBusLifecycleService`: 이벤트 발행(`publish(event, options?)`)과 platform status snapshot 생성을 위한 기본 서비스입니다.
|
|
110
114
|
- `@OnEvent(EventClass)`: 특정 메서드를 이벤트 핸들러로 지정하는 데코레이터입니다.
|
|
111
115
|
- `EVENT_BUS`: 발행 facade를 위한 호환성 주입 토큰입니다.
|
|
112
116
|
- `createEventBusPlatformStatusSnapshot(...)`: diagnostics와 health surface에서 사용하는 상태 스냅샷 헬퍼입니다.
|
|
@@ -114,6 +118,9 @@ class UserRegisteredEvent {
|
|
|
114
118
|
### 인터페이스
|
|
115
119
|
- `EventBusTransport`: 외부 트랜스포트 어댑터 구현을 위한 계약입니다.
|
|
116
120
|
- `EventBus`, `EventPublishOptions`, `EventBusModuleOptions`, `EventType`: 발행, 기본값, 트랜스포트, 안정적인 이벤트 키를 위한 타입 전용 계약입니다.
|
|
121
|
+
- `EventBusLifecycleState`, `EventBusStatusAdapterInput`, `EventBusPlatformStatusSnapshot`: status snapshot 계약입니다.
|
|
122
|
+
|
|
123
|
+
Transport bootstrap은 unique event channel마다 한 번만 subscribe합니다. `eventKey`가 있으면 transport channel 이름을 제어합니다. 잘못된 JSON transport message는 무시됩니다.
|
|
117
124
|
|
|
118
125
|
## 런타임별 및 통합 서브패스
|
|
119
126
|
|
|
@@ -132,3 +139,5 @@ class UserRegisteredEvent {
|
|
|
132
139
|
|
|
133
140
|
- `packages/event-bus/src/module.test.ts`: 핸들러 탐색 및 발행/구독 테스트 예제.
|
|
134
141
|
- `packages/event-bus/src/public-surface.test.ts`: 공개 API 계약 검증 예제.
|
|
142
|
+
- `packages/event-bus/src/status.test.ts`: status snapshot semantic 테스트 예제.
|
|
143
|
+
- `packages/event-bus/src/transports/redis-transport.test.ts`: Redis transport 동작 테스트 예제.
|
package/README.md
CHANGED
|
@@ -75,6 +75,8 @@ export class UserService {
|
|
|
75
75
|
}
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
+
`publish(event, options?)` supports `signal`, `timeoutMs`, and `waitForHandlers`. `waitForHandlers` defaults to `true`; when set to `false`, publishing returns immediately and skips timeout bounds.
|
|
79
|
+
|
|
78
80
|
## Common Patterns
|
|
79
81
|
|
|
80
82
|
### Distributed Fan-out (Redis)
|
|
@@ -102,11 +104,13 @@ class UserRegisteredEvent {
|
|
|
102
104
|
}
|
|
103
105
|
```
|
|
104
106
|
|
|
107
|
+
Handlers are discovered from singleton providers and controllers across imported modules. Each handler receives an isolated cloned payload, and class inheritance is supported through `instanceof` matching.
|
|
108
|
+
|
|
105
109
|
## Public API Overview
|
|
106
110
|
|
|
107
111
|
### Core
|
|
108
112
|
- `EventBusModule.forRoot(...)`: Main entry point for event bus registration.
|
|
109
|
-
- `EventBusLifecycleService`: Primary service for publishing events (`publish(event)`).
|
|
113
|
+
- `EventBusLifecycleService`: Primary service for publishing events (`publish(event, options?)`) and creating platform status snapshots.
|
|
110
114
|
- `@OnEvent(EventClass)`: Decorator to mark a method as an event handler.
|
|
111
115
|
- `EVENT_BUS`: Compatibility injection token for the publish facade.
|
|
112
116
|
- `createEventBusPlatformStatusSnapshot(...)`: Status snapshot helper used by diagnostics and health surfaces.
|
|
@@ -114,6 +118,9 @@ class UserRegisteredEvent {
|
|
|
114
118
|
### Interfaces
|
|
115
119
|
- `EventBusTransport`: Contract for implementing external transport adapters.
|
|
116
120
|
- `EventBus`, `EventPublishOptions`, `EventBusModuleOptions`, `EventType`: Type-only contracts for publishing, defaults, transports, and stable event keys.
|
|
121
|
+
- `EventBusLifecycleState`, `EventBusStatusAdapterInput`, `EventBusPlatformStatusSnapshot`: Status snapshot contracts.
|
|
122
|
+
|
|
123
|
+
Transport bootstrap subscribes once per unique event channel. `eventKey` controls the transport channel name when present. Invalid JSON transport messages are ignored.
|
|
117
124
|
|
|
118
125
|
## Runtime-Specific and Integration Subpaths
|
|
119
126
|
|
|
@@ -132,3 +139,5 @@ class UserRegisteredEvent {
|
|
|
132
139
|
|
|
133
140
|
- `packages/event-bus/src/module.test.ts`: Handler discovery and publish/subscribe tests.
|
|
134
141
|
- `packages/event-bus/src/public-surface.test.ts`: Public API contract verification.
|
|
142
|
+
- `packages/event-bus/src/status.test.ts`: Status snapshot semantics.
|
|
143
|
+
- `packages/event-bus/src/transports/redis-transport.test.ts`: Redis transport behavior.
|
package/dist/decorators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,YAAY,CAAC;AAIlE,KAAK,yBAAyB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AACjG,KAAK,mBAAmB,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,YAAY,CAAC;AAIlE,KAAK,yBAAyB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AACjG,KAAK,mBAAmB,GAAG,yBAAyB,CAAC;AAsBrD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,mBAAmB,CAkBjE"}
|
package/dist/decorators.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ensureMetadataSymbol } from '@fluojs/core/internal';
|
|
2
2
|
import { eventBusMetadataSymbol } from './metadata.js';
|
|
3
|
+
ensureMetadataSymbol();
|
|
3
4
|
function getStandardMetadataBag(metadata) {
|
|
4
|
-
void metadataSymbol;
|
|
5
5
|
return metadata;
|
|
6
6
|
}
|
|
7
7
|
function defineStandardEventHandlerMetadata(metadata, propertyKey, eventHandlerMetadata) {
|
package/dist/metadata.d.ts
CHANGED
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
import { type MetadataPropertyKey } from '@fluojs/core';
|
|
2
2
|
import type { EventHandlerMetadata } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Define event handler metadata.
|
|
5
|
+
*
|
|
6
|
+
* @param target The target.
|
|
7
|
+
* @param propertyKey The property key.
|
|
8
|
+
* @param metadata The metadata.
|
|
9
|
+
*/
|
|
3
10
|
export declare function defineEventHandlerMetadata(target: object, propertyKey: MetadataPropertyKey, metadata: EventHandlerMetadata): void;
|
|
11
|
+
/**
|
|
12
|
+
* Get event handler metadata.
|
|
13
|
+
*
|
|
14
|
+
* @param target The target.
|
|
15
|
+
* @param propertyKey The property key.
|
|
16
|
+
* @returns The get event handler metadata result.
|
|
17
|
+
*/
|
|
4
18
|
export declare function getEventHandlerMetadata(target: object, propertyKey: MetadataPropertyKey): EventHandlerMetadata | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Get event handler metadata entries.
|
|
21
|
+
*
|
|
22
|
+
* @param target The target.
|
|
23
|
+
* @returns The get event handler metadata entries result.
|
|
24
|
+
*/
|
|
5
25
|
export declare function getEventHandlerMetadataEntries(target: object): Array<{
|
|
6
26
|
metadata: EventHandlerMetadata;
|
|
7
27
|
propertyKey: MetadataPropertyKey;
|
|
8
28
|
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Provides the event bus metadata symbol value.
|
|
31
|
+
*/
|
|
9
32
|
export declare const eventBusMetadataSymbol: symbol;
|
|
10
33
|
//# sourceMappingURL=metadata.d.ts.map
|
package/dist/metadata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8BvD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAEN;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAS1H;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,GACb,KAAK,CAAC;IAAE,QAAQ,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAW7E;AAED,eAAO,MAAM,sBAAsB,QAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8BvD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAS1H;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,GACb,KAAK,CAAC;IAAE,QAAQ,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAW7E;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,QAAkC,CAAC"}
|
package/dist/metadata.js
CHANGED
|
@@ -18,9 +18,25 @@ function getOrCreateEventHandlerMap(target) {
|
|
|
18
18
|
}
|
|
19
19
|
return map;
|
|
20
20
|
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Define event handler metadata.
|
|
24
|
+
*
|
|
25
|
+
* @param target The target.
|
|
26
|
+
* @param propertyKey The property key.
|
|
27
|
+
* @param metadata The metadata.
|
|
28
|
+
*/
|
|
21
29
|
export function defineEventHandlerMetadata(target, propertyKey, metadata) {
|
|
22
30
|
getOrCreateEventHandlerMap(target).set(propertyKey, cloneEventHandlerMetadata(metadata));
|
|
23
31
|
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get event handler metadata.
|
|
35
|
+
*
|
|
36
|
+
* @param target The target.
|
|
37
|
+
* @param propertyKey The property key.
|
|
38
|
+
* @returns The get event handler metadata result.
|
|
39
|
+
*/
|
|
24
40
|
export function getEventHandlerMetadata(target, propertyKey) {
|
|
25
41
|
const stored = eventHandlerMetadataStore.get(target)?.get(propertyKey);
|
|
26
42
|
const standard = getStandardEventHandlerMap(target)?.get(propertyKey);
|
|
@@ -29,6 +45,13 @@ export function getEventHandlerMetadata(target, propertyKey) {
|
|
|
29
45
|
}
|
|
30
46
|
return cloneEventHandlerMetadata(stored ?? standard);
|
|
31
47
|
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Get event handler metadata entries.
|
|
51
|
+
*
|
|
52
|
+
* @param target The target.
|
|
53
|
+
* @returns The get event handler metadata entries result.
|
|
54
|
+
*/
|
|
32
55
|
export function getEventHandlerMetadataEntries(target) {
|
|
33
56
|
const stored = eventHandlerMetadataStore.get(target) ?? new Map();
|
|
34
57
|
const standard = getStandardEventHandlerMap(target) ?? new Map();
|
|
@@ -38,4 +61,8 @@ export function getEventHandlerMetadataEntries(target) {
|
|
|
38
61
|
propertyKey
|
|
39
62
|
})).filter(entry => entry.metadata !== undefined);
|
|
40
63
|
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Provides the event bus metadata symbol value.
|
|
67
|
+
*/
|
|
41
68
|
export const eventBusMetadataSymbol = standardEventHandlerMetadataKey;
|
package/dist/status.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { PlatformHealthReport, PlatformReadinessReport, PlatformSnapshot } from '@fluojs/runtime';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the event bus lifecycle state type.
|
|
4
|
+
*/
|
|
2
5
|
export type EventBusLifecycleState = 'created' | 'discovering' | 'ready' | 'stopping' | 'stopped' | 'failed';
|
|
6
|
+
/**
|
|
7
|
+
* Describes the event bus status adapter input contract.
|
|
8
|
+
*/
|
|
3
9
|
export interface EventBusStatusAdapterInput {
|
|
4
10
|
handlersDiscovered: number;
|
|
5
11
|
lifecycleState: EventBusLifecycleState;
|
|
@@ -10,11 +16,20 @@ export interface EventBusStatusAdapterInput {
|
|
|
10
16
|
transportSubscribeFailures: number;
|
|
11
17
|
waitForHandlersDefault: boolean;
|
|
12
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Describes the event bus platform status snapshot contract.
|
|
21
|
+
*/
|
|
13
22
|
export interface EventBusPlatformStatusSnapshot {
|
|
14
23
|
readiness: PlatformReadinessReport;
|
|
15
24
|
health: PlatformHealthReport;
|
|
16
25
|
ownership: PlatformSnapshot['ownership'];
|
|
17
26
|
details: Record<string, unknown>;
|
|
18
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Create event bus platform status snapshot.
|
|
30
|
+
*
|
|
31
|
+
* @param input The input.
|
|
32
|
+
* @returns The create event bus platform status snapshot result.
|
|
33
|
+
*/
|
|
19
34
|
export declare function createEventBusPlatformStatusSnapshot(input: EventBusStatusAdapterInput): EventBusPlatformStatusSnapshot;
|
|
20
35
|
//# sourceMappingURL=status.d.ts.map
|
package/dist/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEvG,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7G,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAwFD,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,0BAA0B,GAAG,8BAA8B,CAqBtH"}
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEvG;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7G;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAwFD;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,0BAA0B,GAAG,8BAA8B,CAqBtH"}
|
package/dist/status.js
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the event bus lifecycle state type.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Describes the event bus status adapter input contract.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Describes the event bus platform status snapshot contract.
|
|
11
|
+
*/
|
|
12
|
+
|
|
1
13
|
function createReadiness(input) {
|
|
2
14
|
if (input.lifecycleState === 'ready' && input.transportSubscribeFailures === 0) {
|
|
3
15
|
return {
|
|
@@ -72,6 +84,13 @@ function createHealth(input) {
|
|
|
72
84
|
function resolveOperationMode(input) {
|
|
73
85
|
return input.transportConfigured ? 'transport-backed' : 'local-only';
|
|
74
86
|
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Create event bus platform status snapshot.
|
|
90
|
+
*
|
|
91
|
+
* @param input The input.
|
|
92
|
+
* @returns The create event bus platform status snapshot result.
|
|
93
|
+
*/
|
|
75
94
|
export function createEventBusPlatformStatusSnapshot(input) {
|
|
76
95
|
return {
|
|
77
96
|
details: {
|
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.4",
|
|
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.4",
|
|
43
|
+
"@fluojs/di": "^1.0.0-beta.6",
|
|
44
|
+
"@fluojs/runtime": "^1.0.0-beta.11"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"ioredis": "^5.0.0"
|