diff --git a/LeadKit.xcodeproj/project.pbxproj b/LeadKit.xcodeproj/project.pbxproj index f1858acb..bc355587 100644 --- a/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit.xcodeproj/project.pbxproj @@ -278,10 +278,6 @@ 6740D5D31FABDA46006BB7C0 /* DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D11FABDA46006BB7C0 /* DataSourceProtocol.swift */; }; 6740D5D41FABDA46006BB7C0 /* DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D11FABDA46006BB7C0 /* DataSourceProtocol.swift */; }; 6740D5D51FABDA47006BB7C0 /* DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D11FABDA46006BB7C0 /* DataSourceProtocol.swift */; }; - 6740D5D71FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D61FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift */; }; - 6740D5D81FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D61FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift */; }; - 6740D5D91FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D61FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift */; }; - 6740D5DA1FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6740D5D61FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift */; }; 674AF55C1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674AF55B1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift */; }; 674AF55D1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674AF55B1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift */; }; 674AF55E1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674AF55B1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift */; }; @@ -324,6 +320,7 @@ 67A1FF941EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A1FF931EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift */; }; 67A1FF951EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A1FF931EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift */; }; 67A1FF971EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A1FF931EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift */; }; + 67B5A34C1FD8074800F36C36 /* Rx+DataSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67B5A34B1FD8074800F36C36 /* Rx+DataSourceProtocol.swift */; }; 67CB1BF21FAB78770089D1B1 /* PaginationWrappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CB1BF11FAB78770089D1B1 /* PaginationWrappable.swift */; }; 67CB1BF61FAB78DC0089D1B1 /* AnyPaginationWrappableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CB1BF51FAB78DC0089D1B1 /* AnyPaginationWrappableView.swift */; }; 67CB1BFA1FAB79530089D1B1 /* UITableView+PaginationWrappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CB1BF91FAB79530089D1B1 /* UITableView+PaginationWrappable.swift */; }; @@ -346,10 +343,6 @@ 67F139FC1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F139FA1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift */; }; 67F139FD1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F139FA1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift */; }; 67F139FE1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F139FA1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift */; }; - 67F13A021FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A011FAB5024008175B4 /* SharedSequence+FilterEmpty.swift */; }; - 67F13A031FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A011FAB5024008175B4 /* SharedSequence+FilterEmpty.swift */; }; - 67F13A041FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A011FAB5024008175B4 /* SharedSequence+FilterEmpty.swift */; }; - 67F13A051FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A011FAB5024008175B4 /* SharedSequence+FilterEmpty.swift */; }; 67F13A081FAB50BB008175B4 /* Single+CursorExhausted.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A071FAB50BB008175B4 /* Single+CursorExhausted.swift */; }; 67F13A151FAB5A87008175B4 /* LoadingState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A141FAB5A87008175B4 /* LoadingState.swift */; }; 67F13A161FAB5A87008175B4 /* LoadingState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F13A141FAB5A87008175B4 /* LoadingState.swift */; }; @@ -566,7 +559,6 @@ 67186B411EB24AA000CFAFFB /* iOS.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = iOS.playground; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; 67186C1A1EB24B7800CFAFFB /* Info-iOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; 6740D5D11FABDA46006BB7C0 /* DataSourceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataSourceProtocol.swift; sourceTree = ""; }; - 6740D5D61FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Single+DataSourceProtocol.swift"; sourceTree = ""; }; 674AF55B1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicatorView+LoadingIndicator.swift"; sourceTree = ""; }; 6771DFD71EE99EBA002DCDAE /* DateFormattingService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateFormattingService.swift; sourceTree = ""; }; 6771DFDD1EE99F6F002DCDAE /* DateFormattingArguments.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateFormattingArguments.swift; sourceTree = ""; }; @@ -590,6 +582,7 @@ 679C77D61F98F7A60094BE10 /* UIAlertController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIAlertController+Extensions.swift"; sourceTree = ""; }; 67A1FF8E1EBCA09B00D6C89F /* UIImage+Spinner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Spinner.swift"; sourceTree = ""; }; 67A1FF931EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CABasicAnimation+Rotation.swift"; sourceTree = ""; }; + 67B5A34B1FD8074800F36C36 /* Rx+DataSourceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Rx+DataSourceProtocol.swift"; sourceTree = ""; }; 67CB1BF11FAB78770089D1B1 /* PaginationWrappable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaginationWrappable.swift; sourceTree = ""; }; 67CB1BF51FAB78DC0089D1B1 /* AnyPaginationWrappableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyPaginationWrappableView.swift; sourceTree = ""; }; 67CB1BF91FAB79530089D1B1 /* UITableView+PaginationWrappable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+PaginationWrappable.swift"; sourceTree = ""; }; @@ -599,7 +592,6 @@ 67CB1C091FAB7B4D0089D1B1 /* PaginationWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaginationWrapper.swift; sourceTree = ""; }; 67F139F41FAB4F22008175B4 /* TotalCountCursor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TotalCountCursor.swift; sourceTree = ""; }; 67F139FA1FAB4F7E008175B4 /* TotalCountCursorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TotalCountCursorConfiguration.swift; sourceTree = ""; }; - 67F13A011FAB5024008175B4 /* SharedSequence+FilterEmpty.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SharedSequence+FilterEmpty.swift"; sourceTree = ""; }; 67F13A071FAB50BB008175B4 /* Single+CursorExhausted.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Single+CursorExhausted.swift"; sourceTree = ""; }; 67F13A141FAB5A87008175B4 /* LoadingState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingState.swift; sourceTree = ""; }; 67F13A191FAB5ABB008175B4 /* LoadingProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingProtocol.swift; sourceTree = ""; }; @@ -1262,6 +1254,7 @@ 67F13A061FAB5098008175B4 /* PrimitiveSequence */, 67F13A001FAB5011008175B4 /* SharedSequence */, 671461F01EB3396E00EAB194 /* Observable */, + 67B5A34B1FD8074800F36C36 /* Rx+DataSourceProtocol.swift */, ); path = Rx; sourceTree = ""; @@ -1269,7 +1262,6 @@ 67F13A001FAB5011008175B4 /* SharedSequence */ = { isa = PBXGroup; children = ( - 67F13A011FAB5024008175B4 /* SharedSequence+FilterEmpty.swift */, ); path = SharedSequence; sourceTree = ""; @@ -1354,7 +1346,6 @@ children = ( 67F13A071FAB50BB008175B4 /* Single+CursorExhausted.swift */, 82F8BB171F5DDED100C1061B /* Single+DeferredJust.swift */, - 6740D5D61FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift */, ); path = Single; sourceTree = ""; @@ -2251,7 +2242,6 @@ 671462EC1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */, 67F13A241FAB5B25008175B4 /* GeneralLoadingState.swift in Sources */, A6E0DDF11F8A6C80002CA74E /* SeparatorConfiguration.swift in Sources */, - 6740D5D71FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */, 6714636C1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */, 6771DFEA1EEA7CB8002DCDAE /* DateFormattingService+MappingTransform.swift in Sources */, 671462A01EB3396E00EAB194 /* Double+Rounding.swift in Sources */, @@ -2283,7 +2273,6 @@ 40F118471F8FEF97004AADAF /* AppearanceConfigurable.swift in Sources */, 671463181EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */, 671462541EB3396E00EAB194 /* App.swift in Sources */, - 67F13A021FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */, 671463781EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */, 6714632C1EB3396E00EAB194 /* ConfigurableController.swift in Sources */, 6714628C1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, @@ -2295,6 +2284,7 @@ 6714629C1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */, 671463681EB3396E00EAB194 /* ConfigurableView.swift in Sources */, 67CB1C021FAB7A640089D1B1 /* PaginationWrapperDelegate.swift in Sources */, + 67B5A34C1FD8074800F36C36 /* Rx+DataSourceProtocol.swift in Sources */, 6771DFE41EE9A00A002DCDAE /* DateFormattingArguments+DateFormatter.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2344,7 +2334,6 @@ 6714626A1EB3396E00EAB194 /* NetworkService.swift in Sources */, 671463421EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */, 67F13A171FAB5A87008175B4 /* LoadingState.swift in Sources */, - 6740D5D91FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */, 671462921EB3396E00EAB194 /* CGImage+Crop.swift in Sources */, 671463861EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */, 671463921EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */, @@ -2352,7 +2341,6 @@ 671463321EB3396E00EAB194 /* CursorType.swift in Sources */, 6714624E1EB3396E00EAB194 /* MapCursor.swift in Sources */, A676AE571F981130001F9214 /* ObservableMappable.swift in Sources */, - 67F13A041FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */, 671463261EB3396E00EAB194 /* Any+TypeName.swift in Sources */, 67F13A451FAB6256008175B4 /* PaginationLoadingViewModel.swift in Sources */, 6714638A1EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */, @@ -2468,9 +2456,7 @@ 6714626F1EB3396E00EAB194 /* XibView.swift in Sources */, 6714637F1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, 671463371EB3396E00EAB194 /* DrawingOperation.swift in Sources */, - 67F13A051FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */, 67F13A221FAB5AE8008175B4 /* LoadingConfiguration.swift in Sources */, - 6740D5DA1FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */, 671462731EB3396E00EAB194 /* CursorError.swift in Sources */, 6714639B1EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */, 6771DFE11EE99F6F002DCDAE /* DateFormattingArguments.swift in Sources */, @@ -2578,12 +2564,10 @@ 671463091EB3396E00EAB194 /* UIView+Rotation.swift in Sources */, 6714626D1EB3396E00EAB194 /* XibView.swift in Sources */, 67CB1C071FAB7AE00089D1B1 /* PaginationWrapperDelegate+DefaultImplementation.swift in Sources */, - 67F13A031FAB5024008175B4 /* SharedSequence+FilterEmpty.swift in Sources */, 6714637D1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, 671463351EB3396E00EAB194 /* DrawingOperation.swift in Sources */, 67FDC2601FA310EA00C76A77 /* RequestError.swift in Sources */, 671462711EB3396E00EAB194 /* CursorError.swift in Sources */, - 6740D5D81FABDBE3006BB7C0 /* Single+DataSourceProtocol.swift in Sources */, 67F13A161FAB5A87008175B4 /* LoadingState.swift in Sources */, 671463991EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */, 671463A81EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */, diff --git a/Sources/Extensions/Rx/PrimitiveSequence/Single/Single+DataSourceProtocol.swift b/Sources/Extensions/Rx/Rx+DataSourceProtocol.swift similarity index 79% rename from Sources/Extensions/Rx/PrimitiveSequence/Single/Single+DataSourceProtocol.swift rename to Sources/Extensions/Rx/Rx+DataSourceProtocol.swift index 76c9a173..8ddb9411 100644 --- a/Sources/Extensions/Rx/PrimitiveSequence/Single/Single+DataSourceProtocol.swift +++ b/Sources/Extensions/Rx/Rx+DataSourceProtocol.swift @@ -21,9 +21,22 @@ // import RxSwift +import RxCocoa -extension Single: DataSourceProtocol { +extension Observable: DataSourceProtocol { - public typealias ResultType = ElementType + public typealias ResultType = Element + +} + +extension PrimitiveSequence: DataSourceProtocol { + + public typealias ResultType = Element + +} + +extension SharedSequence: DataSourceProtocol { + + public typealias ResultType = Element } diff --git a/Sources/Extensions/Rx/SharedSequence/SharedSequence+FilterEmpty.swift b/Sources/Extensions/Rx/SharedSequence/SharedSequence+FilterEmpty.swift deleted file mode 100644 index 1de66572..00000000 --- a/Sources/Extensions/Rx/SharedSequence/SharedSequence+FilterEmpty.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// Copyright (c) 2017 Touch Instinct -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the Software), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import RxCocoa - -public extension SharedSequence where Element: Collection { - - func filterEmpty() -> SharedSequence { - return filter { !$0.isEmpty } - } - -}