{"id":13489430,"url":"https://github.com/luoxiu/CombineX","last_synced_at":"2025-03-28T04:31:12.048Z","repository":{"id":56906379,"uuid":"382874551","full_name":"luoxiu/CombineX","owner":"luoxiu","description":"Open source implementation of Apple's Combine","archived":false,"fork":true,"pushed_at":"2021-07-04T14:47:26.000Z","size":13631,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T09:46:58.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"cx-org/CombineX","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luoxiu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-07-04T14:39:26.000Z","updated_at":"2023-03-05T06:35:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/luoxiu/CombineX","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luoxiu%2FCombineX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luoxiu%2FCombineX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luoxiu%2FCombineX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luoxiu%2FCombineX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luoxiu","download_url":"https://codeload.github.com/luoxiu/CombineX/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245970537,"owners_count":20702436,"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":[],"created_at":"2024-07-31T19:00:27.516Z","updated_at":"2025-03-28T04:31:11.524Z","avatar_url":"https://github.com/luoxiu.png","language":null,"funding_links":[],"categories":["Open Source","Samples"],"sub_categories":[],"readme":"# CombineX\n\n[![Github CI Status](https://github.com/cx-org/CombineX/workflows/CI/badge.svg)](https://github.com/cx-org/CombineX/actions)\n[![Release](https://img.shields.io/github/release-pre/cx-org/combinex)](https://github.com/cx-org/CombineX/releases)\n![Install](https://img.shields.io/badge/install-Swift_PM%20%7C%20CocoaPods%20%7C%20Carthage-ff69b4)\n![Supported Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20iOS%20%7C%20watchOS%20%7C%20tvOS-lightgrey)\n[![Discord](https://img.shields.io/badge/chat-discord-9cf)](https://discord.gg/9vzqgZx)\n\n[简体中文](README_zh-Hans.md)\n\nOpen-source implementation of Apple's [Combine](https://developer.apple.com/documentation/combine) for processing values over time.\n\n\u003e Though CombineX have implemented all the Combine interface, the project is still in early development.\n\n## What is Combine\n\n\u003e Customize handling of asynchronous events by combining event-processing operators. -- Apple\n\n`Combine` is a [Functional Reactive Programming (FRP)](https://en.wikipedia.org/wiki/Functional_reactive_programming) framework launched by Apple at WWDC 2019. It will definitely be the cornerstone of Swift programming in the foreseeable future.\n\n## Get Started\n\n\u003e If you develop a library, it's recommended to use [`CXShim`](https://github.com/cx-org/CXShim) so your library is compatible with SwiftUI.\n\n### Requirements\n\n- Swift 5.0+ (Xcode 10.2+)\n\n### Installation\n\n#### Swift Package Manager (Recommended)\n\n```swift\npackage.dependencies += [\n    .package(url: \"https://github.com/cx-org/CombineX\", from: \"0.3.2\"),\n]\n```\n\n#### CocoaPods\n\n```ruby\npod 'CombineX', \"~\u003e 0.3.2\"\n\n# or, if you want to use `Foundation` extensions: \npod 'CombineX/CXFoundation', \"~\u003e 0.3.2\"\n```\n\n#### Carthage\n\n```carthage\ngithub \"cx-org/CombineX\" ~\u003e 0.3.2\n```\n\n## Related Projects\n\nThese libraries bring additional functionality to Combine. They are all [Combine Compatible Package](https://github.com/cx-org/CombineX/wiki/Combine-Compatible-Package) and you're free to switch underlying Combine implementation between `CombineX` and Apple's `Combine`.\n\n- [CXTest](https://github.com/cx-org/CXTest): test infrastructure for Combine. It provides useful test utilities like `TracingSubscriber` and `VirtualTimeScheduler`.\n- [CXExtensions](https://github.com/cx-org/CXExtensions): provides a collection of useful extensions for Combine, such as `IgnoreError`, `DelayedAutoCancellable`, etc.\n- [CXCocoa](https://github.com/cx-org/CXCocoa): provides Combine extensions to `Cocoa`, such as `KVO+Publisher`, `Method Interception`, `UIBinding`, `Delegate Proxy`, etc.\n\n## License\n\nCombineX is released under the MIT license. See [LICENSE](LICENSE) for details.\n\nThe following files are adapted from the Swift open source project:\n\n- [Publishers+KeyValueObserving](Sources/CXFoundation/Publishers+KeyValueObserving.swift)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluoxiu%2FCombineX","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluoxiu%2FCombineX","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluoxiu%2FCombineX/lists"}