tricycle/elm-parse-dont-validate/1.0.0

Renamed to bellroy/elm-parse-dont-validate. It is published under that name, and new versions come out there.

Versions published as tricycle/elm-parse-dont-validate still install under that name. 1 version of 1 come from the new location (see their notes).

Rerouted (cache, verified). The original is gone. This copy comes from a Lamdera package cache made before it went. The Lamdera package server serves a copy recovered from a Lamdera package cache from 2021-02-13.

What we checked: Rebuilt from the unpacked sources in a Lamdera package cache (5 copies agree), which Elm only writes after the published SHA-1 checked out; elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip is our own, so its SHA-1 is not the published one.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/tricycle/elm-parse-dont-validate/zipball/1.0.0/

Parsing (Validation) done right for Elm

... in my mind, the difference between validation and parsing
lies almost entirely in how information is preserved.

Lexi Lambda ©

Basic types

Lets look at the Parser type and dissect it:

type alias Parser inp err out =
    inp -> Result (Cons err) out
Type parameterMeaningExample
inpInput type
(what is parsed/validated)
User input typically its a String
errError typeCould be your custom error type
`type Error = Empty
outOutput typeCould be your domain type
type Email = Email String

Graphically:

 inp ────────┬──────── ▶ Ok out
             │
             ▼
      Err (Cons err)

(Cons is a non-empty list from this library)

Usage

Take a look at this examples: