[Haskell-cafe] api-tools questions
Adam Gundry
adam at well-typed.com
Tue Sep 9 14:16:47 UTC 2014
Hi Karsten,
This isn't very well documented, but there is a (hidden) feature of
api-tools that should do what you want. If you say something like
mt :: MyTime = basic string with inj_MyTime, prj_MyTime
then you can define your own type MyTime and give conversion functions
inj_MyTime and prj_MyTime to convert back and forth from a
newtype-wrapped Text. (In fact, you could probably use UTCTime as
MyTime...). More precisely, api-tools will generate something like
newtype REP__MyTime = REP__MyTime Text
and you will need to implement
inj_MyTime :: REP__MyTime -> ParserWithErrs MyTime
prj_MyTime :: MyTime -> REP__MyTime
I hope this helps, and further questions or documentation contributions
are very welcome!
Cheers,
Adam
On 09/09/14 14:02, Karsten Gebbert wrote:
> Hi All,
>
> I have a question concerning the api-tools package.
>
> Its not clear from the tests, sources or the tutorial how I can use
> other date/time formats that the default `utc` type can handle. I'm
> trying to wrap a JSON API that is not under my control, so I have to
> adhere to whatever I get back from it. Could anybody with experience
> with the package point me to some example, relevant bits in the sources
> or a tip how to do it?
>
> I'm planning to create some more documentation around the package to
> contribute back once I figured out a few more details, because I think
> its quite a useful abstraction when dealing with (foreign) APIs IMO.
>
> Thanks already for any hints,
>
> karsten
--
Adam Gundry, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
More information about the Haskell-Cafe
mailing list