Skip to content

Commit 7df7a46

Browse files
authored
Merge pull request #12 from gaiaz-iusipov/update-go-and-deps
Update dependencies
2 parents a603eaf + c7d4199 commit 7df7a46

File tree

4 files changed

+53
-51
lines changed

4 files changed

+53
-51
lines changed

go.mod

+12-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
module github.com/go-openapi/jsonpointer
22

3+
go 1.18
4+
35
require (
4-
github.com/go-openapi/swag v0.22.3
5-
github.com/stretchr/testify v1.8.1
6+
github.com/go-openapi/swag v0.22.4
7+
github.com/stretchr/testify v1.8.4
68
)
79

8-
go 1.13
10+
require (
11+
github.com/davecgh/go-spew v1.1.1 // indirect
12+
github.com/josharian/intern v1.0.0 // indirect
13+
github.com/kr/pretty v0.3.1 // indirect
14+
github.com/mailru/easyjson v0.7.7 // indirect
15+
github.com/pmezard/go-difflib v1.0.0 // indirect
16+
gopkg.in/yaml.v3 v3.0.1 // indirect
17+
)

go.sum

+9-16
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,24 @@
11
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
2-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
32
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
43
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5-
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
6-
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
4+
github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU=
5+
github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
76
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
87
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
9-
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
10-
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
11-
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
12-
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
8+
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
9+
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
1310
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
1411
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
1512
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
1613
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
14+
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
1715
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1816
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
19-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
20-
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
21-
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
22-
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
23-
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
24-
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
25-
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
17+
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
18+
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
19+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
20+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
2621
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2722
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
28-
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
29-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
3023
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
3124
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

pointer.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ var jsonSetableType = reflect.TypeOf(new(JSONSetable)).Elem()
5050
// JSONPointable is an interface for structs to implement when they need to customize the
5151
// json pointer process
5252
type JSONPointable interface {
53-
JSONLookup(string) (interface{}, error)
53+
JSONLookup(string) (any, error)
5454
}
5555

5656
// JSONSetable is an interface for structs to implement when they need to customize the
5757
// json pointer process
5858
type JSONSetable interface {
59-
JSONSet(string, interface{}) error
59+
JSONSet(string, any) error
6060
}
6161

6262
// New creates a new json pointer for the given string
@@ -83,34 +83,34 @@ func (p *Pointer) parse(jsonPointerString string) error {
8383
err = errors.New(invalidStart)
8484
} else {
8585
referenceTokens := strings.Split(jsonPointerString, pointerSeparator)
86-
p.referenceTokens = append(p.referenceTokens, referenceTokens[1:]...)
86+
p.referenceTokens = append(p.referenceTokens, referenceTokens[1:]...)
8787
}
8888
}
8989

9090
return err
9191
}
9292

9393
// Get uses the pointer to retrieve a value from a JSON document
94-
func (p *Pointer) Get(document interface{}) (interface{}, reflect.Kind, error) {
94+
func (p *Pointer) Get(document any) (any, reflect.Kind, error) {
9595
return p.get(document, swag.DefaultJSONNameProvider)
9696
}
9797

9898
// Set uses the pointer to set a value from a JSON document
99-
func (p *Pointer) Set(document interface{}, value interface{}) (interface{}, error) {
99+
func (p *Pointer) Set(document any, value any) (any, error) {
100100
return document, p.set(document, value, swag.DefaultJSONNameProvider)
101101
}
102102

103103
// GetForToken gets a value for a json pointer token 1 level deep
104-
func GetForToken(document interface{}, decodedToken string) (interface{}, reflect.Kind, error) {
104+
func GetForToken(document any, decodedToken string) (any, reflect.Kind, error) {
105105
return getSingleImpl(document, decodedToken, swag.DefaultJSONNameProvider)
106106
}
107107

108108
// SetForToken gets a value for a json pointer token 1 level deep
109-
func SetForToken(document interface{}, decodedToken string, value interface{}) (interface{}, error) {
109+
func SetForToken(document any, decodedToken string, value any) (any, error) {
110110
return document, setSingleImpl(document, value, decodedToken, swag.DefaultJSONNameProvider)
111111
}
112112

113-
func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) {
113+
func getSingleImpl(node any, decodedToken string, nameProvider *swag.NameProvider) (any, reflect.Kind, error) {
114114
rValue := reflect.Indirect(reflect.ValueOf(node))
115115
kind := rValue.Kind()
116116

@@ -159,7 +159,7 @@ func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.Nam
159159

160160
}
161161

162-
func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *swag.NameProvider) error {
162+
func setSingleImpl(node, data any, decodedToken string, nameProvider *swag.NameProvider) error {
163163
rValue := reflect.Indirect(reflect.ValueOf(node))
164164

165165
if ns, ok := node.(JSONSetable); ok { // pointer impl
@@ -210,7 +210,7 @@ func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *sw
210210

211211
}
212212

213-
func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) {
213+
func (p *Pointer) get(node any, nameProvider *swag.NameProvider) (any, reflect.Kind, error) {
214214

215215
if nameProvider == nil {
216216
nameProvider = swag.DefaultJSONNameProvider
@@ -241,7 +241,7 @@ func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interf
241241
return node, kind, nil
242242
}
243243

244-
func (p *Pointer) set(node, data interface{}, nameProvider *swag.NameProvider) error {
244+
func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error {
245245
knd := reflect.ValueOf(node).Kind()
246246

247247
if knd != reflect.Ptr && knd != reflect.Struct && knd != reflect.Map && knd != reflect.Slice && knd != reflect.Array {

pointer_test.go

+21-21
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const (
5252
}`
5353
)
5454

55-
var testDocumentJSON interface{}
55+
var testDocumentJSON any
5656

5757
type testStructJSON struct {
5858
Foo []string `json:"foo"`
@@ -67,7 +67,7 @@ type testStructJSON struct {
6767
} `json:"obj"`
6868
}
6969

70-
type aliasedMap map[string]interface{}
70+
type aliasedMap map[string]any
7171

7272
var testStructJSONDoc testStructJSON
7373
var testStructJSONPtr *testStructJSON
@@ -109,7 +109,7 @@ func TestFullDocument(t *testing.T) {
109109
t.Errorf("Get(%v) error %v", in, err.Error())
110110
}
111111

112-
if len(result.(map[string]interface{})) != TestDocumentNBItems {
112+
if len(result.(map[string]any)) != TestDocumentNBItems {
113113
t.Errorf("Get(%v) = %v, expect full document", in, result)
114114
}
115115

@@ -118,7 +118,7 @@ func TestFullDocument(t *testing.T) {
118118
t.Errorf("Get(%v) error %v", in, err.Error())
119119
}
120120

121-
if len(result.(map[string]interface{})) != TestDocumentNBItems {
121+
if len(result.(map[string]any)) != TestDocumentNBItems {
122122
t.Errorf("Get(%v) = %v, expect full document", in, result)
123123
}
124124
}
@@ -160,7 +160,7 @@ type pointableImpl struct {
160160
a string
161161
}
162162

163-
func (p pointableImpl) JSONLookup(token string) (interface{}, error) {
163+
func (p pointableImpl) JSONLookup(token string) (any, error) {
164164
if token == "some" {
165165
return p.a, nil
166166
}
@@ -169,7 +169,7 @@ func (p pointableImpl) JSONLookup(token string) (interface{}, error) {
169169

170170
type pointableMap map[string]string
171171

172-
func (p pointableMap) JSONLookup(token string) (interface{}, error) {
172+
func (p pointableMap) JSONLookup(token string) (any, error) {
173173
if token == "swap" {
174174
return p["swapped"], nil
175175
}
@@ -213,7 +213,7 @@ func TestGetNode(t *testing.T) {
213213
assert.NoError(t, err)
214214
assert.Len(t, result, TestNodeObjNBItems)
215215

216-
result, _, err = p.Get(aliasedMap(testDocumentJSON.(map[string]interface{})))
216+
result, _, err = p.Get(aliasedMap(testDocumentJSON.(map[string]any)))
217217
assert.NoError(t, err)
218218
assert.Len(t, result, TestNodeObjNBItems)
219219

@@ -288,8 +288,8 @@ func TestOtherThings(t *testing.T) {
288288
p, err = New("/foo/1")
289289
assert.NoError(t, err)
290290
expected := "hello"
291-
bbb := testDocumentJSON.(map[string]interface{})["foo"]
292-
bbb.([]interface{})[1] = "hello"
291+
bbb := testDocumentJSON.(map[string]any)["foo"]
292+
bbb.([]any)[1] = "hello"
293293

294294
v, _, err := p.Get(testDocumentJSON)
295295
assert.NoError(t, err)
@@ -371,7 +371,7 @@ func (s *settableDoc) UnmarshalJSON(data []byte) error {
371371
}
372372

373373
// JSONLookup implements an interface to customize json pointer lookup
374-
func (s settableDoc) JSONLookup(token string) (interface{}, error) {
374+
func (s settableDoc) JSONLookup(token string) (any, error) {
375375
switch token {
376376
case "a":
377377
return &s.Coll, nil
@@ -383,7 +383,7 @@ func (s settableDoc) JSONLookup(token string) (interface{}, error) {
383383
}
384384

385385
// JSONLookup implements an interface to customize json pointer lookup
386-
func (s *settableDoc) JSONSet(token string, data interface{}) error {
386+
func (s *settableDoc) JSONSet(token string, data any) error {
387387
switch token {
388388
case "a":
389389
switch dt := data.(type) {
@@ -440,15 +440,15 @@ func (s *settableColl) UnmarshalJSON(data []byte) error {
440440
}
441441

442442
// JSONLookup implements an interface to customize json pointer lookup
443-
func (s settableColl) JSONLookup(token string) (interface{}, error) {
443+
func (s settableColl) JSONLookup(token string) (any, error) {
444444
if tok, err := strconv.Atoi(token); err == nil {
445445
return &s.Items[tok], nil
446446
}
447447
return nil, fmt.Errorf("%s is not a valid index", token)
448448
}
449449

450450
// JSONLookup implements an interface to customize json pointer lookup
451-
func (s *settableColl) JSONSet(token string, data interface{}) error {
451+
func (s *settableColl) JSONSet(token string, data any) error {
452452
if _, err := strconv.Atoi(token); err == nil {
453453
_, err := SetForToken(s.Items, token, data)
454454
return err
@@ -476,7 +476,7 @@ func TestSetNode(t *testing.T) {
476476

477477
jsonText := `{"a":[{"b": 1, "c": 2}], "d": 3}`
478478

479-
var jsonDocument interface{}
479+
var jsonDocument any
480480
if assert.NoError(t, json.Unmarshal([]byte(jsonText), &jsonDocument)) {
481481
in := "/a/0/c"
482482
p, err := New(in)
@@ -485,13 +485,13 @@ func TestSetNode(t *testing.T) {
485485
_, err = p.Set(jsonDocument, 999)
486486
assert.NoError(t, err)
487487

488-
firstNode := jsonDocument.(map[string]interface{})
488+
firstNode := jsonDocument.(map[string]any)
489489
assert.Len(t, firstNode, 2)
490490

491-
sliceNode := firstNode["a"].([]interface{})
491+
sliceNode := firstNode["a"].([]any)
492492
assert.Len(t, sliceNode, 1)
493493

494-
changedNode := sliceNode[0].(map[string]interface{})
494+
changedNode := sliceNode[0].(map[string]any)
495495
chNodeVI := changedNode["c"]
496496
if assert.IsType(t, 0, chNodeVI) {
497497
changedNodeValue := chNodeVI.(int)
@@ -503,14 +503,14 @@ func TestSetNode(t *testing.T) {
503503

504504
v, err := New("/a/0")
505505
if assert.NoError(t, err) {
506-
_, err = v.Set(jsonDocument, map[string]interface{}{"b": 3, "c": 8})
506+
_, err = v.Set(jsonDocument, map[string]any{"b": 3, "c": 8})
507507
if assert.NoError(t, err) {
508-
firstNode := jsonDocument.(map[string]interface{})
508+
firstNode := jsonDocument.(map[string]any)
509509
assert.Len(t, firstNode, 2)
510510

511-
sliceNode := firstNode["a"].([]interface{})
511+
sliceNode := firstNode["a"].([]any)
512512
assert.Len(t, sliceNode, 1)
513-
changedNode := sliceNode[0].(map[string]interface{})
513+
changedNode := sliceNode[0].(map[string]any)
514514
assert.Equal(t, 3, changedNode["b"])
515515
assert.Equal(t, 8, changedNode["c"])
516516
}

0 commit comments

Comments
 (0)