use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Property {
NestedPropertyValue,
FlatObjectPropertyValue,
IpPropertyValue,
ShortNumberPropertyValue,
RankFeaturePropertyValue,
DatePropertyValue,
AggregateMetricDoublePropertyValue,
IcuCollationKeywordPropertyValue,
Murmur3HashPropertyValue,
WildcardPropertyValue,
DoubleNumberPropertyValue,
HalfFloatNumberPropertyValue,
ScaledFloatNumberPropertyValue,
FloatNumberPropertyValue,
DoubleRangePropertyValue,
IntegerRangePropertyValue,
TextPropertyValue,
ConstantKeywordPropertyValue,
KeywordPropertyValue,
JoinPropertyValue,
PercolatorPropertyValue,
GeoShapePropertyValue,
SearchAsYouTypePropertyValue,
BooleanPropertyValue,
IntegerNumberPropertyValue,
HistogramPropertyValue,
LongRangePropertyValue,
ObjectPropertyValue,
DateRangePropertyValue,
ByteNumberPropertyValue,
LongNumberPropertyValue,
KnnVectorPropertyValue,
TokenCountPropertyValue,
FieldAliasPropertyValue,
BinaryPropertyValue,
DateNanosPropertyValue,
CompletionPropertyValue,
VersionPropertyValue,
RankFeaturesPropertyValue,
GeoPointPropertyValue,
UnsignedLongNumberPropertyValue,
MatchOnlyTextPropertyValue,
FloatRangePropertyValue,
IpRangePropertyValue,
}
impl std::fmt::Display for Property {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::NestedPropertyValue => write!(f, "0"),
Self::FlatObjectPropertyValue => write!(f, "0"),
Self::IpPropertyValue => write!(f, "0"),
Self::ShortNumberPropertyValue => write!(f, "0"),
Self::RankFeaturePropertyValue => write!(f, "0"),
Self::DatePropertyValue => write!(f, "0"),
Self::AggregateMetricDoublePropertyValue => write!(f, "0"),
Self::IcuCollationKeywordPropertyValue => write!(f, "0"),
Self::Murmur3HashPropertyValue => write!(f, "0"),
Self::WildcardPropertyValue => write!(f, "0"),
Self::DoubleNumberPropertyValue => write!(f, "0"),
Self::HalfFloatNumberPropertyValue => write!(f, "0"),
Self::ScaledFloatNumberPropertyValue => write!(f, "0"),
Self::FloatNumberPropertyValue => write!(f, "0"),
Self::DoubleRangePropertyValue => write!(f, "0"),
Self::IntegerRangePropertyValue => write!(f, "0"),
Self::TextPropertyValue => write!(f, "0"),
Self::ConstantKeywordPropertyValue => write!(f, "0"),
Self::KeywordPropertyValue => write!(f, "0"),
Self::JoinPropertyValue => write!(f, "0"),
Self::PercolatorPropertyValue => write!(f, "0"),
Self::GeoShapePropertyValue => write!(f, "0"),
Self::SearchAsYouTypePropertyValue => write!(f, "0"),
Self::BooleanPropertyValue => write!(f, "0"),
Self::IntegerNumberPropertyValue => write!(f, "0"),
Self::HistogramPropertyValue => write!(f, "0"),
Self::LongRangePropertyValue => write!(f, "0"),
Self::ObjectPropertyValue => write!(f, "0"),
Self::DateRangePropertyValue => write!(f, "0"),
Self::ByteNumberPropertyValue => write!(f, "0"),
Self::LongNumberPropertyValue => write!(f, "0"),
Self::KnnVectorPropertyValue => write!(f, "0"),
Self::TokenCountPropertyValue => write!(f, "0"),
Self::FieldAliasPropertyValue => write!(f, "0"),
Self::BinaryPropertyValue => write!(f, "0"),
Self::DateNanosPropertyValue => write!(f, "0"),
Self::CompletionPropertyValue => write!(f, "0"),
Self::VersionPropertyValue => write!(f, "0"),
Self::RankFeaturesPropertyValue => write!(f, "0"),
Self::GeoPointPropertyValue => write!(f, "0"),
Self::UnsignedLongNumberPropertyValue => write!(f, "0"),
Self::MatchOnlyTextPropertyValue => write!(f, "0"),
Self::FloatRangePropertyValue => write!(f, "0"),
Self::IpRangePropertyValue => write!(f, "0"),
}
}
}
impl Default for Property {
fn default() -> Property {
Self::NestedPropertyValue
}
}