- package com.hexagontk.injection
- sealed class Provider<out T : Any> {
- abstract fun provide(): T
- data class Generator<out T : Any>(val generator: () -> T) : Provider<T>() {
- override fun provide(): T =
- generator()
- }
- data class Instance<out T : Any>(val instance: T) : Provider<T>() {
- override fun provide(): T =
- instance
- }
- }