Commit Graph
17 Commits
Author SHA1 Message Date
Sergej Jaskiewicz f823f7b18c Introduce take() helper method 2022-02-01 18:58:40 +03:00
Sergej Jaskiewicz 1879860f35 I'm so tired of the Swift team breaking things on non-Darwin platforms
https://forums.swift.org/t/formalizing-the-unavailability-of-core-foundation/40216
2021-09-24 16:26:09 +03:00
Grigory Entin 3d61bf87e7 Fixed Timer(timeInterval:,repeats:,block:) not accounting timeInterval for the first fire date. (#196)
https://github.com/OpenCombine/OpenCombine/blob/master/Sources/OpenCombineFoundation/Helpers/Portability.swift#L58-L64

It looks like this was a typo/something overlooked, but basically, this `fire: Date()` breaks at least every timer publisher like `Timer.publish(every: timeInterval, on: .main, in: .default)`, as it basically results in the *first* event fired immediately vs in timeInterval. (Just in case, no, Combine does not fire that extra event).

* Fixed Timer(timeInterval:,repeats:,block:) not accounting timeInterval for the first fire date.

* Fixed Danger warning about line length.
2021-01-29 13:42:17 +00:00
Sergej Jaskiewicz b2f592611d Enable tests on Ubuntu using Swift 5.0 and make them pass 2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 6892923743 [Xcode 12] Update Timer publisher implementation and tests
The tests now pass in compatibility mode when run against iOS 14 Combine.
2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz e962ce1e3b [Xcode 12] Update OperationQueue scheduler implementation and tests
The tests now pass in compatibility mode when run against iOS 14 Combine.
2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz a3fecd18e6 [Xcode 12] Update RunLoop scheduler implementation and tests
The tests now pass in compatibility mode when run against iOS 14 Combine.
2020-10-29 19:49:34 +03:00
Maximilian Wendel c09e47f792 Fix OperationQueue scheduler on non-Darwin platforms before Swift 5.1 (#177) 2020-07-29 16:26:50 +03:00
Maximilian Wendel dd6be33016 Don't use PropertyListEncoder on non-Darwin platforms before Swift 5.1 (#176)
PropertyListEncoder and PropertyListDecoder are both unavailable prior to Swift 5.1, causing a build error for Swift 5.0.
2020-07-29 16:24:28 +03:00
Adam Leonardandadaml 0ca4c7658f Fix a build error on linux: kCFStringEncodingUTF8 is not defined. (#173)
Instead, use `CFStringBuiltInEncodings.UTF8.rawValue`.

Also fix a type error I was getting in a unit test.

Co-authored-by: adaml <adam@seesaw.me>
2020-07-21 16:05:48 +03:00
Alexey Salangin 8cf59d6d2a Fix some typos (#172) 2020-07-14 08:48:35 +03:00
Sergej Jaskiewicz 3f125b30e1 Implement OperationQueue scheduler (#165) 2020-06-26 15:40:15 +03:00
Max DesiatovandSergej Jaskiewicz fcc2a4350a Add TimerPublisher and Timer.publish (#156)
Co-authored-by: Sergej Jaskiewicz <jaskiewiczs@icloud.com>
2020-06-23 20:55:20 +03:00
Sergej Jaskiewicz d6b70ad309 Implement the RunLoop scheduler (#131) 2020-02-05 02:11:10 +03:00
Sergej Jaskiewicz c6536cf8d3 Implement URLSession.DataTaskPublisher (#127) 2019-12-13 16:44:03 +03:00
Sergej Jaskiewicz cf41c25cf7 Implement NotificationCenter.Publisher 2019-12-13 10:34:47 +03:00
Sergej Jaskiewicz b4557fb311 Create OpenCombineFoundation target
Implement TopLevelEncoder/TopLevelDecoder conformances for:

- JSONEncoder
- JSONDecoder
- PropertyListEncoder
- PropertyListDecoder
2019-12-13 10:34:47 +03:00