apicollective / apibuilder-generator

MIT License
54 stars 36 forks source link

Break up generated scala clients into client api and client impl #44

Open gheine opened 9 years ago

gheine commented 9 years ago

In order to provide add-on features on top of the generated apidoc clients it would help if there is an option to download an implementation agnostic abstract client, that only contains the client interface, but not the concrete http client (ning, play, etc) and json serialization implementations.

Ideally when downloading e.g. the play 2.4 client, I get 4 files to download:

amarrella commented 6 years ago

Hey, I was wondering if there is still interest in this ticket? It would be cool to implement it with the finally tagless pattern.

gheine commented 6 years ago

Well, the client is broken into a pure trait and an impl class for a while and likewise for the operations, so we could break them out into separate files, we'd just need to do this in a backward compatible manner, so that existing projects will still get the traits + impls. How would this help wrt final tagless pattern? Could you give a quick example?