package delimited
- Alphabetic
- By Inheritance
- delimited
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Delimited = Array[String]
- type DelimitedVA[O] = cats.data.Validated[(IdxPathNode, Seq[ValidationError]), O]
-
trait
Rules extends DefaultRules[Delimited] with ParsingRules
Rules for parsing/validating/transforming Array[String] as typically returned from CSV parsers.
Rules for parsing/validating/transforming Array[String] as typically returned from CSV parsers.
{{ case class Contact(name: String, email: String, birthday: Option[LocalDate])
val contactReads = From[Delimited] { => ( ( \ 0).read[String] and ( \ 1).read(email) and ( \ 2).read(optionR[LocalDate](equalTo("N/A"))) )(Contact)}
val csv1 = "Ian Hummel,[email protected],1981-07-24".split(",") val csv2 = "Jane Doe,[email protected],N/A".split(",")
contactReads.validate(csv1) // returns Valid(Contact("Ian Hummel", "[email protected]", Some(new LocalDate(1981, 7, 24)))) contactReads.validate(csv2) // returns Valid(Contact("Jane Doe", "[email protected]", None)) }}