github.com/batchcorp/thrift-iterator@v0.0.0-20220918180557-4c4a158fc6e9/protocol/compact/discard.go (about)

     1  package compact
     2  
     3  import (
     4  	"github.com/batchcorp/thrift-iterator/protocol"
     5  	"github.com/batchcorp/thrift-iterator/spi"
     6  )
     7  
     8  func (iter *Iterator) Discard(ttype protocol.TType) {
     9  	switch ttype {
    10  	case protocol.TypeBool, protocol.TypeI08:
    11  		iter.ReadInt8()
    12  	case protocol.TypeI16:
    13  		iter.ReadInt16()
    14  	case protocol.TypeI32:
    15  		iter.ReadInt32()
    16  	case protocol.TypeI64:
    17  		iter.ReadInt64()
    18  	case protocol.TypeDouble:
    19  		iter.ReadFloat64()
    20  	case protocol.TypeString:
    21  		iter.SkipBinary(nil)
    22  	case protocol.TypeList:
    23  		spi.DiscardList(iter)
    24  	case protocol.TypeStruct:
    25  		spi.DiscardStruct(iter)
    26  	case protocol.TypeMap:
    27  		spi.DiscardMap(iter)
    28  	default:
    29  		panic("unsupported type")
    30  	}
    31  }