Closed tfausak closed 8 months ago
I've been putting this off because I'd like to do all the changes at once. I'm trying to clear everything else out of the way first.
One thing I haven't mentioned yet is potentially flattening the Foo
and FooValue
types. At least for Property
, it should be possible to remove a level of nesting there. The property's kind
and size
are completely determined by the value
, I just have to do a little legwork for that. Doing so would simplify the JSON representation and remove some confusion around { "kind": "this", "value": { "that": ... } }
.
Realistically I'm not going to get around to doing this.
Just off the top of my head:
limit
on aCompressedWord
is useless and misleading. The limit is actually controlled by the"MaxChannels"
property. Also compressed words are super common, so this ends up getting repeated a lot.size
andcrc
on aSection
are also useless and misleading. They are ignored when converting JSON to binary, and they aren't useful if you're only interested in consuming the JSON.Dictionary
values are very weird. Ideally they would be represented in JSON as an object, butaeson
doesn't allow ordered objects. Also thelastKey
is tricky.There's probably more that I'm not thinking of right now.