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

     1  package spi
     2  
     3  func DiscardList(iter Iterator) {
     4  	elemType, size := iter.ReadListHeader()
     5  	for i := 0; i < size; i++ {
     6  		iter.Discard(elemType)
     7  	}
     8  }
     9  
    10  func DiscardStruct(iter Iterator) {
    11  	iter.ReadStructHeader()
    12  	for {
    13  		fieldType, _ := iter.ReadStructField()
    14  		if fieldType == 0 {
    15  			return
    16  		}
    17  		iter.Discard(fieldType)
    18  	}
    19  }
    20  
    21  func DiscardMap(iter Iterator) {
    22  	keyType, elemType, size := iter.ReadMapHeader()
    23  	for i := 0; i < size; i++ {
    24  		iter.Discard(keyType)
    25  		iter.Discard(elemType)
    26  	}
    27  }