Skip to content

Commit f12ecbb

Browse files
authored
Merge pull request #288 from BenTheElder/unexport-jsoniter
stop exporting jsoniter based apis
2 parents dda5e3a + 046e0a3 commit f12ecbb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+164
-138
lines changed

fieldpath/element.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"sort"
2222
"strings"
2323

24-
"sigs.k8s.io/structured-merge-diff/v4/value"
24+
"sigs.k8s.io/structured-merge-diff/v6/value"
2525
)
2626

2727
// PathElement describes how to select a child field given a containing object.

fieldpath/element_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fieldpath
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/value"
22+
"sigs.k8s.io/structured-merge-diff/v6/value"
2323
)
2424

2525
func TestPathElementSet(t *testing.T) {

fieldpath/fromvalue.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ limitations under the License.
1717
package fieldpath
1818

1919
import (
20-
"sigs.k8s.io/structured-merge-diff/v4/value"
20+
"sigs.k8s.io/structured-merge-diff/v6/value"
2121
)
2222

2323
// SetFromValue creates a set containing every leaf field mentioned in v.

fieldpath/fromvalue_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fieldpath
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/value"
22+
"sigs.k8s.io/structured-merge-diff/v6/value"
2323
yaml "sigs.k8s.io/yaml/goyaml.v2"
2424
)
2525

fieldpath/managers_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"reflect"
2121
"testing"
2222

23-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
2424
)
2525

2626
var (

fieldpath/path.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"fmt"
2121
"strings"
2222

23-
"sigs.k8s.io/structured-merge-diff/v4/value"
23+
"sigs.k8s.io/structured-merge-diff/v6/value"
2424
)
2525

2626
// Path describes how to select a potentially deeply-nested child field given a

fieldpath/path_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fieldpath
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/value"
22+
"sigs.k8s.io/structured-merge-diff/v6/value"
2323
)
2424

2525
var (

fieldpath/pathelementmap.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fieldpath
1919
import (
2020
"sort"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/value"
22+
"sigs.k8s.io/structured-merge-diff/v6/value"
2323
)
2424

2525
// PathElementValueMap is a map from PathElement to value.Value.

fieldpath/pathelementmap_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fieldpath
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/value"
22+
"sigs.k8s.io/structured-merge-diff/v6/value"
2323
)
2424

2525
func TestPathElementValueMap(t *testing.T) {

fieldpath/serialize-pe.go

+23-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"strings"
2525

2626
jsoniter "github.com/json-iterator/go"
27-
"sigs.k8s.io/structured-merge-diff/v4/value"
27+
"sigs.k8s.io/structured-merge-diff/v6/value"
2828
)
2929

3030
var ErrUnknownPathElementType = errors.New("unknown path element type")
@@ -54,6 +54,24 @@ var (
5454
peSepBytes = []byte(peSeparator)
5555
)
5656

57+
// readJSONIter reads a Value from a JSON iterator.
58+
// DO NOT EXPORT
59+
// TODO: eliminate this https://github.com/kubernetes-sigs/structured-merge-diff/issues/202
60+
func readJSONIter(iter *jsoniter.Iterator) (value.Value, error) {
61+
v := iter.Read()
62+
if iter.Error != nil && iter.Error != io.EOF {
63+
return nil, iter.Error
64+
}
65+
return value.NewValueInterface(v), nil
66+
}
67+
68+
// writeJSONStream writes a value into a JSON stream.
69+
// DO NOT EXPORT
70+
// TODO: eliminate this https://github.com/kubernetes-sigs/structured-merge-diff/issues/202
71+
func writeJSONStream(v value.Value, stream *jsoniter.Stream) {
72+
stream.WriteVal(v.Unstructured())
73+
}
74+
5775
// DeserializePathElement parses a serialized path element
5876
func DeserializePathElement(s string) (PathElement, error) {
5977
b := []byte(s)
@@ -75,7 +93,7 @@ func DeserializePathElement(s string) (PathElement, error) {
7593
case peValueSepBytes[0]:
7694
iter := readPool.BorrowIterator(b)
7795
defer readPool.ReturnIterator(iter)
78-
v, err := value.ReadJSONIter(iter)
96+
v, err := readJSONIter(iter)
7997
if err != nil {
8098
return PathElement{}, err
8199
}
@@ -86,7 +104,7 @@ func DeserializePathElement(s string) (PathElement, error) {
86104
fields := value.FieldList{}
87105

88106
iter.ReadObjectCB(func(iter *jsoniter.Iterator, key string) bool {
89-
v, err := value.ReadJSONIter(iter)
107+
v, err := readJSONIter(iter)
90108
if err != nil {
91109
iter.Error = err
92110
return false
@@ -141,14 +159,14 @@ func serializePathElementToWriter(w io.Writer, pe PathElement) error {
141159
stream.WriteMore()
142160
}
143161
stream.WriteObjectField(field.Name)
144-
value.WriteJSONStream(field.Value, stream)
162+
writeJSONStream(field.Value, stream)
145163
}
146164
stream.WriteObjectEnd()
147165
case pe.Value != nil:
148166
if _, err := stream.Write(peValueSepBytes); err != nil {
149167
return err
150168
}
151-
value.WriteJSONStream(*pe.Value, stream)
169+
writeJSONStream(*pe.Value, stream)
152170
case pe.Index != nil:
153171
if _, err := stream.Write(peIndexSepBytes); err != nil {
154172
return err

fieldpath/set.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ package fieldpath
1818

1919
import (
2020
"fmt"
21-
"sigs.k8s.io/structured-merge-diff/v4/value"
2221
"sort"
2322
"strings"
2423

25-
"sigs.k8s.io/structured-merge-diff/v4/schema"
24+
"sigs.k8s.io/structured-merge-diff/v6/value"
25+
26+
"sigs.k8s.io/structured-merge-diff/v6/schema"
2627
)
2728

2829
// Set identifies a set of fields.

fieldpath/set_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ import (
2020
"bytes"
2121
"fmt"
2222
"math/rand"
23-
"sigs.k8s.io/structured-merge-diff/v4/value"
2423
"testing"
2524

26-
"sigs.k8s.io/structured-merge-diff/v4/schema"
25+
"sigs.k8s.io/structured-merge-diff/v6/value"
26+
27+
"sigs.k8s.io/structured-merge-diff/v6/schema"
2728
yaml "sigs.k8s.io/yaml/goyaml.v2"
2829
)
2930

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module sigs.k8s.io/structured-merge-diff/v4
1+
module sigs.k8s.io/structured-merge-diff/v6
22

33
require (
44
github.com/google/go-cmp v0.5.9

internal/cli/operation.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import (
2121
"io"
2222
"io/ioutil"
2323

24-
"sigs.k8s.io/structured-merge-diff/v4/typed"
25-
"sigs.k8s.io/structured-merge-diff/v4/value"
24+
"sigs.k8s.io/structured-merge-diff/v6/typed"
25+
"sigs.k8s.io/structured-merge-diff/v6/value"
2626
)
2727

2828
type Operation interface {

internal/cli/options.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"io/ioutil"
2525
"os"
2626

27-
"sigs.k8s.io/structured-merge-diff/v4/typed"
27+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2828
)
2929

3030
var (

internal/fixture/state.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import (
2222

2323
"github.com/google/go-cmp/cmp"
2424

25-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
26-
"sigs.k8s.io/structured-merge-diff/v4/merge"
27-
"sigs.k8s.io/structured-merge-diff/v4/typed"
25+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
26+
"sigs.k8s.io/structured-merge-diff/v6/merge"
27+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2828
)
2929

3030
// For the sake of tests, a parser is something that can retrieve a

internal/fixture/state_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"fmt"
2121
"testing"
2222

23-
"sigs.k8s.io/structured-merge-diff/v4/typed"
23+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2424
)
2525

2626
func TestFixTabs(t *testing.T) {

merge/conflict.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"sort"
2222
"strings"
2323

24-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
24+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
2525
)
2626

2727
// Conflict is a conflict on a specific field with the current manager of

merge/conflict_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
"sigs.k8s.io/structured-merge-diff/v4/merge"
24-
"sigs.k8s.io/structured-merge-diff/v4/value"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
"sigs.k8s.io/structured-merge-diff/v6/merge"
24+
"sigs.k8s.io/structured-merge-diff/v6/value"
2525
)
2626

2727
var (

merge/deduced_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
24-
"sigs.k8s.io/structured-merge-diff/v4/merge"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
24+
"sigs.k8s.io/structured-merge-diff/v6/merge"
2525
)
2626

2727
func TestDeduced(t *testing.T) {

merge/default_keys_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ package merge_test
1616
import (
1717
"testing"
1818

19-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
20-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
21-
"sigs.k8s.io/structured-merge-diff/v4/merge"
22-
"sigs.k8s.io/structured-merge-diff/v4/typed"
19+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
20+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
21+
"sigs.k8s.io/structured-merge-diff/v6/merge"
22+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2323
)
2424

2525
// portListParser sets the default value of key "protocol" to "TCP"

merge/duplicates_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
24-
"sigs.k8s.io/structured-merge-diff/v4/merge"
25-
"sigs.k8s.io/structured-merge-diff/v4/typed"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
24+
"sigs.k8s.io/structured-merge-diff/v6/merge"
25+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2626
)
2727

2828
var duplicatesParser = func() Parser {

merge/extract_apply_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
24-
"sigs.k8s.io/structured-merge-diff/v4/typed"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
24+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2525
)
2626

2727
var extractParser = func() Parser {

merge/field_level_overrides_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package merge_test
33
import (
44
"testing"
55

6-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
7-
"sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
8-
"sigs.k8s.io/structured-merge-diff/v4/merge"
9-
"sigs.k8s.io/structured-merge-diff/v4/typed"
6+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
7+
"sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
8+
"sigs.k8s.io/structured-merge-diff/v6/merge"
9+
"sigs.k8s.io/structured-merge-diff/v6/typed"
1010
)
1111

1212
func TestFieldLevelOverrides(t *testing.T) {

merge/ignore_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
2424
)
2525

2626
func TestIgnoreFilter(t *testing.T) {

merge/key_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
24-
"sigs.k8s.io/structured-merge-diff/v4/typed"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
24+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2525
)
2626

2727
var associativeListParser = func() Parser {

merge/leaf_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
24-
"sigs.k8s.io/structured-merge-diff/v4/merge"
25-
"sigs.k8s.io/structured-merge-diff/v4/typed"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
24+
"sigs.k8s.io/structured-merge-diff/v6/merge"
25+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2626
)
2727

2828
var leafFieldsParser = func() Parser {

merge/multiple_appliers_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ import (
2222
"strings"
2323
"testing"
2424

25-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
26-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
27-
"sigs.k8s.io/structured-merge-diff/v4/merge"
28-
"sigs.k8s.io/structured-merge-diff/v4/typed"
29-
"sigs.k8s.io/structured-merge-diff/v4/value"
25+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
26+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
27+
"sigs.k8s.io/structured-merge-diff/v6/merge"
28+
"sigs.k8s.io/structured-merge-diff/v6/typed"
29+
"sigs.k8s.io/structured-merge-diff/v6/value"
3030
yaml "sigs.k8s.io/yaml/goyaml.v2"
3131
)
3232

merge/nested_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package merge_test
1919
import (
2020
"testing"
2121

22-
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
23-
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
24-
"sigs.k8s.io/structured-merge-diff/v4/typed"
22+
"sigs.k8s.io/structured-merge-diff/v6/fieldpath"
23+
. "sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
24+
"sigs.k8s.io/structured-merge-diff/v6/typed"
2525
)
2626

2727
var nestedTypeParser = func() Parser {

0 commit comments

Comments
 (0)