forked from beowulf-foundation/beowulf-go
/
encoder_rolling.go
99 lines (84 loc) · 2.45 KB
/
encoder_rolling.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package transaction
//RollingEncoder structure for the chain of converters
type RollingEncoder struct {
next *Encoder
err error
}
//NewRollingEncoder initializing the chain of converters
func NewRollingEncoder(next *Encoder) *RollingEncoder {
return &RollingEncoder{next, nil}
}
//EncodeVarint adding int64 to the converted value
func (encoder *RollingEncoder) EncodeVarint(i int64) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeVarint(i)
}
}
//EncodeUVarint adding uint64 to the converted value
func (encoder *RollingEncoder) EncodeUVarint(i uint64) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeUVarint(i)
}
}
//EncodeNumber adding number to the converted value
func (encoder *RollingEncoder) EncodeNumber(v interface{}) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeNumber(v)
}
}
//EncodeBool adding bool to the converted value
func (encoder *RollingEncoder) EncodeBool(v bool) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeBool(v)
}
}
//EncodeMoney adding Asset to the converted value
func (encoder *RollingEncoder) EncodeMoney(v string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeMoney(v)
}
}
//EncodeSymbol adding Symbol to the converted value
func (encoder *RollingEncoder) EncodeSymbol(v string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeSymbol(v)
}
}
func (encoder *RollingEncoder) EncodeExt(v string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeExt(v)
}
}
func (encoder *RollingEncoder) EncodeTExt(v string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeTExt(v)
}
}
//EncodeString adding string to the converted value
func (encoder *RollingEncoder) EncodeString(v string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeString(v)
}
}
//EncodePubKey adding PubKey to the converted value
func (encoder *RollingEncoder) EncodePubKey(v string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodePubKey(v)
}
}
//EncodeArrString adding []string to the converted value
func (encoder *RollingEncoder) EncodeArrString(v []string) {
if encoder.err == nil {
encoder.err = encoder.next.EncodeArrString(v)
}
}
//Encode adding to a chain of other values
func (encoder *RollingEncoder) Encode(v interface{}) {
if encoder.err == nil {
encoder.err = encoder.next.Encode(v)
}
}
//Err function that returns an error (if any) from the cup of converters
func (encoder *RollingEncoder) Err() error {
return encoder.err
}