Conversation
d776d53 to
658113e
Compare
axman6
left a comment
There was a problem hiding this comment.
Looks good to me, other than making the name required I think this is good to go.
|
Our discussion summary:
|
9f7d57f to
9a08ecd
Compare
axman6
left a comment
There was a problem hiding this comment.
Looks good, a few minor things before it's ready.
0070024 to
d9228e7
Compare
Ensure every substitution script has a canonical name associated with it The script hash being scrutinized may have an associated name Make the user config errors more elaborate Ensure non-empty substitution list
d9228e7 to
195e2d2
Compare
| instance ToJSON ConfigMapFile where | ||
| toJSON (ConfigMapFile strt scrpts) = | ||
| object ["start" .= strt, "scripts" .= scrpts] | ||
| $(deriveJSONSimpleSum "S" ''ScriptSource) |
There was a problem hiding this comment.
I personally prefer explicit instances in API and configuration files, since if we omit one field we can break the "contract" established with the user.
There was a problem hiding this comment.
True, and so we should not omit fields and be careful when updating the fields ensuring backwards compatibility.
That said, having an explicit deserialisation gives us more control but it's too verbose.
Is there a way to have explicit deserialisation that is less verbose?
Something like,
$(deriveJSONSimpleSum ''ScriptSource [ 'SCborHex ~ "cbor", 'SFilePath ~ "file" ])
An interface like this, with explicit options, should be possible.
Opening an issue so we can think more about it: #140
The new config is of the form: