@@ -8,8 +8,8 @@ module Text.Markdown.SlamDown.Syntax.TextBox
88import Prelude
99
1010import Data.DateTime as DT
11- import Data.Decimal as D
1211import Data.Eq (class Eq1 )
12+ import Data.HugeNum as HN
1313import Data.Identity (Identity (..))
1414import Data.Newtype (unwrap )
1515import Data.Ord (class Ord1 )
@@ -41,7 +41,7 @@ instance coarbitraryTimePrecision ∷ SCA.Coarbitrary TimePrecision where
4141
4242data TextBox f
4343 = PlainText (f String )
44- | Numeric (f D.Decimal )
44+ | Numeric (f HN.HugeNum )
4545 | Date (f DT.Date )
4646 | Time TimePrecision (f DT.Time )
4747 | DateTime TimePrecision (f DT.DateTime )
@@ -62,23 +62,23 @@ traverseTextBox eta = case _ of
6262 Time prec def → Time prec <$> eta def
6363 DateTime prec def → DateTime prec <$> eta def
6464
65- instance showTextBox ∷ (Functor f , Show (f String ), Show (f D.Decimal ), Show (f DT.Time ), Show (f DT.Date ), Show (f DT.DateTime )) ⇒ Show (TextBox f ) where
65+ instance showTextBox ∷ (Functor f , Show (f String ), Show (f HN.HugeNum ), Show (f DT.Time ), Show (f DT.Date ), Show (f DT.DateTime )) ⇒ Show (TextBox f ) where
6666 show = case _ of
6767 PlainText def → " (PlainText " <> show def <> " )"
6868 Numeric def → " (Numeric " <> show def <> " )"
6969 Date def → " (Date " <> show def <> " )"
7070 Time prec def → " (Time " <> show prec <> " " <> show def <> " )"
7171 DateTime prec def → " (DateTime " <> show prec <> " " <> show def <> " )"
7272
73- derive instance eqTextBox ∷ (Functor f , Eq (f String ), Eq (f D.Decimal ), Eq (f DT.Time ), Eq (f DT.Date ), Eq (f DT.DateTime ), Eq1 f ) ⇒ Eq (TextBox f )
74- derive instance ordTextBox ∷ (Functor f , Ord (f String ), Ord (f D.Decimal ), Ord (f DT.Time ), Ord (f DT.Date ), Ord (f DT.DateTime ), Ord1 f ) ⇒ Ord (TextBox f )
73+ derive instance eqTextBox ∷ (Functor f , Eq (f String ), Eq (f HN.HugeNum ), Eq (f DT.Time ), Eq (f DT.Date ), Eq (f DT.DateTime ), Eq1 f ) ⇒ Eq (TextBox f )
74+ derive instance ordTextBox ∷ (Functor f , Ord (f String ), Ord (f HN.HugeNum ), Ord (f DT.Time ), Ord (f DT.Date ), Ord (f DT.DateTime ), Ord1 f ) ⇒ Ord (TextBox f )
7575
7676instance arbitraryTextBox ∷ (Functor f , SCA.Arbitrary (f String ), SCA.Arbitrary (f Number ), SCA.Arbitrary (f ADT.ArbTime ), SCA.Arbitrary (f ADT.ArbDate ), SCA.Arbitrary (f ADT.ArbDateTime )) ⇒ SCA.Arbitrary (TextBox f ) where
7777 arbitrary = do
7878 i ← Gen .chooseInt 0 5
7979 case i of
8080 0 → PlainText <$> SCA .arbitrary
81- 1 → Numeric <<< map D .fromNumber <$> SCA .arbitrary
81+ 1 → Numeric <<< map HN .fromNumber <$> SCA .arbitrary
8282 2 → Date <<< map ADT .runArbDate <$> SCA .arbitrary
8383 3 → Time <$> SCA .arbitrary <*> (map (eraseMillis <<< ADT .runArbTime) <$> SCA .arbitrary)
8484 4 → DateTime <$> SCA .arbitrary <*> (map (DT .modifyTime eraseMillis <<< ADT .runArbDateTime) <$> SCA .arbitrary)
@@ -88,7 +88,7 @@ instance coarbitraryTextBox ∷ (Functor f, SCA.Coarbitrary (f String), SCA.Coar
8888 coarbitrary =
8989 case _ of
9090 PlainText d -> SCA .coarbitrary d
91- Numeric d -> SCA .coarbitrary $ D .toNumber <$> d
91+ Numeric d -> SCA .coarbitrary $ HN .toNumber <$> d
9292 Date d -> SCA .coarbitrary (ADT.ArbDate <$> d)
9393 Time prec d -> do
9494 _ ← SCA .coarbitrary prec
0 commit comments