Skip to content

Commit 5411c95

Browse files
authored
refactor: change visibility to public of the decodeObject method (#125)
1 parent 9db36d2 commit 5411c95

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

decoder.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ func decodeStringArray(obj *bindings.WAFObject) ([]string, error) {
156156
return strArr, nil
157157
}
158158

159-
func decodeObject(obj *bindings.WAFObject) (any, error) {
159+
// DecodeObject decodes a WAFObject into a native Go type.
160+
func DecodeObject(obj *WAFObject) (any, error) {
160161
switch obj.Type {
161162
case bindings.WAFMapType:
162163
return decodeMap(obj)
@@ -175,7 +176,7 @@ func decodeObject(obj *bindings.WAFObject) (any, error) {
175176
case bindings.WAFNilType:
176177
return nil, nil
177178
default:
178-
return nil, fmt.Errorf("decodeObject: %w: %d", waferrors.ErrUnsupportedValue, obj.Type)
179+
return nil, fmt.Errorf("DecodeObject: %w: %d", waferrors.ErrUnsupportedValue, obj.Type)
179180
}
180181
}
181182

@@ -192,7 +193,7 @@ func decodeArray(obj *bindings.WAFObject) ([]any, error) {
192193

193194
for i := uint64(0); i < obj.NbEntries; i++ {
194195
objElem := unsafe.CastWithOffset[bindings.WAFObject](obj.Value, i)
195-
val, err := decodeObject(objElem)
196+
val, err := DecodeObject(objElem)
196197
if err != nil {
197198
return nil, err
198199
}
@@ -215,7 +216,7 @@ func decodeMap(obj *bindings.WAFObject) (map[string]any, error) {
215216
for i := uint64(0); i < obj.NbEntries; i++ {
216217
objElem := unsafe.CastWithOffset[bindings.WAFObject](obj.Value, i)
217218
key := unsafe.GostringSized(unsafe.Cast[byte](objElem.ParameterName), objElem.ParameterNameLength)
218-
val, err := decodeObject(objElem)
219+
val, err := DecodeObject(objElem)
219220
if err != nil {
220221
return nil, err
221222
}

encoder_decoder_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func TestEncodable(t *testing.T) {
7878
encoded, err := encoder.Encode(&input)
7979

8080
require.NoError(t, err, "unexpected error when encoding: %v", err)
81-
val, err := decodeObject(encoded)
81+
val, err := DecodeObject(encoded)
8282
require.NoError(t, err, "unexpected error when decoding: %v", err)
8383
require.True(t, reflect.DeepEqual(output, val), "expected %#v, got %#v", output, val)
8484
})
@@ -426,7 +426,7 @@ func TestEncodeDecode(t *testing.T) {
426426
}
427427

428428
require.NoError(t, err, "unexpected error when encoding: %v", err)
429-
val, err := decodeObject(encoded)
429+
val, err := DecodeObject(encoded)
430430

431431
if tc.DecodeError != nil {
432432
require.Error(t, err, "expected a decoding error when decoding %v", tc.Input)
@@ -650,7 +650,7 @@ func TestEncoderLimits(t *testing.T) {
650650

651651
require.NoError(t, err, "unexpected error when encoding: %v", err)
652652

653-
val, err := decodeObject(encoded)
653+
val, err := DecodeObject(encoded)
654654
if tc.DecodeError != nil {
655655
require.Error(t, err, "expected a decoding error when decoding %v", tc.DecodeError)
656656
require.ErrorIs(t, err, tc.DecodeError)

0 commit comments

Comments
 (0)