World Conquest Chronicles

World Conquest Chronicles

luaserialization, v1.2.0

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 __name metaproperty;
  • Nameable mixin — this mixin adds the __name metaproperty to a class created by library middleclass; this metaproperty equals to the name property of the mix target class;
  • serialization to JSON:
    • json.from_json() function:
      • optionally, it can recreate tables with the __name property with the passed constructors.

Features

  • data.to_data() function — this function recursively calls the __data() metamethod if it exists:
    • supports for enhancing tables with the __name metaproperty;
  • Nameable mixin — this mixin adds the __name metaproperty to a class created by library middleclass; this metaproperty equals to the name property of the mix target class;
  • serialization to string:
    • string.to_string() function — this function calls the data.to_data() function and then applies library inspect.lua;
    • Stringifiable mixin — this mixin adds the __tostring() metamethod that calls the string.to_string() function;
  • serialization to JSON:
    • json.to_json() function — this function calls the data.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 __name property with the passed constructors.

Repository

Link: https://github.com/thewizardplusplus/luaserialization/tree/v1.2.0.

Content: code.

License: MIT.