From 4601a45557200521ca882554e1c125409ff28f75 Mon Sep 17 00:00:00 2001 From: Chris O'Hara Date: Fri, 7 Oct 2022 13:17:48 +1000 Subject: [PATCH 1/2] Add method to get how many tokenizer bytes are remaining (#126) --- json/token.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/json/token.go b/json/token.go index 652e36d..b9f46ae 100644 --- a/json/token.go +++ b/json/token.go @@ -302,6 +302,11 @@ func (t *Tokenizer) String() []byte { return s } +// Remaining returns the number of bytes left to parse. +func (t *Tokenizer) Remaining() int { + return len(t.json) +} + // RawValue represents a raw json value, it is intended to carry null, true, // false, number, and string values only. type RawValue []byte From 3391c4a8a541943155610484c61a04af516a1763 Mon Sep 17 00:00:00 2001 From: Chris O'Hara Date: Fri, 7 Oct 2022 13:39:48 +1000 Subject: [PATCH 2/2] extendSlice optimization is still valid for go1.19 (#127) --- json/reflect.go | 4 ++-- json/reflect_optimize.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/json/reflect.go b/json/reflect.go index 3a5c6f1..6edd80e 100644 --- a/json/reflect.go +++ b/json/reflect.go @@ -1,5 +1,5 @@ -//go:build go1.18 -// +build go1.18 +//go:build go1.20 +// +build go1.20 package json diff --git a/json/reflect_optimize.go b/json/reflect_optimize.go index 6936cef..6588433 100644 --- a/json/reflect_optimize.go +++ b/json/reflect_optimize.go @@ -1,5 +1,5 @@ -//go:build !go1.18 -// +build !go1.18 +//go:build !go1.20 +// +build !go1.20 package json