Commit Graph

264 Commits

Author SHA1 Message Date
Sergej Jaskiewicz 8a0bb6f846 [Xcode 12] Update Publishers.Debounce 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 142811c500 [Xcode 12] Update @Published 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 3b1cff9337 [Xcode 12] Implement Optional.publisher property 2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz efb4369c74 [Xcode 12] Add new flatMap(maxPublishers:_:) overloads 2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 9d87a3b4ea [Xcode 12] Update Publishers.Buffer 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 4714b80631 [Xcode 12] Update Publishers.Drop 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 b2f592611d Enable tests on Ubuntu using Swift 5.0 and make them pass 2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 8832baa05b [Xcode 12] Update Publishers.ReplaceError 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 11fdf7eaf3 [Xcode 12] Update Publishers.[Encode|Decode] 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 059a86d393 [Xcode 12] Update Publishers.CompactMap 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 c1b4d93a0f [Xcode 12] Update Publishers.Filter 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 fb184ceebe [Xcode 12] Add new switchToLatest() overloads 2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 69b50074ff [Xcode 12] Update AnyPublisher and AnySubscriber initializers
The new version avoids double boxing.
2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 7351cd671c [Xcode 12] Update documentation 2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 26e112f894 [Xcode 12] Implement _Introspection functionality
_Introspection allows to observe the subscription graph and data flow.
2020-10-29 19:49:34 +03:00
Sergej Jaskiewicz 6c732515d8 [Xcode 12] Update Publishers.Delay 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 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 f8809ffac4 [Xcode 12] Update Publishers.HandleEvents 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 5da402bb2c Fix a deprecation warning in Publishers.Breakpoint implementation 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 19df744bf1 [Xcode 12] Update Publishers.ReceiveOn 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 69cc5a92c2 [Xcode 12] Update Publishers.Timeout 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 cb22cc98f2 [Xcode 12] Update Publishers.Sequence 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 22cf5b69ba [Xcode 12] Update Publishers.SubscribeOn 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
Sergej Jaskiewicz 48c6f2999b [Xcode 12] Update Publishers.MeasureInterval 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 91297ae63a [Xcode 12] Update Publishers.IgnoreOutput 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 6f61dcc083 [Xcode 12] Update Subscribers.Assign 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 24eca2fab8 [Xcode 12] Update Publishers.Breakpoint 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 9b3c36124f [Xcode 12] Update Subscribers.Sink 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 1b017e1dfc [Xcode 12] Update DispatchQueue.SchedulerTimeType.Stride 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 32b3aeb94c [Xcode 12] Update CombineIdentifier 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 579d174288 [Xcode 12] Update Publishers.Concatenate 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 cb99f8b298 Make downstreamSubject a weak property in SubjectSubscriber (#187)
This is how it is in Combine.

Fixes #186.
2020-10-23 13:48:43 +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 Leonard 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 1cfb4a2eae Implement Publishers.Debounce (#133) 2020-06-28 19:50:45 +03:00
Sergej Jaskiewicz 2b64b7981d Implement Publishers.Timeout (#164) 2020-06-28 14:31:15 +03:00
Sergej Jaskiewicz 3f125b30e1 Implement OperationQueue scheduler (#165) 2020-06-26 15:40:15 +03:00
Sergej Jaskiewicz c9e7293a2a Fix behavior of CurrentValueSubject when setting new value after completion 2020-06-26 11:38:57 +03:00
Sergej Jaskiewicz f04053e1eb A more efficient and correct implementation of Future 2020-06-26 00:11:34 +03:00
Sergej Jaskiewicz af510706d7 A more efficient and correct implementation of CurrentValueSubject 2020-06-26 00:11:34 +03:00
Sergej Jaskiewicz 29fbf7de31 A more efficient and correct implementation of PassthroughSubject 2020-06-26 00:11:34 +03:00
Sergej Jaskiewicz 102eef88a0 Implement ConduitList 2020-06-26 00:11:34 +03:00
Max Desiatov 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 b2784a1011 Implement Publishers.Catch and Publishers.TryCatch (#140) 2020-06-11 22:17:16 +03:00
Vuk Radosavljevic d680f09932 Change collection to set in documentation (#151) 2020-04-10 10:16:26 +01:00
Sergej Jaskiewicz 30b5dd4c2f Update for Xcode 11.4 release (#150) 2020-03-28 21:23:57 +03:00