All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sutils.fp.ImplicitMiscOps.scala Maven / Gradle / Ivy

package sutils.fp

import scalaz.{ -\/, \/, \/- }

object ImplicitMiscOps {

  /** Evaluate a unary side-effecting function. Convenient for method chaining on a value of type T. */
  implicit class ChainSideEffectUnaryFn[T](private val x: T) extends AnyVal {
    @inline def sideEffect(op: () => Unit): T = {
      op()
      x
    }
  }

  /** Evaluate a side-effecting value. Convenient for method chaining on a value of type T. */
  implicit class ChainSideEffectLazy[T](private val x: T) extends AnyVal {
    @inline def sideEffect(op: => Unit): T = {
      val _: Unit = op // force eager evaluation
      x
    }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy