Skip to content

v1.2.0

Choose a tag to compare

@thewizardplusplus thewizardplusplus released this 22 May 07:21
· 16 commits to master since this release

Support for table constructors in the json.from_json() function.

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.