liu
02865de676
feat: repl invalid utf8 in serde by option ( #357 )
2023-02-10 18:55:27 +08:00
Yi Duan
f87d87de7a
feat: fallback on unsupported go versions ( #358 )
...
* feat: fallback api on unsupported go version
* add compact test
* not support go version <= 1.14
2023-02-08 16:56:10 +08:00
Yi Duan
cfa4fe1736
feat: add Get() API on not-amd64 envs ( #350 )
2023-01-13 11:34:20 +08:00
Yi Duan
94f95f0479
feat:(option) add option MaxInlineDepth for addjust compilation inline depth ( #287 )
...
* feat: make compilation depth changeable
* feat: add option `DefaultMaxInlineDepth`
* add recurse depth = 10
* refactor
* doc: readme and comment
* opt: add `_MAX_FIELDS` to limit the inlining of big struct
* update license
* fix typo
2022-08-22 15:45:49 +08:00
liu
de2dc2c35a
add ValidateString option into decode ( #253 )
...
* fix: add escape validate
* feat: add validatestring option
* add print debug
* add jit debug in decoder
* fix go1.16 decoder debug
* fix: not change others
* fix generic parse bug
* remove debug info
* test twitter json
* fix: option typos
* test: add bug test
* fix validate bugs
* fix: validate
* remove files
* re-compile
* update license
* add flags on `skip_xxx()`
* fix internal native tests
* re-compile
* add validstring for perftest
* modify api
* fix readme
* fix comment
* add license
* rename to ValidateString
* fix xprintf.h
* add debug
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2022-08-11 19:06:11 +08:00
Yi Duan
07d7b867d4
feat (encoder): add encoder option NoNullSliceOrMap ( #218 )
...
* feat (encoder): add encoder option `NoNullSliceOrMap`
* feat: add option on `sonic.Config`
* build: specify `self-host` to x64 machine
2022-07-08 15:07:42 +08:00
Yi Duan
ced28302a9
feat: add compatible API ( #233 )
...
* feat: add compatible API
* test: add api compatibility test
* fmt
* test: adjust CI
* fix: no trailing '\n' for std `Marshal()`
* doc: update README.md
* test: add windows CI
* doc: update README.md
* doc: update README.md
* fmt: add comments and refator
2022-05-25 14:16:56 +08:00
Yi Duan
c381c8b679
feat: add API MarshalString() ( #197 )
2022-03-01 15:09:09 +08:00
Yi Duan
b66168fa77
feat:(decoder) add option CopyString() ( #192 )
...
* feat: add option `CopyString()`
* test: diff copy and nocopy decoding bench
* doc: update README.md
* opt: use global link for `escape_string()`
* feat: copy JSON on `Unmarshal()`
* test: add norace test
* fix: nocopy field key
* test: add generic test
* fix: remove useless instruction
2022-02-28 18:46:25 +08:00
liu
7475b256ce
support JSON validate ( #189 )
...
* fix: check unescaped control chars in decode
* feat: add utf8 validate func
* feat: validate utf8 in json string
* feat: add validateone api
* fix: check unicode pointer for surrogate
* clang12 compile
* feat: Import `Valid()` and `Skip()`
* opt: use looktable
* fix utf-8 validate performance problem
* fix: utf-8 validate bug
* clang12 build
* feat: (encoder) accelerate validating json from `json.Marshaler`
chore!:
- `encoder.NoCompactMarshaler`changes to `encoder.CompactMarshaler`, which means compacting operation is not open by default
* fix: only one json value is `Valid()`
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2022-02-21 16:35:53 +08:00
Yi Duan
5be8dafe41
fix: premature GC on decoding string ( #187 )
...
* fix: cast `[]byte` to `string` for `Unmarshal()`
* fix: store `Decoder.s` to `_Stack` to avoid premature GC
* fix: add gcwritebarrir for `op_str`
2022-02-15 16:41:53 +08:00
liu
49fc705341
feat: Pretouch recursively for large/deep struct ( #137 )
2021-11-26 14:12:51 +08:00
chenzhuoyu
b20904f574
fix: check EOF after unmarshal
2021-08-16 19:14:01 +08:00
chenzhuoyu
8383178c89
feat: supports map key-sorting via encoder options
2021-08-16 18:31:41 +08:00
chenzhuoyu
fbe0828190
chore: make it open-source
2021-05-28 23:58:58 +08:00