Skip to content

Commit

Permalink
Rename Token variables for object and array structural characters (#159)
Browse files Browse the repository at this point in the history
WARNING: This commit contains breaking changes.

This renames the following jsontext.Token variables:

- ArrayStart => BeginArray
- ObjectStart => BeginObject
- ArrayEnd => EndArray
- ObjectEnd => EndObject

According to RFC 8259, section 2, the formal grammatical names are:

- begin-array
- begin-object
- end-array
- end-object

Use the same naming scheme for the Go variables.
  • Loading branch information
dsnet authored Feb 12, 2025
1 parent 1deda07 commit 38f2338
Show file tree
Hide file tree
Showing 12 changed files with 246 additions and 246 deletions.
8 changes: 4 additions & 4 deletions arshal_any.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func marshalObjectAny(enc *jsontext.Encoder, obj map[string]any, mo *jsonopts.St
}
}

if err := enc.WriteToken(jsontext.ObjectStart); err != nil {
if err := enc.WriteToken(jsontext.BeginObject); err != nil {
return err
}
// A Go map guarantees that each entry has a unique key
Expand Down Expand Up @@ -158,7 +158,7 @@ func marshalObjectAny(enc *jsontext.Encoder, obj map[string]any, mo *jsonopts.St
}
putStrings(names)
}
if err := enc.WriteToken(jsontext.ObjectEnd); err != nil {
if err := enc.WriteToken(jsontext.EndObject); err != nil {
return err
}
return nil
Expand Down Expand Up @@ -239,15 +239,15 @@ func marshalArrayAny(enc *jsontext.Encoder, arr []any, mo *jsonopts.Struct) erro
}
}

if err := enc.WriteToken(jsontext.ArrayStart); err != nil {
if err := enc.WriteToken(jsontext.BeginArray); err != nil {
return err
}
for _, val := range arr {
if err := marshalValueAny(enc, val, mo); err != nil {
return err
}
}
if err := enc.WriteToken(jsontext.ArrayEnd); err != nil {
if err := enc.WriteToken(jsontext.EndArray); err != nil {
return err
}
return nil
Expand Down
16 changes: 8 additions & 8 deletions arshal_default.go
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,7 @@ func makeMapArshaler(t reflect.Type) *arshaler {
}

once.Do(init)
if err := enc.WriteToken(jsontext.ObjectStart); err != nil {
if err := enc.WriteToken(jsontext.BeginObject); err != nil {
return err
}
if n > 0 {
Expand Down Expand Up @@ -866,7 +866,7 @@ func makeMapArshaler(t reflect.Type) *arshaler {
}
}
}
if err := enc.WriteToken(jsontext.ObjectEnd); err != nil {
if err := enc.WriteToken(jsontext.EndObject); err != nil {
return err
}
return nil
Expand Down Expand Up @@ -1039,7 +1039,7 @@ func makeStructArshaler(t reflect.Type) *arshaler {
if errInit != nil && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
return newMarshalErrorBefore(enc, errInit.GoType, errInit.Err)
}
if err := enc.WriteToken(jsontext.ObjectStart); err != nil {
if err := enc.WriteToken(jsontext.BeginObject); err != nil {
return err
}
var seenIdxs uintSet
Expand Down Expand Up @@ -1187,7 +1187,7 @@ func makeStructArshaler(t reflect.Type) *arshaler {
return err
}
}
if err := enc.WriteToken(jsontext.ObjectEnd); err != nil {
if err := enc.WriteToken(jsontext.EndObject); err != nil {
return err
}
return nil
Expand Down Expand Up @@ -1432,7 +1432,7 @@ func makeSliceArshaler(t reflect.Type) *arshaler {
}

once.Do(init)
if err := enc.WriteToken(jsontext.ArrayStart); err != nil {
if err := enc.WriteToken(jsontext.BeginArray); err != nil {
return err
}
marshal := valFncs.marshal
Expand All @@ -1445,7 +1445,7 @@ func makeSliceArshaler(t reflect.Type) *arshaler {
return err
}
}
if err := enc.WriteToken(jsontext.ArrayEnd); err != nil {
if err := enc.WriteToken(jsontext.EndArray); err != nil {
return err
}
return nil
Expand Down Expand Up @@ -1538,7 +1538,7 @@ func makeArrayArshaler(t reflect.Type) *arshaler {
return newInvalidFormatError(enc, t, mo)
}
once.Do(init)
if err := enc.WriteToken(jsontext.ArrayStart); err != nil {
if err := enc.WriteToken(jsontext.BeginArray); err != nil {
return err
}
marshal := valFncs.marshal
Expand All @@ -1551,7 +1551,7 @@ func makeArrayArshaler(t reflect.Type) *arshaler {
return err
}
}
if err := enc.WriteToken(jsontext.ArrayEnd); err != nil {
if err := enc.WriteToken(jsontext.EndArray); err != nil {
return err
}
return nil
Expand Down
6 changes: 3 additions & 3 deletions arshal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2528,7 +2528,7 @@ func TestMarshal(t *testing.T) {
want: `{`,
wantErr: EM(newNonStringNameError(len64(" { "), "")).withPos(`{`, "").withType(0, T[jsontext.Value]()),
}, {
name: jsontest.Name("Structs/InlinedFallback/TextValue/InvalidObjectEnd"),
name: jsontest.Name("Structs/InlinedFallback/TextValue/InvalidEndObject"),
in: structInlineTextValue{X: jsontext.Value(` { "name" : false , } `)},
want: `{"name":false`,
wantErr: EM(newInvalidCharacterError(",", "at start of value", len64(` { "name" : false `), "")).withPos(`{"name":false,`, "").withType(0, T[jsontext.Value]()),
Expand Down Expand Up @@ -6615,7 +6615,7 @@ func TestUnmarshal(t *testing.T) {
inVal: addr(structInlineTextValue{X: jsontext.Value(` { "fizz" : "buzz" } `)}),
want: addr(structInlineTextValue{A: 1, X: jsontext.Value(` { "fizz" : "buzz","fizz":"buzz","foo":[ 1 , 2 , 3 ]}`), B: 2}),
}, {
name: jsontest.Name("Structs/InlinedFallback/TextValue/Merge/ObjectEnd"),
name: jsontest.Name("Structs/InlinedFallback/TextValue/Merge/EndObject"),
inBuf: `{"A":1,"fizz":"buzz","B":2}`,
inVal: addr(structInlineTextValue{X: jsontext.Value(` } `)}),
// NOTE: This produces invalid output,
Expand Down Expand Up @@ -9100,7 +9100,7 @@ func TestMarshalInvalidNamespace(t *testing.T) {
t.Fatalf("%s: MarshalEncode error is nil, want non-nil", tt.name.Where)
}
for _, tok := range []jsontext.Token{
jsontext.Null, jsontext.String(""), jsontext.Int(0), jsontext.ObjectStart, jsontext.ObjectEnd, jsontext.ArrayStart, jsontext.ArrayEnd,
jsontext.Null, jsontext.String(""), jsontext.Int(0), jsontext.BeginObject, jsontext.EndObject, jsontext.BeginArray, jsontext.EndArray,
} {
if err := enc.WriteToken(tok); err == nil {
t.Fatalf("%s: WriteToken error is nil, want non-nil", tt.name.Where)
Expand Down
4 changes: 2 additions & 2 deletions example_orderedobject_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ type ObjectMember[V any] struct {

// MarshalJSONTo encodes obj as a JSON object into enc.
func (obj *OrderedObject[V]) MarshalJSONTo(enc *jsontext.Encoder, opts json.Options) error {
if err := enc.WriteToken(jsontext.ObjectStart); err != nil {
if err := enc.WriteToken(jsontext.BeginObject); err != nil {
return err
}
for i := range *obj {
Expand All @@ -42,7 +42,7 @@ func (obj *OrderedObject[V]) MarshalJSONTo(enc *jsontext.Encoder, opts json.Opti
return err
}
}
if err := enc.WriteToken(jsontext.ObjectEnd); err != nil {
if err := enc.WriteToken(jsontext.EndObject); err != nil {
return err
}
return nil
Expand Down
Loading

0 comments on commit 38f2338

Please sign in to comment.