summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/decoder
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/decoder')
-rw-r--r--vendor/github.com/bytedance/sonic/decoder/decoder_compat.go6
-rw-r--r--vendor/github.com/bytedance/sonic/decoder/decoder_native.go (renamed from vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go)37
2 files changed, 24 insertions, 19 deletions
diff --git a/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go b/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go
index 7883862c3..81e1ae4e3 100644
--- a/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go
+++ b/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go
@@ -1,4 +1,4 @@
-// +build !amd64 !go1.16 go1.23
+// +build !amd64,!arm64 go1.24 !go1.17 arm64,!go1.20
/*
* Copyright 2023 ByteDance Inc.
@@ -30,7 +30,7 @@ import (
)
func init() {
- println("WARNING: sonic only supports Go1.16~1.22 && CPU amd64, but your environment is not suitable")
+ println("WARNING: sonic/decoder only supports (Go1.17~1.23 && CPU amd64) or (go1.20~1.23 && CPU arm64), but your environment is not suitable")
}
const (
@@ -42,6 +42,7 @@ const (
_F_use_number = types.B_USE_NUMBER
_F_validate_string = types.B_VALIDATE_STRING
_F_allow_control = types.B_ALLOW_CONTROL
+ _F_no_validate_json = types.B_NO_VALIDATE_JSON
)
type Options uint64
@@ -53,6 +54,7 @@ const (
OptionDisableUnknown Options = 1 << _F_disable_unknown
OptionCopyString Options = 1 << _F_copy_string
OptionValidateString Options = 1 << _F_validate_string
+ OptionNoValidateJSON Options = 1 << _F_no_validate_json
)
func (self *Decoder) SetOptions(opts Options) {
diff --git a/vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go b/vendor/github.com/bytedance/sonic/decoder/decoder_native.go
index 346ebbce5..9317d57f6 100644
--- a/vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go
+++ b/vendor/github.com/bytedance/sonic/decoder/decoder_native.go
@@ -1,4 +1,6 @@
-// +build amd64,go1.16,!go1.23
+//go:build (amd64 && go1.17 && !go1.24) || (arm64 && go1.20 && !go1.24)
+// +build amd64,go1.17,!go1.24 arm64,go1.20,!go1.24
+
/*
* Copyright 2023 ByteDance Inc.
@@ -19,50 +21,51 @@
package decoder
import (
- `github.com/bytedance/sonic/internal/decoder`
+ `github.com/bytedance/sonic/internal/decoder/api`
)
// Decoder is the decoder context object
-type Decoder = decoder.Decoder
+type Decoder = api.Decoder
// SyntaxError represents json syntax error
-type SyntaxError = decoder.SyntaxError
+type SyntaxError = api.SyntaxError
// MismatchTypeError represents dismatching between json and object
-type MismatchTypeError = decoder.MismatchTypeError
+type MismatchTypeError = api.MismatchTypeError
// Options for decode.
-type Options = decoder.Options
+type Options = api.Options
const (
- OptionUseInt64 Options = decoder.OptionUseInt64
- OptionUseNumber Options = decoder.OptionUseNumber
- OptionUseUnicodeErrors Options = decoder.OptionUseUnicodeErrors
- OptionDisableUnknown Options = decoder.OptionDisableUnknown
- OptionCopyString Options = decoder.OptionCopyString
- OptionValidateString Options = decoder.OptionValidateString
+ OptionUseInt64 Options = api.OptionUseInt64
+ OptionUseNumber Options = api.OptionUseNumber
+ OptionUseUnicodeErrors Options = api.OptionUseUnicodeErrors
+ OptionDisableUnknown Options = api.OptionDisableUnknown
+ OptionCopyString Options = api.OptionCopyString
+ OptionValidateString Options = api.OptionValidateString
+ OptionNoValidateJSON Options = api.OptionNoValidateJSON
)
// StreamDecoder is the decoder context object for streaming input.
-type StreamDecoder = decoder.StreamDecoder
+type StreamDecoder = api.StreamDecoder
var (
// NewDecoder creates a new decoder instance.
- NewDecoder = decoder.NewDecoder
+ NewDecoder = api.NewDecoder
// NewStreamDecoder adapts to encoding/json.NewDecoder API.
//
// NewStreamDecoder returns a new decoder that reads from r.
- NewStreamDecoder = decoder.NewStreamDecoder
+ NewStreamDecoder = api.NewStreamDecoder
// Pretouch compiles vt ahead-of-time to avoid JIT compilation on-the-fly, in
// order to reduce the first-hit latency.
//
// Opts are the compile options, for example, "option.WithCompileRecursiveDepth" is
// a compile option to set the depth of recursive compile for the nested struct type.
- Pretouch = decoder.Pretouch
+ Pretouch = api.Pretouch
// Skip skips only one json value, and returns first non-blank character position and its ending position if it is valid.
// Otherwise, returns negative error code using start and invalid character position using end
- Skip = decoder.Skip
+ Skip = api.Skip
)