ZValidationModule

abstract class ZValidationModule[V[_], E](implicit val V: Validated[V]) extends all with ZIOSyntaxAll with ZIOEffectInstances

ValidationModule with helpful stuff for ZIO

Type members

Classlikes

object IOPolicy
object RIOPolicy
object TaskPolicy
object UIOPolicy
object URIOPolicy
object ZIOPolicy

Types

type IOPolicy[ZE, P] = ZIOPolicy[Any, ZE, P]
type IOPolicyBuilder[ZE, P] = ZIOPolicyBuilder[Any, ZE, P]
type IORule[+ZE] = ZIORule[Any, ZE]
type RIOPolicy[ZR, P] = ZIOPolicy[ZR, Throwable, P]
type RIORule[-ZR] = ZIORule[ZR, Throwable]
type TaskPolicy[P] = ZIOPolicy[Any, Throwable, P]
type UIOPolicy[P] = ZIOPolicy[Any, Nothing, P]
type UIOPolicyBuilder[P] = ZIOPolicyBuilder[Any, Nothing, P]
type UIORule = ZIORule[Any, Nothing]
type URIOPolicy[ZR, P] = ZIOPolicy[ZR, Nothing, P]
type URIOPolicyBuilder[ZR, P] = ZIOPolicyBuilder[ZR, Nothing, P]
type URIORule[-ZR] = ZIORule[ZR, Nothing]
type ZIOPolicy[ZR, ZE, P] = ValidationPolicy[P, [_] =>> ZIO[ZR, ZE, _$5], V, E]
type ZIOPolicyBuilder[ZR, ZE, P] = ValidationPolicyBuilder[P, [_] =>> ZIO[ZR, ZE, _$6], V, E]
type ZIORule[-ZR, +ZE] = Rule[[_] =>> ZIO[ZR, ZE, _$4], V, E]

Value members

Inherited methods

def someOrValid[F[_] : Effect, V[_] : Validated, E](rule: => Option[Rule[F, V, E]]): Rule[F, V, E]

Unpacks rule from Option if None returns valid

Unpacks rule from Option if None returns valid

Inherited from:
OptionSyntax

Extensions

Inherited extensions

extension [P, F[_], V[_], E](builder: ValidationPolicyBuilder[P, F, V, E])
inline def subRule[S1, S2, S3](inline selector1: P => S1, inline selector2: P => S2, inline selector3: P => S3)(rules: (Field[S1], Field[S2], Field[S3]) => Rule[F, V, E]*): ValidationPolicyBuilder[P, F, V, E]

Adds new subrule to builder. Same as subRule but for 3 subrules

Adds new subrule to builder. Same as subRule but for 3 subrules

Inherited from:
PolicySyntax
inline def subRule[S1, S2](inline selector1: P => S1, inline selector2: P => S2)(rules: (Field[S1], Field[S2]) => Rule[F, V, E]*): ValidationPolicyBuilder[P, F, V, E]

Adds new subrule to builder. Same as subRule but for 2 subrules

Adds new subrule to builder. Same as subRule but for 2 subrules

Inherited from:
PolicySyntax
inline def subRule[S](inline selector: P => S)(rules: Field[S] => Rule[F, V, E]*): ValidationPolicyBuilder[P, F, V, E]

Adds new subrule to builder. Uses selector to create jap.fields.Field, rules are applied to that field

Adds new subrule to builder. Uses selector to create jap.fields.Field, rules are applied to that field

Inherited from:
PolicySyntax
extension [P](field: Field[P])
inline def sub[S](inline selector: P => S): Field[S]

Returns subfield using selector function to extract value and as path

Returns subfield using selector function to extract value and as path

Example

scala> val request = Request(User("ann"))
scala> val field = Field.from(request)
val field: jap.fields.Field[Request] = request:Request(User(ann))
scala> field.sub(_.user.name)
val res1: jap.fields.Field[String] = request.user.name:ann
Inherited from:
FieldSyntax
extension (field: Field.type)
inline def from[V](inline value: V): Field[V]

Returns jap.fields.Field that has provided value and infers its jap.fields.FieldPath from field selects

Returns jap.fields.Field that has provided value and infers its jap.fields.FieldPath from field selects

Example:

scala> val request = Request(User("ann"))
val request: Request = Request(User(ann))
scala> val field = Field.from(request.user.name)
val field: jap.fields.Field[String] = request.user.name:ann
Inherited from:
FieldSyntax
inline def sub[V](inline value: V): Field[V]

Similar to Field.from but drops first selector path

Similar to Field.from but drops first selector path

Example:

scala> val request = Request(User("ann"))
val request: Request = Request(User(ann))
scala> val field = Field.sub(request.user.name)
val field: jap.fields.Field[String] = user.name:ann
Inherited from:
FieldSyntax

Implicits

Implicits

implicit val V: Validated[V]

Inherited implicits

final implicit def toBooleanFieldOps[F[_], V[_], E](field: Field[Boolean]): BooleanFieldOps[F, V, E]
Inherited from:
BooleanSyntax
final implicit def toFieldOps[F[_], V[_], E, P](field: Field[P]): FieldOps[P, F, V, E]
Inherited from:
GenericSyntax
implicit def toFieldZIOPolicyOps[P, V[_], E](field: Field[P]): ZIOPolicyOps[P, V, E]
Inherited from:
ZIOPolicySyntax
final implicit def toIterableFieldOps[F[_], V[_], E, P, I <: (Iterable)](field: Field[I[P]]): IterableFieldOps[P, I, F, V, E]
Inherited from:
IterableSyntax
final implicit def toMapFieldOps[F[_], V[_], E, K, P](field: Field[Map[K, P]]): MapFieldOps[K, P, F, V, E]
Inherited from:
MapSyntax
final implicit def toOptionFieldOps[F[_], V[_], E, P](field: Field[Option[P]]): OptionFieldOps[P, F, V, E]
Inherited from:
OptionSyntax
final implicit def toOrderingFieldOps[F[_], V[_], E, P](field: Field[P]): OrderingFieldOps[P, F, V, E]
Inherited from:
OrderingSyntax
final implicit def toRuleSequenceOps[F[_], V[_], E](rules: Iterable[Rule[F, V, E]]): RuleSequenceOps[F, V, E]
Inherited from:
RuleSyntax
final implicit def toRuleValidationOps[F[_], V[_], E](rule: Rule[F, V, E]): RuleValidationOps[F, V, E]
Inherited from:
RuleSyntax
final implicit def toStringFieldOps[F[_], V[_], E](field: Field[String]): StringFieldOps[F, V, E]
Inherited from:
StringSyntax
final implicit def toValidatedIdOps[E](error: E): ValidatedIdOps[E]
Inherited from:
ValidatedSyntax
final implicit def toValidatedOps[V[_], E](vr: V[E]): ValidatedOps[V, E]
Inherited from:
ValidatedSyntax
final implicit def toValidatedSeqOps[V[_], E](iterable: Iterable[V[E]]): ValidatedSeqOps[V, E]
Inherited from:
ValidatedSyntax
implicit def zioEffect[R, E]: Effect[[_] =>> ZIO[R, E, _$1]]

jap.fields.typeclass.Effect instance for zio.ZIO

jap.fields.typeclass.Effect instance for zio.ZIO

Inherited from:
ZIOEffectInstances