- Introduced the
Fetcherprotocol so that it’s easier now to create custom fetchers that don’t have write
- Speaking about fetchers, you can now transform the output value of a fetcher through
OneWayTransformerobjects, as opposed to the required
TwoWayTransformerobjects when transforming the values of a full-blown
- Speaking about transformers, you can now compose transformers as well (both
TwoWayTransformerare supported)! Operators and functions are the same as for composing cache levels
- More about transformers! Added a
AnyObject(to support both arrays and dictionaries) and back to
NSDatathat you can pipe to a
NetworkFetcherto get JSON out of it. This also means now there is a
CacheProvider.JSONCachein case you’re lazy about it :)
- Last thing about transformers, or about post processing to be more specific: it’s now possible to apply a post-processing to the output of a
OneWayTransformerthat doesn’t change the type of the
CacheLevel. As an example, you could resize images or sanitize the output in general
- Last but not least, added support for both
What is the future development?
We have a lot of ideas in mind for future versions of Carlos. Some of them will break its API, since the project is so young and there is no concept of stable API yet. But they will also make the library even better, easier to use, and more powerful at the same time.
If you’re curious, head over here.
The biggest idea we’re currently designing is the abstraction of cache levels and key/value transformers. We would like them to work the same way, so that one can not only compose cache layers, but actually chain them too.
How can I contribute?
Contributions are welcome! We’re in the early stage of development so your contributions could shape the design of Carlos.
If you want to contribute to the project, please:
- Create an issue explaining your problem and your solution
- Create a branch with the issue number and a short abstract of the feature name
- Implement your solution
- Write tests (untested features won’t be merged)
- When all the tests are written and green, create a pull request, with a short description of the approach taken
Thanks for reading! I’m really excited about the future of