@@ -11,36 +11,32 @@ module Data.Formatter.DateTime
1111
1212import Prelude
1313
14- import Control.Bind ((=<<))
1514import Control.Lazy as Lazy
1615import Control.Monad.State (State , runState , put , modify )
17- import Control.Monad.Trans (lift )
16+ import Control.Monad.Trans.Class (lift )
1817
19- import Data.Int as Int
20- import Data.Bifunctor (lmap )
21- import Data.Functor (($>))
22- import Data.Functor.Mu (Mu , unroll , roll )
23- import Data.Either (Either (..))
24- import Data.String as Str
2518import Data.Array (some )
2619import Data.Array as Arr
27- import Data.DateTime as DT
20+ import Data.Bifunctor ( lmap )
2821import Data.Date as D
29- import Data.Time as T
22+ import Data.DateTime as DT
3023import Data.DateTime.Instant (instant , toDateTime , fromDateTime , unInstant )
31- import Data.Time.Duration as Dur
24+ import Data.Either ( Either (..))
3225import Data.Enum (fromEnum , toEnum )
33- import Data.Tuple (Tuple (..))
26+ import Data.Functor.Mu (Mu , unroll , roll )
27+ import Data.Int as Int
3428import Data.Maybe (Maybe (..), maybe , isJust , fromMaybe )
29+ import Data.Newtype (unwrap )
30+ import Data.String as Str
31+ import Data.Time as T
32+ import Data.Time.Duration as Dur
33+ import Data.Tuple (Tuple (..))
3534
3635import Data.Formatter.Internal (digit , foldDigits )
3736
3837import Text.Parsing.Parser as P
3938import Text.Parsing.Parser.Combinators as PC
4039import Text.Parsing.Parser.String as PS
41- import Text.Parsing.Parser.Pos (initialPos )
42-
43-
4440
4541data FormatterF a
4642 = YearFull a
@@ -111,7 +107,7 @@ printFormatter f = printFormatterF printFormatter $ unroll f
111107
112108parseFormatString ∷ String → Either String Formatter
113109parseFormatString s =
114- lmap (\( P.ParseError {message}) → message) $ P .runParser s formatParser
110+ lmap P .parseErrorMessage $ P .runParser s formatParser
115111
116112
117113placeholderContent ∷ P.Parser String String
@@ -180,7 +176,7 @@ formatF cb dt@(DT.DateTime d t) = case _ of
180176 DayOfMonth a →
181177 show (fromEnum $ D .day d) <> cb a
182178 UnixTimestamp a →
183- (show $ Int .floor $ (_ / 1000.0 ) $ Dur .unMilliseconds $ unInstant $ fromDateTime dt) <> cb a
179+ (show $ Int .floor $ (_ / 1000.0 ) $ unwrap $ unInstant $ fromDateTime dt) <> cb a
184180 DayOfWeek a →
185181 show (fromEnum $ D .weekday d) <> cb a
186182 Hours24 a →
@@ -213,11 +209,11 @@ unformat f s =
213209 let
214210 run =
215211 runState
216- (P .runParserT ( P.PState {input: s, position: initialPos}) $ unformatParser f)
212+ (P .runParserT s $ unformatParser f)
217213 initialAccum
218214 in
219215 case run of
220- Tuple (Left ( P.ParseError {message})) state → Left message
216+ Tuple (Left err) _ → Left $ P .parseErrorMessage err
221217 Tuple _ accum → unformatAccumToDateTime accum
222218
223219data Meridiem = AM | PM
0 commit comments