I think it'd be very helpful to provide integrations with json/xml/ parsing libs. Ideally we'd provide a function decoder a -> validator a b -> decoder b. This way users can transparently use checklist for validation during parsing.
Example for something like circe:
def validatingDecoder[A, B](
handleWarnings: (WarningMessages, B) => DecodeResult[B])(
implicit decoder: Decoder[A], validator: Validator[A, B]
): Decoder[B] =
decoder.emap(validator.validate(_).fold(
handleErrors = validatorErrorToCirceError,
handleWarnings = handleWarnings,
handleSuccess = DecodeResult.success(_)
))
I think it'd be very helpful to provide integrations with json/xml/ parsing libs. Ideally we'd provide a function
decoder a -> validator a b -> decoder b. This way users can transparently use checklist for validation during parsing.Example for something like circe: