github.com/ydb-platform/ydb-go-sdk/v3@v3.57.0/internal/params/list.go (about) 1 package params 2 3 import ( 4 "time" 5 6 "github.com/ydb-platform/ydb-go-sdk/v3/internal/value" 7 ) 8 9 type ( 10 list struct { 11 parent Builder 12 name string 13 values []value.Value 14 } 15 listItem struct { 16 parent *list 17 } 18 ) 19 20 func (l *list) AddItem() *listItem { 21 return &listItem{ 22 parent: l, 23 } 24 } 25 26 func (l *list) AddItems(items ...value.Value) *list { 27 l.values = append(l.values, items...) 28 29 return l 30 } 31 32 func (l *list) Build() Builder { 33 l.parent.params = append(l.parent.params, &Parameter{ 34 parent: l.parent, 35 name: l.name, 36 value: value.ListValue(l.values...), 37 }) 38 39 return l.parent 40 } 41 42 func (l *listItem) Text(v string) *list { 43 l.parent.values = append(l.parent.values, value.TextValue(v)) 44 45 return l.parent 46 } 47 48 func (l *listItem) Bytes(v []byte) *list { 49 l.parent.values = append(l.parent.values, value.BytesValue(v)) 50 51 return l.parent 52 } 53 54 func (l *listItem) Bool(v bool) *list { 55 l.parent.values = append(l.parent.values, value.BoolValue(v)) 56 57 return l.parent 58 } 59 60 func (l *listItem) Uint64(v uint64) *list { 61 l.parent.values = append(l.parent.values, value.Uint64Value(v)) 62 63 return l.parent 64 } 65 66 func (l *listItem) Int64(v int64) *list { 67 l.parent.values = append(l.parent.values, value.Int64Value(v)) 68 69 return l.parent 70 } 71 72 func (l *listItem) Uint32(v uint32) *list { 73 l.parent.values = append(l.parent.values, value.Uint32Value(v)) 74 75 return l.parent 76 } 77 78 func (l *listItem) Int32(v int32) *list { 79 l.parent.values = append(l.parent.values, value.Int32Value(v)) 80 81 return l.parent 82 } 83 84 func (l *listItem) Uint16(v uint16) *list { 85 l.parent.values = append(l.parent.values, value.Uint16Value(v)) 86 87 return l.parent 88 } 89 90 func (l *listItem) Int16(v int16) *list { 91 l.parent.values = append(l.parent.values, value.Int16Value(v)) 92 93 return l.parent 94 } 95 96 func (l *listItem) Uint8(v uint8) *list { 97 l.parent.values = append(l.parent.values, value.Uint8Value(v)) 98 99 return l.parent 100 } 101 102 func (l *listItem) Int8(v int8) *list { 103 l.parent.values = append(l.parent.values, value.Int8Value(v)) 104 105 return l.parent 106 } 107 108 func (l *listItem) Float(v float32) *list { 109 l.parent.values = append(l.parent.values, value.FloatValue(v)) 110 111 return l.parent 112 } 113 114 func (l *listItem) Double(v float64) *list { 115 l.parent.values = append(l.parent.values, value.DoubleValue(v)) 116 117 return l.parent 118 } 119 120 func (l *listItem) Decimal(v [16]byte, precision, scale uint32) *list { 121 l.parent.values = append(l.parent.values, value.DecimalValue(v, precision, scale)) 122 123 return l.parent 124 } 125 126 func (l *listItem) Timestamp(v time.Time) *list { 127 l.parent.values = append(l.parent.values, value.TimestampValueFromTime(v)) 128 129 return l.parent 130 } 131 132 func (l *listItem) Date(v time.Time) *list { 133 l.parent.values = append(l.parent.values, value.DateValueFromTime(v)) 134 135 return l.parent 136 } 137 138 func (l *listItem) Datetime(v time.Time) *list { 139 l.parent.values = append(l.parent.values, value.DatetimeValueFromTime(v)) 140 141 return l.parent 142 } 143 144 func (l *listItem) Interval(v time.Duration) *list { 145 l.parent.values = append(l.parent.values, value.IntervalValueFromDuration(v)) 146 147 return l.parent 148 } 149 150 func (l *listItem) JSON(v string) *list { 151 l.parent.values = append(l.parent.values, value.JSONValue(v)) 152 153 return l.parent 154 } 155 156 func (l *listItem) JSONDocument(v string) *list { 157 l.parent.values = append(l.parent.values, value.JSONDocumentValue(v)) 158 159 return l.parent 160 } 161 162 func (l *listItem) YSON(v []byte) *list { 163 l.parent.values = append(l.parent.values, value.YSONValue(v)) 164 165 return l.parent 166 } 167 168 func (l *listItem) UUID(v [16]byte) *list { 169 l.parent.values = append(l.parent.values, value.UUIDValue(v)) 170 171 return l.parent 172 }