use std::collections::HashMap;
use std::time::Duration;
use bigdecimal::BigDecimal;
use chrono::{
DateTime,
NaiveDate,
NaiveDateTime,
NaiveTime,
Utc,
};
use num_bigint::BigInt;
use url::Url;
use crate::value_error::ValueResult;
use super::multi_values::MultiValues;
impl MultiValues {
impl_set_multi_values! {
set_bools, Bool, bool, DataType::Bool
}
impl_set_multi_values! {
set_chars, Char, char, DataType::Char
}
impl_set_multi_values! {
set_int8s, Int8, i8, DataType::Int8
}
impl_set_multi_values! {
set_int16s, Int16, i16, DataType::Int16
}
impl_set_multi_values! {
set_int32s, Int32, i32, DataType::Int32
}
impl_set_multi_values! {
set_int64s, Int64, i64, DataType::Int64
}
impl_set_multi_values! {
set_int128s, Int128, i128, DataType::Int128
}
impl_set_multi_values! {
set_uint8s, UInt8, u8, DataType::UInt8
}
impl_set_multi_values! {
set_uint16s, UInt16, u16, DataType::UInt16
}
impl_set_multi_values! {
set_uint32s, UInt32, u32, DataType::UInt32
}
impl_set_multi_values! {
set_uint64s, UInt64, u64, DataType::UInt64
}
impl_set_multi_values! {
set_uint128s, UInt128, u128, DataType::UInt128
}
impl_set_multi_values! {
set_float32s, Float32, f32, DataType::Float32
}
impl_set_multi_values! {
set_float64s, Float64, f64, DataType::Float64
}
impl_set_multi_values! {
set_strings, String, String, DataType::String
}
impl_set_multi_values! {
set_dates, Date, NaiveDate, DataType::Date
}
impl_set_multi_values! {
set_times, Time, NaiveTime, DataType::Time
}
impl_set_multi_values! {
set_datetimes, DateTime, NaiveDateTime, DataType::DateTime
}
impl_set_multi_values! {
set_instants, Instant, DateTime<Utc>, DataType::Instant
}
impl_set_multi_values! {
set_bigintegers, BigInteger, BigInt, DataType::BigInteger
}
impl_set_multi_values! {
set_bigdecimals, BigDecimal, BigDecimal, DataType::BigDecimal
}
impl_set_multi_values! {
set_intsizes, IntSize, isize, DataType::IntSize
}
impl_set_multi_values! {
set_uintsizes, UIntSize, usize, DataType::UIntSize
}
impl_set_multi_values! {
set_durations, Duration, Duration, DataType::Duration
}
impl_set_multi_values! {
set_urls, Url, Url, DataType::Url
}
impl_set_multi_values! {
set_string_maps, StringMap, HashMap<String, String>, DataType::StringMap
}
impl_set_multi_values! {
set_jsons, Json, serde_json::Value, DataType::Json
}
impl_set_multi_values_slice! {
set_bools_slice, Bool, bool, DataType::Bool
}
impl_set_multi_values_slice! {
set_chars_slice, Char, char, DataType::Char
}
impl_set_multi_values_slice! {
set_int8s_slice, Int8, i8, DataType::Int8
}
impl_set_multi_values_slice! {
set_int16s_slice, Int16, i16, DataType::Int16
}
impl_set_multi_values_slice! {
set_int32s_slice, Int32, i32, DataType::Int32
}
impl_set_multi_values_slice! {
set_int64s_slice, Int64, i64, DataType::Int64
}
impl_set_multi_values_slice! {
set_int128s_slice, Int128, i128, DataType::Int128
}
impl_set_multi_values_slice! {
set_uint8s_slice, UInt8, u8, DataType::UInt8
}
impl_set_multi_values_slice! {
set_uint16s_slice, UInt16, u16, DataType::UInt16
}
impl_set_multi_values_slice! {
set_uint32s_slice, UInt32, u32, DataType::UInt32
}
impl_set_multi_values_slice! {
set_uint64s_slice, UInt64, u64, DataType::UInt64
}
impl_set_multi_values_slice! {
set_uint128s_slice, UInt128, u128, DataType::UInt128
}
impl_set_multi_values_slice! {
set_float32s_slice, Float32, f32, DataType::Float32
}
impl_set_multi_values_slice! {
set_float64s_slice, Float64, f64, DataType::Float64
}
impl_set_multi_values_slice! {
set_strings_slice, String, String, DataType::String
}
impl_set_multi_values_slice! {
set_dates_slice, Date, NaiveDate, DataType::Date
}
impl_set_multi_values_slice! {
set_times_slice, Time, NaiveTime, DataType::Time
}
impl_set_multi_values_slice! {
set_datetimes_slice, DateTime, NaiveDateTime, DataType::DateTime
}
impl_set_multi_values_slice! {
set_instants_slice, Instant, DateTime<Utc>, DataType::Instant
}
impl_set_multi_values_slice! {
set_bigintegers_slice, BigInteger, BigInt, DataType::BigInteger
}
impl_set_multi_values_slice! {
set_bigdecimals_slice, BigDecimal, BigDecimal, DataType::BigDecimal
}
impl_set_multi_values_slice! {
set_intsizes_slice, IntSize, isize, DataType::IntSize
}
impl_set_multi_values_slice! {
set_uintsizes_slice, UIntSize, usize, DataType::UIntSize
}
impl_set_multi_values_slice! {
set_durations_slice, Duration, Duration, DataType::Duration
}
impl_set_multi_values_slice! {
set_urls_slice, Url, Url, DataType::Url
}
impl_set_multi_values_slice! {
set_string_maps_slice, StringMap, HashMap<String, String>, DataType::StringMap
}
impl_set_multi_values_slice! {
set_jsons_slice, Json, serde_json::Value, DataType::Json
}
impl_set_single_value! {
set_bool, Bool, bool, DataType::Bool
}
impl_set_single_value! {
set_char, Char, char, DataType::Char
}
impl_set_single_value! {
set_int8, Int8, i8, DataType::Int8
}
impl_set_single_value! {
set_int16, Int16, i16, DataType::Int16
}
impl_set_single_value! {
set_int32, Int32, i32, DataType::Int32
}
impl_set_single_value! {
set_int64, Int64, i64, DataType::Int64
}
impl_set_single_value! {
set_int128, Int128, i128, DataType::Int128
}
impl_set_single_value! {
set_uint8, UInt8, u8, DataType::UInt8
}
impl_set_single_value! {
set_uint16, UInt16, u16, DataType::UInt16
}
impl_set_single_value! {
set_uint32, UInt32, u32, DataType::UInt32
}
impl_set_single_value! {
set_uint64, UInt64, u64, DataType::UInt64
}
impl_set_single_value! {
set_uint128, UInt128, u128, DataType::UInt128
}
impl_set_single_value! {
set_float32, Float32, f32, DataType::Float32
}
impl_set_single_value! {
set_float64, Float64, f64, DataType::Float64
}
impl_set_single_value! {
set_string, String, String, DataType::String
}
impl_set_single_value! {
set_date, Date, NaiveDate, DataType::Date
}
impl_set_single_value! {
set_time, Time, NaiveTime, DataType::Time
}
impl_set_single_value! {
set_datetime, DateTime, NaiveDateTime, DataType::DateTime
}
impl_set_single_value! {
set_instant, Instant, DateTime<Utc>, DataType::Instant
}
impl_set_single_value! {
set_biginteger, BigInteger, BigInt, DataType::BigInteger
}
impl_set_single_value! {
set_bigdecimal, BigDecimal, BigDecimal, DataType::BigDecimal
}
impl_set_single_value! {
set_intsize, IntSize, isize, DataType::IntSize
}
impl_set_single_value! {
set_uintsize, UIntSize, usize, DataType::UIntSize
}
impl_set_single_value! {
set_duration, Duration, Duration, DataType::Duration
}
impl_set_single_value! {
set_url, Url, Url, DataType::Url
}
impl_set_single_value! {
set_string_map, StringMap, HashMap<String, String>, DataType::StringMap
}
impl_set_single_value! {
set_json, Json, serde_json::Value, DataType::Json
}
}