msgpax
msgpax copied to clipboard
Introduce overridable protocol implementations
Depends on #67 Closes #60 Enables the solution of #61 and #62
The goal of this PR is to introduce a way for users to override default implementations from the library, In order to achieve that, several changes were introduced:
- #67 that allows options to be used to configure implementations;
- Refactoring of how extensions are represented: instead of having one struct
Msgpax.Ext
, we have 128 structs, one for each extension type; - new
Msgpax.Unpacker
protocol that can be dispatched against the specificMsgpax.Ext#
structs; - new
Msgpax.Ext.defimpl
macro to allow users to overwrite protocol implementations without triggering warnings about module redefinition;