Skip to content

Latest commit

 

History

History
37 lines (33 loc) · 1.64 KB

todo.md

File metadata and controls

37 lines (33 loc) · 1.64 KB

Verse TODO list

TODO

  • Implement automatic intermediate object for immutable entities in linker
  • Implement "ignore case" option for name-based schemas
    • Support option in NameLookup
  • Implement support for proto-based Protobuf schema
  • Restore consistent behavior for encoding/decoding objects as JSON "null"

DONE

  • Allow non-int key types on ILookup from descriptors
    • Introduce TKey generic on reader definitions
    • Implement mixed look-up to avoid string allocations when reading array indices as keys
  • Switch to type-safe descriptor API
    • Remove parameterless HasValue method from descriptors
    • Require setter argument to IDecoderDescriptor.HasValue
    • Require getter argument to IEncoderDescriptor.HasValue
  • Remove Protobuf dependency from RawProtobufSchema
    • Read Protobuf without need for ProtoReader class nor related types
    • Write Protobuf without need for ProtoWriter class nor related types
  • Upgrade public API to multi-entity
    • IDecoderStream & IEncoderStream should be IDisposable and flush at dispose
    • Rename IDecoder.TryOpen to IDecoder.Open
    • Rename IEncoder.TryOpen to IEncoder.Open
    • Rename IDecoderStream.Decode to IDecoderStream.TryDecode
    • Return void from IEncoderStream.Encode
  • Allow JSON writer customization
  • Add JSON option "omit null values in object fields"
  • Avoid using inheritance for PatternReader nodes
  • Remove duplicated code from Linker
  • Change .IsArray method, see comment in RecurseDecoderDescriptor
  • Factorize "Ignore" methods in all leaf IReader implementations