40 lines
1.3 KiB
Kotlin
40 lines
1.3 KiB
Kotlin
package com.anytypeio.anytype.di.main
|
|
|
|
import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers
|
|
import com.anytypeio.anytype.domain.block.repo.BlockRepository
|
|
import com.anytypeio.anytype.domain.debugging.Logger
|
|
import com.anytypeio.anytype.domain.library.StorelessSubscriptionContainer
|
|
import com.anytypeio.anytype.domain.search.SubscriptionEventChannel
|
|
import com.anytypeio.anytype.domain.workspace.SpaceManager
|
|
import com.anytypeio.anytype.presentation.templates.DefaultObjectTypeTemplatesContainer
|
|
import com.anytypeio.anytype.presentation.templates.ObjectTypeTemplatesContainer
|
|
import dagger.Module
|
|
import dagger.Provides
|
|
import javax.inject.Singleton
|
|
|
|
@Module
|
|
object TemplatesModule {
|
|
|
|
@JvmStatic
|
|
@Provides
|
|
@Singleton
|
|
fun provideStorelessContainer(
|
|
repo: BlockRepository,
|
|
channel: SubscriptionEventChannel,
|
|
dispatchers: AppCoroutineDispatchers,
|
|
logger: Logger
|
|
): StorelessSubscriptionContainer =
|
|
StorelessSubscriptionContainer.Impl(repo, channel, dispatchers, logger)
|
|
|
|
@JvmStatic
|
|
@Provides
|
|
@Singleton
|
|
fun provideTemplatesContainer(
|
|
storage: StorelessSubscriptionContainer,
|
|
spaceManager: SpaceManager
|
|
): ObjectTypeTemplatesContainer =
|
|
DefaultObjectTypeTemplatesContainer(
|
|
storage = storage,
|
|
spaceManager = spaceManager
|
|
)
|
|
} |