Object

zio.prelude.newtypes

And

Related Doc: package newtypes

Permalink

object And extends Subtype[Boolean]

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. And
  2. Subtype
  3. Newtype
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Base <: Boolean

    Permalink
    Definition Classes
    SubtypeNewtype
  2. trait Tag extends Any

    Permalink
    Definition Classes
    Newtype
  3. type Type = Base with Tag

    Permalink
    Definition Classes
    Newtype
  4. type Wrapped = Boolean

    Permalink
    Definition Classes
    Newtype

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. macro def apply(value: Boolean, values: Boolean*): NonEmptyChunk[Type]

    Permalink

    Converts multiple instances of the underlying type to NonEmptyChunk of instances of the newtype.

    Converts multiple instances of the underlying type to NonEmptyChunk of instances of the newtype.

    If there is a def assertion (see assert), each value will be checked at compile-time.

    Definition Classes
    Newtype
  5. macro def apply(value: Boolean): Type

    Permalink

    Converts an instance of the underlying type to an instance of the newtype.

    Converts an instance of the underlying type to an instance of the newtype.

    If there is a def assertion (see assert), the value will be checked at compile-time.

    Definition Classes
    Newtype
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. macro def assert(assertion: Assertion[Boolean]): QuotedAssertion[Boolean]

    Permalink

    This method is used to generate Newtype that can be validated at compile-time.

    This method is used to generate Newtype that can be validated at compile-time. This must wrap a Assertion and be assigned to def assertion.

    For example, here is a refined Newtype for Natural numbers. Natural numbers are whole numbers greater than or equal to 0.

    import zio.prelude.Subtype
    import zio.prelude.Assertion._
    
    type Natural = Natural.Type
    object Natural extends Subtype[Int] {
      def assertion = assert(greaterThanOrEqualTo(0))
    }

    With this assertion defined, Natural.apply will check literal values at compile-time, failing with an error message if the Assertion is not satisfied.

    Natural(-10) would render "-10 failed to satisfy greaterThanOrEqualTo(10)"

    IMPORTANT: Due to the macro machinery powering this feature, you must be sure to NOT ANNOTATE def assertion with a type (QuotedAssertion). If you do so, the macro will not be able to run the provided assertion at compile-time and will fail with a message containing this very same information.

    Definition Classes
    Newtype
  8. def assertion: QuotedAssertion[Boolean]

    Permalink
    Definition Classes
    Newtype
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def derive[TypeClass[_]](implicit instance: TypeClass[Boolean]): TypeClass[Type]

    Permalink

    Derives an instance of a type class for the new type given an instance of the type class for the underlying type.

    Derives an instance of a type class for the new type given an instance of the type class for the underlying type. The caller is responsible for the type class being a valid instance for the new type.

    Attributes
    protected
    Definition Classes
    Newtype
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. macro def make(value: Boolean): Validation[String, Type]

    Permalink
    Definition Classes
    Newtype
  18. macro def makeAll[F[+_]](value: F[Boolean])(implicit arg0: ForEach[F]): Validation[String, F[Type]]

    Permalink
    Definition Classes
    Newtype
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. def unapply(value: Type): Some[Boolean]

    Permalink

    Allows pattern matching on newtype instances to convert them back to instances of the underlying type.

    Allows pattern matching on newtype instances to convert them back to instances of the underlying type.

    Definition Classes
    Newtype
  25. def unwrap(value: Type): Boolean

    Permalink

    Converts an instance of the newtype back to an instance of the underlying type.

    Converts an instance of the newtype back to an instance of the underlying type.

    Definition Classes
    Newtype
  26. def unwrapAll[F[_]](value: F[Type]): F[Boolean]

    Permalink

    Converts an instance of a type parameterized on the newtype back to an instance of a type parameterized on the underlying type.

    Converts an instance of a type parameterized on the newtype back to an instance of a type parameterized on the underlying type. For example, this could be used to convert a list of instances of the newtype back to a list of instances of the underlying type.

    Definition Classes
    Newtype
  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. def wrap(value: Boolean): Type

    Permalink

    Converts an instance of the underlying type to an instance of the newtype.

    Converts an instance of the underlying type to an instance of the newtype. Ignores the assertion.

    Attributes
    protected
    Definition Classes
    Newtype
  31. macro def wrapAll[F[_]](value: F[Boolean]): F[Type]

    Permalink

    Converts an instance of a type parameterized on the underlying type to an instance of a type parameterized on the newtype.

    Converts an instance of a type parameterized on the underlying type to an instance of a type parameterized on the newtype. For example, this could be used to convert a list of instances of the underlying type to a list of instances of the newtype.

    Due to macro limitations, this method cannot with refined newtype and will thus issue a compiler error if you attempt to do so.

    Definition Classes
    Newtype

Inherited from Subtype[Boolean]

Inherited from Newtype[Boolean]

Inherited from AnyRef

Inherited from Any

Ungrouped