Copyright | (c) Justin Le 2019 |
---|---|
License | BSD3 |
Maintainer | [email protected] |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Advent.Types
Description
Data types used for the underlying API.
Since: 0.2.3.0
Synopsis
- newtype Day = Day {}
- data Part
- data SubmitInfo = SubmitInfo {}
- data SubmitRes
- = SubCorrect (Maybe Integer)
- | SubIncorrect Int (Maybe String)
- | SubWait Int
- | SubInvalid
- | SubUnknown String
- showSubmitRes :: SubmitRes -> String
- newtype PublicCode = PublicCode {}
- data Leaderboard = LB {}
- data LeaderboardMember = LBM {
- lbmGlobalScore :: Integer
- lbmName :: Maybe Text
- lbmLocalScore :: Integer
- lbmId :: Integer
- lbmLastStarTS :: Maybe UTCTime
- lbmStars :: Int
- lbmCompletion :: Map Day (Map Part UTCTime)
- newtype Rank = Rank {}
- data DailyLeaderboard = DLB {}
- data DailyLeaderboardMember = DLBM {}
- newtype GlobalLeaderboard = GLB {}
- data GlobalLeaderboardMember = GLBM {}
- data NextDayTime
- mkDay :: Integer -> Maybe Day
- mkDay_ :: Integer -> Day
- dayInt :: Day -> Integer
- _DayInt :: (Choice p, Applicative f) => p Day (f Day) -> p Integer (f Integer)
- pattern DayInt :: Day -> Integer
- partInt :: Part -> Int
- partChar :: Part -> Char
- fullDailyBoard :: DailyLeaderboard -> Bool
- dlbmCompleteTime :: Integer -> Day -> NominalDiffTime -> ZonedTime
- dlbmTime :: Day -> NominalDiffTime -> NominalDiffTime
- challengeReleaseTime :: Integer -> Day -> ZonedTime
- parseSubmitRes :: Text -> SubmitRes
Types
Describes the day: a number between 1 and 25 inclusive.
Represented by a Finite
ranging from 0 to 24 inclusive; you should
probably make one using the smart constructor mkDay
.
Instances
FromJSON Day Source # | |||||
Defined in Advent.Types | |||||
FromJSONKey Day Source # | |||||
Defined in Advent.Types | |||||
ToJSON Day Source # | Since: 0.2.4.2 | ||||
ToJSONKey Day Source # | Since: 0.2.4.2 | ||||
Defined in Advent.Types | |||||
Bounded Day Source # | |||||
Enum Day Source # | |||||
Generic Day Source # | |||||
Defined in Advent.Types Associated Types
| |||||
Show Day Source # | |||||
Eq Day Source # | |||||
Ord Day Source # | |||||
ToHttpApiData Day Source # | |||||
Defined in Advent.Types Methods toUrlPiece :: Day -> Text # toEncodedUrlPiece :: Day -> Builder # toHeader :: Day -> ByteString # toQueryParam :: Day -> Text # toEncodedQueryParam :: Day -> Builder # | |||||
type Rep Day Source # | |||||
Defined in Advent.Types |
A given part of a problem. All Advent of Code challenges are two-parts.
You can usually get Part1
(if it is already released) with a nonsense
session key, but Part2
always requires a valid session key.
Instances
FromJSON Part Source # | |
Defined in Advent.Types | |
FromJSONKey Part Source # | |
Defined in Advent.Types | |
ToJSON Part Source # | Since: 0.2.4.2 |
ToJSONKey Part Source # | Since: 0.2.4.2 |
Defined in Advent.Types | |
Bounded Part Source # | |
Enum Part Source # | |
Generic Part Source # | |
Defined in Advent.Types | |
Read Part Source # | |
Show Part Source # | |
Eq Part Source # | |
Ord Part Source # | |
ToHttpApiData Part Source # | |
Defined in Advent.Types Methods toUrlPiece :: Part -> Text # toEncodedUrlPiece :: Part -> Builder # toHeader :: Part -> ByteString # toQueryParam :: Part -> Text # toEncodedQueryParam :: Part -> Builder # | |
type Rep Part Source # | |
data SubmitInfo Source #
Info required to submit an answer for a part.
Constructors
SubmitInfo | |
Instances
The result of a submission.
Constructors
SubCorrect (Maybe Integer) | Correct submission, including global rank (if reported, which usually happens if rank is under 1000) |
SubIncorrect Int (Maybe String) | Incorrect submission. Contains the number of seconds you must
wait before trying again. The |
SubWait Int | Submission was rejected because an incorrect submission was recently submitted. Contains the number of seconds you must wait before trying again. |
SubInvalid | Submission was rejected because it was sent to an invalid question or part. Usually happens if you submit to a part you have already answered or have not yet unlocked. |
SubUnknown String | Could not parse server response. Contains parse error. |
Instances
Generic SubmitRes Source # | |||||
Defined in Advent.Types Associated Types
| |||||
Read SubmitRes Source # | |||||
Show SubmitRes Source # | |||||
Eq SubmitRes Source # | |||||
Ord SubmitRes Source # | |||||
FromTags "article" SubmitRes Source # | |||||
type Rep SubmitRes Source # | |||||
Defined in Advent.Types type Rep SubmitRes = D1 ('MetaData "SubmitRes" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) ((C1 ('MetaCons "SubCorrect" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Integer))) :+: C1 ('MetaCons "SubIncorrect" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :+: (C1 ('MetaCons "SubWait" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons "SubInvalid" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubUnknown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) |
newtype PublicCode Source #
Member ID of public leaderboard (the first part of the registration code, before the hyphen). It can be found as the number in the URL:
https://adventofcode.com/2019/leaderboard/private/view/12345
(the 12345
above)
Constructors
PublicCode | |
Fields |
Instances
Generic PublicCode Source # | |||||
Defined in Advent.Types Associated Types
| |||||
Read PublicCode Source # | |||||
Defined in Advent.Types Methods readsPrec :: Int -> ReadS PublicCode # readList :: ReadS [PublicCode] # readPrec :: ReadPrec PublicCode # readListPrec :: ReadPrec [PublicCode] # | |||||
Show PublicCode Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> PublicCode -> ShowS # show :: PublicCode -> String # showList :: [PublicCode] -> ShowS # | |||||
Eq PublicCode Source # | |||||
Defined in Advent.Types | |||||
Ord PublicCode Source # | |||||
Defined in Advent.Types Methods compare :: PublicCode -> PublicCode -> Ordering # (<) :: PublicCode -> PublicCode -> Bool # (<=) :: PublicCode -> PublicCode -> Bool # (>) :: PublicCode -> PublicCode -> Bool # (>=) :: PublicCode -> PublicCode -> Bool # max :: PublicCode -> PublicCode -> PublicCode # min :: PublicCode -> PublicCode -> PublicCode # | |||||
ToHttpApiData PublicCode Source # | |||||
Defined in Advent.Types Methods toUrlPiece :: PublicCode -> Text # toEncodedUrlPiece :: PublicCode -> Builder # toHeader :: PublicCode -> ByteString # toQueryParam :: PublicCode -> Text # | |||||
type Rep PublicCode Source # | |||||
Defined in Advent.Types type Rep PublicCode = D1 ('MetaData "PublicCode" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'True) (C1 ('MetaCons "PublicCode" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPublicCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))) |
data Leaderboard Source #
Leaderboard type, representing private leaderboard information.
Constructors
LB | |
Instances
FromJSON Leaderboard Source # | |||||
Defined in Advent.Types | |||||
Generic Leaderboard Source # | |||||
Defined in Advent.Types Associated Types
| |||||
Show Leaderboard Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> Leaderboard -> ShowS # show :: Leaderboard -> String # showList :: [Leaderboard] -> ShowS # | |||||
Eq Leaderboard Source # | |||||
Defined in Advent.Types | |||||
Ord Leaderboard Source # | |||||
Defined in Advent.Types Methods compare :: Leaderboard -> Leaderboard -> Ordering # (<) :: Leaderboard -> Leaderboard -> Bool # (<=) :: Leaderboard -> Leaderboard -> Bool # (>) :: Leaderboard -> Leaderboard -> Bool # (>=) :: Leaderboard -> Leaderboard -> Bool # max :: Leaderboard -> Leaderboard -> Leaderboard # min :: Leaderboard -> Leaderboard -> Leaderboard # | |||||
type Rep Leaderboard Source # | |||||
Defined in Advent.Types type Rep Leaderboard = D1 ('MetaData "Leaderboard" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) (C1 ('MetaCons "LB" 'PrefixI 'True) (S1 ('MetaSel ('Just "lbEvent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "lbOwnerId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "lbMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Integer LeaderboardMember))))) |
data LeaderboardMember Source #
Leaderboard position for a given member.
Constructors
LBM | |
Fields
|
Instances
FromJSON LeaderboardMember Source # | |||||
Defined in Advent.Types Methods parseJSON :: Value -> Parser LeaderboardMember # parseJSONList :: Value -> Parser [LeaderboardMember] # | |||||
Generic LeaderboardMember Source # | |||||
Defined in Advent.Types Associated Types
Methods from :: LeaderboardMember -> Rep LeaderboardMember x # to :: Rep LeaderboardMember x -> LeaderboardMember # | |||||
Show LeaderboardMember Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> LeaderboardMember -> ShowS # show :: LeaderboardMember -> String # showList :: [LeaderboardMember] -> ShowS # | |||||
Eq LeaderboardMember Source # | |||||
Defined in Advent.Types Methods (==) :: LeaderboardMember -> LeaderboardMember -> Bool # (/=) :: LeaderboardMember -> LeaderboardMember -> Bool # | |||||
Ord LeaderboardMember Source # | |||||
Defined in Advent.Types Methods compare :: LeaderboardMember -> LeaderboardMember -> Ordering # (<) :: LeaderboardMember -> LeaderboardMember -> Bool # (<=) :: LeaderboardMember -> LeaderboardMember -> Bool # (>) :: LeaderboardMember -> LeaderboardMember -> Bool # (>=) :: LeaderboardMember -> LeaderboardMember -> Bool # max :: LeaderboardMember -> LeaderboardMember -> LeaderboardMember # min :: LeaderboardMember -> LeaderboardMember -> LeaderboardMember # | |||||
type Rep LeaderboardMember Source # | |||||
Defined in Advent.Types type Rep LeaderboardMember = D1 ('MetaData "LeaderboardMember" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) (C1 ('MetaCons "LBM" 'PrefixI 'True) ((S1 ('MetaSel ('Just "lbmGlobalScore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "lbmName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "lbmLocalScore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))) :*: ((S1 ('MetaSel ('Just "lbmId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "lbmLastStarTS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe UTCTime))) :*: (S1 ('MetaSel ('Just "lbmStars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "lbmCompletion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Day (Map Part UTCTime))))))) |
Ranking between 1 to 100, for daily and global leaderboards
Note that getRank
interanlly stores a number from 0 to 99, so be sure
to add or subtract accordingly if you want to display or parse it.
Since: 0.2.3.0
Instances
FromJSON Rank Source # | |||||
Defined in Advent.Types | |||||
FromJSONKey Rank Source # | |||||
Defined in Advent.Types | |||||
ToJSON Rank Source # | |||||
ToJSONKey Rank Source # | |||||
Defined in Advent.Types | |||||
Generic Rank Source # | |||||
Defined in Advent.Types Associated Types
| |||||
Show Rank Source # | |||||
Eq Rank Source # | |||||
Ord Rank Source # | |||||
type Rep Rank Source # | |||||
Defined in Advent.Types |
data DailyLeaderboard Source #
Daily leaderboard, containing Star 1 and Star 2 completions
Since: 0.2.3.0
Constructors
DLB | |
Fields |
Instances
FromJSON DailyLeaderboard Source # | |||||
Defined in Advent.Types Methods parseJSON :: Value -> Parser DailyLeaderboard # parseJSONList :: Value -> Parser [DailyLeaderboard] # | |||||
ToJSON DailyLeaderboard Source # | |||||
Defined in Advent.Types Methods toJSON :: DailyLeaderboard -> Value # toEncoding :: DailyLeaderboard -> Encoding # toJSONList :: [DailyLeaderboard] -> Value # toEncodingList :: [DailyLeaderboard] -> Encoding # omitField :: DailyLeaderboard -> Bool # | |||||
Generic DailyLeaderboard Source # | |||||
Defined in Advent.Types Associated Types
Methods from :: DailyLeaderboard -> Rep DailyLeaderboard x # to :: Rep DailyLeaderboard x -> DailyLeaderboard # | |||||
Show DailyLeaderboard Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> DailyLeaderboard -> ShowS # show :: DailyLeaderboard -> String # showList :: [DailyLeaderboard] -> ShowS # | |||||
Eq DailyLeaderboard Source # | |||||
Defined in Advent.Types Methods (==) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (/=) :: DailyLeaderboard -> DailyLeaderboard -> Bool # | |||||
Ord DailyLeaderboard Source # | |||||
Defined in Advent.Types Methods compare :: DailyLeaderboard -> DailyLeaderboard -> Ordering # (<) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (<=) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (>) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (>=) :: DailyLeaderboard -> DailyLeaderboard -> Bool # max :: DailyLeaderboard -> DailyLeaderboard -> DailyLeaderboard # min :: DailyLeaderboard -> DailyLeaderboard -> DailyLeaderboard # | |||||
FromTags "div" DailyLeaderboard Source # | |||||
Defined in Advent.API | |||||
type Rep DailyLeaderboard Source # | |||||
Defined in Advent.Types type Rep DailyLeaderboard = D1 ('MetaData "DailyLeaderboard" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) (C1 ('MetaCons "DLB" 'PrefixI 'True) (S1 ('MetaSel ('Just "dlbStar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Rank DailyLeaderboardMember)) :*: S1 ('MetaSel ('Just "dlbStar2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Rank DailyLeaderboardMember)))) |
data DailyLeaderboardMember Source #
Single daily leaderboard position
Since: 0.2.3.0
Constructors
DLBM | |
Fields
|
Instances
FromJSON DailyLeaderboardMember Source # | |||||
Defined in Advent.Types Methods parseJSON :: Value -> Parser DailyLeaderboardMember # parseJSONList :: Value -> Parser [DailyLeaderboardMember] # | |||||
ToJSON DailyLeaderboardMember Source # | |||||
Defined in Advent.Types Methods toJSON :: DailyLeaderboardMember -> Value # toEncoding :: DailyLeaderboardMember -> Encoding # toJSONList :: [DailyLeaderboardMember] -> Value # toEncodingList :: [DailyLeaderboardMember] -> Encoding # omitField :: DailyLeaderboardMember -> Bool # | |||||
Generic DailyLeaderboardMember Source # | |||||
Defined in Advent.Types Associated Types
Methods from :: DailyLeaderboardMember -> Rep DailyLeaderboardMember x # to :: Rep DailyLeaderboardMember x -> DailyLeaderboardMember # | |||||
Show DailyLeaderboardMember Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> DailyLeaderboardMember -> ShowS # show :: DailyLeaderboardMember -> String # showList :: [DailyLeaderboardMember] -> ShowS # | |||||
Eq DailyLeaderboardMember Source # | |||||
Defined in Advent.Types Methods (==) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (/=) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # | |||||
Ord DailyLeaderboardMember Source # | |||||
Defined in Advent.Types Methods compare :: DailyLeaderboardMember -> DailyLeaderboardMember -> Ordering # (<) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (<=) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (>) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (>=) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # max :: DailyLeaderboardMember -> DailyLeaderboardMember -> DailyLeaderboardMember # min :: DailyLeaderboardMember -> DailyLeaderboardMember -> DailyLeaderboardMember # | |||||
type Rep DailyLeaderboardMember Source # | |||||
Defined in Advent.Types type Rep DailyLeaderboardMember = D1 ('MetaData "DailyLeaderboardMember" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) (C1 ('MetaCons "DLBM" 'PrefixI 'True) ((S1 ('MetaSel ('Just "dlbmRank") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rank) :*: (S1 ('MetaSel ('Just "dlbmDecTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalDiffTime) :*: S1 ('MetaSel ('Just "dlbmUser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Integer Text)))) :*: (S1 ('MetaSel ('Just "dlbmLink") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "dlbmImage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "dlbmSupporter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) |
newtype GlobalLeaderboard Source #
Global leaderboard for the entire event
Under each Rank
is an Integer
for the score at that rank, as well as
a non-empty list of all members who achieved that rank and score.
Since: 0.2.3.0
Instances
FromJSON GlobalLeaderboard Source # | |||||
Defined in Advent.Types Methods parseJSON :: Value -> Parser GlobalLeaderboard # parseJSONList :: Value -> Parser [GlobalLeaderboard] # | |||||
ToJSON GlobalLeaderboard Source # | |||||
Defined in Advent.Types Methods toJSON :: GlobalLeaderboard -> Value # toEncoding :: GlobalLeaderboard -> Encoding # toJSONList :: [GlobalLeaderboard] -> Value # toEncodingList :: [GlobalLeaderboard] -> Encoding # omitField :: GlobalLeaderboard -> Bool # | |||||
Generic GlobalLeaderboard Source # | |||||
Defined in Advent.Types Associated Types
Methods from :: GlobalLeaderboard -> Rep GlobalLeaderboard x # to :: Rep GlobalLeaderboard x -> GlobalLeaderboard # | |||||
Show GlobalLeaderboard Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> GlobalLeaderboard -> ShowS # show :: GlobalLeaderboard -> String # showList :: [GlobalLeaderboard] -> ShowS # | |||||
Eq GlobalLeaderboard Source # | |||||
Defined in Advent.Types Methods (==) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (/=) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # | |||||
Ord GlobalLeaderboard Source # | |||||
Defined in Advent.Types Methods compare :: GlobalLeaderboard -> GlobalLeaderboard -> Ordering # (<) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (<=) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (>) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (>=) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # max :: GlobalLeaderboard -> GlobalLeaderboard -> GlobalLeaderboard # min :: GlobalLeaderboard -> GlobalLeaderboard -> GlobalLeaderboard # | |||||
FromTags "div" GlobalLeaderboard Source # | |||||
Defined in Advent.API | |||||
type Rep GlobalLeaderboard Source # | |||||
Defined in Advent.Types type Rep GlobalLeaderboard = D1 ('MetaData "GlobalLeaderboard" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'True) (C1 ('MetaCons "GLB" 'PrefixI 'True) (S1 ('MetaSel ('Just "glbMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Rank (Integer, NonEmpty GlobalLeaderboardMember))))) |
data GlobalLeaderboardMember Source #
Single global leaderboard position
Since: 0.2.3.0
Constructors
GLBM | |
Instances
FromJSON GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types Methods parseJSON :: Value -> Parser GlobalLeaderboardMember # parseJSONList :: Value -> Parser [GlobalLeaderboardMember] # | |||||
ToJSON GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types Methods toJSON :: GlobalLeaderboardMember -> Value # toEncoding :: GlobalLeaderboardMember -> Encoding # toJSONList :: [GlobalLeaderboardMember] -> Value # | |||||
Generic GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types Associated Types
Methods from :: GlobalLeaderboardMember -> Rep GlobalLeaderboardMember x # to :: Rep GlobalLeaderboardMember x -> GlobalLeaderboardMember # | |||||
Show GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> GlobalLeaderboardMember -> ShowS # show :: GlobalLeaderboardMember -> String # showList :: [GlobalLeaderboardMember] -> ShowS # | |||||
Eq GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types Methods (==) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (/=) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # | |||||
Ord GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types Methods compare :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Ordering # (<) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (<=) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (>) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (>=) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # max :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> GlobalLeaderboardMember # min :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> GlobalLeaderboardMember # | |||||
type Rep GlobalLeaderboardMember Source # | |||||
Defined in Advent.Types type Rep GlobalLeaderboardMember = D1 ('MetaData "GlobalLeaderboardMember" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) (C1 ('MetaCons "GLBM" 'PrefixI 'True) ((S1 ('MetaSel ('Just "glbmRank") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rank) :*: (S1 ('MetaSel ('Just "glbmScore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "glbmUser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Integer Text)))) :*: (S1 ('MetaSel ('Just "glbmLink") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "glbmImage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "glbmSupporter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) |
data NextDayTime Source #
The next day for a challenge in a given year, and also the number of seconds until the challenge is released.
Since: 0.2.8.0
Constructors
NextDayTime Day Int | |
NoNextDayTime |
Instances
Generic NextDayTime Source # | |||||
Defined in Advent.Types Associated Types
| |||||
Show NextDayTime Source # | |||||
Defined in Advent.Types Methods showsPrec :: Int -> NextDayTime -> ShowS # show :: NextDayTime -> String # showList :: [NextDayTime] -> ShowS # | |||||
Eq NextDayTime Source # | |||||
Defined in Advent.Types | |||||
Ord NextDayTime Source # | |||||
Defined in Advent.Types Methods compare :: NextDayTime -> NextDayTime -> Ordering # (<) :: NextDayTime -> NextDayTime -> Bool # (<=) :: NextDayTime -> NextDayTime -> Bool # (>) :: NextDayTime -> NextDayTime -> Bool # (>=) :: NextDayTime -> NextDayTime -> Bool # max :: NextDayTime -> NextDayTime -> NextDayTime # min :: NextDayTime -> NextDayTime -> NextDayTime # | |||||
FromTags "script" NextDayTime Source # | |||||
Defined in Advent.API | |||||
type Rep NextDayTime Source # | |||||
Defined in Advent.Types type Rep NextDayTime = D1 ('MetaData "NextDayTime" "Advent.Types" "advent-of-code-api-0.2.9.1-AmvmA4HcyYM3zOyZAbqzDZ" 'False) (C1 ('MetaCons "NextDayTime" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "NoNextDayTime" 'PrefixI 'False) (U1 :: Type -> Type)) |
Util
fullDailyBoard :: DailyLeaderboard -> Bool Source #
Check if a DailyLeaderboard
is filled up or not.
Since: 0.2.4.0
dlbmCompleteTime :: Integer -> Day -> NominalDiffTime -> ZonedTime Source #
Turn a dlbmDecTime
field into a ZonedTime
for the actual
completion of the puzzle, based on the year and day of event.
Since: 0.2.7.0
dlbmTime :: Day -> NominalDiffTime -> NominalDiffTime Source #
Turn a dlbmDecTime
field into a NominalDiffTime
representing the
actual amount of time taken to complete the puzzle.
Since: 0.2.7.0
Prompt release time.
Changed from UTCTime
to ZonedTime
in v0.2.7.0. To use as
a UTCTime
, use zonedTimeToUTC
.