-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
breakingBreaking changeBreaking changedocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request
Milestone
Description
Documentation
General
- Data model
- How to make bindings
- Write serialize/deserialize by hand
- How to test
serializeanddeserializeprocedures - Errors
- All examples in documentation are tested via
runnableExample. pragmas too. - Move to own domain
- Pragmas
- Quick example in README
- Quick example in documentation
- How to de/serialize distinct types
- Error: generic instantiation too nested #17
Deserialize
- Visitor
- SeqAccess
- MapAccess
- Deserializer
- Helper templates documentation and examples
- How deserialization works for case objects with
untaggedpragma and multiple conditions inof.
Serialize
- SerializeArray
- SerializeMap
- SerializeSeq
- SerializeStruct
- Serializer
- Helper templates documentation and examples
Contribution
- Issue and PR templates
- How to debug
makemacros - How does code generation works (about intermediate representation and functions)
Not documentation
- Drop support for aliases (because aliases supported by default).
make...macros must raise an error. - Add full support for inheritance. Now the parent's fields are not taken into account
- Better errors instead of
Error: Expected one of {nnkSym, nnkObjectTy, nnkRefTy}formake...macros - More hints for pragmas. Like this and this. Example:
Use renamed instead of renameSerialize and renameDeserialize - Add
aliaspragma. Like this - Add
deserWithpragma. Like this - Add
skipPrivatepragma - Add support for
field {.defaultValue.}instead offield {.defaultValue(value).} - Reimplement
renameAllas pragma for support distinct types and inheritance - Named tuples must de/serialized as objects (also change docs in Supported std-types)
- Serialize nil as none token
- Option to disable duplication check
- Dont use {.requiresInit.} #22
- New
visitBytesSlice,deserializeBytesSliceandvisitStringSlice,deserializeStringSlicemethods #21 - Divide the parsing stage into parsing and processing #23
- Support VM, JS and CPP backends #27
Metadata
Metadata
Assignees
Labels
breakingBreaking changeBreaking changedocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request