{"id":17303999,"url":"https://github.com/owainlewis/hof","last_synced_at":"2025-03-26T23:12:28.597Z","repository":{"id":57631076,"uuid":"161837034","full_name":"owainlewis/hof","owner":"owainlewis","description":"Higher order functions for Golang","archived":false,"fork":false,"pushed_at":"2018-12-14T20:53:19.000Z","size":5,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T04:42:11.577Z","etag":null,"topics":["collections","functional-programming","golang","higher-order-functions"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/owainlewis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-14T20:27:41.000Z","updated_at":"2023-09-08T17:48:16.000Z","dependencies_parsed_at":"2022-09-26T20:11:37.795Z","dependency_job_id":null,"html_url":"https://github.com/owainlewis/hof","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owainlewis%2Fhof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owainlewis%2Fhof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owainlewis%2Fhof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owainlewis%2Fhof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owainlewis","download_url":"https://codeload.github.com/owainlewis/hof/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245749905,"owners_count":20666086,"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":["collections","functional-programming","golang","higher-order-functions"],"created_at":"2024-10-15T11:51:56.044Z","updated_at":"2025-03-26T23:12:28.573Z","avatar_url":"https://github.com/owainlewis.png","language":"Go","readme":"# HOF\n\nHOF is a set of higher order function utilities for working with core Golang types.\n\nGolang looping constructs can often lead to verbose, hard to read code. This library makes\nbasic data transformation tasks easier to reason about whilst still maintaining good performance.\n\nThis library uses code generation rather than reflection so there should be no performance hit when\nusing these utilities.\n\n## Example\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"github.com/owainlewis/hof/pkg/collections\"\n)\n\nfunc main() {\n\tdata := []int{1, 2, 3, 4, 5}\n\n\tdl := collections.\n\t\tNewIntList(data).\n\t\tFilter(func(n int) bool { return n \u003e 3 }).\n\t\tMap(func(n int) int { return n + 1 }).\n\t\tGet()\n\n\tfmt.Printf(\"Result %v\\n\", dl)\n\n}\n```\n\n## Map\n\n## Filter\n\n## Select\n\n## Take\n\n## Any\n\n## All\n\n## Reduce\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowainlewis%2Fhof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowainlewis%2Fhof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowainlewis%2Fhof/lists"}