Skip to content

Commit f6793cb

Browse files
authored
Merge pull request #4 from koykov/goup1.18
upgrade go to 1.18
2 parents 7973966 + 6b61737 commit f6793cb

File tree

6 files changed

+31
-18
lines changed

6 files changed

+31
-18
lines changed

common_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func assertLen(tb testing.TB, vec *Vector, path string, len int) {
153153
}
154154
}
155155

156-
func assertNode(tb testing.TB, vec *Vector, path string, val interface{}) {
156+
func assertNode(tb testing.TB, vec *Vector, path string, val any) {
157157
node := vec.Dot(path)
158158
var eq bool
159159
switch val.(type) {

go.mod

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
module github.com/koykov/jsonvector
22

3-
go 1.16
3+
go 1.18
44

55
require (
6-
github.com/koykov/bytealg v1.0.1
7-
github.com/koykov/fastconv v1.0.0
8-
github.com/koykov/vector v1.2.0
6+
github.com/koykov/bytealg v1.0.2
7+
github.com/koykov/fastconv v1.0.2
8+
github.com/koykov/vector v1.2.2
9+
)
10+
11+
require (
12+
github.com/koykov/bitset v1.0.0 // indirect
13+
github.com/koykov/byteptr v1.0.0 // indirect
14+
github.com/koykov/byteseq v0.0.0-20230330194259-68973f3b765a // indirect
15+
github.com/koykov/indirect v1.0.0 // indirect
916
)

go.sum

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
github.com/koykov/bitset v1.0.0 h1:2mEbAhKelhpdWqnpa+mR3HRhdMsto5od7ACOi6MIAmk=
22
github.com/koykov/bitset v1.0.0/go.mod h1:DVR3bH49c1oOcNtD38h+aQq7lp1ZY91cXmjOldlTk8A=
3-
github.com/koykov/bytealg v1.0.1 h1:WlD9/4PMThmfQuIRVpVCujzM/3AVTEwlgvaYrErO9Nk=
4-
github.com/koykov/bytealg v1.0.1/go.mod h1:kMvejxwPkAt7YfHpB1PQ/utMwKpHSY54u1rCxna6Wvg=
3+
github.com/koykov/bytealg v1.0.2 h1:e9le4zkWnK9o1dsjlEtIPjC4JuHof+w0XsyOnYGLOvs=
4+
github.com/koykov/bytealg v1.0.2/go.mod h1:3jLF2zTF1XO+E9dyodNDd3kWyhavUdVUXaIwqPkikB0=
55
github.com/koykov/byteptr v1.0.0 h1:tOMEM2qwfFOKTeMNgnzHKyBVWeXxiD1SduLlbzVKJJg=
66
github.com/koykov/byteptr v1.0.0/go.mod h1:SSRuU7v8JgUo1deHib6Za8s6ya1PQEG2gNpRVKsO3QM=
7-
github.com/koykov/fastconv v1.0.0 h1:WnsCYcrrQkUWEKK4VbVX7BuGb6jFhE8Q0Ebl3eAkHic=
8-
github.com/koykov/fastconv v1.0.0/go.mod h1:Y7I12pumAx+2iH1Yh0X85UpywP7IET/+M7S17toJBes=
7+
github.com/koykov/byteseq v0.0.0-20230330194259-68973f3b765a h1:2q77e/w+8RE5VwIaR2KwcF4f+PqEemrgOiRA/xhM7S4=
8+
github.com/koykov/byteseq v0.0.0-20230330194259-68973f3b765a/go.mod h1:JlIJ6P3/ocuGNRbTVyP0NVRS/ExofhOS8g7mtefjefw=
9+
github.com/koykov/fastconv v1.0.2 h1:csOWpctD9OcpkfI07LEtqtolc4TT8Y6QG3zQvkTmhrQ=
10+
github.com/koykov/fastconv v1.0.2/go.mod h1:9jOx5KRGe4UKHxGiDw5Yrp/qrqn2cRwH3xvFjqqCE3c=
911
github.com/koykov/indirect v1.0.0 h1:3kog1xvVUEB2142K2/AZRhnOKN2N8KNahHHkE+KT7ec=
1012
github.com/koykov/indirect v1.0.0/go.mod h1:2qWC0hrIHIexlKaqPA0VWEa0s2V/qxxNJv7XPncnh2I=
11-
github.com/koykov/vector v1.2.0 h1:ge/Mm3Pb4EUvklCbiz8RkZ5g6Qla/9eOoAUvQj9mikM=
12-
github.com/koykov/vector v1.2.0/go.mod h1:bBFcEbpMzM2zOSFhgG63qhdcmHEPPUPx1PxbFn2zdEg=
13+
github.com/koykov/vector v1.2.2 h1:VWDNjxGPHlRIfleigPliNuCLyGtkmBzH9kXHeo/a5VY=
14+
github.com/koykov/vector v1.2.2/go.mod h1:taIaBTVvLApbghwTnYu71CQLGLV9i2OhAo48JIr+OJI=

parser.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (vec *Vector) parseGeneric(depth, offset int, node *vector.Node) (int, erro
7070
// Save offset of string value.
7171
node.Value().TakeAddr(vec.Src()).SetOffset(offset + 1)
7272
// Get index of end of string value.
73-
e := bytealg.IndexByteAtLR(vec.Src(), '"', offset+1)
73+
e := bytealg.IndexByteAtLUR(vec.Src(), '"', offset+1)
7474
if e < 0 {
7575
return vec.SrcLen(), vector.ErrUnexpEOS
7676
}
@@ -83,7 +83,7 @@ func (vec *Vector) parseGeneric(depth, offset int, node *vector.Node) (int, erro
8383
// Walk over double quotas and look for unescaped.
8484
_ = vec.Src()[vec.SrcLen()-1]
8585
for i := e; i < vec.SrcLen(); {
86-
i = bytealg.IndexByteAtLR(vec.Src(), '"', i+1)
86+
i = bytealg.IndexByteAtLUR(vec.Src(), '"', i+1)
8787
if i < 0 {
8888
e = vec.SrcLen() - 1
8989
break
@@ -99,7 +99,7 @@ func (vec *Vector) parseGeneric(depth, offset int, node *vector.Node) (int, erro
9999
}
100100
if !node.Value().CheckBit(flagEscape) {
101101
// Extra check of escaping sequences.
102-
node.Value().SetBit(flagEscape, bytealg.HasByteLR(node.Value().RawBytes(), '\\'))
102+
node.Value().SetBit(flagEscape, bytealg.HasByteLUR(node.Value().RawBytes(), '\\'))
103103
}
104104
case isDigit(vec.SrcAt(offset)):
105105
// Check number node.
@@ -170,7 +170,7 @@ func (vec *Vector) parseObj(depth, offset int, node *vector.Node) (int, error) {
170170
child, i := vec.GetChild(node, depth)
171171
// Fill up key's offset and length.
172172
child.Key().TakeAddr(vec.Src()).SetOffset(offset)
173-
e := bytealg.IndexByteAtLR(vec.Src(), '"', offset+1)
173+
e := bytealg.IndexByteAtLUR(vec.Src(), '"', offset+1)
174174
if e < 0 {
175175
return vec.SrcLen(), vector.ErrUnexpEOS
176176
}
@@ -183,7 +183,7 @@ func (vec *Vector) parseObj(depth, offset int, node *vector.Node) (int, error) {
183183
// Key contains escaped bytes.
184184
_ = vec.Src()[vec.SrcLen()-1]
185185
for i := e; i < len(vec.Src()); {
186-
i = bytealg.IndexByteAtLR(vec.Src(), '"', i+1)
186+
i = bytealg.IndexByteAtLUR(vec.Src(), '"', i+1)
187187
if i < 0 {
188188
e = vec.SrcLen() - 1
189189
break
@@ -199,7 +199,7 @@ func (vec *Vector) parseObj(depth, offset int, node *vector.Node) (int, error) {
199199
}
200200
if !child.Key().CheckBit(flagEscape) {
201201
// Extra check of escaped sequences in the key.
202-
child.Key().SetBit(flagEscape, bytealg.HasByteLR(child.KeyBytes(), '\\'))
202+
child.Key().SetBit(flagEscape, bytealg.HasByteLUR(child.KeyBytes(), '\\'))
203203
}
204204
if offset, eof = vec.skipFmt(offset); eof {
205205
return offset, vector.ErrUnexpEOF

unescape.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
func Unescape(p []byte) []byte {
1313
l, i := len(p), 0
1414
for {
15-
i = bytealg.IndexByteAtLR(p, '\\', i)
15+
i = bytealg.IndexByteAtLUR(p, '\\', i)
1616
if i < 0 || i+1 == l {
1717
break
1818
}

vector_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,8 @@ func TestSort(t *testing.T) {
164164
vec.Root().SortKeys()
165165
_ = vec.Root().Beautify(&buf)
166166
if !bytes.Equal(buf.Bytes(), st.fmt) {
167+
println(buf.String())
168+
println(string(st.fmt))
167169
t.Error("sort failed")
168170
}
169171
})
@@ -177,6 +179,8 @@ func TestSort(t *testing.T) {
177179
vec.Root().Sort()
178180
_ = vec.Root().Beautify(&buf)
179181
if !bytes.Equal(buf.Bytes(), st.fmt) {
182+
println(buf.String())
183+
println(string(st.fmt))
180184
t.Error("sort failed")
181185
}
182186
})

0 commit comments

Comments
 (0)