com.github.rssh.appcontext
Members list
Type members
Classlikes
Application context is a way, to resolve components dependencies. Each component should provide an AppContextProvider, and AppContext[Component] will instantiate this components with dependencies.
Application context is a way, to resolve components dependencies. Each component should provide an AppContextProvider, and AppContext[Component] will instantiate this components with dependencies.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AppContext.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
- Self type
AppContextAsyncProviderLookup is a helper trait used by InAppContext to search for async providers with correct priority:
AppContextAsyncProviderLookup is a helper trait used by InAppContext to search for async providers with correct priority:
- AppContextAsyncProviders in enclosing scope (highest)
- Local AppContextProvider (sync) converted via fromSyncProvider
- AppContextAsyncProvider[F, T] defined in T's companion object (lowest)
This works because implicit search looks in the companion of the result type (T), but AppContextAsyncProviderLookup[F, T]'s companion is AppContextAsyncProviderLookup, not T. So givens defined here have priority over T's companion.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object AppContextAsyncProvider
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AppContextCacheMap.type
AppContextProvider is a type class that provides a value of type T
AppContextProvider is a type class that provides a value of type T
When we have AppContextProvider for a type T, then we can resolve T for dependency injection, using AppContext[T] syntax. AppContext[T]
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AppContextProvider.type
AppContextProviderLookup is a helper trait used by AppContext[T] to search for providers with correct priority: AppContextProviders in enclosing scope takes precedence over AppContextProvider[T] defined in T's companion object.
AppContextProviderLookup is a helper trait used by AppContext[T] to search for providers with correct priority: AppContextProviders in enclosing scope takes precedence over AppContextProvider[T] defined in T's companion object.
This works because implicit search looks in the companion of the result type (T), but AppContextProviderLookup[T]'s companion is AppContextProviderLookup, not T. So givens defined here (fromProviders) have priority over T's companion.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object AppContextProviderLookup
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AppContextProviders.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait AppContextProviders[Xs]
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
InAppContext.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TupleIndex.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TupleMacroses.type
Annotation to mark class as a key for component cache. Useful for cases when we have multiple implementation of some generic component. i.e.
Annotation to mark class as a key for component cache. Useful for cases when we have multiple implementation of some generic component. i.e.
Attributes
Attributes-
Supertypes -
trait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
Types
type AppContextCacheMap[K, V] = TrieMap[K, V]
type InAppContext[Dependencies <: NonEmptyTuple] = [F[_]] =>> AppContextAsyncProviders[F, Dependencies]
Extensions
Extensions
Extensions
extension (ac: AppContext.type)