summaryrefslogtreecommitdiff
path: root/misc.go
diff options
context:
space:
mode:
Diffstat (limited to 'misc.go')
-rw-r--r--misc.go25
1 files changed, 6 insertions, 19 deletions
diff --git a/misc.go b/misc.go
index 89b38a2..4f8e55e 100644
--- a/misc.go
+++ b/misc.go
@@ -9,22 +9,9 @@ import (
"io"
"reflect"
"unicode/utf8"
-)
-
-const hex = "0123456789abcdef"
-func hex2int[T interface{ byte | rune }](c T) (byte, bool) {
- switch {
- case '0' <= c && c <= '9':
- return byte(c) - '0', true
- case 'a' <= c && c <= 'f':
- return byte(c) - 'a' + 10, true
- case 'A' <= c && c <= 'F':
- return byte(c) - 'A' + 10, true
- default:
- return 0, false
- }
-}
+ "git.lukeshu.com/go/lowmemjson/internal"
+)
var (
numberType = reflect.TypeOf(json.Number(""))
@@ -115,10 +102,10 @@ func writeStringUnicodeEscape(w io.Writer, c rune) (int, error) {
buf := [6]byte{
'\\',
'u',
- hex[(c>>12)&0xf],
- hex[(c>>8)&0xf],
- hex[(c>>4)&0xf],
- hex[(c>>0)&0xf],
+ internal.Hex[(c>>12)&0xf],
+ internal.Hex[(c>>8)&0xf],
+ internal.Hex[(c>>4)&0xf],
+ internal.Hex[(c>>0)&0xf],
}
return w.Write(buf[:])
}