Thomas Pelletier
5fd6e9cce0
Encode: add comment struct tag ( #711 )
...
Similar to v1, add a `comment` struct that that makes the encoder emit a comment
before the annotated element, if permitted. Unlike v1, comments are compact by
default (and cannot be changed).
Fixes #595 .
2021-12-26 18:29:46 +01:00
Thomas Pelletier
0d20a84523
Encoder: omitempty flag ( #692 )
...
Fixes #597
2021-11-30 21:32:28 -05:00
Thomas Pelletier
2b3de620e8
Encoder: try to use pointer type TextMarshaler ( #679 )
...
If a type does not implement the encoding.TextMarshaler interface but
its pointer type does, use it if possible.
Fixes #678
2021-11-24 14:43:49 -05:00
Thomas Pelletier
64fe47161f
API: Encoder and Decoder options are chainable ( #670 )
...
Fixes #583
2021-11-13 19:04:53 -05:00
Sterling Hanenkamp
4984dcb5e9
encode: ensure floats have decimal point ( #615 )
...
Fixes #571
Co-authored-by: Sterling Hanenkamp <sterling@ziprecruiter.com >
2021-10-14 08:34:54 -04:00
Thomas Pelletier
ee9b902222
unmarshal: convert ints if target type is compatible ( #594 )
...
This is required to support custom types.
Fixes #590
2021-09-09 21:25:14 -04:00
kkHAIKE
8be357dfa1
Add LocalTime to interface{} decode support ( #567 )
...
Co-authored-by: Thomas Pelletier <thomas@pelletier.codes >
2021-07-21 17:50:12 +02:00
Thomas Pelletier
250e073408
Stack-based unmarshaler ( #546 )
...
* Benchmark script
* Rewrite unmarshaler using the stack
Instead of tracking the build chain using `target`s, use the stack
instead.
Working and most benchmarks look good, but regression on structs unmarshalling.
~60% slower on ReferenceFile/struct.
* Shortcut to check if last node of iterator
* Remove unecessary pointer allocation
* Skip over unused keys without marking them as seen
* Add some tests
* Fix mktemp on macos
2021-05-31 12:14:13 -04:00
Thomas Pelletier
95c701b253
Increase test coverage ( #538 )
...
Also fix array in map bug.
2021-05-10 20:17:05 -04:00
Thomas Pelletier
45ea20024b
Readme ( #535 )
2021-05-08 17:03:51 -04:00
Vincent Serpoul
201d5dd422
golangci-lint: misc ( #529 )
2021-04-27 20:29:00 -04:00
Thomas Pelletier
931f02a519
encoder: support indentation ( #525 )
2021-04-23 17:08:27 -04:00
Vincent Serpoul
466faaab9f
golangci-lint: marshaler, strict ( #523 )
2021-04-23 10:41:21 -04:00
Thomas Pelletier
21445f5170
Add test for issue #424
2021-04-21 22:27:30 -04:00
Thomas Pelletier
9ba52996d8
Encoder multiline array ( #520 )
2021-04-21 22:13:45 -04:00
Thomas Pelletier
6fe332a869
Encoder inline tables ( #519 )
2021-04-21 19:11:15 -04:00
Vincent Serpoul
dca2103910
golangci-lint: marshaler ( #516 )
2021-04-20 20:24:44 -04:00
Thomas Pelletier
9e122af5fc
encoder: support multiline strings + local options
2021-04-10 17:58:37 -04:00
Thomas Pelletier
e1f035461b
encoder: simplify quoted strings escaping
2021-04-08 22:02:41 -04:00
Thomas Pelletier
37714006b6
V2 Marshaler MVP ( #495 )
2021-04-08 10:07:29 -04:00