YAML implementation for Nim https://nimyaml.org
Go to file
Felix Krause d62aac16bc Documented custom serialization.
* Also improved style of testing ground
2016-02-16 20:08:44 +01:00
bench bench: run 100 times per test and return mean 2016-01-24 12:28:14 +01:00
doc Documented custom serialization. 2016-02-16 20:08:44 +01:00
private Added constructChild for better serialization. 2016-02-16 19:24:55 +01:00
server Fixed error reporting in server 2016-01-24 21:43:33 +01:00
test Added constructChild for better serialization. 2016-02-16 19:24:55 +01:00
.gitignore Build proper HTML documentation 2016-01-13 23:19:06 +01:00
README.md Improved readme and serialization docs. 2016-02-16 19:28:36 +01:00
config.nims Improved docs. Fixed serialization problem. 2016-02-15 22:54:05 +01:00
copying.txt Added copyright 2015-12-28 22:22:51 +01:00
nimdoc.cfg Improved docs. Fixed serialization problem. 2016-02-15 22:54:05 +01:00
yaml.nim Added setTagUriForType. Used it. Improved docs. 2016-02-15 19:46:21 +01:00

README.md

NimYAML - YAML implementation for Nim

NimYAML is currently being developed. There is no release yet. See the documentation for an overview of already available features.

TODO list

  • Misc:
    • Add type hints for more scalar types
  • Serialization:
    • Support for more standard library types
    • Support polymorphism
    • Support variant objects
    • Support transient fields (i.e. fields that will not be (de-)serialized on objects and tuples)
    • Use concept type class Serializable or something
    • Check for and avoid name clashes when generating local tags for custom object types.
    • Possibly use genSym for predefined and generated yamlTag procs because they are an implementation detail and should not be visible to the caller. same goes for lazyLoadTag and safeLoadUri.

Developers

nim tests # runs all tests
nim parserTests # runs parser tests
nim serializationTests # runs serialization tests
nim documentation # builds documentation to folder docout
nim server # builds the REST server used for the testing ground
nim bench # runs benchmarks, requires libyaml
nim clean # guess
nim build # build a library

Project is tested against current develop branch of Nim. Older Nim versions probably do not work.

License

MIT