luaserialization, v1.2.0
Posted on

The library that implements various auxiliary functions for serialization.
Support for table constructors in the json.from_json() function.
Disclaimer: this library was written directly on an Android smartphone with the QLua IDE.
Change Log
data.to_data()function:- supports for enhancing tables with the
__namemetaproperty;
- supports for enhancing tables with the
Nameablemixin — this mixin adds the__namemetaproperty to a class created by library middleclass; this metaproperty equals to thenameproperty of the mix target class;- serialization to JSON:
json.from_json()function:- optionally, it can recreate tables with the
__nameproperty with the passed constructors.
- optionally, it can recreate tables with the
Features
data.to_data()function — this function recursively calls the__data()metamethod if it exists:- supports for enhancing tables with the
__namemetaproperty;
- supports for enhancing tables with the
Nameablemixin — this mixin adds the__namemetaproperty to a class created by library middleclass; this metaproperty equals to thenameproperty of the mix target class;- serialization to string:
string.to_string()function — this function calls thedata.to_data()function and then applies library inspect.lua;Stringifiablemixin — this mixin adds the__tostring()metamethod that calls thestring.to_string()function;
- serialization to JSON:
json.to_json()function — this function calls thedata.to_data()function and then transforms the data into the JSON;json.from_json()function — this function transforms the text in the JSON to a data:- optionally, it can validate the data against a JSON Schema;
- optionally, it can recreate tables with the
__nameproperty with the passed constructors.
Repository
Link: https://github.com/thewizardplusplus/luaserialization/tree/v1.2.0.
Content: code.
License: MIT.