Copyright | (c) Andreas Ländle 2024-2025 |
---|---|
License | BSD-3 |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
WLED.Types
Description
Types representing states and state changes of a WLED device.
Synopsis
- data State t (f :: Type -> Type) (f' :: Type -> Type) = State {}
- data Nightlight t (f :: Type -> Type) = Nightlight {
- nightlightOn :: Wear t f Bool
- nightlightDur :: Wear t f Int
- nightlightMode :: Wear t f Int
- nightlightTbri :: Wear t f Int
- nightlightRem :: Wear t f Int
- data Segment t (f :: Type -> Type) = Segment {
- segmentId :: Wear t f Int
- segmentStart :: Wear t f Int
- segmentStop :: Wear t f Int
- segmentLen :: Wear t f Int
- segmentGrp :: Wear t f Int
- segmentSpc :: Wear t f Int
- segmentOf :: Wear t f Int
- segmentOn :: Wear t f Bool
- segmentFrz :: Wear t f Bool
- segmentBri :: Wear t f Int
- segmentCct :: Wear t f Int
- segmentSet :: Wear t f Int
- segmentCol :: Wear t f [[Int]]
- segmentFx :: Wear t f Int
- segmentSx :: Wear t f Int
- segmentIx :: Wear t f Int
- segmentPal :: Wear t f Int
- segmentC1 :: Wear t f Int
- segmentC2 :: Wear t f Int
- segmentC3 :: Wear t f Int
- segmentSel :: Wear t f Bool
- segmentRev :: Wear t f Bool
- segmentMi :: Wear t f Bool
- segmentO1 :: Wear t f Bool
- segmentO2 :: Wear t f Bool
- segmentO3 :: Wear t f Bool
- segmentSi :: Wear t f Int
- segmentM12 :: Wear t f Int
- type StateComplete = State Bare Identity Identity
- type StatePatch = State Covered Maybe Maybe
- type NightlightComplete = Nightlight Bare Identity
- type NightlightPatch = Nightlight Covered Maybe
- type SegmentComplete = Segment Bare Identity
- type SegmentPatch = Segment Covered Maybe
- append :: StateComplete -> StatePatch -> StateComplete
- diff :: StateComplete -> StateComplete -> StatePatch
- segment :: Int -> Int -> [Int] -> SegmentPatch
Documentation
data State t (f :: Type -> Type) (f' :: Type -> Type) Source #
State data type.
Constructors
State | |
Instances
data Nightlight t (f :: Type -> Type) Source #
Nightlight data type.
Constructors
Nightlight | |
Fields
|
Instances
BareB Nightlight Source # | |||||
Defined in WLED.Types Methods bstrip :: Nightlight Covered Identity -> Nightlight Bare Identity # bcover :: Nightlight Bare Identity -> Nightlight Covered Identity # | |||||
ApplicativeB (Nightlight Covered) Source # | |||||
Defined in WLED.Types Methods bpure :: (forall a. f a) -> Nightlight Covered f # bprod :: forall (f :: Type -> Type) (g :: Type -> Type). Nightlight Covered f -> Nightlight Covered g -> Nightlight Covered (Product f g) # | |||||
ConstraintsB (Nightlight Bare) Source # | |||||
Defined in WLED.Types Associated Types
Methods baddDicts :: forall (c :: Type -> Constraint) (f :: Type -> Type). AllB c (Nightlight Bare) => Nightlight Bare f -> Nightlight Bare (Product (Dict c) f) # | |||||
ConstraintsB (Nightlight Covered) Source # | |||||
Defined in WLED.Types Associated Types
Methods baddDicts :: forall (c :: Type -> Constraint) (f :: Type -> Type). AllB c (Nightlight Covered) => Nightlight Covered f -> Nightlight Covered (Product (Dict c) f) # | |||||
FunctorB (Nightlight Bare) Source # | |||||
Defined in WLED.Types Methods bmap :: (forall a. f a -> g a) -> Nightlight Bare f -> Nightlight Bare g # | |||||
FunctorB (Nightlight Covered) Source # | |||||
Defined in WLED.Types Methods bmap :: (forall a. f a -> g a) -> Nightlight Covered f -> Nightlight Covered g # | |||||
AllBF FromJSON f (Nightlight Bare) => FromJSON (Nightlight Bare f) Source # | |||||
Defined in WLED.Types Methods parseJSON :: Value -> Parser (Nightlight Bare f) # parseJSONList :: Value -> Parser [Nightlight Bare f] # omittedField :: Maybe (Nightlight Bare f) # | |||||
AllBF FromJSON f (Nightlight Covered) => FromJSON (Nightlight Covered f) Source # | |||||
Defined in WLED.Types Methods parseJSON :: Value -> Parser (Nightlight Covered f) # parseJSONList :: Value -> Parser [Nightlight Covered f] # omittedField :: Maybe (Nightlight Covered f) # | |||||
AllBF ToJSON f (Nightlight Bare) => ToJSON (Nightlight Bare f) Source # | |||||
Defined in WLED.Types Methods toJSON :: Nightlight Bare f -> Value # toEncoding :: Nightlight Bare f -> Encoding # toJSONList :: [Nightlight Bare f] -> Value # toEncodingList :: [Nightlight Bare f] -> Encoding # omitField :: Nightlight Bare f -> Bool # | |||||
AllBF ToJSON f (Nightlight Covered) => ToJSON (Nightlight Covered f) Source # | |||||
Defined in WLED.Types Methods toJSON :: Nightlight Covered f -> Value # toEncoding :: Nightlight Covered f -> Encoding # toJSONList :: [Nightlight Covered f] -> Value # toEncodingList :: [Nightlight Covered f] -> Encoding # omitField :: Nightlight Covered f -> Bool # | |||||
Alternative f => Monoid (Nightlight Covered f) Source # | |||||
Defined in WLED.Types Methods mempty :: Nightlight Covered f # mappend :: Nightlight Covered f -> Nightlight Covered f -> Nightlight Covered f # mconcat :: [Nightlight Covered f] -> Nightlight Covered f # | |||||
Alternative f => Semigroup (Nightlight Covered f) Source # | |||||
Defined in WLED.Types Methods (<>) :: Nightlight Covered f -> Nightlight Covered f -> Nightlight Covered f # sconcat :: NonEmpty (Nightlight Covered f) -> Nightlight Covered f # stimes :: Integral b => b -> Nightlight Covered f -> Nightlight Covered f # | |||||
Generic (Nightlight t f) Source # | |||||
Defined in WLED.Types Associated Types
Methods from :: Nightlight t f -> Rep (Nightlight t f) x # to :: Rep (Nightlight t f) x -> Nightlight t f # | |||||
AllBF Show f (Nightlight Bare) => Show (Nightlight Bare f) Source # | |||||
Defined in WLED.Types | |||||
AllBF Show f (Nightlight Covered) => Show (Nightlight Covered f) Source # | |||||
Defined in WLED.Types | |||||
AllBF Eq f (Nightlight Bare) => Eq (Nightlight Bare f) Source # | |||||
Defined in WLED.Types Methods (==) :: Nightlight Bare f -> Nightlight Bare f -> Bool # (/=) :: Nightlight Bare f -> Nightlight Bare f -> Bool # | |||||
AllBF Eq f (Nightlight Covered) => Eq (Nightlight Covered f) Source # | |||||
Defined in WLED.Types Methods (==) :: Nightlight Covered f -> Nightlight Covered f -> Bool # (/=) :: Nightlight Covered f -> Nightlight Covered f -> Bool # | |||||
type AllB (c :: Type -> Constraint) (Nightlight Bare) Source # | |||||
Defined in WLED.Types | |||||
type AllB (c :: Type -> Constraint) (Nightlight Covered) Source # | |||||
Defined in WLED.Types | |||||
type Rep (Nightlight t f) Source # | |||||
Defined in WLED.Types type Rep (Nightlight t f) = D1 ('MetaData "Nightlight" "WLED.Types" "wled-json-0.0.1.1-IoFmzPfwYUiCn5UEssZdtN" 'False) (C1 ('MetaCons "Nightlight" 'PrefixI 'True) ((S1 ('MetaSel ('Just "nightlightOn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)) :*: S1 ('MetaSel ('Just "nightlightDur") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int))) :*: (S1 ('MetaSel ('Just "nightlightMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: (S1 ('MetaSel ('Just "nightlightTbri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "nightlightRem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)))))) |
data Segment t (f :: Type -> Type) Source #
Segment data type.
Constructors
Segment | |
Fields
|
Instances
BareB Segment Source # | |||||
ApplicativeB (Segment Covered) Source # | |||||
ConstraintsB (Segment Bare) Source # | |||||
Defined in WLED.Types Associated Types
| |||||
ConstraintsB (Segment Covered) Source # | |||||
Defined in WLED.Types Associated Types
| |||||
FunctorB (Segment Bare) Source # | |||||
FunctorB (Segment Covered) Source # | |||||
AllBF FromJSON f (Segment Bare) => FromJSON (Segment Bare f) Source # | |||||
AllBF FromJSON f (Segment Covered) => FromJSON (Segment Covered f) Source # | |||||
AllBF ToJSON f (Segment Bare) => ToJSON (Segment Bare f) Source # | |||||
AllBF ToJSON f (Segment Covered) => ToJSON (Segment Covered f) Source # | |||||
Alternative f => Monoid (Segment Covered f) Source # | |||||
Alternative f => Semigroup (Segment Covered f) Source # | |||||
Generic (Segment t f) Source # | |||||
Defined in WLED.Types Associated Types
| |||||
AllBF Show f (Segment Bare) => Show (Segment Bare f) Source # | |||||
AllBF Show f (Segment Covered) => Show (Segment Covered f) Source # | |||||
AllBF Eq f (Segment Bare) => Eq (Segment Bare f) Source # | |||||
AllBF Eq f (Segment Covered) => Eq (Segment Covered f) Source # | |||||
type AllB (c :: Type -> Constraint) (Segment Bare) Source # | |||||
Defined in WLED.Types | |||||
type AllB (c :: Type -> Constraint) (Segment Covered) Source # | |||||
Defined in WLED.Types | |||||
type Rep (Segment t f) Source # | |||||
Defined in WLED.Types type Rep (Segment t f) = D1 ('MetaData "Segment" "WLED.Types" "wled-json-0.0.1.1-IoFmzPfwYUiCn5UEssZdtN" 'False) (C1 ('MetaCons "Segment" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "segmentId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: (S1 ('MetaSel ('Just "segmentStart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentStop") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)))) :*: ((S1 ('MetaSel ('Just "segmentLen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentGrp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int))) :*: (S1 ('MetaSel ('Just "segmentSpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentOf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int))))) :*: ((S1 ('MetaSel ('Just "segmentOn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)) :*: (S1 ('MetaSel ('Just "segmentFrz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)) :*: S1 ('MetaSel ('Just "segmentBri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)))) :*: ((S1 ('MetaSel ('Just "segmentCct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int))) :*: (S1 ('MetaSel ('Just "segmentCol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f [[Int]])) :*: S1 ('MetaSel ('Just "segmentFx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)))))) :*: (((S1 ('MetaSel ('Just "segmentSx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: (S1 ('MetaSel ('Just "segmentIx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentPal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)))) :*: ((S1 ('MetaSel ('Just "segmentC1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentC2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int))) :*: (S1 ('MetaSel ('Just "segmentC3") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentSel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool))))) :*: ((S1 ('MetaSel ('Just "segmentRev") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)) :*: (S1 ('MetaSel ('Just "segmentMi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)) :*: S1 ('MetaSel ('Just "segmentO1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)))) :*: ((S1 ('MetaSel ('Just "segmentO2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool)) :*: S1 ('MetaSel ('Just "segmentO3") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Bool))) :*: (S1 ('MetaSel ('Just "segmentSi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)) :*: S1 ('MetaSel ('Just "segmentM12") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Wear t f Int)))))))) |
type NightlightComplete = Nightlight Bare Identity Source #
type NightlightPatch = Nightlight Covered Maybe Source #
append :: StateComplete -> StatePatch -> StateComplete Source #
diff :: StateComplete -> StateComplete -> StatePatch Source #