in dax/internal/client/response.go [1243:1306]
func decodeConsumedCapacityExtended(reader *cbor.Reader) (*types.ConsumedCapacity, error) {
consumed, err := consumeNil(reader)
if err != nil {
return nil, err
}
if consumed {
return nil, nil
}
cc := &types.ConsumedCapacity{}
err = consumeMap(reader, func(key int, reader *cbor.Reader) error {
switch key {
case tableName:
s, err := reader.ReadString()
if err != nil {
return err
}
cc.TableName = &s
case capacityUnits:
f, err := reader.ReadFloat64()
if err != nil {
return err
}
cc.CapacityUnits = &f
case readCapacityUnits:
f, err := reader.ReadFloat64()
if err != nil {
return err
}
cc.ReadCapacityUnits = &f
case writeCapacityUnits:
f, err := reader.ReadFloat64()
if err != nil {
return err
}
cc.WriteCapacityUnits = &f
case table:
c, err := decodeCapacity(reader)
if err != nil {
return err
}
cc.Table = c
case globalSecondaryIndexes:
c, err := decodeIndexConsumedCapacity(reader, true)
if err != nil {
return err
}
cc.GlobalSecondaryIndexes = c
case localSecondaryIndexes:
c, err := decodeIndexConsumedCapacity(reader, true)
if err != nil {
return err
}
cc.LocalSecondaryIndexes = c
default:
return &smithy.SerializationError{Err: fmt.Errorf("unknown response param key %d", key)}
}
return nil
})
if err != nil {
return nil, err
}
return cc, nil
}