[![CI Status](http://img.shields.io/travis/Tyler Thompson/Oriole.svg?style=flat)](https://travis-ci.org/Tyler Thompson/Oriole)
Oriole is a set of protocol extensions that add useful helper methods to Swift collections. Oriole resembles libraries like Dollar and ExSwift (which in turn take inspiration from Lodash), but with some ideological differences:
- Oriole uses Swift 2.0's new protocol extensions to provide more natural APIs.
- Oriole strives to be as generic as possible. Most methods extend CollectionType. Oriole extends concrete collections like Array, Set, and Dictionary only if necessary.
- Oriole fills in gaps in the Swift standard library. If a method is trivially reproducible by methods in the standard library, it is not included.
- Oriole prefers to implement functional solutions to problems. However, if an imperative solution is elegant and significantly more performant, it will replace the functional solution.
Oriole is in its infancy, but is growing rapidly. I aim to add at least one new tested extension a day until the project is complete.
Read the docs. Usage examples are forthcoming. The formatting will look a little funky until Jazzy officially supports Swift 2.0.
To run the example project, clone the repo, and run pod install
from the Example directory first.
This library is Swift 2.0 only due to its reliance on protocol extensions.
Oriole is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "Oriole"
Tyler Thompson, tyler@tylerpaulthompson.com
Oriole is available under the MIT license. See the LICENSE file for more info.