Asterism
I've been working on Asterism for quite a while now, but I only recently got around to put up proper documentation.
Asterism is a functional toolbelt that uses overloaded C functions to unify its API. This allows you to use the same method for different data structures and block types:
ASTEach(@[ @"a", @"b", @"c" ], ^(NSString *letter) {
NSLog(@"%@", letter);
});
ASTEach(@[ @"a", @"b", @"c" ], ^(NSString *letter, NSUInteger index) {
NSLog(@"%u: %@", index, letter);
});
ASTEach(@{ @"foo": @"bar" }, ^(NSString *key, NSString *value) {
NSLog(@"%@: %@", key, value);
});
It supports all the usual methods for NSArray
, NSDictionary
, NSSet
and
NSOrderedSet
.
You can check out Asterism on GitHub and of course, install it through CocoaPods.
Posted in working-on