...
1 package jwriter
2
3 import "encoding/json"
4
5
6
7
8
9
10
11 type ArrayState struct {
12 w *Writer
13 previousState writerState
14 }
15
16
17 func (arr *ArrayState) Null() {
18 if arr.w != nil {
19 arr.w.Null()
20 }
21 }
22
23
24 func (arr *ArrayState) Bool(value bool) {
25 if arr.w != nil {
26 arr.w.Bool(value)
27 }
28 }
29
30
31 func (arr *ArrayState) Int(value int) {
32 if arr.w != nil {
33 arr.w.Int(value)
34 }
35 }
36
37
38 func (arr *ArrayState) Float64(value float64) {
39 if arr.w != nil {
40 arr.w.Float64(value)
41 }
42 }
43
44
45 func (arr *ArrayState) String(value string) {
46 if arr.w != nil {
47 arr.w.String(value)
48 }
49 }
50
51
52 func (arr *ArrayState) Array() ArrayState {
53 if arr.w != nil {
54 return arr.w.Array()
55 }
56 return ArrayState{}
57 }
58
59
60 func (arr *ArrayState) Object() ObjectState {
61 if arr.w != nil {
62 return arr.w.Object()
63 }
64 return ObjectState{}
65 }
66
67
68 func (arr *ArrayState) Raw(value json.RawMessage) {
69 if arr.w != nil {
70 arr.w.Raw(value)
71 }
72 }
73
74
75 func (arr *ArrayState) End() {
76 if arr.w == nil || arr.w.err != nil {
77 return
78 }
79 arr.w.AddError(arr.w.tw.Delimiter(']'))
80 arr.w.state = arr.previousState
81 arr.w = nil
82 }
83
View as plain text