HLWeil / JsonDSL

Small FSharp based DSL for writing literal json
MIT License
4 stars 1 forks source link

[Feature Request] Report name of required property/properties when object creation fails #7

Open kMutagene opened 1 year ago

kMutagene commented 1 year ago

Currently, we get the same error message no matter which property fails:

object {property "i am required" (+. (Option.None))} 
// System.Exception: Could not create Json Object, as required elements were missing: Value was missing

it would be very helpful if we could include the name of the property, e.g.:

object {property "i am required" (+. (Option.None))} 
// System.Exception: Could not create Json Object, as required elements were missing: Value of property "i am required" was missing

Even cooler would be aggregating these errors, e.g.:

object {
    property "required1" (+. (Option.None))
    property "required2" (+. (Option.None))
}  
// System.Exception: Could not create Json Object, as one or more required elements were missing: 
// Value of property "required1" was missing
// Value of property "required2" was missing