{"id":17982868,"url":"https://github.com/tevelee/funky","last_synced_at":"2025-03-25T19:31:44.716Z","repository":{"id":19255335,"uuid":"85928756","full_name":"tevelee/Funky","owner":"tevelee","description":"Funky is a functional utility library written in Objective-C.","archived":false,"fork":false,"pushed_at":"2023-01-25T03:17:27.000Z","size":61554,"stargazers_count":43,"open_issues_count":5,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-16T07:15:57.149Z","etag":null,"topics":["cocoapods","collections","coverage","extension","functional","nsarray","nsdictionary","nsset","objective-c","utility"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tevelee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-23T09:06:10.000Z","updated_at":"2025-02-08T13:21:33.000Z","dependencies_parsed_at":"2023-02-14T04:16:04.689Z","dependency_job_id":null,"html_url":"https://github.com/tevelee/Funky","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tevelee%2FFunky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tevelee%2FFunky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tevelee%2FFunky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tevelee%2FFunky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tevelee","download_url":"https://codeload.github.com/tevelee/Funky/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245530301,"owners_count":20630523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cocoapods","collections","coverage","extension","functional","nsarray","nsdictionary","nsset","objective-c","utility"],"created_at":"2024-10-29T18:15:26.205Z","updated_at":"2025-03-25T19:31:43.865Z","avatar_url":"https://github.com/tevelee.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Funky\n\n[![CI Status](https://travis-ci.org/tevelee/Funky.svg?branch=master\u0026style=flat)](https://travis-ci.org/tevelee/Funky)\n[![Code coverage](https://codecov.io/github/tevelee/Funky/coverage.svg?branch=master)](https://codecov.io/github/tevelee/Funky?branch=master)\n[![Documentation](https://tevelee.github.io/Funky/badge.svg)](https://tevelee.github.io/Funky)\n[![Version](https://img.shields.io/cocoapods/v/FunkyObjC.svg?style=flat)](http://cocoapods.org/pods/FunkyObjC)\n[![License](https://img.shields.io/cocoapods/l/FunkyObjC.svg?style=flat)](http://cocoapods.org/pods/FunkyObjC)\n[![Platform](https://img.shields.io/cocoapods/p/FunkyObjC.svg?style=flat)](http://cocoapods.org/pods/FunkyObjC)\n![Language](https://img.shields.io/badge/language-Objective--C-blue.svg)\n\nFunky is a functional utility library written in Objective-C.\n\nIt provides a set of extension methods on NSArray, NSDictionary and NSSet  for you to help dealing with common operations (usually in a functional way).\n\n## Documentation\n\nFull documentation is available at [tevelee.github.io/Funky](https://tevelee.github.io/Funky)\n\n## Installation with CocoaPods\n\n[CocoaPods](http://cocoapods.org) is a dependency manager for Swift and Objective-C Cocoa projects. You can install it with the following command:\n\n```bash\n$ sudo gem install cocoapods\n```\n\nTo install Funky, simply add the following line to your `Podfile`:\n\n```ruby\npod \"FunkyObjC\"\n```\n\nthen import using any of these \n\n```obj-c\n#import \u003cFunky/NSArray+FunkyUtilities.h\u003e\n#import \u003cFunky/NSDictionary+FunkyUtilities.h\u003e\n#import \u003cFunky/NSSet+FunkyUtilities.h\u003e\n```\n\n## Usage\n\nThe framework contains a set of extension methods on NSArray, NSSet and NSDictionary.\n\nUsing them is as simle as\n\n```obj-c\nNSArray\u003cNSNumber*\u003e* numbers = @[@1, @2, @3];\nNSArray\u003cNSString*\u003e* strings = [numbers map:^id(NSNumber* item) {\n    return item.stringValue;\n}];\n```\n\nor\n\n```obj-c\nbigNumbers = [numbers filter:^BOOL(NSNumber* item) {\n    return item.intValue \u003e 1000;\n}];\n```\n\n**[Click here for the full list of utils](https://tevelee.github.io/Funky/Categories/NSArray(FunkyUtilities).html), or visit [tevelee.github.io/Funky](https://tevelee.github.io/Funky) for a detailed documentation**\n\nThe framework includes some cool nil-tolerant collection behaviours as well:\n\n```obj-c\nNSArray* array = @[@0, @1, @2].nilTolerant;\nNSLog(@\"Items: %@\", [array arrayByAddingObject:nil]);\n```\n\n**Again, see the [docs for more details](https://tevelee.github.io/Funky)**\n\n## Help \u0026 Bug Reporting\n\nIn case you need help or want to report a bug - please file an [issue](https://github.com/tevelee/Funky/issues/new). Make sure to provide as much information as you can, sample code also makes it a lot easier for me to help you.\n\n## Contribution\n\nAnyone 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!\n\n## Future plans\n\n### Roadmap\n\n- 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.\n\n### General guidelines\n\n- Active maintenance\n- Keep the \u003e95% test and documentation coverage\n- Accepting suggestions and pull requests from the community\n\n## Author\n\nI am Laszlo Teveli, software engineer, iOS evangelist.\n\nFeel free to reach out to me anytime via tevelee [at] gmail [dot] com.\n\n## License\n\nFunky is available under the MIT license. See the LICENSE file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftevelee%2Ffunky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftevelee%2Ffunky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftevelee%2Ffunky/lists"}