All Projects → tevelee → Funky

tevelee / Funky

Licence: MIT license
Funky is a functional utility library written in Objective-C.

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Funky

Swiftlyext
SwiftlyExt is a collection of useful extensions for Swift 3 standard classes and types 🚀
Stars: ✭ 31 (-24.39%)
Mutual labels:  functional, extension
Remeda
A utility library for JavaScript and TypeScript.
Stars: ✭ 774 (+1787.8%)
Mutual labels:  utility, functional
Eclipse Collections
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.
Stars: ✭ 1,828 (+4358.54%)
Mutual labels:  functional, collections
rudash
Rudash - Lodash for Ruby Apps
Stars: ✭ 27 (-34.15%)
Mutual labels:  utility, functional
Axocover
Nice and free .Net code coverage support for Visual Studio with OpenCover.
Stars: ✭ 237 (+478.05%)
Mutual labels:  coverage, extension
trembita
Model complex data transformation pipelines easily
Stars: ✭ 44 (+7.32%)
Mutual labels:  functional, collections
Pydash
The kitchen sink of Python utility libraries for doing "stuff" in a functional way. Based on the Lo-Dash Javascript library.
Stars: ✭ 728 (+1675.61%)
Mutual labels:  utility, functional
Smart Hierarchy
Better hierarchy for Unity.
Stars: ✭ 234 (+470.73%)
Mutual labels:  extension, collections
Pareto.js
An extremely small, intuitive and fast functional utility library for JavaScript
Stars: ✭ 254 (+519.51%)
Mutual labels:  utility, functional
Lens
A utility for working with nested data structures.
Stars: ✭ 104 (+153.66%)
Mutual labels:  utility, functional
Jsonmasking
Replace fields in json, replacing by something, don't care if property is in depth objects. Very useful to replace passwords credit card number, etc.
Stars: ✭ 95 (+131.71%)
Mutual labels:  utility, extension
ugo
Simple and expressive toolbox written in Go
Stars: ✭ 27 (-34.15%)
Mutual labels:  functional, collections
FFSafeKit
🤖Using NSArray, NSMutableArray, NSDictionary, NSMutableDictionary, NSMutableString safely.
Stars: ✭ 28 (-31.71%)
Mutual labels:  nsarray, nsdictionary
pyfuncol
Functional collections extension functions for Python
Stars: ✭ 32 (-21.95%)
Mutual labels:  functional, collections
angular-cli-skeleton
angular-cli skeleton to quickly start a new project with advanced features and best practices. All features are described in README.md.
Stars: ✭ 32 (-21.95%)
Mutual labels:  coverage
save-text-to-file-firefox
Firefox addon that saves highlighted text to a file.
Stars: ✭ 87 (+112.2%)
Mutual labels:  extension
awesome-singer-official-portal
A curated list of awesome singer official portals. Live Website ➡️
Stars: ✭ 45 (+9.76%)
Mutual labels:  collections
FastDMG
Fast, no-nonsense disk image mounting for macOS
Stars: ✭ 72 (+75.61%)
Mutual labels:  utility
HEAPUtil
Code for the RA-L (IROS) 2021 paper "A Hierarchical Dual Model of Environment- and Place-Specific Utility for Visual Place Recognition"
Stars: ✭ 46 (+12.2%)
Mutual labels:  utility
auto-click-auto-fill
Auto Click Auto Fill on any web page
Stars: ✭ 111 (+170.73%)
Mutual labels:  extension

Funky

CI Status Code coverage Documentation Version License Platform Language

Funky is a functional utility library written in Objective-C.

It provides a set of extension methods on NSArray, NSDictionary and NSSet for you to help dealing with common operations (usually in a functional way).

Documentation

Full documentation is available at tevelee.github.io/Funky

Installation with CocoaPods

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. You can install it with the following command:

$ sudo gem install cocoapods

To install Funky, simply add the following line to your Podfile:

pod "FunkyObjC"

then import using any of these

#import <Funky/NSArray+FunkyUtilities.h>
#import <Funky/NSDictionary+FunkyUtilities.h>
#import <Funky/NSSet+FunkyUtilities.h>

Usage

The framework contains a set of extension methods on NSArray, NSSet and NSDictionary.

Using them is as simle as

NSArray<NSNumber*>* numbers = @[@1, @2, @3];
NSArray<NSString*>* strings = [numbers map:^id(NSNumber* item) {
    return item.stringValue;
}];

or

bigNumbers = [numbers filter:^BOOL(NSNumber* item) {
    return item.intValue > 1000;
}];

Click here for the full list of utils, or visit tevelee.github.io/Funky for a detailed documentation

The framework includes some cool nil-tolerant collection behaviours as well:

NSArray* array = @[@0, @1, @2].nilTolerant;
NSLog(@"Items: %@", [array arrayByAddingObject:nil]);

Again, see the docs for more details

Help & Bug Reporting

In case you need help or want to report a bug - please file an issue. Make sure to provide as much information as you can, sample code also makes it a lot easier for me to help you.

Contribution

Anyone is more than welcome to contribute to Funky! It even can be an addition to the docs or to the code directly, by raising an issue or in form of a pull request. Both are equally valuable to me!

Future plans

Roadmap

  • Figuring out ways for lazy collections, so the order of map/filter/take won't matter and always compute only the most necessary computations. So if you operate a map function on a huge array, but at the end you filter only for a few, the mapping should only take effect on the very few you needed.

General guidelines

  • Active maintenance
  • Keep the >95% test and documentation coverage
  • Accepting suggestions and pull requests from the community

Author

I am Laszlo Teveli, software engineer, iOS evangelist.

Feel free to reach out to me anytime via tevelee [at] gmail [dot] com.

License

Funky is available under the MIT license. See the LICENSE file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].