summaryrefslogtreecommitdiffhomepage
path: root/types/opt/value.go
diff options
context:
space:
mode:
authorPaul Scott <paul@tailscale.com>2025-02-26 11:07:30 +0000
committerPaul Scott <paul@tailscale.com>2025-02-26 11:11:02 +0000
commit36d4b831afa44f4153171218a6930cabcce1c6b1 (patch)
treeb2fedc37ab7056c6b8eccf4bde9753edecdd9799 /types/opt/value.go
parent820bdb870a414d9a5d2131f80649d0fa98a74819 (diff)
downloadtailscale-icio/opt-nojsonv2.tar.xz
tailscale-icio/opt-nojsonv2.zip
types/opt: make jsonv2 dependency optional behind ts_omit_jsonv2 tagicio/opt-nojsonv2
Updates #TODO Signed-off-by: Paul Scott <paul@tailscale.com>
Diffstat (limited to 'types/opt/value.go')
-rw-r--r--types/opt/value.go32
1 files changed, 0 insertions, 32 deletions
diff --git a/types/opt/value.go b/types/opt/value.go
index b47b03c81..bd90b5d90 100644
--- a/types/opt/value.go
+++ b/types/opt/value.go
@@ -6,9 +6,6 @@ package opt
import (
"fmt"
"reflect"
-
- jsonv2 "github.com/go-json-experiment/json"
- "github.com/go-json-experiment/json/jsontext"
)
// Value is an optional value to be JSON-encoded.
@@ -99,32 +96,3 @@ func (o Value[T]) Equal(v Value[T]) bool {
}
return false
}
-
-// MarshalJSONV2 implements [jsonv2.MarshalerV2].
-func (o Value[T]) MarshalJSONV2(enc *jsontext.Encoder, opts jsonv2.Options) error {
- if !o.set {
- return enc.WriteToken(jsontext.Null)
- }
- return jsonv2.MarshalEncode(enc, &o.value, opts)
-}
-
-// UnmarshalJSONV2 implements [jsonv2.UnmarshalerV2].
-func (o *Value[T]) UnmarshalJSONV2(dec *jsontext.Decoder, opts jsonv2.Options) error {
- if dec.PeekKind() == 'n' {
- *o = Value[T]{}
- _, err := dec.ReadToken() // read null
- return err
- }
- o.set = true
- return jsonv2.UnmarshalDecode(dec, &o.value, opts)
-}
-
-// MarshalJSON implements [json.Marshaler].
-func (o Value[T]) MarshalJSON() ([]byte, error) {
- return jsonv2.Marshal(o) // uses MarshalJSONV2
-}
-
-// UnmarshalJSON implements [json.Unmarshaler].
-func (o *Value[T]) UnmarshalJSON(b []byte) error {
- return jsonv2.Unmarshal(b, o) // uses UnmarshalJSONV2
-}