Sergej Jaskiewicz
b6aea2957a
Use proper xcconfigs to fix CI
2019-11-29 22:06:34 +03:00
Sergej Jaskiewicz
9219c8841c
Allow enumerating fields of value types
2019-11-29 21:08:51 +03:00
Sergej Jaskiewicz
5a41e2976c
Useheaders from Swift repo for runtime introspection
2019-11-29 19:05:13 +03:00
Sergej Jaskiewicz
e48d5d4492
Move headers into folders
2019-11-29 15:58:42 +03:00
Sergej Jaskiewicz
9b81672df8
Add dedicated tests for enumerateFields
2019-11-29 15:41:58 +03:00
Sergej Jaskiewicz
d5944290e6
Make ObservableObject.objectWillChange available in Swift 5.0
2019-11-26 17:56:01 +03:00
Sergej Jaskiewicz
a3e361a29a
Add TrailingObjects.h
...
[skip ci]
2019-11-26 17:51:08 +03:00
Sergej Jaskiewicz
0dc2015ec6
Add SWIFT_VERSION setting to Combine-Compatibility.xcconfig
2019-11-26 17:51:08 +03:00
Sergej Jaskiewicz
1e6a7cd3b6
[WIP] Support generic ObservableObjects
2019-11-26 17:49:17 +03:00
Sergej Jaskiewicz
acb1b5996a
[ObservableObject] Add a test for NSObject subclass
2019-11-26 17:49:17 +03:00
Sergej Jaskiewicz
77e7ff75fb
Compute OPENCOMBINE_SWIFT_CLASS_IS_SWIFT_MASK at runtime
...
based on the OS version.
2019-11-26 17:49:17 +03:00
Sergej Jaskiewicz
26d6dc9971
[COpenCombineHelpers] Support C++ 14
...
The CI complains about missing headers, so let's reimplement std::string_view ourselves.
2019-11-26 17:49:17 +03:00
Sergej Jaskiewicz
280ea0ac9a
Fix ObservableObject behavior for subclasses of resilient classes
2019-11-26 17:49:17 +03:00
Sergej Jaskiewicz
8798739caa
[WIP] [ObservableObject] Make some tests pass
2019-11-26 17:49:07 +03:00
Sergej Jaskiewicz
c6c79144c5
Implement ObservableObject protocol
2019-11-26 17:48:50 +03:00
Sergej Jaskiewicz
7c5a76cf2b
Fix @Published ( #112 )
2019-11-26 17:46:01 +03:00
Max Desiatov
668c292245
Add more tests for the Future publisher ( #111 )
2019-11-26 14:23:51 +03:00
Max Desiatov
981ab4fa09
Add Future publisher with tests ( #107 )
2019-11-26 02:15:43 +03:00
Sergej Jaskiewicz
8cf71e0122
If Multicast receives subscription twice, cancel the second one ( #110 )
2019-11-25 16:52:55 +03:00
Max Desiatov
130125cb66
Use demand.assertNonZero() in PassthroughSubject ( #108 )
2019-11-24 21:44:14 +03:00
Daniel Peter
7b3ceae666
CocoaPods support ( #103 )
2019-11-24 21:17:13 +03:00
Max Desiatov
56202b1663
Fix typo in FilterProducer.swift
...
> subsription
2019-11-22 20:12:34 +03:00
Sergej Jaskiewicz
d0a02de7c5
Warn about unguarded availability in C++ code. Fix the warnings.
2019-11-21 20:18:28 +03:00
Sergej Jaskiewicz
c8058edc5f
Test that Sink calls the callbacks even without upstream subscription
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
8b685f78a3
Test that ReplaceError saves demand until subscription arrives
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
0816abe33c
Remove superfluous 'disable' swiftlint command
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
b6c7560f4c
Use pthread_mutex_t instead of std::mutex on non-Darwin platforms
...
std::mutex doesn't guarantee error checks.
With pthread, we can enable them manually.
Error checks are essential, since the client code may bay be crafted
in such a way that causes a non-recursive lock to be recursively
acuired, which is undefined behavior with std::mutex.
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
7a9e8b22d2
Bump iOS version for compatibility tests in CircleCI config
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
26f9acd75a
Reimplement FlatMap to make all the tests pass
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
4c42b434ca
Add more tests for FlatMap
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
8afe945325
Test that CombineIdentifier uses UInt64 under the hood
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
eb879213ef
Automatically confirm apt install
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
e402fb3980
Remove redundant Self
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
4f96378c02
Remove OperatorSubscription class
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
243f3d200e
Implement PrefixWhile, TryPrefixWhile using FilterProducer
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
f1fb5552b5
Implement RemoveDuplicates, TryRemoveDuplicates using FilterProducer
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
bfd875ccba
Simplify CompactMap and TryCompactMap using FilterProducer
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
27da28f378
Simplify Filter and TryFilter using FilterProducer
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
cba3a69e74
Implement FilterProducer
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
d634a76c39
A more robust test for Subscribers.Assign
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
b5e31a43ef
Fix ReplaceError subscription behavior
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
1bb3583a36
More tests for contract violations in operators
...
- test the behavior when a value arrives earlier than the subscription
- test the behavior when a completion arrives earlier than
the subscription
- test the behavior when requesting before a subscription arrives
- test the behavior when cancelling before a subscription arrives
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
449b8eef48
Test that Record doesn't finilize its Recording
2019-11-19 18:38:01 +03:00
Sergej Jaskiewicz
d4bdd83a00
Implement the Record publisher
2019-11-12 17:31:29 +03:00
Sergej Jaskiewicz
f1cc94adff
Implement Publishers.Output
2019-11-11 20:26:31 +03:00
Sergej Jaskiewicz
5e1e10a780
Add CircleCI badge
2019-11-10 15:00:50 +03:00
Sergej Jaskiewicz
5b7358111c
Remove redundant
2019-11-10 15:00:50 +03:00
Sergej Jaskiewicz
5f90c4c85f
Add Gemfile.lock
2019-11-10 15:00:50 +03:00
Sergej Jaskiewicz
0dec30fcad
Switch from Travis CI to CircleCI.
...
CircleCI has significantly faster builds. They also update their build
machines sooner than Travis CI.
2019-11-09 15:26:50 +03:00
Sergej Jaskiewicz
a5ec9723e2
Make the tests pass on 32-bit platforms
2019-11-09 15:26:50 +03:00