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  }