func decodeCapacity()

in dax/internal/client/response.go [1308:1347]


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

	c := &types.Capacity{}
	err = consumeMap(reader, func(key int, reader *cbor.Reader) error {
		switch key {
		case capacityUnits:
			f, err := reader.ReadFloat64()
			if err != nil {
				return err
			}
			c.CapacityUnits = &f
		case readCapacityUnits:
			f, err := reader.ReadFloat64()
			if err != nil {
				return err
			}
			c.ReadCapacityUnits = &f
		case writeCapacityUnits:
			f, err := reader.ReadFloat64()
			if err != nil {
				return err
			}
			c.WriteCapacityUnits = &f
		default:
			return &smithy.SerializationError{Err: fmt.Errorf("unknown response param key %d", key)}
		}
		return nil
	})
	if err != nil {
		return nil, err
	}
	return c, nil
}