func decodeIndexConsumedCapacity()

in dax/internal/client/response.go [1349:1387]


func decodeIndexConsumedCapacity(reader *cbor.Reader, extended bool) (map[string]types.Capacity, error) {
	consumed, err := consumeNil(reader)
	if err != nil {
		return nil, err
	}
	if consumed {
		return nil, nil
	}

	len, err := reader.ReadMapLength()
	if err != nil {
		return nil, err
	}
	index := make(map[string]types.Capacity, len)
	for len > 0 {
		len--
		i, err := reader.ReadString()
		if err != nil {
			return nil, err
		}
		var c *types.Capacity
		if extended {
			c, err = decodeCapacity(reader)
			if err != nil {
				return nil, err
			}
		} else {
			f, err := reader.ReadFloat64()
			if err != nil {
				return nil, err
			}
			c = &types.Capacity{
				CapacityUnits: aws.Float64(f),
			}
		}
		index[i] = *c
	}
	return index, nil
}