Symbiotic-Data

Serialization Standard to help different platforms Communicate


flash_on

Speeds up development

Ever been faced with the challenge of figuring out why your data type isn't being decoded or encoded properly? More than likely, it's due to the language or library you're using, and its opinions on how some data type or another should be encoded.

We've taken care of identifying these discrepencies, and eliminating them from this library - when you encode with symbiotic-data, you can be confident it will be decoded into exactly what was sent.

verified_user

Robust and Well Tested

The serializations for the various data types have been verified with property-based automated testing, catching any discrepencies potentially existing in the implementation.

By randomly generating test cases, the integrity of the implementations can be ensured much more strongly than unit tests. Furthermore, every test verifies the algebraic properties of the data types themselves, maintaining semantic integrity.

directions_transit

Convenient and Performant

Each implementation adheres as closely as possible to the conventions of the language you're using; if at all possible, all operations will be costless. However, if your platform has a wildly different opinion of how "things should be", then we'll compensate where necessary.

Furthermore, if a platform plainly does not support all features in the Symbiotic-Data suite, we'll abstain from adding it; to refrain from including exotic dependencies into your tree. Separate packages will suit those needs.