func decodeConsumedCapacity()

in dax/internal/client/response.go [1190:1241]


func decodeConsumedCapacity(reader *cbor.Reader) (*types.ConsumedCapacity, error) {
	consumed, err := consumeNil(reader)
	if err != nil {
		return nil, err
	}
	if consumed {
		return nil, nil
	}

	if _, err := reader.ReadBytesLength(); err != nil {
		return nil, err
	}

	cc := &types.ConsumedCapacity{}

	t, err := reader.ReadString()
	if err != nil {
		return nil, err
	}
	cc.TableName = aws.String(t)

	c, err := reader.ReadFloat64()
	if err != nil {
		return nil, err
	}
	cc.CapacityUnits = aws.Float64(c)

	consumed, err = consumeNil(reader)
	if err != nil {
		return nil, err
	}
	if !consumed {
		c, err = reader.ReadFloat64()
		if err != nil {
			return nil, err
		}
		cc.Table = &types.Capacity{
			CapacityUnits: aws.Float64(c),
		}
	}

	cc.GlobalSecondaryIndexes, err = decodeIndexConsumedCapacity(reader, false)
	if err != nil {
		return nil, err
	}
	cc.LocalSecondaryIndexes, err = decodeIndexConsumedCapacity(reader, false)
	if err != nil {
		return nil, err
	}

	return cc, nil
}