Adds `Zip` and `CombineLatest` to `Driver` unit.

This commit is contained in:
Krunoslav Zaher 2015-10-14 15:43:25 +02:00
parent 85cc137d32
commit eba73eec26
17 changed files with 514 additions and 112 deletions

View File

@ -256,20 +256,36 @@
C80D339B1B922FB00014629D /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D33941B922FB00014629D /* ControlProperty.swift */; };
C80D342E1B9245A40014629D /* CombineLatest+CollectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D342D1B9245A40014629D /* CombineLatest+CollectionType.swift */; };
C80D342F1B9245A40014629D /* CombineLatest+CollectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D342D1B9245A40014629D /* CombineLatest+CollectionType.swift */; };
C80DDE931BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8D1BCE69BA006A1832 /* ControlEvent+Driver.swift */; };
C80DDE941BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8D1BCE69BA006A1832 /* ControlEvent+Driver.swift */; };
C80DDE951BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8D1BCE69BA006A1832 /* ControlEvent+Driver.swift */; };
C80DDE961BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8D1BCE69BA006A1832 /* ControlEvent+Driver.swift */; };
C80DDE971BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8E1BCE69BA006A1832 /* ControlProperty+Driver.swift */; };
C80DDE981BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8E1BCE69BA006A1832 /* ControlProperty+Driver.swift */; };
C80DDE991BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8E1BCE69BA006A1832 /* ControlProperty+Driver.swift */; };
C80DDE9A1BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8E1BCE69BA006A1832 /* ControlProperty+Driver.swift */; };
C80DDE9B1BCE69BA006A1832 /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8F1BCE69BA006A1832 /* Driver+Operators.swift */; };
C80DDE9C1BCE69BA006A1832 /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8F1BCE69BA006A1832 /* Driver+Operators.swift */; };
C80DDE9D1BCE69BA006A1832 /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8F1BCE69BA006A1832 /* Driver+Operators.swift */; };
C80DDE9E1BCE69BA006A1832 /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE8F1BCE69BA006A1832 /* Driver+Operators.swift */; };
C80DDE9F1BCE69BA006A1832 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE901BCE69BA006A1832 /* Driver+Subscription.swift */; };
C80DDEA01BCE69BA006A1832 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE901BCE69BA006A1832 /* Driver+Subscription.swift */; };
C80DDEA11BCE69BA006A1832 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE901BCE69BA006A1832 /* Driver+Subscription.swift */; };
C80DDEA21BCE69BA006A1832 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE901BCE69BA006A1832 /* Driver+Subscription.swift */; };
C80DDEA31BCE69BA006A1832 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE911BCE69BA006A1832 /* Driver.swift */; };
C80DDEA41BCE69BA006A1832 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE911BCE69BA006A1832 /* Driver.swift */; };
C80DDEA51BCE69BA006A1832 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE911BCE69BA006A1832 /* Driver.swift */; };
C80DDEA61BCE69BA006A1832 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE911BCE69BA006A1832 /* Driver.swift */; };
C80DDEA71BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE921BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift */; };
C80DDEA81BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE921BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift */; };
C80DDEA91BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE921BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift */; };
C80DDEAA1BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE921BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift */; };
C80DDEB11BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEB01BCE8CA3006A1832 /* Driver+Operators+arity.swift */; };
C80DDEB21BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEB01BCE8CA3006A1832 /* Driver+Operators+arity.swift */; };
C80DDEB31BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEB01BCE8CA3006A1832 /* Driver+Operators+arity.swift */; };
C80DDEB41BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEB01BCE8CA3006A1832 /* Driver+Operators+arity.swift */; };
C821DBA21BA4DCAB008F3809 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C821DBA11BA4DCAB008F3809 /* Buffer.swift */; };
C821DBA31BA4DCAB008F3809 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C821DBA11BA4DCAB008F3809 /* Buffer.swift */; };
C8226BC41BADDF2800D7F20C /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC11BADDD3600D7F20C /* Driver+Subscription.swift */; };
C8226BC51BADDF2800D7F20C /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC11BADDD3600D7F20C /* Driver+Subscription.swift */; };
C8226BC71BADE87100D7F20C /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC61BADE87100D7F20C /* ControlProperty+Driver.swift */; };
C8226BC81BADE87100D7F20C /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC61BADE87100D7F20C /* ControlProperty+Driver.swift */; };
C8226BCA1BADE87D00D7F20C /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC91BADE87D00D7F20C /* ControlEvent+Driver.swift */; };
C8226BCB1BADE87D00D7F20C /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC91BADE87D00D7F20C /* ControlEvent+Driver.swift */; };
C8226BCD1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCC1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift */; };
C8226BCE1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCC1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift */; };
C8226BD01BADEBDF00D7F20C /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCF1BADEBDF00D7F20C /* Driver+Operators.swift */; };
C8226BD11BADEBDF00D7F20C /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCF1BADEBDF00D7F20C /* Driver+Operators.swift */; };
C836E8E71BA2165500AFEF77 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C836E8E51BA2165500AFEF77 /* Driver.swift */; };
C836E8E81BA2165500AFEF77 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C836E8E51BA2165500AFEF77 /* Driver.swift */; };
C849BE2B1BAB5D070019AD27 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C849BE2A1BAB5D070019AD27 /* ObservableConvertibleType.swift */; };
C849BE2C1BAB5D070019AD27 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C849BE2A1BAB5D070019AD27 /* ObservableConvertibleType.swift */; };
C84B38E91BA43380001B7D88 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84B38E71BA43380001B7D88 /* ScheduledItem.swift */; };
@ -312,18 +328,6 @@
C88254341B8A752B00B02D69 /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254121B8A752B00B02D69 /* UITableView+Rx.swift */; };
C88254351B8A752B00B02D69 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254131B8A752B00B02D69 /* UITextField+Rx.swift */; };
C88254361B8A752B00B02D69 /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254141B8A752B00B02D69 /* UITextView+Rx.swift */; };
C8945FDF1BC6C09D0055219D /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C836E8E51BA2165500AFEF77 /* Driver.swift */; };
C8945FE01BC6C09D0055219D /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCF1BADEBDF00D7F20C /* Driver+Operators.swift */; };
C8945FE11BC6C09D0055219D /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC11BADDD3600D7F20C /* Driver+Subscription.swift */; };
C8945FE21BC6C09D0055219D /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC61BADE87100D7F20C /* ControlProperty+Driver.swift */; };
C8945FE31BC6C09D0055219D /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC91BADE87D00D7F20C /* ControlEvent+Driver.swift */; };
C8945FE41BC6C09D0055219D /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCC1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift */; };
C8945FE51BC6C09D0055219D /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C836E8E51BA2165500AFEF77 /* Driver.swift */; };
C8945FE61BC6C09D0055219D /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCF1BADEBDF00D7F20C /* Driver+Operators.swift */; };
C8945FE71BC6C09D0055219D /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC11BADDD3600D7F20C /* Driver+Subscription.swift */; };
C8945FE81BC6C09D0055219D /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC61BADE87100D7F20C /* ControlProperty+Driver.swift */; };
C8945FE91BC6C09D0055219D /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BC91BADE87D00D7F20C /* ControlEvent+Driver.swift */; };
C8945FEA1BC6C09D0055219D /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8226BCC1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift */; };
C89461751BC6C1210055219D /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C849BE2A1BAB5D070019AD27 /* ObservableConvertibleType.swift */; };
C89461761BC6C1220055219D /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C849BE2A1BAB5D070019AD27 /* ObservableConvertibleType.swift */; };
C89CDB361BCB0DD7002063D9 /* ShareReplay1.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89CDB351BCB0DD7002063D9 /* ShareReplay1.swift */; };
@ -887,13 +891,15 @@
C80D33931B922FB00014629D /* ControlEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlEvent.swift; sourceTree = "<group>"; };
C80D33941B922FB00014629D /* ControlProperty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlProperty.swift; sourceTree = "<group>"; };
C80D342D1B9245A40014629D /* CombineLatest+CollectionType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CombineLatest+CollectionType.swift"; sourceTree = "<group>"; };
C80DDE8D1BCE69BA006A1832 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlEvent+Driver.swift"; sourceTree = "<group>"; };
C80DDE8E1BCE69BA006A1832 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlProperty+Driver.swift"; sourceTree = "<group>"; };
C80DDE8F1BCE69BA006A1832 /* Driver+Operators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Operators.swift"; sourceTree = "<group>"; };
C80DDE901BCE69BA006A1832 /* Driver+Subscription.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Subscription.swift"; sourceTree = "<group>"; };
C80DDE911BCE69BA006A1832 /* Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Driver.swift; sourceTree = "<group>"; };
C80DDE921BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ObservableConvertibleType+Driver.swift"; sourceTree = "<group>"; };
C80DDEAB1BCE83B2006A1832 /* Driver+Operators+arity.tt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Driver+Operators+arity.tt"; sourceTree = "<group>"; };
C80DDEB01BCE8CA3006A1832 /* Driver+Operators+arity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Operators+arity.swift"; sourceTree = "<group>"; };
C821DBA11BA4DCAB008F3809 /* Buffer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Buffer.swift; sourceTree = "<group>"; };
C8226BC11BADDD3600D7F20C /* Driver+Subscription.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Subscription.swift"; sourceTree = "<group>"; };
C8226BC61BADE87100D7F20C /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlProperty+Driver.swift"; sourceTree = "<group>"; };
C8226BC91BADE87D00D7F20C /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlEvent+Driver.swift"; sourceTree = "<group>"; };
C8226BCC1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ObservableConvertibleType+Driver.swift"; sourceTree = "<group>"; };
C8226BCF1BADEBDF00D7F20C /* Driver+Operators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Operators.swift"; sourceTree = "<group>"; };
C836E8E51BA2165500AFEF77 /* Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Driver.swift; sourceTree = "<group>"; };
C849BE2A1BAB5D070019AD27 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObservableConvertibleType.swift; sourceTree = "<group>"; };
C84B38E71BA43380001B7D88 /* ScheduledItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledItem.swift; sourceTree = "<group>"; };
C84B38ED1BA433CD001B7D88 /* Generate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Generate.swift; sourceTree = "<group>"; };
@ -1318,18 +1324,28 @@
C80D33911B922FB00014629D /* CocoaUnits */ = {
isa = PBXGroup;
children = (
C836E8E51BA2165500AFEF77 /* Driver.swift */,
C8226BCF1BADEBDF00D7F20C /* Driver+Operators.swift */,
C8226BC11BADDD3600D7F20C /* Driver+Subscription.swift */,
C8226BC61BADE87100D7F20C /* ControlProperty+Driver.swift */,
C8226BC91BADE87D00D7F20C /* ControlEvent+Driver.swift */,
C8226BCC1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift */,
C80DDE8C1BCE69BA006A1832 /* Driver */,
C80D33931B922FB00014629D /* ControlEvent.swift */,
C80D33941B922FB00014629D /* ControlProperty.swift */,
);
path = CocoaUnits;
sourceTree = "<group>";
};
C80DDE8C1BCE69BA006A1832 /* Driver */ = {
isa = PBXGroup;
children = (
C80DDEB01BCE8CA3006A1832 /* Driver+Operators+arity.swift */,
C80DDE8D1BCE69BA006A1832 /* ControlEvent+Driver.swift */,
C80DDE8E1BCE69BA006A1832 /* ControlProperty+Driver.swift */,
C80DDE911BCE69BA006A1832 /* Driver.swift */,
C80DDE8F1BCE69BA006A1832 /* Driver+Operators.swift */,
C80DDEAB1BCE83B2006A1832 /* Driver+Operators+arity.tt */,
C80DDE901BCE69BA006A1832 /* Driver+Subscription.swift */,
C80DDE921BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift */,
);
path = Driver;
sourceTree = "<group>";
};
C88253EE1B8A752B00B02D69 /* iOS */ = {
isa = PBXGroup;
children = (
@ -1912,11 +1928,14 @@
C88254321B8A752B00B02D69 /* UISlider+Rx.swift in Sources */,
C8093ED91B8A732E0088E94D /* _RXKVOObserver.m in Sources */,
C882542F1B8A752B00B02D69 /* UIScrollView+Rx.swift in Sources */,
C80DDE9B1BCE69BA006A1832 /* Driver+Operators.swift in Sources */,
C8093EE31B8A732E0088E94D /* DelegateProxyType.swift in Sources */,
C8093EFD1B8A732E0088E94D /* RxTarget.swift in Sources */,
C88254361B8A752B00B02D69 /* UITextView+Rx.swift in Sources */,
C88254171B8A752B00B02D69 /* RxTableViewReactiveArrayDataSource.swift in Sources */,
C882541E1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift in Sources */,
C80DDE971BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */,
C80DDE931BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */,
C8093ED11B8A732E0088E94D /* _RX.m in Sources */,
C8093EFB1B8A732E0088E94D /* RxCocoa.swift in Sources */,
C88254231B8A752B00B02D69 /* RxTableViewDelegateProxy.swift in Sources */,
@ -1934,14 +1953,15 @@
C882542E1B8A752B00B02D69 /* UILabel+Rx.swift in Sources */,
C88254211B8A752B00B02D69 /* RxSearchBarDelegateProxy.swift in Sources */,
C882541D1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift in Sources */,
C80DDEA71BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
C80DDE9F1BCE69BA006A1832 /* Driver+Subscription.swift in Sources */,
C80D338F1B91EF9E0014629D /* Observable+Bind.swift in Sources */,
C88254311B8A752B00B02D69 /* UISegmentedControl+Rx.swift in Sources */,
C8226BD01BADEBDF00D7F20C /* Driver+Operators.swift in Sources */,
C8226BC41BADDF2800D7F20C /* Driver+Subscription.swift in Sources */,
C8093EED1B8A732E0088E94D /* KVOObservable.swift in Sources */,
C80DDEB11BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */,
C88254281B8A752B00B02D69 /* UIButton+Rx.swift in Sources */,
C8093EDF1B8A732E0088E94D /* CLLocationManager+Rx.swift in Sources */,
C8226BC71BADE87100D7F20C /* ControlProperty+Driver.swift in Sources */,
C80DDEA31BCE69BA006A1832 /* Driver.swift in Sources */,
C8093EEB1B8A732E0088E94D /* DeinitAction.swift in Sources */,
C882541C1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift in Sources */,
C8093ED51B8A732E0088E94D /* _RXDelegateProxy.m in Sources */,
@ -1951,13 +1971,11 @@
C88254251B8A752B00B02D69 /* UIActionSheet+Rx.swift in Sources */,
C80D339A1B922FB00014629D /* ControlProperty.swift in Sources */,
C882542B1B8A752B00B02D69 /* UIDatePicker+Rx.swift in Sources */,
C8226BCD1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift in Sources */,
C88254221B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift in Sources */,
C8093EDD1B8A732E0088E94D /* _RXSwizzling.m in Sources */,
C8093EE91B8A732E0088E94D /* Deallocating.swift in Sources */,
C882542C1B8A752B00B02D69 /* UIGestureRecognizer+Rx.swift in Sources */,
C8093EE11B8A732E0088E94D /* DelegateProxy.swift in Sources */,
C8226BCA1BADE87D00D7F20C /* ControlEvent+Driver.swift in Sources */,
C8093EF91B8A732E0088E94D /* RxCLLocationManagerDelegateProxy.swift in Sources */,
C88254331B8A752B00B02D69 /* UISwitch+Rx.swift in Sources */,
C8093EE51B8A732E0088E94D /* Logging.swift in Sources */,
@ -1965,7 +1983,6 @@
C882541A1B8A752B00B02D69 /* RxCollectionViewDataSourceType.swift in Sources */,
C8093EF11B8A732E0088E94D /* NSNotificationCenter+Rx.swift in Sources */,
C88254351B8A752B00B02D69 /* UITextField+Rx.swift in Sources */,
C836E8E71BA2165500AFEF77 /* Driver.swift in Sources */,
C8093EF71B8A732E0088E94D /* NSURLSession+Rx.swift in Sources */,
C8093EE71B8A732E0088E94D /* ControlTarget.swift in Sources */,
C88254301B8A752B00B02D69 /* UISearchBar+Rx.swift in Sources */,
@ -1978,6 +1995,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C80DDEA41BCE69BA006A1832 /* Driver.swift in Sources */,
C8093F4A1B8A732E0088E94D /* NSImageView+Rx.swift in Sources */,
C8093EDA1B8A732E0088E94D /* _RXKVOObserver.m in Sources */,
C8093EE41B8A732E0088E94D /* DelegateProxyType.swift in Sources */,
@ -1987,28 +2005,28 @@
C8093ED21B8A732E0088E94D /* _RX.m in Sources */,
C8093EFC1B8A732E0088E94D /* RxCocoa.swift in Sources */,
C80D33991B922FB00014629D /* ControlEvent.swift in Sources */,
C80DDEA81BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
C80D339B1B922FB00014629D /* ControlProperty.swift in Sources */,
C8226BCE1BADE8D600D7F20C /* ObservableConvertibleType+Driver.swift in Sources */,
C8093EF41B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift in Sources */,
C836E8E81BA2165500AFEF77 /* Driver.swift in Sources */,
C8093EF01B8A732E0088E94D /* KVOObserver.swift in Sources */,
C8093EEE1B8A732E0088E94D /* KVOObservable.swift in Sources */,
C8093EE01B8A732E0088E94D /* CLLocationManager+Rx.swift in Sources */,
C8093EEC1B8A732E0088E94D /* DeinitAction.swift in Sources */,
C8226BD11BADEBDF00D7F20C /* Driver+Operators.swift in Sources */,
C8226BC51BADDF2800D7F20C /* Driver+Subscription.swift in Sources */,
C8093F461B8A732E0088E94D /* NSButton+Rx.swift in Sources */,
C80DDEA01BCE69BA006A1832 /* Driver+Subscription.swift in Sources */,
C8093ED61B8A732E0088E94D /* _RXDelegateProxy.m in Sources */,
C8093EF61B8A732E0088E94D /* NSObject+Rx.swift in Sources */,
C8226BC81BADE87100D7F20C /* ControlProperty+Driver.swift in Sources */,
C80DDE981BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */,
C8093EDE1B8A732E0088E94D /* _RXSwizzling.m in Sources */,
C80DDE941BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */,
C80DDEB21BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */,
C8093EEA1B8A732E0088E94D /* Deallocating.swift in Sources */,
C8093EE21B8A732E0088E94D /* DelegateProxy.swift in Sources */,
C8093EFA1B8A732E0088E94D /* RxCLLocationManagerDelegateProxy.swift in Sources */,
C8093EE61B8A732E0088E94D /* Logging.swift in Sources */,
C8093EF21B8A732E0088E94D /* NSNotificationCenter+Rx.swift in Sources */,
C8226BCB1BADE87D00D7F20C /* ControlEvent+Driver.swift in Sources */,
C8093EF81B8A732E0088E94D /* NSURLSession+Rx.swift in Sources */,
C80DDE9C1BCE69BA006A1832 /* Driver+Operators.swift in Sources */,
C8093F4C1B8A732E0088E94D /* NSSlider+Rx.swift in Sources */,
C8093EE81B8A732E0088E94D /* ControlTarget.swift in Sources */,
C80D33901B91EF9E0014629D /* Observable+Bind.swift in Sources */,
@ -2386,19 +2404,20 @@
C8F0C0061BBBFBB9001B112F /* UISlider+Rx.swift in Sources */,
C8F0C0071BBBFBB9001B112F /* _RXKVOObserver.m in Sources */,
C8F0C0081BBBFBB9001B112F /* UIScrollView+Rx.swift in Sources */,
C80DDE9E1BCE69BA006A1832 /* Driver+Operators.swift in Sources */,
C8F0C0091BBBFBB9001B112F /* DelegateProxyType.swift in Sources */,
C8F0C00A1BBBFBB9001B112F /* RxTarget.swift in Sources */,
C8F0C00B1BBBFBB9001B112F /* UITextView+Rx.swift in Sources */,
C8F0C00C1BBBFBB9001B112F /* RxTableViewReactiveArrayDataSource.swift in Sources */,
C8F0C00D1BBBFBB9001B112F /* RxCollectionViewDataSourceProxy.swift in Sources */,
C80DDE9A1BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */,
C80DDE961BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */,
C8F0C00E1BBBFBB9001B112F /* _RX.m in Sources */,
C8F0C00F1BBBFBB9001B112F /* RxCocoa.swift in Sources */,
C8F0C0101BBBFBB9001B112F /* RxTableViewDelegateProxy.swift in Sources */,
C8F0C0111BBBFBB9001B112F /* UIStepper+Rx.swift in Sources */,
C8F0C0121BBBFBB9001B112F /* UIImageView+Rx.swift in Sources */,
C8F0C0131BBBFBB9001B112F /* ControlEvent.swift in Sources */,
C8945FE91BC6C09D0055219D /* ControlEvent+Driver.swift in Sources */,
C8945FE71BC6C09D0055219D /* Driver+Subscription.swift in Sources */,
C8F0C0141BBBFBB9001B112F /* NSObject+Rx+CoreGraphics.swift in Sources */,
C8F0C0151BBBFBB9001B112F /* UIControl+Rx.swift in Sources */,
C8F0C0161BBBFBB9001B112F /* UITableView+Rx.swift in Sources */,
@ -2410,12 +2429,15 @@
C8F0C01C1BBBFBB9001B112F /* UILabel+Rx.swift in Sources */,
C8F0C01D1BBBFBB9001B112F /* RxSearchBarDelegateProxy.swift in Sources */,
C8F0C01E1BBBFBB9001B112F /* RxAlertViewDelegateProxy.swift in Sources */,
C80DDEAA1BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
C80DDEA21BCE69BA006A1832 /* Driver+Subscription.swift in Sources */,
C8F0C01F1BBBFBB9001B112F /* Observable+Bind.swift in Sources */,
C8945FEA1BC6C09D0055219D /* ObservableConvertibleType+Driver.swift in Sources */,
C8F0C0201BBBFBB9001B112F /* UISegmentedControl+Rx.swift in Sources */,
C8F0C0211BBBFBB9001B112F /* KVOObservable.swift in Sources */,
C80DDEB41BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */,
C8F0C0221BBBFBB9001B112F /* UIButton+Rx.swift in Sources */,
C8F0C0231BBBFBB9001B112F /* CLLocationManager+Rx.swift in Sources */,
C80DDEA61BCE69BA006A1832 /* Driver.swift in Sources */,
C8F0C0241BBBFBB9001B112F /* DeinitAction.swift in Sources */,
C8F0C0251BBBFBB9001B112F /* RxActionSheetDelegateProxy.swift in Sources */,
C8F0C0261BBBFBB9001B112F /* _RXDelegateProxy.m in Sources */,
@ -2427,13 +2449,10 @@
C8F0C02C1BBBFBB9001B112F /* UIDatePicker+Rx.swift in Sources */,
C8F0C02D1BBBFBB9001B112F /* RxTableViewDataSourceProxy.swift in Sources */,
C8F0C02E1BBBFBB9001B112F /* _RXSwizzling.m in Sources */,
C8945FE61BC6C09D0055219D /* Driver+Operators.swift in Sources */,
C8F0C02F1BBBFBB9001B112F /* Deallocating.swift in Sources */,
C8F0C0301BBBFBB9001B112F /* UIGestureRecognizer+Rx.swift in Sources */,
C8F0C0311BBBFBB9001B112F /* DelegateProxy.swift in Sources */,
C8F0C0321BBBFBB9001B112F /* RxCLLocationManagerDelegateProxy.swift in Sources */,
C8945FE51BC6C09D0055219D /* Driver.swift in Sources */,
C8945FE81BC6C09D0055219D /* ControlProperty+Driver.swift in Sources */,
C8F0C0331BBBFBB9001B112F /* UISwitch+Rx.swift in Sources */,
C8F0C0341BBBFBB9001B112F /* Logging.swift in Sources */,
C8F0C0351BBBFBB9001B112F /* UICollectionView+Rx.swift in Sources */,
@ -2463,19 +2482,20 @@
D203C4F71BB9C53100D02D00 /* RxTableViewDataSourceType.swift in Sources */,
D203C5021BB9C53E00D02D00 /* UIAlertView+Rx.swift in Sources */,
D203C50E1BB9C53E00D02D00 /* UISlider+Rx.swift in Sources */,
C80DDE9D1BCE69BA006A1832 /* Driver+Operators.swift in Sources */,
D2138C8C1BB9BECA00339B5C /* ControlEvent.swift in Sources */,
D2138C981BB9BEEE00339B5C /* RxCocoa.swift in Sources */,
D2138C991BB9BEEE00339B5C /* RxTarget.swift in Sources */,
D203C5081BB9C53E00D02D00 /* UIGestureRecognizer+Rx.swift in Sources */,
D2138C931BB9BEDA00339B5C /* NSNotificationCenter+Rx.swift in Sources */,
C80DDE991BCE69BA006A1832 /* ControlProperty+Driver.swift in Sources */,
C80DDE951BCE69BA006A1832 /* ControlEvent+Driver.swift in Sources */,
D203C4F61BB9C52E00D02D00 /* RxCollectionViewDataSourceType.swift in Sources */,
D203C5131BB9C53E00D02D00 /* UITextView+Rx.swift in Sources */,
D203C4F41BB9C52400D02D00 /* RxTableViewReactiveArrayDataSource.swift in Sources */,
D2138C951BB9BEDA00339B5C /* NSObject+Rx.swift in Sources */,
D2138C881BB9BEBE00339B5C /* DelegateProxy.swift in Sources */,
D203C5101BB9C53E00D02D00 /* UISwitch+Rx.swift in Sources */,
C8945FE31BC6C09D0055219D /* ControlEvent+Driver.swift in Sources */,
C8945FE11BC6C09D0055219D /* Driver+Subscription.swift in Sources */,
D203C5121BB9C53E00D02D00 /* UITextField+Rx.swift in Sources */,
D203C4F91BB9C53700D02D00 /* RxAlertViewDelegateProxy.swift in Sources */,
D203C4F31BB9C4CA00D02D00 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */,
@ -2487,12 +2507,15 @@
D203C4FC1BB9C53700D02D00 /* RxScrollViewDelegateProxy.swift in Sources */,
D2138C8E1BB9BED600339B5C /* ControlTarget.swift in Sources */,
D203C5041BB9C53E00D02D00 /* UIButton+Rx.swift in Sources */,
C80DDEA91BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
C80DDEA11BCE69BA006A1832 /* Driver+Subscription.swift in Sources */,
D2138C891BB9BEBE00339B5C /* DelegateProxyType.swift in Sources */,
C8945FE41BC6C09D0055219D /* ObservableConvertibleType+Driver.swift in Sources */,
D2138C921BB9BED600339B5C /* KVOObserver.swift in Sources */,
D2138C831BB9BEBE00339B5C /* _RXKVOObserver.m in Sources */,
C80DDEB31BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */,
D203C5061BB9C53E00D02D00 /* UIControl+Rx.swift in Sources */,
D203C5111BB9C53E00D02D00 /* UITableView+Rx.swift in Sources */,
C80DDEA51BCE69BA006A1832 /* Driver.swift in Sources */,
D203C4F81BB9C53700D02D00 /* RxActionSheetDelegateProxy.swift in Sources */,
D2138C8F1BB9BED600339B5C /* Deallocating.swift in Sources */,
D2138C961BB9BEDA00339B5C /* NSURLSession+Rx.swift in Sources */,
@ -2504,13 +2527,10 @@
D2138C861BB9BEBE00339B5C /* Observable+Bind.swift in Sources */,
D203C50A1BB9C53E00D02D00 /* UILabel+Rx.swift in Sources */,
D2138C901BB9BED600339B5C /* DeinitAction.swift in Sources */,
C8945FE01BC6C09D0055219D /* Driver+Operators.swift in Sources */,
D203C4F51BB9C52900D02D00 /* ItemEvents.swift in Sources */,
D2138C911BB9BED600339B5C /* KVOObservable.swift in Sources */,
D203C4FA1BB9C53700D02D00 /* RxCollectionViewDataSourceProxy.swift in Sources */,
D2138C7F1BB9BEBE00339B5C /* _RX.m in Sources */,
C8945FDF1BC6C09D0055219D /* Driver.swift in Sources */,
C8945FE21BC6C09D0055219D /* ControlProperty+Driver.swift in Sources */,
D203C4FE1BB9C53700D02D00 /* RxTableViewDataSourceProxy.swift in Sources */,
D203C5001BB9C53700D02D00 /* RxTextViewDelegateProxy.swift in Sources */,
D203C5091BB9C53E00D02D00 /* UIImageView+Rx.swift in Sources */,

View File

@ -0,0 +1,281 @@
// This file is autogenerated.
// Take a look at `Preprocessor` target in RxSwift project
//
// Driver+Operators+arity.swift
// Rx
//
// Created by Krunoslav Zaher on 10/14/15.
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
//
import Foundation
#if !RX_NO_MODULE
import RxSwift
#endif
// 2
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ resultSelector: (O1.E, O2.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ resultSelector: (O1.E, O2.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
// 3
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ resultSelector: (O1.E, O2.E, O3.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ resultSelector: (O1.E, O2.E, O3.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
// 4
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
// 5
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
// 6
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(), source6.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(), source6.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
// 7
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(), source6.asDriver().asObservable(), source7.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(), source6.asDriver().asObservable(), source7.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
// 8
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, O8: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
-> Driver<R> {
let source = zip(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(), source6.asDriver().asObservable(), source7.asDriver().asObservable(), source8.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, O8: DriverConvertibleType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
-> Driver<R> {
let source = combineLatest(
source1.asDriver().asObservable(), source2.asDriver().asObservable(), source3.asDriver().asObservable(), source4.asDriver().asObservable(), source5.asDriver().asObservable(), source6.asDriver().asObservable(), source7.asDriver().asObservable(), source8.asDriver().asObservable(),
resultSelector: resultSelector
)
return Driver(source)
}

View File

@ -0,0 +1,52 @@
//
// Driver+Operators+arity.swift
// Rx
//
// Created by Krunoslav Zaher on 10/14/15.
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
//
import Foundation
#if !RX_NO_MODULE
import RxSwift
#endif
<% for i in 2 ... 8 { %>
// <%= i %>
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<<%= (Array(1...i).map { "O\($0): DriverConvertibleType" }).joinWithSeparator(", ") %>, R>
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, _ resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
-> Driver<R> {
let source = zip(
<%= (Array(1...i).map { "source\($0).asDriver().asObservable()" }).joinWithSeparator(", ") %>,
resultSelector: resultSelector
)
return Driver(source)
}
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
- parameter resultSelector: Function to invoke whenever any of the sources produces an element.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<<%= (Array(1...i).map { "O\($0): DriverConvertibleType" }).joinWithSeparator(", ") %>, R>
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, _ resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
-> Driver<R> {
let source = combineLatest(
<%= (Array(1...i).map { "source\($0).asDriver().asObservable()" }).joinWithSeparator(", ") %>,
resultSelector: resultSelector
)
return Driver(source)
}
<% } %>

View File

@ -289,4 +289,32 @@ extension Driver {
.scan(seed, accumulator: accumulator)
return Driver<A>(source)
}
}
extension SequenceType where Generator.Element : DriverConvertibleType {
/**
Concatenates all observable sequences in the given sequence, as long as the previous observable sequence terminated successfully.
- returns: An observable sequence that contains the elements of each given sequence, in sequential order.
*/
public func concat()
-> Driver<Generator.Element.E> {
let source: Observable<Generator.Element.E> = self.lazy.map { $0.asDriver() }.concat()
return Driver<Generator.Element.E>(source)
}
}
extension CollectionType where Generator.Element : DriverConvertibleType {
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
- parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<R>(resultSelector: [Generator.Element.E] throws -> R) -> Driver<R> {
let source: Observable<R> = self.map { $0.asDriver() }.zip(resultSelector)
return Driver<R>(source)
}
}

View File

@ -46,6 +46,10 @@ public struct Driver<Element> : DriverConvertibleType {
init(_ source: Observable<E>) {
self._source = source.shareReplay(1)
}
init(raw: Observable<E>) {
self._source = raw
}
#if EXPANDABLE_DRIVER
public static func createUnsafe<O: ObservableType>(source: O) -> Driver<O.E> {
@ -72,7 +76,7 @@ public struct Drive {
- returns: An observable sequence with no elements.
*/
public static func empty<E>() -> Driver<E> {
return Driver(RxSwift.empty())
return Driver(raw: RxSwift.empty())
}
/**
@ -81,7 +85,7 @@ public struct Drive {
- returns: An observable sequence whose observers will never get called.
*/
public static func never<E>() -> Driver<E> {
return Driver(RxSwift.never())
return Driver(raw: RxSwift.never())
}
/**
@ -91,7 +95,7 @@ public struct Drive {
- returns: An observable sequence containing the single specified element.
*/
public static func just<E>(element: E) -> Driver<E> {
return Driver(RxSwift.just(element))
return Driver(raw: RxSwift.just(element))
}
#else
@ -102,7 +106,7 @@ public struct Drive {
- returns: An observable sequence with no elements.
*/
public static func empty<E>() -> Driver<E> {
return Driver(_empty())
return Driver(raw: _empty())
}
/**
@ -111,7 +115,7 @@ public struct Drive {
- returns: An observable sequence whose observers will never get called.
*/
public static func never<E>() -> Driver<E> {
return Driver(_never())
return Driver(raw: _never())
}
/**
@ -121,14 +125,14 @@ public struct Drive {
- returns: An observable sequence containing the single specified element.
*/
public static func just<E>(element: E) -> Driver<E> {
return Driver(_just(element))
return Driver(raw: _just(element))
}
#endif
public static func sequenceOf<E>(elements: E ...) -> Driver<E> {
let source = elements.asObservable()
return Driver(source)
return Driver(raw: source)
}
}

View File

@ -18,6 +18,14 @@
07E300091B149A2A00F00100 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E300081B149A2A00F00100 /* User.swift */; };
07E3C2331B03605B0010338D /* Dependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E3C2321B03605B0010338D /* Dependencies.swift */; };
C80DDE881BCDAA0F006A1832 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDE7A1BCDA952006A1832 /* SkipWhile.swift */; };
C80DDED21BCE9046006A1832 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC21BCE9041006A1832 /* ControlEvent+Driver.swift */; };
C80DDED31BCE9046006A1832 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC31BCE9041006A1832 /* ControlProperty+Driver.swift */; };
C80DDED41BCE9046006A1832 /* Driver+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC41BCE9041006A1832 /* Driver+Operators+arity.swift */; };
C80DDED51BCE9046006A1832 /* Driver+Operators+arity.tt in Resources */ = {isa = PBXBuildFile; fileRef = C80DDEC51BCE9041006A1832 /* Driver+Operators+arity.tt */; };
C80DDED61BCE9046006A1832 /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC61BCE9041006A1832 /* Driver+Operators.swift */; };
C80DDED71BCE9046006A1832 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC71BCE9041006A1832 /* Driver+Subscription.swift */; };
C80DDED81BCE9046006A1832 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC81BCE9041006A1832 /* Driver.swift */; };
C80DDED91BCE9046006A1832 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80DDEC91BCE9041006A1832 /* ObservableConvertibleType+Driver.swift */; };
C8297E2F1B6CF905000589EA /* RxTableViewSectionedAnimatedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88C78631B3EB0A00061C5AB /* RxTableViewSectionedAnimatedDataSource.swift */; };
C8297E301B6CF905000589EA /* RandomUserAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0706E19E1B17703E00BA2D3A /* RandomUserAPI.swift */; };
C8297E311B6CF905000589EA /* SearchResultViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C86E2F321AE5A0CA00C31024 /* SearchResultViewModel.swift */; };
@ -216,14 +224,8 @@
C89465631BC6C2BC0055219D /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = C89465131BC6C2BC0055219D /* _RXKVOObserver.m */; };
C89465641BC6C2BC0055219D /* _RXSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = C89465151BC6C2BC0055219D /* _RXSwizzling.m */; };
C89465651BC6C2BC0055219D /* CLLocationManager+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465161BC6C2BC0055219D /* CLLocationManager+Rx.swift */; };
C89465661BC6C2BC0055219D /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465181BC6C2BC0055219D /* ControlEvent+Driver.swift */; };
C89465671BC6C2BC0055219D /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465191BC6C2BC0055219D /* ControlEvent.swift */; };
C89465681BC6C2BC0055219D /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894651A1BC6C2BC0055219D /* ControlProperty+Driver.swift */; };
C89465691BC6C2BC0055219D /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894651B1BC6C2BC0055219D /* ControlProperty.swift */; };
C894656A1BC6C2BC0055219D /* Driver+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894651C1BC6C2BC0055219D /* Driver+Operators.swift */; };
C894656B1BC6C2BC0055219D /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894651D1BC6C2BC0055219D /* Driver+Subscription.swift */; };
C894656C1BC6C2BC0055219D /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894651E1BC6C2BC0055219D /* Driver.swift */; };
C894656D1BC6C2BC0055219D /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894651F1BC6C2BC0055219D /* ObservableConvertibleType+Driver.swift */; };
C894656E1BC6C2BC0055219D /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465201BC6C2BC0055219D /* DelegateProxy.swift */; };
C894656F1BC6C2BC0055219D /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465211BC6C2BC0055219D /* DelegateProxyType.swift */; };
C89465701BC6C2BC0055219D /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465221BC6C2BC0055219D /* Logging.swift */; };
@ -440,6 +442,14 @@
07E300081B149A2A00F00100 /* User.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = "<group>"; };
07E3C2321B03605B0010338D /* Dependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Dependencies.swift; path = Examples/Dependencies.swift; sourceTree = "<group>"; };
C80DDE7A1BCDA952006A1832 /* SkipWhile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SkipWhile.swift; sourceTree = "<group>"; };
C80DDEC21BCE9041006A1832 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlEvent+Driver.swift"; sourceTree = "<group>"; };
C80DDEC31BCE9041006A1832 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlProperty+Driver.swift"; sourceTree = "<group>"; };
C80DDEC41BCE9041006A1832 /* Driver+Operators+arity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Operators+arity.swift"; sourceTree = "<group>"; };
C80DDEC51BCE9041006A1832 /* Driver+Operators+arity.tt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Driver+Operators+arity.tt"; sourceTree = "<group>"; };
C80DDEC61BCE9041006A1832 /* Driver+Operators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Operators.swift"; sourceTree = "<group>"; };
C80DDEC71BCE9041006A1832 /* Driver+Subscription.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Subscription.swift"; sourceTree = "<group>"; };
C80DDEC81BCE9041006A1832 /* Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Driver.swift; sourceTree = "<group>"; };
C80DDEC91BCE9041006A1832 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ObservableConvertibleType+Driver.swift"; sourceTree = "<group>"; };
C81B39F11BC1C28400EF5A9F /* Rx.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Rx.xcodeproj; path = ../Rx.xcodeproj; sourceTree = "<group>"; };
C8297E691B6CF905000589EA /* RxExample-iOS-no-module.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RxExample-iOS-no-module.app"; sourceTree = BUILT_PRODUCTS_DIR; };
C83366DD1AD0293800C668A7 /* RxExample-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RxExample-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
@ -589,14 +599,8 @@
C89465141BC6C2BC0055219D /* _RXSwizzling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _RXSwizzling.h; sourceTree = "<group>"; };
C89465151BC6C2BC0055219D /* _RXSwizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = _RXSwizzling.m; sourceTree = "<group>"; };
C89465161BC6C2BC0055219D /* CLLocationManager+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CLLocationManager+Rx.swift"; sourceTree = "<group>"; };
C89465181BC6C2BC0055219D /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlEvent+Driver.swift"; sourceTree = "<group>"; };
C89465191BC6C2BC0055219D /* ControlEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlEvent.swift; sourceTree = "<group>"; };
C894651A1BC6C2BC0055219D /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ControlProperty+Driver.swift"; sourceTree = "<group>"; };
C894651B1BC6C2BC0055219D /* ControlProperty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlProperty.swift; sourceTree = "<group>"; };
C894651C1BC6C2BC0055219D /* Driver+Operators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Operators.swift"; sourceTree = "<group>"; };
C894651D1BC6C2BC0055219D /* Driver+Subscription.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Subscription.swift"; sourceTree = "<group>"; };
C894651E1BC6C2BC0055219D /* Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Driver.swift; sourceTree = "<group>"; };
C894651F1BC6C2BC0055219D /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ObservableConvertibleType+Driver.swift"; sourceTree = "<group>"; };
C89465201BC6C2BC0055219D /* DelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DelegateProxy.swift; sourceTree = "<group>"; };
C89465211BC6C2BC0055219D /* DelegateProxyType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DelegateProxyType.swift; sourceTree = "<group>"; };
C89465221BC6C2BC0055219D /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = "<group>"; };
@ -762,6 +766,21 @@
path = TableView;
sourceTree = "<group>";
};
C80DDEC11BCE9041006A1832 /* Driver */ = {
isa = PBXGroup;
children = (
C80DDEC21BCE9041006A1832 /* ControlEvent+Driver.swift */,
C80DDEC31BCE9041006A1832 /* ControlProperty+Driver.swift */,
C80DDEC41BCE9041006A1832 /* Driver+Operators+arity.swift */,
C80DDEC51BCE9041006A1832 /* Driver+Operators+arity.tt */,
C80DDEC61BCE9041006A1832 /* Driver+Operators.swift */,
C80DDEC71BCE9041006A1832 /* Driver+Subscription.swift */,
C80DDEC81BCE9041006A1832 /* Driver.swift */,
C80DDEC91BCE9041006A1832 /* ObservableConvertibleType+Driver.swift */,
);
path = Driver;
sourceTree = "<group>";
};
C81B39F21BC1C28400EF5A9F /* Products */ = {
isa = PBXGroup;
children = (
@ -1183,14 +1202,9 @@
C89465171BC6C2BC0055219D /* CocoaUnits */ = {
isa = PBXGroup;
children = (
C89465181BC6C2BC0055219D /* ControlEvent+Driver.swift */,
C80DDEC11BCE9041006A1832 /* Driver */,
C89465191BC6C2BC0055219D /* ControlEvent.swift */,
C894651A1BC6C2BC0055219D /* ControlProperty+Driver.swift */,
C894651B1BC6C2BC0055219D /* ControlProperty.swift */,
C894651C1BC6C2BC0055219D /* Driver+Operators.swift */,
C894651D1BC6C2BC0055219D /* Driver+Subscription.swift */,
C894651E1BC6C2BC0055219D /* Driver.swift */,
C894651F1BC6C2BC0055219D /* ObservableConvertibleType+Driver.swift */,
);
path = CocoaUnits;
sourceTree = "<group>";
@ -1536,6 +1550,7 @@
C8297E601B6CF905000589EA /* Images.xcassets in Resources */,
C8297E611B6CF905000589EA /* Main.storyboard in Resources */,
C894657E1BC6C2BC0055219D /* Info.plist in Resources */,
C80DDED51BCE9046006A1832 /* Driver+Operators+arity.tt in Resources */,
C89464B61BC6C2B00055219D /* Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1568,7 +1583,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C894656D1BC6C2BC0055219D /* ObservableConvertibleType+Driver.swift in Sources */,
C89465971BC6C2BC0055219D /* UIScrollView+Rx.swift in Sources */,
C8297E2F1B6CF905000589EA /* RxTableViewSectionedAnimatedDataSource.swift in Sources */,
C89464FF1BC6C2B00055219D /* DispatchQueueSchedulerPriority.swift in Sources */,
@ -1600,6 +1614,8 @@
C89464ED1BC6C2B00055219D /* Observable+Concurrency.swift in Sources */,
C89464DA1BC6C2B00055219D /* Repeat.swift in Sources */,
C89465651BC6C2BC0055219D /* CLLocationManager+Rx.swift in Sources */,
C80DDED81BCE9046006A1832 /* Driver.swift in Sources */,
C80DDED71BCE9046006A1832 /* Driver+Subscription.swift in Sources */,
07A5C3DC1B70B703001EFE5C /* CalculatorViewController.swift in Sources */,
C89465961BC6C2BC0055219D /* UILabel+Rx.swift in Sources */,
C894659C1BC6C2BC0055219D /* UISwitch+Rx.swift in Sources */,
@ -1608,6 +1624,7 @@
C89465751BC6C2BC0055219D /* KVOObservable.swift in Sources */,
C89464CB1BC6C2B00055219D /* FailWith.swift in Sources */,
C8297E341B6CF905000589EA /* UIImageView+Extensions.swift in Sources */,
C80DDED61BCE9046006A1832 /* Driver+Operators.swift in Sources */,
C89465051BC6C2B00055219D /* SerialDispatchQueueScheduler.swift in Sources */,
C89464B81BC6C2B00055219D /* Observable.swift in Sources */,
C89465001BC6C2B00055219D /* MainScheduler.swift in Sources */,
@ -1617,7 +1634,6 @@
C89464A71BC6C2B00055219D /* BinaryDisposable.swift in Sources */,
C89465741BC6C2BC0055219D /* DeinitAction.swift in Sources */,
C8297E361B6CF905000589EA /* RootViewController.swift in Sources */,
C894656C1BC6C2BC0055219D /* Driver.swift in Sources */,
C89464BB1BC6C2B00055219D /* AnonymousObservable.swift in Sources */,
C89465991BC6C2BC0055219D /* UISegmentedControl+Rx.swift in Sources */,
C8297E371B6CF905000589EA /* RxCollectionViewSectionedDataSource.swift in Sources */,
@ -1633,7 +1649,6 @@
C89464F01BC6C2B00055219D /* Observable+Multiple.swift in Sources */,
C89464DF1BC6C2B00055219D /* StartWith.swift in Sources */,
C89465881BC6C2BC0055219D /* RxScrollViewDelegateProxy.swift in Sources */,
C894656B1BC6C2BC0055219D /* Driver+Subscription.swift in Sources */,
C89464B71BC6C2B00055219D /* Observable+Extensions.swift in Sources */,
C89464A01BC6C2B00055219D /* Lock.swift in Sources */,
C89464C91BC6C2B00055219D /* Do.swift in Sources */,
@ -1649,12 +1664,14 @@
C8297E3A1B6CF905000589EA /* WikipediaSearchViewController.swift in Sources */,
C89464F21BC6C2B00055219D /* Observable+StandardSequenceOperators.swift in Sources */,
C89464CC1BC6C2B00055219D /* Filter.swift in Sources */,
C80DDED31BCE9046006A1832 /* ControlProperty+Driver.swift in Sources */,
C89465021BC6C2B00055219D /* RecursiveScheduler.swift in Sources */,
C89464C11BC6C2B00055219D /* CombineLatest+CollectionType.swift in Sources */,
C89465671BC6C2BC0055219D /* ControlEvent.swift in Sources */,
C8297E3B1B6CF905000589EA /* String+extensions.swift in Sources */,
C89464A61BC6C2B00055219D /* AnonymousDisposable.swift in Sources */,
C894657D1BC6C2BC0055219D /* RxTarget.swift in Sources */,
C80DDED21BCE9046006A1832 /* ControlEvent+Driver.swift in Sources */,
C89464EE1BC6C2B00055219D /* Observable+Creation.swift in Sources */,
C894659A1BC6C2BC0055219D /* UISlider+Rx.swift in Sources */,
C89465891BC6C2BC0055219D /* RxSearchBarDelegateProxy.swift in Sources */,
@ -1689,6 +1706,7 @@
C89464A31BC6C2B00055219D /* InfiniteSequence.swift in Sources */,
C89465041BC6C2B00055219D /* SchedulerServices+Emulation.swift in Sources */,
C89465611BC6C2BC0055219D /* _RX.m in Sources */,
C80DDED41BCE9046006A1832 /* Driver+Operators+arity.swift in Sources */,
C89465841BC6C2BC0055219D /* RxActionSheetDelegateProxy.swift in Sources */,
C89464F51BC6C2B00055219D /* ObserverOf.swift in Sources */,
C89464D71BC6C2B00055219D /* Range.swift in Sources */,
@ -1713,7 +1731,6 @@
C89CDB721BCC45EE002063D9 /* SkipUntil.swift in Sources */,
C8297E471B6CF905000589EA /* ViewController.swift in Sources */,
C89464E41BC6C2B00055219D /* TakeWhile.swift in Sources */,
C89465681BC6C2BC0055219D /* ControlProperty+Driver.swift in Sources */,
C89464F71BC6C2B00055219D /* ObserverBase.swift in Sources */,
C89465951BC6C2BC0055219D /* UIImageView+Rx.swift in Sources */,
C89464E31BC6C2B00055219D /* TakeUntil.swift in Sources */,
@ -1750,6 +1767,7 @@
C8297E511B6CF905000589EA /* PartialUpdatesViewController.swift in Sources */,
C894649F1BC6C2B00055219D /* AsyncLock.swift in Sources */,
C8297E521B6CF905000589EA /* Dependencies.swift in Sources */,
C80DDED91BCE9046006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
C89464E11BC6C2B00055219D /* Switch.swift in Sources */,
C89465851BC6C2BC0055219D /* RxAlertViewDelegateProxy.swift in Sources */,
C89464A11BC6C2B00055219D /* ConnectableObservableType.swift in Sources */,
@ -1763,13 +1781,11 @@
C8297E541B6CF905000589EA /* AppDelegate.swift in Sources */,
C894659D1BC6C2BC0055219D /* UITableView+Rx.swift in Sources */,
C894657F1BC6C2BC0055219D /* RxCollectionViewReactiveArrayDataSource.swift in Sources */,
C894656A1BC6C2BC0055219D /* Driver+Operators.swift in Sources */,
C8297E551B6CF905000589EA /* RxTableViewSectionedDataSource.swift in Sources */,
C8297E561B6CF905000589EA /* WikipediaPage.swift in Sources */,
C8297E571B6CF905000589EA /* Randomizer.swift in Sources */,
C89464C31BC6C2B00055219D /* Concat.swift in Sources */,
C894657A1BC6C2BC0055219D /* NSURLSession+Rx.swift in Sources */,
C89465661BC6C2BC0055219D /* ControlEvent+Driver.swift in Sources */,
C89464F41BC6C2B00055219D /* ObservableType.swift in Sources */,
C89464CE1BC6C2B00055219D /* Generate.swift in Sources */,
C89465711BC6C2BC0055219D /* Observable+Bind.swift in Sources */,

View File

@ -21,7 +21,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, R>
(source1: O1, _ source2: O2, _ resultSelector: (O1.E, O2.E) throws -> R)
(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R)
-> Observable<R> {
return CombineLatest2(
source1: source1.asObservable(), source2: source2.asObservable(),
@ -97,7 +97,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ resultSelector: (O1.E, O2.E, O3.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> R)
-> Observable<R> {
return CombineLatest3(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(),
@ -180,7 +180,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
-> Observable<R> {
return CombineLatest4(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(),
@ -270,7 +270,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
-> Observable<R> {
return CombineLatest5(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(),
@ -367,7 +367,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
-> Observable<R> {
return CombineLatest6(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(),
@ -471,7 +471,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
-> Observable<R> {
return CombineLatest7(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(),
@ -582,7 +582,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, O8: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
-> Observable<R> {
return CombineLatest8(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(), source8: source8.asObservable(),

View File

@ -19,7 +19,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func combineLatest<<%= (Array(1...i).map { "O\($0): ObservableType" }).joinWithSeparator(", ") %>, R>
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, _ resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
-> Observable<R> {
return CombineLatest<%= i %>(
<%= (Array(1...i).map { "source\($0): source\($0).asObservable()" }).joinWithSeparator(", ") %>,

View File

@ -8,7 +8,7 @@
import Foundation
class ZipCollectionTypeSink<C: CollectionType, R, O: ObserverType where C.Generator.Element : ObservableType, O.E == R> : Sink<O> {
class ZipCollectionTypeSink<C: CollectionType, R, O: ObserverType where C.Generator.Element : ObservableConvertibleType, O.E == R> : Sink<O> {
typealias Parent = ZipCollectionType<C, R>
typealias SourceElement = C.Generator.Element.E
@ -104,7 +104,8 @@ class ZipCollectionTypeSink<C: CollectionType, R, O: ObserverType where C.Genera
var j = 0
for i in parent.sources.startIndex ..< parent.sources.endIndex {
let index = j
self.subscriptions[j].disposable = self.parent.sources[i].subscribeSafe(ObserverOf { event in
let source = self.parent.sources[i].asObservable()
self.subscriptions[j].disposable = source.subscribeSafe(ObserverOf { event in
self.on(event, atIndex: index)
})
j++
@ -114,7 +115,7 @@ class ZipCollectionTypeSink<C: CollectionType, R, O: ObserverType where C.Genera
}
}
class ZipCollectionType<C: CollectionType, R where C.Generator.Element : ObservableType> : Producer<R> {
class ZipCollectionType<C: CollectionType, R where C.Generator.Element : ObservableConvertibleType> : Producer<R> {
typealias ResultSelector = [C.Generator.Element.E] throws -> R
let sources: C

View File

@ -21,7 +21,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, R>
(source1: O1, _ source2: O2, _ resultSelector: (O1.E, O2.E) throws -> R)
(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R)
-> Observable<R> {
return Zip2(
source1: source1.asObservable(), source2: source2.asObservable(),
@ -109,7 +109,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ resultSelector: (O1.E, O2.E, O3.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> R)
-> Observable<R> {
return Zip3(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(),
@ -205,7 +205,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
-> Observable<R> {
return Zip4(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(),
@ -309,7 +309,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
-> Observable<R> {
return Zip5(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(),
@ -421,7 +421,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
-> Observable<R> {
return Zip6(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(),
@ -541,7 +541,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
-> Observable<R> {
return Zip7(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(),
@ -669,7 +669,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, O8: ObservableType, R>
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, _ resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
-> Observable<R> {
return Zip8(
source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(), source8: source8.asObservable(),

View File

@ -19,7 +19,7 @@ Merges the specified observable sequences into one observable sequence by using
- returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
*/
public func zip<<%= (Array(1...i).map { "O\($0): ObservableType" }).joinWithSeparator(", ") %>, R>
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, _ resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
-> Observable<R> {
return Zip<%= i %>(
<%= (Array(1...i).map { "source\($0): source\($0).asObservable()" }).joinWithSeparator(", ") %>,

View File

@ -25,7 +25,7 @@ extension CollectionType where Generator.Element : ObservableType {
// zip
extension CollectionType where Generator.Element : ObservableType {
extension CollectionType where Generator.Element : ObservableConvertibleType {
/**
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

View File

@ -15,7 +15,7 @@ class VariableTest : RxTest {
let a = Variable(1)
let b = Variable(2)
let c = combineLatest(a, b, +)
let c = combineLatest(a, b, resultSelector: +)
var latestValue: Int?