Skip to content

Commit d37c67b

Browse files
committed
deal with mapValues
1 parent c167222 commit d37c67b

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

src/main/scala-2.12-/net/codingwell/scalaguice/SetProvider.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import scala.collection.{immutable => im}
3333
*/
3434
class SetProvider[T] (val source:Key[JSet[T]]) extends ProviderWithDependencies[im.Set[T]] {
3535

36-
@Inject() var injector:Injector = null
36+
@Inject() var injector:Injector = _
3737

3838
def get():im.Set[T] = {
3939
injector.getInstance( source ).asScala.toSet[T]

src/main/scala-2.13+/net/codingwell/scalaguice/SetProvider.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import scala.jdk.CollectionConverters._
3333
*/
3434
class SetProvider[T] (val source:Key[JSet[T]]) extends ProviderWithDependencies[im.Set[T]] {
3535

36-
@Inject() var injector:Injector = null
36+
@Inject() var injector:Injector = _
3737

3838
def get():im.Set[T] = {
3939
injector.getInstance( source ).asScala.toSet[T]

src/test/scala/net/codingwell/scalaguice/ScalaMapBinderSpec.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -368,44 +368,44 @@ class ScalaMapBinderSpec extends AnyWordSpec with Matchers {
368368
val injector = Guice.createInjector(module)
369369

370370
validate(injector.instance[im.Map[K, V]], expected: _*)
371-
validate(injector.instance[im.Map[K, Provider[V]]].mapValues(_.get), expected: _*)
372-
validate(injector.instance[im.Map[K, javax.inject.Provider[V]]].mapValues(_.get), expected: _*)
371+
validate(injector.instance[im.Map[K, Provider[V]]].transform { case (_, provider) => provider.get() }, expected: _*)
372+
validate(injector.instance[im.Map[K, javax.inject.Provider[V]]].transform { case (_, provider) => provider.get() }, expected: _*)
373373
}
374374

375375
private def validateWithAnnotation[K: TypeTag, V: TypeTag](module: Module, annotation: Annotation, expected: (K, V)*): Unit = {
376376
val injector = Guice.createInjector(module)
377377

378378
validate(injector.instance[im.Map[K, V]](annotation), expected: _*)
379-
validate(injector.instance[im.Map[K, Provider[V]]](annotation).mapValues(_.get), expected: _*)
380-
validate(injector.instance[im.Map[K, javax.inject.Provider[V]]](annotation).mapValues(_.get), expected: _*)
379+
validate(injector.instance[im.Map[K, Provider[V]]](annotation).transform { case (_, provider) => provider.get() }, expected: _*)
380+
validate(injector.instance[im.Map[K, javax.inject.Provider[V]]](annotation).transform { case (_, provider) => provider.get() }, expected: _*)
381381
}
382382

383383
private def validateWithAnn[K: TypeTag, V: TypeTag, Ann <: Annotation : ClassTag](module: Module, expected: (K, V)*): Unit = {
384384
val injector = Guice.createInjector(module)
385385

386386
validate(injector.instance[im.Map[K, V], Ann], expected: _*)
387-
validate(injector.instance[im.Map[K, Provider[V]], Ann].mapValues(_.get), expected: _*)
388-
validate(injector.instance[im.Map[K, javax.inject.Provider[V]], Ann].mapValues(_.get), expected: _*)
387+
validate(injector.instance[im.Map[K, Provider[V]], Ann].transform { case (_, provider) => provider.get() }, expected: _*)
388+
validate(injector.instance[im.Map[K, javax.inject.Provider[V]], Ann].transform { case (_, provider) => provider.get() }, expected: _*)
389389
}
390390

391391
private def validateMultiMap[K: TypeTag, V: TypeTag](module: Module, expected: (K, im.Set[V])*): Unit = {
392392
val injector = Guice.createInjector(module)
393393

394394
validate(injector.instance[im.Map[K, im.Set[V]]], expected: _*)
395-
validate(injector.instance[im.Map[K, im.Set[Provider[V]]]].mapValues(_.map(_.get)), expected: _*)
395+
validate(injector.instance[im.Map[K, im.Set[Provider[V]]]].transform { case (_, providers) => providers.map(_.get) }, expected: _*)
396396
}
397397

398398
private def validateMultiMapWithAnnotation[K: TypeTag, V: TypeTag](module: Module, annotation: Annotation, expected: (K, im.Set[V])*): Unit = {
399399
val injector = Guice.createInjector(module)
400400

401401
validate(injector.instance[im.Map[K, im.Set[V]]](annotation), expected: _*)
402-
validate(injector.instance[im.Map[K, im.Set[Provider[V]]]](annotation).mapValues(_.map(_.get)), expected: _*)
402+
validate(injector.instance[im.Map[K, im.Set[Provider[V]]]](annotation).transform { case (_, providers) => providers.map(_.get) }, expected: _*)
403403
}
404404

405405
private def validateMultiMapWithAnn[K: TypeTag, V: TypeTag, Ann <: Annotation : ClassTag](module: Module, expected: (K, im.Set[V])*): Unit = {
406406
val injector = Guice.createInjector(module)
407407

408408
validate(injector.instance[im.Map[K, im.Set[V]], Ann], expected: _*)
409-
validate(injector.instance[im.Map[K, im.Set[Provider[V]]], Ann].mapValues(_.map(_.get)), expected: _*)
409+
validate(injector.instance[im.Map[K, im.Set[Provider[V]]], Ann].transform { case (_, providers) => providers.map(_.get) }, expected: _*)
410410
}
411411
}

0 commit comments

Comments
 (0)