@@ -11,36 +11,32 @@ module Data.Formatter.DateTime
11
11
12
12
import Prelude
13
13
14
- import Control.Bind ((=<<))
15
14
import Control.Lazy as Lazy
16
15
import Control.Monad.State (State , runState , put , modify )
17
- import Control.Monad.Trans (lift )
16
+ import Control.Monad.Trans.Class (lift )
18
17
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
25
18
import Data.Array (some )
26
19
import Data.Array as Arr
27
- import Data.DateTime as DT
20
+ import Data.Bifunctor ( lmap )
28
21
import Data.Date as D
29
- import Data.Time as T
22
+ import Data.DateTime as DT
30
23
import Data.DateTime.Instant (instant , toDateTime , fromDateTime , unInstant )
31
- import Data.Time.Duration as Dur
24
+ import Data.Either ( Either (..))
32
25
import Data.Enum (fromEnum , toEnum )
33
- import Data.Tuple (Tuple (..))
26
+ import Data.Functor.Mu (Mu , unroll , roll )
27
+ import Data.Int as Int
34
28
import 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 (..))
35
34
36
35
import Data.Formatter.Internal (digit , foldDigits )
37
36
38
37
import Text.Parsing.Parser as P
39
38
import Text.Parsing.Parser.Combinators as PC
40
39
import Text.Parsing.Parser.String as PS
41
- import Text.Parsing.Parser.Pos (initialPos )
42
-
43
-
44
40
45
41
data FormatterF a
46
42
= YearFull a
@@ -111,7 +107,7 @@ printFormatter f = printFormatterF printFormatter $ unroll f
111
107
112
108
parseFormatString ∷ String → Either String Formatter
113
109
parseFormatString s =
114
- lmap (\( P.ParseError {message}) → message) $ P .runParser s formatParser
110
+ lmap P .parseErrorMessage $ P .runParser s formatParser
115
111
116
112
117
113
placeholderContent ∷ P.Parser String String
@@ -180,7 +176,7 @@ formatF cb dt@(DT.DateTime d t) = case _ of
180
176
DayOfMonth a →
181
177
show (fromEnum $ D .day d) <> cb a
182
178
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
184
180
DayOfWeek a →
185
181
show (fromEnum $ D .weekday d) <> cb a
186
182
Hours24 a →
@@ -213,11 +209,11 @@ unformat f s =
213
209
let
214
210
run =
215
211
runState
216
- (P .runParserT ( P.PState {input: s, position: initialPos}) $ unformatParser f)
212
+ (P .runParserT s $ unformatParser f)
217
213
initialAccum
218
214
in
219
215
case run of
220
- Tuple (Left ( P.ParseError {message})) state → Left message
216
+ Tuple (Left err) _ → Left $ P .parseErrorMessage err
221
217
Tuple _ accum → unformatAccumToDateTime accum
222
218
223
219
data Meridiem = AM | PM
0 commit comments