-
Notifications
You must be signed in to change notification settings - Fork 4
spec should clarify when meta should be omitted #25
Description
Current description of meta field introduces ambiguity and it would be good to address it
Line 61 in e108236
| | `meta` | `{String : Any}` | No | [Meta] (asserted, signed data) — is not delegated authority | |
Spec says meta is not required, which makes it not clear what to do in case of empty map {} should it be encoded as null or as empty object.
This is problematic because different implementations may choose different defaults e.g. iso-ucan seems to encode it as {} where's some other implementation e.g. rs-ucan may choose to encode it as null which would mean that decoding and encoding back will not roundtrip.
I don't think rs-ucan actually does that, but it had some other unrelated issues that made me thing this was happening.
I suggest to update spec so that meta is either required or make spec require for empty map to be represented an null so implementations can be consistent.