gtfs-realtime-0.2.0.0: src/GTFS/RealTime/Protobuf/Alert/Effect.hs
{-# LANGUAGE BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module GTFS.RealTime.Protobuf.Alert.Effect (Effect(..)) where
import Prelude ((+), (/), (.))
import qualified Prelude as Prelude'
import qualified Data.Typeable as Prelude'
import qualified GHC.Generics as Prelude'
import qualified Data.Data as Prelude'
import qualified Text.ProtocolBuffers.Header as P'
data Effect = NO_SERVICE
| REDUCED_SERVICE
| SIGNIFICANT_DELAYS
| DETOUR
| ADDITIONAL_SERVICE
| MODIFIED_SERVICE
| OTHER_EFFECT
| UNKNOWN_EFFECT
| STOP_MOVED
deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
instance P'.Mergeable Effect
instance Prelude'.Bounded Effect where
minBound = NO_SERVICE
maxBound = STOP_MOVED
instance P'.Default Effect where
defaultValue = NO_SERVICE
toMaybe'Enum :: Prelude'.Int -> P'.Maybe Effect
toMaybe'Enum 1 = Prelude'.Just NO_SERVICE
toMaybe'Enum 2 = Prelude'.Just REDUCED_SERVICE
toMaybe'Enum 3 = Prelude'.Just SIGNIFICANT_DELAYS
toMaybe'Enum 4 = Prelude'.Just DETOUR
toMaybe'Enum 5 = Prelude'.Just ADDITIONAL_SERVICE
toMaybe'Enum 6 = Prelude'.Just MODIFIED_SERVICE
toMaybe'Enum 7 = Prelude'.Just OTHER_EFFECT
toMaybe'Enum 8 = Prelude'.Just UNKNOWN_EFFECT
toMaybe'Enum 9 = Prelude'.Just STOP_MOVED
toMaybe'Enum _ = Prelude'.Nothing
instance Prelude'.Enum Effect where
fromEnum NO_SERVICE = 1
fromEnum REDUCED_SERVICE = 2
fromEnum SIGNIFICANT_DELAYS = 3
fromEnum DETOUR = 4
fromEnum ADDITIONAL_SERVICE = 5
fromEnum MODIFIED_SERVICE = 6
fromEnum OTHER_EFFECT = 7
fromEnum UNKNOWN_EFFECT = 8
fromEnum STOP_MOVED = 9
toEnum
= P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.RealTime.Protobuf.Alert.Effect") .
toMaybe'Enum
succ NO_SERVICE = REDUCED_SERVICE
succ REDUCED_SERVICE = SIGNIFICANT_DELAYS
succ SIGNIFICANT_DELAYS = DETOUR
succ DETOUR = ADDITIONAL_SERVICE
succ ADDITIONAL_SERVICE = MODIFIED_SERVICE
succ MODIFIED_SERVICE = OTHER_EFFECT
succ OTHER_EFFECT = UNKNOWN_EFFECT
succ UNKNOWN_EFFECT = STOP_MOVED
succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.RealTime.Protobuf.Alert.Effect"
pred REDUCED_SERVICE = NO_SERVICE
pred SIGNIFICANT_DELAYS = REDUCED_SERVICE
pred DETOUR = SIGNIFICANT_DELAYS
pred ADDITIONAL_SERVICE = DETOUR
pred MODIFIED_SERVICE = ADDITIONAL_SERVICE
pred OTHER_EFFECT = MODIFIED_SERVICE
pred UNKNOWN_EFFECT = OTHER_EFFECT
pred STOP_MOVED = UNKNOWN_EFFECT
pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.RealTime.Protobuf.Alert.Effect"
instance P'.Wire Effect where
wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
wireGet 14 = P'.wireGetEnum toMaybe'Enum
wireGet ft' = P'.wireGetErr ft'
wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
wireGetPacked ft' = P'.wireGetErr ft'
instance P'.GPB Effect
instance P'.MessageAPI msg' (msg' -> Effect) Effect where
getVal m' f' = f' m'
instance P'.ReflectEnum Effect where
reflectEnum
= [(1, "NO_SERVICE", NO_SERVICE), (2, "REDUCED_SERVICE", REDUCED_SERVICE), (3, "SIGNIFICANT_DELAYS", SIGNIFICANT_DELAYS),
(4, "DETOUR", DETOUR), (5, "ADDITIONAL_SERVICE", ADDITIONAL_SERVICE), (6, "MODIFIED_SERVICE", MODIFIED_SERVICE),
(7, "OTHER_EFFECT", OTHER_EFFECT), (8, "UNKNOWN_EFFECT", UNKNOWN_EFFECT), (9, "STOP_MOVED", STOP_MOVED)]
reflectEnumInfo _
= P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.Effect") [] ["GTFS", "RealTime", "Protobuf", "Alert"] "Effect")
["GTFS", "RealTime", "Protobuf", "Alert", "Effect.hs"]
[(1, "NO_SERVICE"), (2, "REDUCED_SERVICE"), (3, "SIGNIFICANT_DELAYS"), (4, "DETOUR"), (5, "ADDITIONAL_SERVICE"),
(6, "MODIFIED_SERVICE"), (7, "OTHER_EFFECT"), (8, "UNKNOWN_EFFECT"), (9, "STOP_MOVED")]
Prelude'.True
instance P'.TextType Effect where
tellT = P'.tellShow
getT = P'.getRead
instance P'.ToJSON Effect where
toJSON msg'
= P'.String
(case msg' of
NO_SERVICE -> "NO_SERVICE"
REDUCED_SERVICE -> "REDUCED_SERVICE"
SIGNIFICANT_DELAYS -> "SIGNIFICANT_DELAYS"
DETOUR -> "DETOUR"
ADDITIONAL_SERVICE -> "ADDITIONAL_SERVICE"
MODIFIED_SERVICE -> "MODIFIED_SERVICE"
OTHER_EFFECT -> "OTHER_EFFECT"
UNKNOWN_EFFECT -> "UNKNOWN_EFFECT"
STOP_MOVED -> "STOP_MOVED")
instance P'.FromJSON Effect where
parseJSON
= P'.withText "GTFS.RealTime.Protobuf.Alert.Effect.Effect"
(\ msg' ->
case msg' of
"NO_SERVICE" -> Prelude'.return NO_SERVICE
"REDUCED_SERVICE" -> Prelude'.return REDUCED_SERVICE
"SIGNIFICANT_DELAYS" -> Prelude'.return SIGNIFICANT_DELAYS
"DETOUR" -> Prelude'.return DETOUR
"ADDITIONAL_SERVICE" -> Prelude'.return ADDITIONAL_SERVICE
"MODIFIED_SERVICE" -> Prelude'.return MODIFIED_SERVICE
"OTHER_EFFECT" -> Prelude'.return OTHER_EFFECT
"UNKNOWN_EFFECT" -> Prelude'.return UNKNOWN_EFFECT
"STOP_MOVED" -> Prelude'.return STOP_MOVED
_ -> Prelude'.fail
("Invalid value " Prelude'.++ Prelude'.show msg' Prelude'.++
" for enum GTFS.RealTime.Protobuf.Alert.Effect.Effect"))