Skip to content

ezoic/go-toml

Repository files navigation

go-toml V2

Development branch. Probably does not work.

👉 Discussion on github.

Must do

  • 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.
  • Attach comments to AST (gated by parser flag).
  • Track file position (line, column) for errors.
  • Benchmark again!

Further work

  • 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.

Ideas

  • Allow types to implement a ASTUnmarshaler interface to unmarshal straight from the AST?

License

The MIT License (MIT). Read LICENSE.

About

Go library for the TOML file format

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.5%
  • Shell 1.5%