OpenCombine

Open source implementation of Apple's Combine framework for processing values over time.

Github星跟蹤圖

OpenCombine

Build Status
codecov
Language
Platform

Open-source implementation of Apple's Combine framework for processing values over time.

The main goal of this project is to provide a compatible, reliable and efficient implementation which can be used on Apple's operating systems before macOS 10.15 and iOS 13, as well as Linux and Windows.

The project is in early development.

Contributing

In order to work on this project you will need Xcode 10.2 and Swift 5.0 or later.

Please refer to the issue #1 for the list of operators that remain unimplemented, as well as the RemainingCombineInterface.swift file. The latter contains the generated interface of Apple's Combine from the latest Xcode 11 version. When the functionality is implemented in OpenCombine, it should be removed from the RemainingCombineInterface.swift file.

You can refer to this gist to observe Apple's Combine API changes between different Xcode (beta) versions, or to this gist to see the relevant contents of the .swiftinterface file for Combine.

You can run compatibility tests against Apple's Combine. In order to do that you will need either macOS 10.14 with iOS 13 simulator installed (since the only way we can get Apple's Combine on macOS 10.14 is using the simulator), or macOS 10.15 (Apple's Combine is bundled with the OS). Execute the following command from the root of the package:

$ swift test -Xswiftc -DOPENCOMBINE_COMPATIBILITY_TEST

Or enable the -DOPENCOMBINE_COMPATIBILITY_TEST compiler flag in Xcode's build settings. Note that on iOS only the latter will work.

NOTE: Before starting to work on some feature, please consult the GitHub project to make sure that nobody's already making progress on the same feature! If not, then please create a draft PR to indicate that you're beginning your work.

主要指標

概覽
名稱與所有者OpenCombine/OpenCombine
主編程語言Swift
編程語言Swift (語言數: 7)
平台
許可證MIT License
所有者活动
創建於2019-06-11 06:33:37
推送於2024-01-24 12:53:23
最后一次提交2023-10-11 13:42:47
發布數16
最新版本名稱0.14.0 (發布於 )
第一版名稱0.1.0 (發布於 )
用户参与
星數2.8k
關注者數42
派生數212
提交數460
已啟用問題?
問題數71
打開的問題數16
拉請求數147
打開的拉請求數7
關閉的拉請求數31
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?