github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/params/variant.go (about)

     1  package params
     2  
     3  import "github.com/ydb-platform/ydb-go-sdk/v3/internal/value"
     4  
     5  type (
     6  	variant struct {
     7  		parent Builder
     8  		name   string
     9  		value  value.Value
    10  	}
    11  
    12  	variantBuilder struct {
    13  		variant *variant
    14  	}
    15  )
    16  
    17  func (vb *variantBuilder) EndVariant() Builder {
    18  	vb.variant.parent.params = append(vb.variant.parent.params, &Parameter{
    19  		parent: vb.variant.parent,
    20  		name:   vb.variant.name,
    21  		value:  vb.variant.value,
    22  	})
    23  
    24  	return vb.variant.parent
    25  }
    26  
    27  func (v *variant) BeginTuple() *variantTuple {
    28  	return &variantTuple{
    29  		parent: v,
    30  	}
    31  }
    32  
    33  func (v *variant) BeginStruct() *variantStruct {
    34  	return &variantStruct{
    35  		parent: v,
    36  	}
    37  }