Files
go-toml/README.md
T
Thomas Pelletier 4a4c2c2a5f Update readme
2021-03-31 09:15:33 -04:00

1.3 KiB

go-toml V2

Development branch. Use at your own risk.

👉 Discussion on github.

  • toml.Unmarshal() should work as well as v1.

Must do

Unmarshal

  • Unmarshal into maps.
  • Support Array Tables.
  • Unmarshal into pointers.
  • Support Date / times.
  • Support struct tags annotations.
  • Support Arrays.
  • Support Unmarshaler interface.
  • Original go-toml unmarshal tests pass.
  • Benchmark!
  • Abstract AST.
  • Original go-toml testgen tests pass.
  • Track file position (line, column) for errors.
  • Strict mode.

Marshal

  • Minimal implementation

Document

  • Gather requirements and design API.

Ideas

  • Allow types to implement a ASTUnmarshaler interface to unmarshal straight from the AST?
  • Rewrite AST to use a single array as storage instead of one allocation per node.
  • Provide "minimal allocations" option that uses unsafe to reuse the input byte array as storage for strings.
  • Cache reflection operations per type.
  • Optimize tracker pass.

Differences with v1

License

The MIT License (MIT). Read LICENSE.