diff --git a/Cartfile b/Cartfile index fc79e4f..3a2ed11 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "ReactiveX/RxSwift" ~> 3.4 -github "RxSwiftCommunity/RxDataSources" "1.0.4" + +github "RxSwiftCommunity/RxDataSources" github "texturegroup/texture" diff --git a/Cartfile.resolved b/Cartfile.resolved index 2e0ce17..c62fa3a 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,7 +1,7 @@ git "https://chromium.googlesource.com/webm/libwebp" "v0.5.1" github "ReactiveX/RxSwift" "3.6.1" -github "RxSwiftCommunity/RxDataSources" "1.0.4" +github "RxSwiftCommunity/RxDataSources" "2.0.2" github "pinterest/PINCache" "3.0.1-beta.5" github "pinterest/PINOperation" "1.0.3" github "pinterest/PINRemoteImage" "3.0.0-beta.11" -github "texturegroup/texture" "2.3.4" +github "texturegroup/texture" "2.4" diff --git a/Carthage/Checkouts/RxDataSources b/Carthage/Checkouts/RxDataSources index edd39e2..00004c7 160000 --- a/Carthage/Checkouts/RxDataSources +++ b/Carthage/Checkouts/RxDataSources @@ -1 +1 @@ -Subproject commit edd39e2667e2c0f9e55d0456638934dbe1862c52 +Subproject commit 00004c70df2f7a0db1253c65cda1ce5543cb1fdf diff --git a/Carthage/Checkouts/texture b/Carthage/Checkouts/texture index 5d69da3..3e55f2f 160000 --- a/Carthage/Checkouts/texture +++ b/Carthage/Checkouts/texture @@ -1 +1 @@ -Subproject commit 5d69da3b2cd7237907455a9e9ffd0c3ab4a5d478 +Subproject commit 3e55f2f6d17a96fe8a21a72b955827f7fa24072d diff --git a/Example/ViewController.swift b/Example/ViewController.swift index 2687a97..e37ce64 100644 --- a/Example/ViewController.swift +++ b/Example/ViewController.swift @@ -10,7 +10,7 @@ import UIKit import AsyncDisplayKit import RxSwift import RxCocoa -import RxDataSources +import Differentiator struct NumberSection { var header: String diff --git a/Podfile b/Podfile index fc9b6d2..f6ef355 100644 --- a/Podfile +++ b/Podfile @@ -8,14 +8,6 @@ target 'Example' do pod 'Texture' pod 'RxSwift' pod 'RxCocoa' - pod 'RxDataSources' - -end - -target 'RxTextureDataSources-iOS' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for RxTextureDataSources-iOS + pod 'Differentiator' end diff --git a/Podfile.lock b/Podfile.lock index 9d3fd63..b2c58e6 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,4 +1,5 @@ PODS: + - Differentiator (2.0.2) - PINCache (3.0.1-beta.5): - PINCache/Arc-exception-safe (= 3.0.1-beta.5) - PINCache/Core (= 3.0.1-beta.5) @@ -16,33 +17,30 @@ PODS: - PINRemoteImage/Core - RxCocoa (3.6.1): - RxSwift (~> 3.6) - - RxDataSources (1.0.4): - - RxCocoa (~> 3.0) - - RxSwift (~> 3.0) - RxSwift (3.6.1) - - Texture (2.3.4): - - Texture/PINRemoteImage (= 2.3.4) - - Texture/Core (2.3.4) - - Texture/PINRemoteImage (2.3.4): + - Texture (2.4): + - Texture/PINRemoteImage (= 2.4) + - Texture/Core (2.4) + - Texture/PINRemoteImage (2.4): - PINRemoteImage/iOS (= 3.0.0-beta.11) - PINRemoteImage/PINCache - Texture/Core DEPENDENCIES: + - Differentiator - RxCocoa - - RxDataSources - RxSwift - Texture SPEC CHECKSUMS: + Differentiator: caa9b3957981a2ac8e6b2eac8a676af461caa604 PINCache: 98e7b1ef782824ad231ade51987c218b758c30d8 PINOperation: ac23db44796d4a564ecf9b5ea7163510f579b71d PINRemoteImage: d71988f11914a050d6d4cf51efc4ad1de8c0a9d8 RxCocoa: 84a08739ab186248c7f31ce4ee92d6f8a947d690 - RxDataSources: b3389acc5fe2eefb8fcd81a2b76a876ad08bc82a RxSwift: f9de85ea20cd2f7716ee5409fc13523dc638e4e4 - Texture: 8cf0872fe33328c20d7e6c1fcbf1f23a82162f2f + Texture: a5526314780eab35f642d956627f09316b9514e8 -PODFILE CHECKSUM: c6e55f516b1e6974577295ead732c9596e95383a +PODFILE CHECKSUM: df58f9cead49c76984203f4eab4ded96071c8990 -COCOAPODS: 1.2.1 +COCOAPODS: 1.3.0 diff --git a/Readme.md b/Readme.md index cb772a0..bc3a289 100644 --- a/Readme.md +++ b/Readme.md @@ -1,10 +1,10 @@ -## RxTextureDataSources +## RxASDataSources -[![Platforms](https://img.shields.io/cocoapods/p/RxTextureDataSources.svg)](https://cocoapods.org/pods/RxTextureDataSources) -[![License](https://img.shields.io/cocoapods/l/RxTextureDataSources.svg)](https://raw.githubusercontent.com/RxSwiftCommunity/RxTextureDataSources/master/LICENSE) +[![Platforms](https://img.shields.io/cocoapods/p/RxASDataSources.svg)](https://cocoapods.org/pods/RxASDataSources) +[![License](https://img.shields.io/cocoapods/l/RxASDataSources.svg)](https://raw.githubusercontent.com/dangthaison91/RxASDataSources/master/LICENSE) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![CocoaPods compatible](https://img.shields.io/cocoapods/v/RxTextureDataSources.svg)](https://cocoapods.org/pods/RxTextureDataSources) -[![Travis](https://img.shields.io/travis/RxSwiftCommunity/RxTextureDataSources/master.svg)](https://travis-ci.org/RxSwiftCommunity/RxTextureDataSources/branches) +[![CocoaPods compatible](https://img.shields.io/cocoapods/v/RxASDataSources.svg)](https://cocoapods.org/pods/RxASDataSources) +[![Travis](https://img.shields.io/travis/dangthaison91/RxASDataSources/master.svg)](https://travis-ci.org/dangthaison91/RxASDataSources/branches) [RxDataSources](https://github.com/RxSwiftCommunity/RxDataSources) for AsyncDisplayKit/Texture: ASTableNode & ASCollectionNode. @@ -22,10 +22,10 @@ ### CocoaPods -To integrate RxTextureDataSources into your Xcode project using CocoaPods, specify it in your `Podfile`: +To integrate RxASDataSources into your Xcode project using CocoaPods, specify it in your `Podfile`: ```ruby -pod 'RxTextureDataSources', '~> 0.1' +pod 'RxASDataSources', '~> 0.1' ``` Then, run the following command: @@ -36,14 +36,14 @@ $ pod install ### Carthage -To integrate RxTextureDataSources into your Xcode project using Carthage, specify it in your `Cartfile`: +To integrate RxASDataSources into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "dangthaison91/RxTextureDataSources" ~> 0.1 +github "dangthaison91/RxASDataSources" ~> 0.1 ``` ## Usage ## License -RxTextureDataSources is released under the MIT license. See [LICENSE](https://github.com/RxSwiftCommunity/RxTextureDataSources/blob/master/LICENSE) for details. +RxASDataSources is released under the MIT license. See [LICENSE](https://github.com/RxSwiftCommunity/RxTextureDataSources/blob/master/LICENSE) for details. diff --git a/RxTextureDataSources.playground/Contents.swift b/RxASDataSources.playground/Contents.swift similarity index 100% rename from RxTextureDataSources.playground/Contents.swift rename to RxASDataSources.playground/Contents.swift diff --git a/RxTextureDataSources.playground/contents.xcplayground b/RxASDataSources.playground/contents.xcplayground similarity index 100% rename from RxTextureDataSources.playground/contents.xcplayground rename to RxASDataSources.playground/contents.xcplayground diff --git a/RxTextureDataSources.podspec b/RxASDataSources.podspec similarity index 56% rename from RxTextureDataSources.podspec rename to RxASDataSources.podspec index 63bec40..a3a1d85 100644 --- a/RxTextureDataSources.podspec +++ b/RxASDataSources.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| - s.name = 'RxTextureDataSources' - s.version = '0.1.4' + s.name = 'RxASDataSources' + s.version = '0.2' s.license = { :type => "MIT", :file => "LICENSE" } - s.summary = 'RxDataSource for AsyncDisplayKit/Texture view containers' - s.homepage = 'https://github.com/dangthaison91/RxTextureDataSources' + s.summary = 'RxDataSources for AsyncDisplayKit/Texture ASTableNode/ASCollectionNode' + s.homepage = 'https://github.com/dangthaison91/RxASDataSources' s.social_media_url = 'https://twitter.com/dangthaison91' s.authors = { "Dang Thai Son" => "dangthaison.91@gmail.com" } - s.source = { :git => "https://github.com/dangthaison91/RxTextureDataSources.git", :tag => s.version.to_s } + s.source = { :git => "https://github.com/dangthaison91/RxASDataSources.git", :tag => s.version.to_s } s.platforms = { :ios => "8.0" } s.requires_arc = true @@ -14,7 +14,7 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.dependency 'RxSwift', '~> 3.4' s.dependency 'RxCocoa', '~> 3.4' - s.dependency 'RxDataSources', '~> 1.0' + s.dependency 'Differentiator', '~> 2.0' s.dependency 'Texture', '~> 2.0' end diff --git a/RxTextureDataSources.xcodeproj/project.pbxproj b/RxASDataSources.xcodeproj/project.pbxproj similarity index 91% rename from RxTextureDataSources.xcodeproj/project.pbxproj rename to RxASDataSources.xcodeproj/project.pbxproj index 263bcd5..0cf989e 100644 --- a/RxTextureDataSources.xcodeproj/project.pbxproj +++ b/RxASDataSources.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 574265651F64245D0059BD8F /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563031F28FEB3002E825B /* AsyncDisplayKit.framework */; }; + 574265661F64246E0059BD8F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563051F28FEBD002E825B /* RxSwift.framework */; }; + 574265671F6424830059BD8F /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563071F28FEC4002E825B /* RxCocoa.framework */; }; + 574265691F6424BE0059BD8F /* Differentiator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 574265681F6424BE0059BD8F /* Differentiator.framework */; }; 57826BA01F29477000FB0414 /* RxASCollectionReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826B9F1F29477000FB0414 /* RxASCollectionReloadDataSource.swift */; }; 57826BA21F29485500FB0414 /* RxASTableReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */; }; 57826BAA1F29491800FB0414 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA91F29491800FB0414 /* AppDelegate.swift */; }; @@ -33,14 +37,11 @@ 57826BCB1F294DD600FB0414 /* ASTableSectionedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563411F290718002E825B /* ASTableSectionedDataSource.swift */; }; 57826BCC1F294DD600FB0414 /* RxASTableDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563441F290718002E825B /* RxASTableDataSourceType.swift */; }; 57826BCD1F294DD600FB0414 /* RxASTableAnimatedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563421F290718002E825B /* RxASTableAnimatedDataSource.swift */; }; - 57826BCF1F294DD600FB0414 /* SectionedViewType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */; }; + 57826BCF1F294DD600FB0414 /* SectionedNodeType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */; }; 57826BD01F294DD600FB0414 /* Array+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563561F290FCD002E825B /* Array+Extensions.swift */; }; 57826BD11F294E4F00FB0414 /* RxASTableReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */; }; - 57A650101F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */; }; - 57DE26A41F1C5B5600EC4CF6 /* RxTextureDataSources.h in Headers */ = {isa = PBXBuildFile; fileRef = 57A650211F1BF309005C7A79 /* RxTextureDataSources.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 57E563061F28FEBD002E825B /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563051F28FEBD002E825B /* RxSwift.framework */; }; - 57E563081F28FEC4002E825B /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563071F28FEC4002E825B /* RxCocoa.framework */; }; - 57E5630A1F28FECF002E825B /* RxDataSources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563091F28FECF002E825B /* RxDataSources.framework */; }; + 57A650101F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */; }; + 57DE26A41F1C5B5600EC4CF6 /* RxASDataSources.h in Headers */ = {isa = PBXBuildFile; fileRef = 57A650211F1BF309005C7A79 /* RxASDataSources.h */; settings = {ATTRIBUTES = (Public, ); }; }; 57E5632C1F290656002E825B /* RxHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E5632B1F290656002E825B /* RxHelpers.swift */; }; 57E5632E1F29066F002E825B /* ASDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E5632D1F29066F002E825B /* ASDelegateProxy.swift */; }; 57E563481F290718002E825B /* ASTableSectionedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563411F290718002E825B /* ASTableSectionedDataSource.swift */; }; @@ -54,17 +55,15 @@ 57E563641F291597002E825B /* RxASTableDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563601F291597002E825B /* RxASTableDataSourceProxy.swift */; }; 57E563651F291597002E825B /* RxASTableDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563611F291597002E825B /* RxASTableDelegateProxy.swift */; }; 57E563671F29176A002E825B /* RxASCollectionAnimatedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563661F29176A002E825B /* RxASCollectionAnimatedDataSource.swift */; }; - 57E563681F2917C6002E825B /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563031F28FEB3002E825B /* AsyncDisplayKit.framework */; }; 57E5636A1F291A81002E825B /* ASCollectionNode+SectionViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563691F291A81002E825B /* ASCollectionNode+SectionViewType.swift */; }; 57E5636C1F291ACC002E825B /* ASTableNode+SectionedViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E5636B1F291ACC002E825B /* ASTableNode+SectionedViewType.swift */; }; 6A520ADB1831906E0BCC284C /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 497271B10CB7AAE70BBDEAF0 /* Pods_Example.framework */; }; - 97DBB84BC0E3B34CABA1EC1C /* Pods_RxTextureDataSources_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D6F346FB9800367EA3FFEA5 /* Pods_RxTextureDataSources_iOS.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 1D239F80A6333F998A90AF83 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; 342A8012D316E430EE7D864E /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; - 3549BB211DA389CD00C63030 /* RxTextureDataSources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxTextureDataSources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3549BB211DA389CD00C63030 /* RxASDataSources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxASDataSources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3549BB581DA38A8800C63030 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3549BB8A1DA38C0A00C63030 /* RxTextureDataSourcesSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTextureDataSourcesSpec.swift; sourceTree = ""; }; 35CD64E81E60192300AF060B /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = ""; }; @@ -93,6 +92,7 @@ 35CD65171E60192300AF060B /* watchOS-Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "watchOS-Framework.xcconfig"; sourceTree = ""; }; 35CD65181E60192300AF060B /* watchOS-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "watchOS-StaticLibrary.xcconfig"; sourceTree = ""; }; 497271B10CB7AAE70BBDEAF0 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 574265681F6424BE0059BD8F /* Differentiator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Differentiator.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/Differentiator.framework"; sourceTree = ""; }; 57826B9F1F29477000FB0414 /* RxASCollectionReloadDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxASCollectionReloadDataSource.swift; sourceTree = ""; }; 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxASTableReloadDataSource.swift; sourceTree = ""; }; 57826BA71F29491800FB0414 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -108,9 +108,9 @@ 57826BD61F29505800FB0414 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = "Carthage/Checkouts/RxSwift/build/Debug-iphoneos/RxSwift.framework"; sourceTree = ""; }; 57826BD81F29506000FB0414 /* RxDataSources.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxDataSources.framework; path = "Carthage/Checkouts/RxDataSources/build/Debug-iphoneos/RxDataSources.framework"; sourceTree = ""; }; 57826BDC1F29509700FB0414 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = "Carthage/Checkouts/RxSwift/build/Debug-iphoneos/RxCocoa.framework"; sourceTree = ""; }; - 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SectionedViewType+BatchUpdate.swift"; sourceTree = ""; }; + 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SectionedNodeType+BatchUpdate.swift"; sourceTree = ""; }; 57A650201F1BF309005C7A79 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 57A650211F1BF309005C7A79 /* RxTextureDataSources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RxTextureDataSources.h; sourceTree = ""; }; + 57A650211F1BF309005C7A79 /* RxASDataSources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RxASDataSources.h; sourceTree = ""; }; 57E563031F28FEB3002E825B /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AsyncDisplayKit.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/AsyncDisplayKit.framework"; sourceTree = ""; }; 57E563051F28FEBD002E825B /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/RxSwift.framework"; sourceTree = ""; }; 57E563071F28FEC4002E825B /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/RxCocoa.framework"; sourceTree = ""; }; @@ -138,11 +138,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 57E563681F2917C6002E825B /* AsyncDisplayKit.framework in Frameworks */, - 57E5630A1F28FECF002E825B /* RxDataSources.framework in Frameworks */, - 57E563081F28FEC4002E825B /* RxCocoa.framework in Frameworks */, - 57E563061F28FEBD002E825B /* RxSwift.framework in Frameworks */, - 97DBB84BC0E3B34CABA1EC1C /* Pods_RxTextureDataSources_iOS.framework in Frameworks */, + 574265691F6424BE0059BD8F /* Differentiator.framework in Frameworks */, + 574265671F6424830059BD8F /* RxCocoa.framework in Frameworks */, + 574265661F64246E0059BD8F /* RxSwift.framework in Frameworks */, + 574265651F64245D0059BD8F /* AsyncDisplayKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -173,7 +172,7 @@ 3549BB061DA387DB00C63030 /* Products */ = { isa = PBXGroup; children = ( - 3549BB211DA389CD00C63030 /* RxTextureDataSources.framework */, + 3549BB211DA389CD00C63030 /* RxASDataSources.framework */, 57826BA71F29491800FB0414 /* Example.app */, ); name = Products; @@ -208,6 +207,7 @@ 357D954B1DA3F2B400AEC55F /* Frameworks */ = { isa = PBXGroup; children = ( + 574265681F6424BE0059BD8F /* Differentiator.framework */, 57826BDC1F29509700FB0414 /* RxCocoa.framework */, 57826BD81F29506000FB0414 /* RxDataSources.framework */, 57826BD61F29505800FB0414 /* RxSwift.framework */, @@ -339,7 +339,7 @@ 57E5632A1F290649002E825B /* RxHelper */, 57E5633E1F290718002E825B /* ASCollectionNode+Rx */, 57E5633F1F290718002E825B /* ASTableNode+Rx */, - 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */, + 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */, 57E563561F290FCD002E825B /* Array+Extensions.swift */, ); path = DataSources; @@ -349,7 +349,7 @@ isa = PBXGroup; children = ( 57A650201F1BF309005C7A79 /* Info.plist */, - 57A650211F1BF309005C7A79 /* RxTextureDataSources.h */, + 57A650211F1BF309005C7A79 /* RxASDataSources.h */, ); path = "Supporting Files"; sourceTree = ""; @@ -416,31 +416,29 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 57DE26A41F1C5B5600EC4CF6 /* RxTextureDataSources.h in Headers */, + 57DE26A41F1C5B5600EC4CF6 /* RxASDataSources.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3549BB201DA389CD00C63030 /* RxTextureDataSources-iOS */ = { + 3549BB201DA389CD00C63030 /* RxASDataSources */ = { isa = PBXNativeTarget; - buildConfigurationList = 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxTextureDataSources-iOS" */; + buildConfigurationList = 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxASDataSources" */; buildPhases = ( - A2CD7C478558742C975F7F45 /* [CP] Check Pods Manifest.lock */, 3549BB1C1DA389CD00C63030 /* Sources */, 3549BB1D1DA389CD00C63030 /* Frameworks */, 3549BB1E1DA389CD00C63030 /* Headers */, 3549BB1F1DA389CD00C63030 /* Resources */, - 9AD5473C058549D406CBDB88 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); - name = "RxTextureDataSources-iOS"; + name = RxASDataSources; productName = "RxTextureDataSources-iOS"; - productReference = 3549BB211DA389CD00C63030 /* RxTextureDataSources.framework */; + productReference = 3549BB211DA389CD00C63030 /* RxASDataSources.framework */; productType = "com.apple.product-type.framework"; }; 57826BA61F29491800FB0414 /* Example */ = { @@ -483,7 +481,7 @@ }; }; }; - buildConfigurationList = 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxTextureDataSources" */; + buildConfigurationList = 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxASDataSources" */; compatibilityVersion = "Xcode 8.0"; developmentRegion = English; hasScannedForEncodings = 0; @@ -496,7 +494,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 3549BB201DA389CD00C63030 /* RxTextureDataSources-iOS */, + 3549BB201DA389CD00C63030 /* RxASDataSources */, 57826BA61F29491800FB0414 /* Example */, ); }; @@ -523,36 +521,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 9AD5473C058549D406CBDB88 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RxTextureDataSources-iOS/Pods-RxTextureDataSources-iOS-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - A2CD7C478558742C975F7F45 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; B17F3E75B8B24C7AC6478D18 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -574,13 +542,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; F287AD5C5D01FE15DAF7988F /* [CP] Embed Pods Frameworks */ = { @@ -589,9 +560,24 @@ files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Differentiator/Differentiator.framework", + "${BUILT_PRODUCTS_DIR}/PINCache/PINCache.framework", + "${BUILT_PRODUCTS_DIR}/PINOperation/PINOperation.framework", + "${BUILT_PRODUCTS_DIR}/PINRemoteImage/PINRemoteImage.framework", + "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework", + "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework", + "${BUILT_PRODUCTS_DIR}/Texture/AsyncDisplayKit.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Differentiator.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINCache.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINOperation.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINRemoteImage.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AsyncDisplayKit.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -612,7 +598,7 @@ 57E5636A1F291A81002E825B /* ASCollectionNode+SectionViewType.swift in Sources */, 57826BA21F29485500FB0414 /* RxASTableReloadDataSource.swift in Sources */, 57E563651F291597002E825B /* RxASTableDelegateProxy.swift in Sources */, - 57A650101F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift in Sources */, + 57A650101F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift in Sources */, 57E5634B1F290718002E825B /* RxASTableDataSourceType.swift in Sources */, 57E5632C1F290656002E825B /* RxHelpers.swift in Sources */, 57826BBA1F2949D900FB0414 /* ASTableNode+Rx.swift in Sources */, @@ -643,7 +629,7 @@ 57826BCA1F294DD600FB0414 /* ASTableNode+SectionedViewType.swift in Sources */, 57826BC21F294DCF00FB0414 /* ASDelegateProxy.swift in Sources */, 57826BC11F294DCF00FB0414 /* RxHelpers.swift in Sources */, - 57826BCF1F294DD600FB0414 /* SectionedViewType+BatchUpdate.swift in Sources */, + 57826BCF1F294DD600FB0414 /* SectionedNodeType+BatchUpdate.swift in Sources */, 57826BD11F294E4F00FB0414 /* RxASTableReloadDataSource.swift in Sources */, 57826BCD1F294DD600FB0414 /* RxASTableAnimatedDataSource.swift in Sources */, 57826BBE1F294DC800FB0414 /* RxASCollectionDelegateProxy.swift in Sources */, @@ -793,10 +779,10 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Sources/Supporting Files/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = me.dangthaison91.rxtexture.RxTextureDataSources; - PRODUCT_NAME = RxTextureDataSources; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.RxASDataSources; + PRODUCT_NAME = RxASDataSources; SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; }; @@ -813,10 +799,10 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Sources/Supporting Files/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = me.dangthaison91.rxtexture.RxTextureDataSources; - PRODUCT_NAME = RxTextureDataSources; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.RxASDataSources; + PRODUCT_NAME = RxASDataSources; SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; }; @@ -828,6 +814,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEVELOPMENT_TEAM = MRS6F96DBN; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -835,10 +822,11 @@ "$(PROJECT_DIR)/Carthage/Checkouts/RxDataSources/build/Debug-iphoneos", ); INFOPLIST_FILE = Example/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.sondt.rxtexture-example.Example"; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.Example; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; }; name = Debug; @@ -849,6 +837,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEVELOPMENT_TEAM = MRS6F96DBN; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -856,10 +845,11 @@ "$(PROJECT_DIR)/Carthage/Checkouts/RxDataSources/build/Debug-iphoneos", ); INFOPLIST_FILE = Example/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.sondt.rxtexture-example.Example"; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.Example; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; }; name = Release; @@ -867,7 +857,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxTextureDataSources" */ = { + 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxASDataSources" */ = { isa = XCConfigurationList; buildConfigurations = ( 3549BB0B1DA387DB00C63030 /* Debug */, @@ -876,7 +866,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxTextureDataSources-iOS" */ = { + 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxASDataSources" */ = { isa = XCConfigurationList; buildConfigurations = ( 3549BB271DA389CD00C63030 /* Debug */, diff --git a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme similarity index 90% rename from RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme rename to RxASDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index 448fea1..11c2e18 100644 --- a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -17,7 +17,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -35,7 +35,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -58,7 +58,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -77,7 +77,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> diff --git a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme similarity index 83% rename from RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme rename to RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme index 0562f8b..a7dee5e 100644 --- a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme +++ b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme @@ -16,8 +16,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -35,7 +35,7 @@ BlueprintIdentifier = "3549BB601DA38ADB00C63030" BuildableName = "RxTextureDataSourcesTests-iOS.xctest" BlueprintName = "RxTextureDataSourcesTests-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -44,8 +44,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -66,8 +66,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -84,8 +84,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift index 72e5cf0..bf019e3 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift @@ -1,6 +1,6 @@ // // ASCollectionNode+SectionViewType.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -9,9 +9,9 @@ import Foundation import UIKit import AsyncDisplayKit -import RxDataSources +import Differentiator -extension ASCollectionNode: SectionedViewType { +extension ASCollectionNode: SectionedNodeType { public func insertItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) { self.insertItems(at: paths) @@ -45,13 +45,7 @@ extension ASCollectionNode: SectionedViewType { self.reloadSections(indexSet(sections)) } - public func performBatchUpdates(_ changes: Changeset, animationConfiguration: AnimationConfiguration) { - self.performBatch(animated: true, updates: { - _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) - }, completion: nil) - } - - public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: AnimationConfiguration) { + public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: RowAnimation) { self.performBatch(animated: animated, updates: { _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) }, completion: nil) diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift index 0d0e5ab..4ddbe21 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift @@ -1,6 +1,6 @@ // // ASCollectionNode+Rx.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift index 62365f7..f37add4 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift @@ -1,6 +1,6 @@ // // ASCollectionSectionedDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -10,7 +10,7 @@ import Foundation import AsyncDisplayKit #if !RX_NO_MODULE import RxCocoa - import RxDataSources + import Differentiator #endif open class _ASCollectionSectionedDataSource: NSObject, ASCollectionDataSource { diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift index 63c87f2..9853f27 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift @@ -1,6 +1,6 @@ // // RxASCollectionAnimatedDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -10,12 +10,12 @@ import Foundation import AsyncDisplayKit import RxSwift import RxCocoa -import RxDataSources +import Differentiator open class RxASCollectionAnimatedDataSource: ASCollectionSectionedDataSource, RxASCollectionDataSourceType { public typealias Element = [S] - public var animationConfiguration = AnimationConfiguration() + public var animationConfiguration = RowAnimation() public var animated: Bool = true var dataSet = false @@ -36,7 +36,7 @@ open class RxASCollectionAnimatedDataSource: ASCo } else { let oldSections = dataSource.sectionModels do { - let differences = try differencesForSectionedView(initialSections: oldSections, finalSections: newSections) + let differences = try Diff.differencesForSectionedView(initialSections: oldSections, finalSections: newSections) for difference in differences { dataSource.setSections(difference.finalSections) diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift index e7e1bdc..5e39813 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift @@ -1,6 +1,6 @@ // // RxASCollectionDataSourceType.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift index 26fb4df..165fa3b 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift @@ -1,6 +1,6 @@ // // RxASCollectionReloadDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -11,7 +11,7 @@ import AsyncDisplayKit #if !RX_NO_MODULE import RxSwift import RxCocoa - import RxDataSources + import Differentiator #endif open class RxASCollectionReloadDataSource: ASCollectionSectionedDataSource, RxASCollectionDataSourceType { diff --git a/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift b/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift index 9db729e..44c83fa 100644 --- a/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift +++ b/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift @@ -1,6 +1,6 @@ // // ASTableNode+SectionedViewType.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -8,9 +8,9 @@ import Foundation import AsyncDisplayKit -import RxDataSources +import Differentiator -extension ASTableNode: SectionedViewType { +extension ASTableNode: SectionedNodeType { public func insertItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) { self.insertRows(at: paths, with: animationStyle) @@ -44,13 +44,7 @@ extension ASTableNode: SectionedViewType { self.reloadSections(indexSet(sections), with: animationStyle) } - public func performBatchUpdates(_ changes: Changeset, animationConfiguration: AnimationConfiguration) { - self.performBatch(animated: true, updates: { - _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) - }, completion: nil) - } - - public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: AnimationConfiguration) { + public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: RowAnimation) { self.performBatch(animated: animated, updates: { _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) }, completion: nil) diff --git a/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift b/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift index 08f8042..18901c2 100644 --- a/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift @@ -11,7 +11,7 @@ import AsyncDisplayKit #if !RX_NO_MODULE import RxCocoa - import RxDataSources + import Differentiator #endif open class _ASTableSectionedDataSource: NSObject, ASTableDataSource { diff --git a/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift b/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift index 6ab7ea9..2002453 100644 --- a/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift @@ -10,12 +10,26 @@ import Foundation import AsyncDisplayKit import RxSwift import RxCocoa -import RxDataSources +import Differentiator + +public struct RowAnimation { + public let insertAnimation: UITableViewRowAnimation + public let reloadAnimation: UITableViewRowAnimation + public let deleteAnimation: UITableViewRowAnimation + + public init(insertAnimation: UITableViewRowAnimation = .automatic, + reloadAnimation: UITableViewRowAnimation = .automatic, + deleteAnimation: UITableViewRowAnimation = .automatic) { + self.insertAnimation = insertAnimation + self.reloadAnimation = reloadAnimation + self.deleteAnimation = deleteAnimation + } +} open class RxASTableAnimatedDataSource: ASTableSectionedDataSource, RxASTableDataSourceType { public typealias Element = [S] - public var animationConfiguration = AnimationConfiguration() + public var animationConfiguration = RowAnimation() public var animated: Bool = true var dataSet = false @@ -36,7 +50,8 @@ open class RxASTableAnimatedDataSource: ASTableSe } else { let oldSections = dataSource.sectionModels do { - let differences = try differencesForSectionedView(initialSections: oldSections, finalSections: newSections) + + let differences = try Diff.differencesForSectionedView(initialSections: oldSections, finalSections: newSections) for difference in differences { dataSource.setSections(difference.finalSections) tableNode.performBatchUpdates(difference, animated: self.animated, animationConfiguration: self.animationConfiguration) diff --git a/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift b/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift index 44f1724..a04d5ed 100644 --- a/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift @@ -1,6 +1,6 @@ // // RxASTableReloadDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -14,7 +14,7 @@ import AsyncDisplayKit #if !RX_NO_MODULE import RxSwift import RxCocoa - import RxDataSources + import Differentiator #endif open class RxASTableReloadDataSource: ASTableSectionedDataSource, RxASTableDataSourceType { diff --git a/Sources/DataSources/Array+Extensions.swift b/Sources/DataSources/Array+Extensions.swift index 29ba680..46ef0e6 100644 --- a/Sources/DataSources/Array+Extensions.swift +++ b/Sources/DataSources/Array+Extensions.swift @@ -1,13 +1,13 @@ // // Array+Extensions.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. // import Foundation -import RxDataSources +import Differentiator extension Array where Element: SectionModelType { mutating func moveFromSourceIndexPath(_ sourceIndexPath: IndexPath, destinationIndexPath: IndexPath) { diff --git a/Sources/DataSources/RxHelper/RxHelpers.swift b/Sources/DataSources/RxHelper/RxHelpers.swift index 571b053..4e47d49 100644 --- a/Sources/DataSources/RxHelper/RxHelpers.swift +++ b/Sources/DataSources/RxHelper/RxHelpers.swift @@ -1,6 +1,6 @@ // // RxHelpers.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/15/17. // Copyright © 2017 Dang Thai Son. All rights reserved. diff --git a/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift b/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift index b8510bc..2041463 100644 --- a/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift +++ b/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift @@ -1,6 +1,6 @@ // // RxASCollectionDataSourceProxy.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift b/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift index d449b67..41f213b 100644 --- a/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift +++ b/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift @@ -1,6 +1,6 @@ // // RxASCollectionDelegateProxy.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -47,17 +47,6 @@ public extension Reactive where Base: ASCollectionNode { return RxASCollectionDelegateProxy.proxyForObject(base) } - var beginBatchFetch: ControlEvent { - - let source = self.delegate - .methodInvoked(#selector(ASCollectionDelegate.collectionNode(_:willBeginBatchFetchWith:))) - .map { data in - return try castOrThrow(ASBatchContext.self, data[1]) - } - - return ControlEvent(events: source) - } - /// Reactive wrapper for `delegate` message `collectionNode(_:didSelectItemAtIndexPath:)`. var itemSelected: ControlEvent { let source = delegate.methodInvoked(#selector(ASCollectionDelegate.collectionNode(_:didSelectItemAt:))) diff --git a/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift b/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift index 2e8263e..56fceaa 100644 --- a/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift +++ b/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift @@ -41,17 +41,6 @@ public extension Reactive where Base: ASTableNode { return RxASTableDelegateProxy.proxyForObject(base) } - var beginBatchFetch: ControlEvent { - - let source = self.delegate - .methodInvoked(#selector(ASTableDelegate.tableNode(_:willBeginBatchFetchWith:))) - .map { data in - return try castOrThrow(ASBatchContext.self, data[1]) - } - - return ControlEvent(events: source) - } - // Event /** Reactive wrapper for `delegate` message `tableNode:didSelectRowAtIndexPath:`. diff --git a/Sources/DataSources/SectionedViewType+BatchUpdate.swift b/Sources/DataSources/SectionedNodeType+BatchUpdate.swift similarity index 61% rename from Sources/DataSources/SectionedViewType+BatchUpdate.swift rename to Sources/DataSources/SectionedNodeType+BatchUpdate.swift index 334e279..5cc999a 100644 --- a/Sources/DataSources/SectionedViewType+BatchUpdate.swift +++ b/Sources/DataSources/SectionedNodeType+BatchUpdate.swift @@ -7,7 +7,8 @@ // import Foundation -import RxDataSources +import UIKit +import Differentiator func indexSet(_ values: [Int]) -> IndexSet { let indexSet = NSMutableIndexSet() @@ -17,7 +18,21 @@ func indexSet(_ values: [Int]) -> IndexSet { return indexSet as IndexSet } -func _performBatchUpdates(_ view: V, changes: Changeset, animationConfiguration: AnimationConfiguration) { +public protocol SectionedNodeType { + func insertItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) + func deleteItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) + func moveItemAtIndexPath(_ from: IndexPath, to: IndexPath) + func reloadItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) + + func insertSections(_ sections: [Int], animationStyle: UITableViewRowAnimation) + func deleteSections(_ sections: [Int], animationStyle: UITableViewRowAnimation) + func moveSection(_ from: Int, to: Int) + func reloadSections(_ sections: [Int], animationStyle: UITableViewRowAnimation) + + func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: RowAnimation) +} + +func _performBatchUpdates(_ view: V, changes: Changeset, animationConfiguration: RowAnimation) { typealias I = S.Item view.deleteSections(changes.deletedSections, animationStyle: .fade) diff --git a/Sources/Supporting Files/Info.plist b/Sources/Supporting Files/Info.plist index e6f4652..88a368e 100644 --- a/Sources/Supporting Files/Info.plist +++ b/Sources/Supporting Files/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion en + CFBundleDisplayName + RxASDataSources CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/Sources/Supporting Files/RxASDataSources.h b/Sources/Supporting Files/RxASDataSources.h new file mode 100644 index 0000000..cf11264 --- /dev/null +++ b/Sources/Supporting Files/RxASDataSources.h @@ -0,0 +1,17 @@ +// +// RxASDataSources.h +// RxASDataSources +// +// Created by Dang Thai Son on 04/10/16. +// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// + +#import + +//! Project version number for RxASDataSources. +FOUNDATION_EXPORT double RxASDataSourcesVersionNumber; + +//! Project version string for RxASDataSources. +FOUNDATION_EXPORT const unsigned char RxASDataSourcesVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Sources/Supporting Files/RxTextureDataSources.h b/Sources/Supporting Files/RxTextureDataSources.h deleted file mode 100644 index 7ae4ccb..0000000 --- a/Sources/Supporting Files/RxTextureDataSources.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// RxTextureDataSources.h -// RxTextureDataSources -// -// Created by Dang Thai Son on 04/10/16. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. -// - -#import - -//! Project version number for RxTextureDataSources. -FOUNDATION_EXPORT double RxTextureDataSourcesVersionNumber; - -//! Project version string for RxTextureDataSources. -FOUNDATION_EXPORT const unsigned char RxTextureDataSourcesVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Tests/RxTextureDataSourcesSpec.swift b/Tests/RxTextureDataSourcesSpec.swift index 14f1c67..d9f9de7 100644 --- a/Tests/RxTextureDataSourcesSpec.swift +++ b/Tests/RxTextureDataSourcesSpec.swift @@ -1,6 +1,6 @@ // -// RxTextureDataSourcesSpec.swift -// RxTextureDataSources +// RxASDataSourcesSpec.swift +// RxASDataSources // // Created by Dang Thai Son on 04/10/16. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -8,15 +8,15 @@ import Quick import Nimble -@testable import RxTextureDataSources +@testable import RxASDataSources -class RxTextureDataSourcesSpec: QuickSpec { +class RxASDataSourcesSpec: QuickSpec { override func spec() { - describe("RxTextureDataSourcesSpec") { + describe("RxASDataSourcesSpec") { it("works") { - expect("RxTextureDataSources") == "RxTextureDataSources" + expect("RxASDataSources") == "RxASDataSources" } }