@@ -25,7 +25,9 @@ import Data.UUID (UUID)
2525import qualified Data.UUID as UUID
2626import qualified Data.UUID.V4 as UUID.V4
2727#ifndef ghcjs_HOST_OS
28+#ifdef USE_CASSAVA
2829import Data.Csv as Csv hiding(Name)
30+#endif
2931#ifdef USE_POSTGRES
3032import Database.PostgreSQL.Simple.FromField as PG (FromField)
3133import Database.PostgreSQL.Simple.ToField as PG (ToField)
@@ -102,12 +104,14 @@ instance PathPiece (Id t) where
102104
103105#ifndef ghcjs_HOST_OS
104106
107+#ifdef USE_CASSAVA
105108instance Csv.FromField (Id tag) where
106109 parseField = parseField
107110 >=> fmap mkId . maybe (fail "invalid UUID in CSV") pure . UUID.fromText
108111
109112instance Csv.ToField (Id tag) where
110113 toField = Csv.toField . UUID.toText . coerce
114+#endif
111115
112116#endif
113117
@@ -135,7 +139,10 @@ newtype IntId t = IntId { unIntId :: Integer }
135139 ( Eq, Ord, Binary
136140#ifndef ghcjs_HOST_OS
137141#ifdef USE_POSTGRES
138− , PG.ToField, PG.FromField, Csv.ToField, Csv.FromField
142+ , PG.ToField, PG.FromField
143+#endif
144+#ifdef USE_CASSAVA
145+ , Csv.ToField, Csv.FromField
139146#endif
140147#endif
141148 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
@@ -175,7 +182,10 @@ newtype Name t = Name { unName :: Text }
175182 ( Eq, Ord, Binary
176183#ifndef ghcjs_HOST_OS
177184#ifdef USE_POSTGRES
178− , PG.ToField, PG.FromField, Csv.ToField, Csv.FromField
185+ , PG.ToField, PG.FromField
186+#endif
187+#ifdef USE_CASSAVA
188+ , Csv.ToField, Csv.FromField
179189#endif
180190#endif
181191 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema