eu.timepit.refined.scalacheck.string.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of refined-scalacheck_sjs0.6_2.12.0-M4 Show documentation
Show all versions of refined-scalacheck_sjs0.6_2.12.0-M4 Show documentation
Simple refinement types for Scala
The newest version!
package eu.timepit.refined
package scalacheck
import eu.timepit.refined.api.RefType
import eu.timepit.refined.string.{ EndsWith, StartsWith }
import org.scalacheck.Arbitrary
import shapeless.Witness
object string {
implicit def endsWithArbitrary[F[_, _], S <: String](
implicit
rt: RefType[F],
ws: Witness.Aux[S]
): Arbitrary[F[String, EndsWith[S]]] =
arbitraryRefType(Arbitrary.arbString.arbitrary.map(_ + ws.value))
implicit def startsWithArbitrary[F[_, _], S <: String](
implicit
rt: RefType[F],
ws: Witness.Aux[S]
): Arbitrary[F[String, StartsWith[S]]] =
arbitraryRefType(Arbitrary.arbString.arbitrary.map(ws.value + _))
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy