I should really write some elevator-pitch style examples to include here. Oh well.
Made with ❤️ and released under BSD3.
Json.Decode.Exploration.Pipeline.optional and optionalAt now error when
used on something that is not an object. The clue is that each field in the
path is optional in the existential sense - if it simply does not exist, we
dutifully use the provided fallback. However, if a field exists but does not
point to an object, we now error out instead.optional on an empty
object.Thanks to @michaeljones for surfacing this in #3.
Json.Decode.Exploration.check: verify the value of a field while decodingJson.Decode.Exploration.Pipeline:checked and checkedAt: verify values during decodingignored and ignoredAt: completely ignore values during decodingThanks to @michaeljones for the proposal.
Increased test coverage of Json.Decode.Exploration.Pipeline.
BadField errors weren't properly traced through the stack.
Increase test coverage of Json.Decode.Exploration.