module Stratosphere.QuickSight.Analysis.FilterProperty (
        module Exports, FilterProperty(..), mkFilterProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.CategoryFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.NestedFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.NumericEqualityFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.NumericRangeFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.RelativeDatesFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.TimeEqualityFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.TimeRangeFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.TopBottomFilterProperty as Exports
import Stratosphere.ResourceProperties
data FilterProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html>
    FilterProperty {FilterProperty -> ()
haddock_workaround_ :: (),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-categoryfilter>
                    FilterProperty -> Maybe CategoryFilterProperty
categoryFilter :: (Prelude.Maybe CategoryFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-nestedfilter>
                    FilterProperty -> Maybe NestedFilterProperty
nestedFilter :: (Prelude.Maybe NestedFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-numericequalityfilter>
                    FilterProperty -> Maybe NumericEqualityFilterProperty
numericEqualityFilter :: (Prelude.Maybe NumericEqualityFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-numericrangefilter>
                    FilterProperty -> Maybe NumericRangeFilterProperty
numericRangeFilter :: (Prelude.Maybe NumericRangeFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-relativedatesfilter>
                    FilterProperty -> Maybe RelativeDatesFilterProperty
relativeDatesFilter :: (Prelude.Maybe RelativeDatesFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-timeequalityfilter>
                    FilterProperty -> Maybe TimeEqualityFilterProperty
timeEqualityFilter :: (Prelude.Maybe TimeEqualityFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-timerangefilter>
                    FilterProperty -> Maybe TimeRangeFilterProperty
timeRangeFilter :: (Prelude.Maybe TimeRangeFilterProperty),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-filter.html#cfn-quicksight-analysis-filter-topbottomfilter>
                    FilterProperty -> Maybe TopBottomFilterProperty
topBottomFilter :: (Prelude.Maybe TopBottomFilterProperty)}
  deriving stock (FilterProperty -> FilterProperty -> Bool
(FilterProperty -> FilterProperty -> Bool)
-> (FilterProperty -> FilterProperty -> Bool) -> Eq FilterProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FilterProperty -> FilterProperty -> Bool
== :: FilterProperty -> FilterProperty -> Bool
$c/= :: FilterProperty -> FilterProperty -> Bool
/= :: FilterProperty -> FilterProperty -> Bool
Prelude.Eq, Int -> FilterProperty -> ShowS
[FilterProperty] -> ShowS
FilterProperty -> String
(Int -> FilterProperty -> ShowS)
-> (FilterProperty -> String)
-> ([FilterProperty] -> ShowS)
-> Show FilterProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FilterProperty -> ShowS
showsPrec :: Int -> FilterProperty -> ShowS
$cshow :: FilterProperty -> String
show :: FilterProperty -> String
$cshowList :: [FilterProperty] -> ShowS
showList :: [FilterProperty] -> ShowS
Prelude.Show)
mkFilterProperty :: FilterProperty
mkFilterProperty :: FilterProperty
mkFilterProperty
  = FilterProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), categoryFilter :: Maybe CategoryFilterProperty
categoryFilter = Maybe CategoryFilterProperty
forall a. Maybe a
Prelude.Nothing,
       nestedFilter :: Maybe NestedFilterProperty
nestedFilter = Maybe NestedFilterProperty
forall a. Maybe a
Prelude.Nothing,
       numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericEqualityFilter = Maybe NumericEqualityFilterProperty
forall a. Maybe a
Prelude.Nothing,
       numericRangeFilter :: Maybe NumericRangeFilterProperty
numericRangeFilter = Maybe NumericRangeFilterProperty
forall a. Maybe a
Prelude.Nothing,
       relativeDatesFilter :: Maybe RelativeDatesFilterProperty
relativeDatesFilter = Maybe RelativeDatesFilterProperty
forall a. Maybe a
Prelude.Nothing,
       timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeEqualityFilter = Maybe TimeEqualityFilterProperty
forall a. Maybe a
Prelude.Nothing,
       timeRangeFilter :: Maybe TimeRangeFilterProperty
timeRangeFilter = Maybe TimeRangeFilterProperty
forall a. Maybe a
Prelude.Nothing,
       topBottomFilter :: Maybe TopBottomFilterProperty
topBottomFilter = Maybe TopBottomFilterProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties FilterProperty where
  toResourceProperties :: FilterProperty -> ResourceProperties
toResourceProperties FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.Filter",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> CategoryFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CategoryFilter" (CategoryFilterProperty -> (Key, Value))
-> Maybe CategoryFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CategoryFilterProperty
categoryFilter,
                            Key -> NestedFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NestedFilter" (NestedFilterProperty -> (Key, Value))
-> Maybe NestedFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NestedFilterProperty
nestedFilter,
                            Key -> NumericEqualityFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NumericEqualityFilter"
                              (NumericEqualityFilterProperty -> (Key, Value))
-> Maybe NumericEqualityFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NumericEqualityFilterProperty
numericEqualityFilter,
                            Key -> NumericRangeFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NumericRangeFilter" (NumericRangeFilterProperty -> (Key, Value))
-> Maybe NumericRangeFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NumericRangeFilterProperty
numericRangeFilter,
                            Key -> RelativeDatesFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"RelativeDatesFilter" (RelativeDatesFilterProperty -> (Key, Value))
-> Maybe RelativeDatesFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RelativeDatesFilterProperty
relativeDatesFilter,
                            Key -> TimeEqualityFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimeEqualityFilter" (TimeEqualityFilterProperty -> (Key, Value))
-> Maybe TimeEqualityFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimeEqualityFilterProperty
timeEqualityFilter,
                            Key -> TimeRangeFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimeRangeFilter" (TimeRangeFilterProperty -> (Key, Value))
-> Maybe TimeRangeFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimeRangeFilterProperty
timeRangeFilter,
                            Key -> TopBottomFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TopBottomFilter" (TopBottomFilterProperty -> (Key, Value))
-> Maybe TopBottomFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TopBottomFilterProperty
topBottomFilter])}
instance JSON.ToJSON FilterProperty where
  toJSON :: FilterProperty -> Value
toJSON FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> CategoryFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CategoryFilter" (CategoryFilterProperty -> (Key, Value))
-> Maybe CategoryFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CategoryFilterProperty
categoryFilter,
               Key -> NestedFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NestedFilter" (NestedFilterProperty -> (Key, Value))
-> Maybe NestedFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NestedFilterProperty
nestedFilter,
               Key -> NumericEqualityFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NumericEqualityFilter"
                 (NumericEqualityFilterProperty -> (Key, Value))
-> Maybe NumericEqualityFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NumericEqualityFilterProperty
numericEqualityFilter,
               Key -> NumericRangeFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NumericRangeFilter" (NumericRangeFilterProperty -> (Key, Value))
-> Maybe NumericRangeFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NumericRangeFilterProperty
numericRangeFilter,
               Key -> RelativeDatesFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"RelativeDatesFilter" (RelativeDatesFilterProperty -> (Key, Value))
-> Maybe RelativeDatesFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RelativeDatesFilterProperty
relativeDatesFilter,
               Key -> TimeEqualityFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimeEqualityFilter" (TimeEqualityFilterProperty -> (Key, Value))
-> Maybe TimeEqualityFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimeEqualityFilterProperty
timeEqualityFilter,
               Key -> TimeRangeFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimeRangeFilter" (TimeRangeFilterProperty -> (Key, Value))
-> Maybe TimeRangeFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimeRangeFilterProperty
timeRangeFilter,
               Key -> TopBottomFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TopBottomFilter" (TopBottomFilterProperty -> (Key, Value))
-> Maybe TopBottomFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TopBottomFilterProperty
topBottomFilter]))
instance Property "CategoryFilter" FilterProperty where
  type PropertyType "CategoryFilter" FilterProperty = CategoryFilterProperty
  set :: PropertyType "CategoryFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "CategoryFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {categoryFilter :: Maybe CategoryFilterProperty
categoryFilter = CategoryFilterProperty -> Maybe CategoryFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "CategoryFilter" FilterProperty
CategoryFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "NestedFilter" FilterProperty where
  type PropertyType "NestedFilter" FilterProperty = NestedFilterProperty
  set :: PropertyType "NestedFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "NestedFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {nestedFilter :: Maybe NestedFilterProperty
nestedFilter = NestedFilterProperty -> Maybe NestedFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NestedFilter" FilterProperty
NestedFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "NumericEqualityFilter" FilterProperty where
  type PropertyType "NumericEqualityFilter" FilterProperty = NumericEqualityFilterProperty
  set :: PropertyType "NumericEqualityFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "NumericEqualityFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty
        {numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericEqualityFilter = NumericEqualityFilterProperty
-> Maybe NumericEqualityFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NumericEqualityFilter" FilterProperty
NumericEqualityFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "NumericRangeFilter" FilterProperty where
  type PropertyType "NumericRangeFilter" FilterProperty = NumericRangeFilterProperty
  set :: PropertyType "NumericRangeFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "NumericRangeFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {numericRangeFilter :: Maybe NumericRangeFilterProperty
numericRangeFilter = NumericRangeFilterProperty -> Maybe NumericRangeFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NumericRangeFilter" FilterProperty
NumericRangeFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "RelativeDatesFilter" FilterProperty where
  type PropertyType "RelativeDatesFilter" FilterProperty = RelativeDatesFilterProperty
  set :: PropertyType "RelativeDatesFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "RelativeDatesFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {relativeDatesFilter :: Maybe RelativeDatesFilterProperty
relativeDatesFilter = RelativeDatesFilterProperty -> Maybe RelativeDatesFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "RelativeDatesFilter" FilterProperty
RelativeDatesFilterProperty
newValue, Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "TimeEqualityFilter" FilterProperty where
  type PropertyType "TimeEqualityFilter" FilterProperty = TimeEqualityFilterProperty
  set :: PropertyType "TimeEqualityFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "TimeEqualityFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeEqualityFilter = TimeEqualityFilterProperty -> Maybe TimeEqualityFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TimeEqualityFilter" FilterProperty
TimeEqualityFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "TimeRangeFilter" FilterProperty where
  type PropertyType "TimeRangeFilter" FilterProperty = TimeRangeFilterProperty
  set :: PropertyType "TimeRangeFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "TimeRangeFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {timeRangeFilter :: Maybe TimeRangeFilterProperty
timeRangeFilter = TimeRangeFilterProperty -> Maybe TimeRangeFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TimeRangeFilter" FilterProperty
TimeRangeFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
instance Property "TopBottomFilter" FilterProperty where
  type PropertyType "TopBottomFilter" FilterProperty = TopBottomFilterProperty
  set :: PropertyType "TopBottomFilter" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "TopBottomFilter" FilterProperty
newValue FilterProperty {Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
Maybe TopBottomFilterProperty
()
haddock_workaround_ :: FilterProperty -> ()
categoryFilter :: FilterProperty -> Maybe CategoryFilterProperty
nestedFilter :: FilterProperty -> Maybe NestedFilterProperty
numericEqualityFilter :: FilterProperty -> Maybe NumericEqualityFilterProperty
numericRangeFilter :: FilterProperty -> Maybe NumericRangeFilterProperty
relativeDatesFilter :: FilterProperty -> Maybe RelativeDatesFilterProperty
timeEqualityFilter :: FilterProperty -> Maybe TimeEqualityFilterProperty
timeRangeFilter :: FilterProperty -> Maybe TimeRangeFilterProperty
topBottomFilter :: FilterProperty -> Maybe TopBottomFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
topBottomFilter :: Maybe TopBottomFilterProperty
..}
    = FilterProperty {topBottomFilter :: Maybe TopBottomFilterProperty
topBottomFilter = TopBottomFilterProperty -> Maybe TopBottomFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TopBottomFilter" FilterProperty
TopBottomFilterProperty
newValue, Maybe RelativeDatesFilterProperty
Maybe NumericRangeFilterProperty
Maybe NumericEqualityFilterProperty
Maybe NestedFilterProperty
Maybe CategoryFilterProperty
Maybe TimeEqualityFilterProperty
Maybe TimeRangeFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryFilterProperty
nestedFilter :: Maybe NestedFilterProperty
numericEqualityFilter :: Maybe NumericEqualityFilterProperty
numericRangeFilter :: Maybe NumericRangeFilterProperty
relativeDatesFilter :: Maybe RelativeDatesFilterProperty
timeEqualityFilter :: Maybe TimeEqualityFilterProperty
timeRangeFilter :: Maybe TimeRangeFilterProperty
..}