Skip to content

Commit fd484f0

Browse files
committed
1 parent 4cb6f1b commit fd484f0

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

openai-guice/src/main/scala/io/cequence/openaiscala/service/GuiceContainer.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,17 @@ package io.cequence.openaiscala.service
33
import akka.actor.ActorSystem
44
import com.google.inject.{Guice, Injector, Module}
55
import com.typesafe.config.Config
6-
import net.codingwell.scalaguice.InjectorExtensions._
7-
import scala.concurrent.duration._
86

7+
import scala.concurrent.duration._
98
import scala.concurrent.{Await, Future}
9+
import scala.reflect.ClassTag
1010

1111
trait GuiceContainer {
1212

13-
protected def modules: Seq[Module]
14-
1513
protected lazy val injector: Injector = Guice.createInjector(modules: _*)
16-
1714
protected lazy val config: Config = instance[Config]
1815

19-
// TODO: for Scala3 this function has to be "inlined"
20-
protected def instance[T: Manifest]: T = injector.instance[T]
16+
protected def modules: Seq[Module]
2117

2218
protected def result[T](future: Future[T]): T =
2319
Await.result(future, 100.minutes)
@@ -27,4 +23,8 @@ trait GuiceContainer {
2723
system.terminate
2824
Await.result(system.whenTerminated, 1.day)
2925
}
26+
27+
protected def instance[T: ClassTag]: T = injector.getInstance(
28+
implicitly[ClassTag[T]].runtimeClass.asInstanceOf[Class[T]]
29+
)
3030
}

0 commit comments

Comments
 (0)