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

fs2.aws.kinesis.models.KinesisModels.scala Maven / Gradle / Ivy

There is a newer version: 6.2.0
Show newest version
package fs2.aws.kinesis.models

import monix.newtypes.Newsubtype

object KinesisModels {
  type BufferSize  = BufferSize.Type
  type AppName     = AppName.Type
  type SchedulerId = SchedulerId.Type
  type StreamName  = StreamName.Type
  object AppName extends Newsubtype[String] {
    def apply(value: String): Either[String, AppName] =
      if (value.nonEmpty) Right(unsafeCoerce(value))
      else Left(s"App name is empty $value")
  }
  object SchedulerId extends Newsubtype[String] {
    def apply(value: String): SchedulerId = unsafeCoerce(value)
  }

  object StreamName extends Newsubtype[String] {
    def apply(value: String): Either[String, StreamName] =
      if (value.nonEmpty) Right(unsafeCoerce(value))
      else Left(s"Stream name is empty $value")
  }

  object BufferSize extends Newsubtype[Int] {
    def apply(value: Int): Either[String, BufferSize] =
      if (value > 0) Right(unsafeCoerce(value))
      else Left(s"Size is not positive $value")
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy