Skip to content

Commit 6ab3fa4

Browse files
committed
Resolve circular dependency around Resends (cheap approach)
1 parent 1a33cba commit 6ab3fa4

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

packages/sdk/src/StreamrClient.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'reflect-metadata'
66
import 'timers'
77
import './utils/PatchTsyringe'
8+
import './register'
89

910
import { DhtAddress } from '@streamr/dht'
1011
import { ProxyDirection, StreamPartDeliveryOptions } from '@streamr/trackerless-network'

packages/sdk/src/register.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { container } from 'tsyringe'
2+
import { Resends } from './subscribe/Resends'
3+
import { Tokens } from './tokens'
4+
5+
container.register(Tokens.Resends, {
6+
useClass: Resends,
7+
})

packages/sdk/src/subscribe/MessagePipelineFactory.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ import { StreamMessage } from '../protocol/StreamMessage'
1010
import { SignatureValidator } from '../signature/SignatureValidator'
1111
import { LoggerFactory } from '../utils/LoggerFactory'
1212
import { PushPipeline } from '../utils/PushPipeline'
13-
import { Resends } from './Resends'
13+
import type { Resends } from './Resends'
1414
import { MessagePipelineOptions, createMessagePipeline as _createMessagePipeline } from './messagePipeline'
15+
import { Tokens } from '../tokens'
1516

1617
type MessagePipelineFactoryOptions = MarkOptional<Omit<MessagePipelineOptions,
1718
'resends' |
@@ -37,7 +38,7 @@ export class MessagePipelineFactory {
3738

3839
/* eslint-disable indent */
3940
constructor(
40-
@inject(delay(() => Resends)) resends: Resends,
41+
@inject(Tokens.Resends) resends: Resends,
4142
streamStorageRegistry: StreamStorageRegistry,
4243
@inject(delay(() => StreamRegistry)) streamRegistry: StreamRegistry,
4344
signatureValidator: SignatureValidator,

packages/sdk/src/tokens.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export const Tokens = {
2+
Resends: Symbol('Resends')
3+
}

0 commit comments

Comments
 (0)