github.com/urso/go-structform@v0.0.2/array.go (about) 1 package structform 2 3 type extArrVisitor struct { 4 Visitor 5 } 6 7 func (ev extArrVisitor) OnStringArray(a []string) error { 8 if err := ev.OnArrayStart(len(a), StringType); err != nil { 9 return err 10 } 11 for _, v := range a { 12 if err := ev.OnString(v); err != nil { 13 return err 14 } 15 } 16 return ev.OnArrayFinished() 17 } 18 19 func (ev extArrVisitor) OnBoolArray(a []bool) error { 20 if err := ev.OnArrayStart(len(a), BoolType); err != nil { 21 return err 22 } 23 for _, v := range a { 24 if err := ev.OnBool(v); err != nil { 25 return err 26 } 27 } 28 return ev.OnArrayFinished() 29 } 30 31 func (ev extArrVisitor) OnInt8Array(a []int8) error { 32 if err := ev.OnArrayStart(len(a), Int8Type); err != nil { 33 return err 34 } 35 for _, v := range a { 36 if err := ev.OnInt8(v); err != nil { 37 return err 38 } 39 } 40 return ev.OnArrayFinished() 41 } 42 43 func (ev extArrVisitor) OnInt16Array(a []int16) error { 44 if err := ev.OnArrayStart(len(a), Int16Type); err != nil { 45 return err 46 } 47 for _, v := range a { 48 if err := ev.OnInt16(v); err != nil { 49 return err 50 } 51 } 52 return ev.OnArrayFinished() 53 } 54 55 func (ev extArrVisitor) OnInt32Array(a []int32) error { 56 if err := ev.OnArrayStart(len(a), Int32Type); err != nil { 57 return err 58 } 59 for _, v := range a { 60 if err := ev.OnInt32(v); err != nil { 61 return err 62 } 63 } 64 return ev.OnArrayFinished() 65 } 66 67 func (ev extArrVisitor) OnInt64Array(a []int64) error { 68 if err := ev.OnArrayStart(len(a), Int64Type); err != nil { 69 return err 70 } 71 for _, v := range a { 72 if err := ev.OnInt64(v); err != nil { 73 return err 74 } 75 } 76 return ev.OnArrayFinished() 77 } 78 79 func (ev extArrVisitor) OnIntArray(a []int) error { 80 if err := ev.OnArrayStart(len(a), IntType); err != nil { 81 return err 82 } 83 for _, v := range a { 84 if err := ev.OnInt(v); err != nil { 85 return err 86 } 87 } 88 return ev.OnArrayFinished() 89 } 90 91 func (ev extArrVisitor) OnBytes(b []byte) error { 92 if err := ev.OnArrayStart(len(b), ByteType); err != nil { 93 return err 94 } 95 for _, v := range b { 96 if err := ev.OnByte(v); err != nil { 97 return err 98 } 99 } 100 return ev.OnArrayFinished() 101 } 102 103 func (ev extArrVisitor) OnUint8Array(a []uint8) error { 104 if err := ev.OnArrayStart(len(a), Uint8Type); err != nil { 105 return err 106 } 107 for _, v := range a { 108 if err := ev.OnUint8(v); err != nil { 109 return err 110 } 111 } 112 return ev.OnArrayFinished() 113 } 114 115 func (ev extArrVisitor) OnUint16Array(a []uint16) error { 116 if err := ev.OnArrayStart(len(a), Uint16Type); err != nil { 117 return err 118 } 119 for _, v := range a { 120 if err := ev.OnUint16(v); err != nil { 121 return err 122 } 123 } 124 return ev.OnArrayFinished() 125 } 126 127 func (ev extArrVisitor) OnUint32Array(a []uint32) error { 128 if err := ev.OnArrayStart(len(a), Uint32Type); err != nil { 129 return err 130 } 131 for _, v := range a { 132 if err := ev.OnUint32(v); err != nil { 133 return err 134 } 135 } 136 return ev.OnArrayFinished() 137 } 138 139 func (ev extArrVisitor) OnUint64Array(a []uint64) error { 140 if err := ev.OnArrayStart(len(a), Uint64Type); err != nil { 141 return err 142 } 143 for _, v := range a { 144 if err := ev.OnUint64(v); err != nil { 145 return err 146 } 147 } 148 return ev.OnArrayFinished() 149 } 150 151 func (ev extArrVisitor) OnUintArray(a []uint) error { 152 if err := ev.OnArrayStart(len(a), UintType); err != nil { 153 return err 154 } 155 for _, v := range a { 156 if err := ev.OnUint(v); err != nil { 157 return err 158 } 159 } 160 return ev.OnArrayFinished() 161 } 162 163 func (ev extArrVisitor) OnFloat32Array(a []float32) error { 164 if err := ev.OnArrayStart(len(a), Float32Type); err != nil { 165 return err 166 } 167 for _, v := range a { 168 if err := ev.OnFloat32(v); err != nil { 169 return err 170 } 171 } 172 return ev.OnArrayFinished() 173 } 174 175 func (ev extArrVisitor) OnFloat64Array(a []float64) error { 176 if err := ev.OnArrayStart(len(a), Float64Type); err != nil { 177 return err 178 } 179 for _, v := range a { 180 if err := ev.OnFloat64(v); err != nil { 181 return err 182 } 183 } 184 return ev.OnArrayFinished() 185 }