github.com/batchcorp/thrift-iterator@v0.0.0-20220918180557-4c4a158fc6e9/raw/decode_list.go (about)

     1  package raw
     2  
     3  import (
     4  	"github.com/batchcorp/thrift-iterator/spi"
     5  )
     6  
     7  type rawListDecoder struct {
     8  }
     9  
    10  func (decoder *rawListDecoder) Decode(val interface{}, iter spi.Iterator) {
    11  	elemType, length := iter.ReadListHeader()
    12  	elements := make([][]byte, length)
    13  	for i := 0; i < length; i++ {
    14  		elements[i] = iter.Skip(elemType, nil)
    15  	}
    16  	obj := val.(*List)
    17  	obj.ElementType = elemType
    18  	obj.Elements = elements
    19  }