github.com/urso/go-structform@v0.0.2/visitors/stringer.go (about) 1 package visitors 2 3 import ( 4 "fmt" 5 6 structform "github.com/urso/go-structform" 7 ) 8 9 type StringConvVisitor struct { 10 active structform.ExtVisitor 11 } 12 13 func NewStringConvVisitor(target structform.ExtVisitor) *StringConvVisitor { 14 return &StringConvVisitor{target} 15 } 16 17 func (v *StringConvVisitor) SetActive(a structform.ExtVisitor) { 18 v.active = a 19 } 20 21 func (v *StringConvVisitor) OnObjectStart(l int, t structform.BaseType) error { 22 return v.active.OnObjectStart(l, t) 23 } 24 25 func (v *StringConvVisitor) OnObjectFinished() error { 26 return v.active.OnObjectFinished() 27 } 28 29 func (v *StringConvVisitor) OnKey(s string) error { 30 return v.active.OnKey(s) 31 } 32 33 func (v *StringConvVisitor) OnKeyRef(s []byte) error { 34 return v.active.OnKeyRef(s) 35 } 36 37 func (v *StringConvVisitor) OnArrayStart(l int, t structform.BaseType) error { 38 return v.active.OnArrayStart(l, t) 39 } 40 41 func (v *StringConvVisitor) OnArrayFinished() error { 42 return v.active.OnArrayFinished() 43 } 44 45 func (v *StringConvVisitor) OnNil() error { 46 return v.OnString("") 47 } 48 49 func (v *StringConvVisitor) OnBool(b bool) error { 50 t := "false" 51 if b { 52 t = "true" 53 } 54 return v.OnString(t) 55 } 56 57 func (v *StringConvVisitor) OnString(s string) error { 58 return v.active.OnString(s) 59 } 60 61 func (v *StringConvVisitor) OnStringRef(b []byte) error { 62 return v.active.OnStringRef(b) 63 } 64 65 func (v *StringConvVisitor) OnInt8(i int8) error { 66 return v.OnInt64(int64(i)) 67 } 68 69 func (v *StringConvVisitor) OnInt16(i int16) error { 70 return v.OnInt64(int64(i)) 71 } 72 73 func (v *StringConvVisitor) OnInt32(i int32) error { 74 return v.OnInt64(int64(i)) 75 } 76 77 func (v *StringConvVisitor) OnInt64(i int64) error { 78 return v.OnString(fmt.Sprintf("%v", i)) 79 } 80 81 func (v *StringConvVisitor) OnInt(i int) error { 82 return v.OnInt64(int64(i)) 83 } 84 85 func (v *StringConvVisitor) OnUint8(i uint8) error { 86 return v.OnUint64(uint64(i)) 87 } 88 89 func (v *StringConvVisitor) OnUint16(i uint16) error { 90 return v.OnUint64(uint64(i)) 91 } 92 93 func (v *StringConvVisitor) OnUint32(i uint32) error { 94 return v.OnUint64(uint64(i)) 95 } 96 97 func (v *StringConvVisitor) OnUint64(i uint64) error { 98 return v.OnString(fmt.Sprintf("%v", i)) 99 } 100 101 func (v *StringConvVisitor) OnUint(i uint) error { 102 return v.OnUint64(uint64(i)) 103 } 104 105 func (v *StringConvVisitor) OnFloat32(f float32) error { 106 return v.OnString(fmt.Sprintf("%v", f)) 107 } 108 109 func (v *StringConvVisitor) OnFloat64(f float64) error { 110 return v.OnString(fmt.Sprintf("%v", f)) 111 }