roman / Haskell-etc

Declarative configuration spec for Haskell projects
MIT License
47 stars 7 forks source link

Keep JSON data in the Spec Records #54

Open roman opened 6 years ago

roman commented 6 years ago

Context

To achieve #43, we have to drop closed ADTs that manage the known back-ends to etc (e.g. cli)

To support this, we are going to keep the original JSON on each Spec.ConfigValue entry, also we will keep the top level entries (excluding etc/entries) in the Spec.ConfigSpec record so that other resolvers can make use of top level entries.

The next goal is, refactor the CLI using this JSON on a more open constructor settings in the ConfigValue record