Improve the Reactive interface

This commit is contained in:
Pedro Piñera Buendía 2016-03-30 11:18:41 +02:00
parent 0cc13d4e18
commit 2bcc062c18
7 changed files with 31 additions and 69 deletions

View File

@ -47,7 +47,6 @@ Pod::Spec.new do |s|
s.subspec "CoreData" do |spec|
source_files = ['SugarRecord/Source/Foundation/**/*.{swift}', 'SugarRecord/Source/CoreData/**/*.{swift}']
excluded_files = ['SugarRecord/Source/CoreData/Reactive/**/*.{swift}']
spec.source_files = source_files
spec.exclude_files = excluded_files + excluded_icloud_files
coredata_dependencies.call(spec)
@ -57,7 +56,6 @@ Pod::Spec.new do |s|
s.subspec "CoreData+iCloud" do |spec|
source_files = ['SugarRecord/Source/Foundation/**/*.{swift}', 'SugarRecord/Source/CoreData/**/*.{swift}']
excluded_files = ['SugarRecord/Source/CoreData/Reactive/**/*.{swift}']
spec.source_files = source_files
spec.exclude_files = excluded_files
coredata_dependencies.call(spec)
@ -109,7 +107,6 @@ Pod::Spec.new do |s|
s.subspec "Realm" do |spec|
spec.source_files = ['SugarRecord/Source/Foundation/**/*.{swift}', 'SugarRecord/Source/Realm/**/*.{swift}']
spec.exclude_files = ['SugarRecord/Source/Realm/Reactive/**/*.{swift}']
realm_dependencies.call(spec)
foundation_dependencies.call(spec)
end

View File

@ -17,7 +17,6 @@
2319B7D41C23FF8F0050ABE8 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62E1BED4AC00081E6E7 /* Request.swift */; };
2319B7D71C23FF8F0050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; };
2319B7DA1C23FF8F0050ABE8 /* NSSortDescriptorConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6371BED4AC00081E6E7 /* NSSortDescriptorConvertible.swift */; };
2319B7DB1C23FF8F0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; };
2319B7DD1C23FF8F0050ABE8 /* RealmEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23AC16281BF3716200FAF97A /* RealmEntity.swift */; };
2319B7DE1C23FF8F0050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; };
2319B7DF1C23FF8F0050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; };
@ -26,14 +25,12 @@
2319B7E31C23FF8F0050ABE8 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6311BED4AC00081E6E7 /* Error.swift */; };
2319B7E41C23FF8F0050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; };
2319B7E51C23FF8F0050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; };
2319B7E61C23FF8F0050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
2319B7E81C23FF8F0050ABE8 /* RequestExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6331BED4AC00081E6E7 /* RequestExtension.swift */; };
2319B7EA1C23FF8F0050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; };
2319B7EB1C23FF8F0050ABE8 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62F1BED4AC00081E6E7 /* Storage.swift */; };
2319B7EC1C23FF8F0050ABE8 /* DirUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F01BF0FE4500F9D379 /* DirUtils.swift */; };
2319B7ED1C23FF8F0050ABE8 /* RealmDefaultStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FD9E1BF15BD200009071 /* RealmDefaultStorage.swift */; };
2319B8001C2400420050ABE8 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62E1BED4AC00081E6E7 /* Request.swift */; };
2319B8031C2400420050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
2319B8061C2400420050ABE8 /* NSSortDescriptorConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6371BED4AC00081E6E7 /* NSSortDescriptorConvertible.swift */; };
2319B80A1C2400420050ABE8 /* NSPredicateConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6361BED4AC00081E6E7 /* NSPredicateConvertible.swift */; };
2319B80B1C2400420050ABE8 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6311BED4AC00081E6E7 /* Error.swift */; };
@ -44,15 +41,12 @@
2319B8121C2400420050ABE8 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62F1BED4AC00081E6E7 /* Storage.swift */; };
2319B8131C2400420050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; };
2319B8141C2400420050ABE8 /* DirUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F01BF0FE4500F9D379 /* DirUtils.swift */; };
2319B8251C2400BD0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; };
2319B8261C2400BD0050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; };
2319B8271C2400BD0050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; };
2319B8281C2400BD0050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; };
2319B8291C2400BD0050ABE8 /* RealmEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23AC16281BF3716200FAF97A /* RealmEntity.swift */; };
2319B82A1C2400BD0050ABE8 /* RealmDefaultStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FD9E1BF15BD200009071 /* RealmDefaultStorage.swift */; };
2319B85A1C2401E80050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
2319B85B1C2401E80050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; };
2319B85C1C2401F20050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; };
2319B85D1C2401F20050ABE8 /* CoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6661BED4B250081E6E7 /* CoreData.swift */; };
2319B85E1C2401F20050ABE8 /* ObjectModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6701BED4DF50081E6E7 /* ObjectModel.swift */; };
2319B85F1C2401F20050ABE8 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6751BED4E420081E6E7 /* Store.swift */; };
@ -73,9 +67,7 @@
2319B86E1C2401F80050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; };
2319B86F1C2401F90050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; };
2319B8701C2401F90050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; };
2319B8711C2402220050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
2319B8721C2402220050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; };
2319B8731C2402290050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; };
2319B8741C2402290050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; };
2319B8751C2402290050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; };
2319B8761C2402290050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; };
@ -91,7 +83,6 @@
2319B8801C2402300050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; };
2319B8811C2402300050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; };
2319B8821C2402300050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; };
2319B8B01C2402850050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
2319B8B11C2402850050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; };
2319B8B21C24028C0050ABE8 /* DirUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F01BF0FE4500F9D379 /* DirUtils.swift */; };
2319B8B31C24028C0050ABE8 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62E1BED4AC00081E6E7 /* Request.swift */; };
@ -103,7 +94,6 @@
2319B8B91C24028C0050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; };
2319B8BA1C24028C0050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; };
2319B8BB1C24028C0050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; };
2319B8BC1C2402960050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; };
2319B8BD1C2402960050ABE8 /* CoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6661BED4B250081E6E7 /* CoreData.swift */; };
2319B8BE1C2402960050ABE8 /* ObjectModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6701BED4DF50081E6E7 /* ObjectModel.swift */; };
2319B8BF1C2402960050ABE8 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6751BED4E420081E6E7 /* Store.swift */; };
@ -114,9 +104,7 @@
2319B8C41C2402960050ABE8 /* NSManagedObjectContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6291BED4AC00081E6E7 /* NSManagedObjectContext.swift */; };
2319B8C51C2402960050ABE8 /* NSManagedObjectMemoryContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 231C61F01C174BE000CD6532 /* NSManagedObjectMemoryContext.swift */; };
2319B8C61C2402960050ABE8 /* CoreDataDefaultStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62B1BED4AC00081E6E7 /* CoreDataDefaultStorage.swift */; };
2319B8C71C2402BA0050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
2319B8C81C2402BA0050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; };
2319B8C91C2402BA0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; };
2319B8CA1C2402BA0050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; };
2319B8CB1C2402BA0050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; };
2319B8CC1C2402BA0050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; };
@ -262,12 +250,8 @@
23B15C521BF352AD0059008E /* Issue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B15C511BF352AD0059008E /* Issue.swift */; };
23B15C571BF3535E0059008E /* RealmTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B15C561BF3535E0059008E /* RealmTests.swift */; };
23B15C591BF353F70059008E /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B15C581BF353F70059008E /* Realm.swift */; };
23F3F3651C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
23F3F3661C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; };
23F3F36A1C1DFA6D009A5CC1 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; };
23F3F36B1C1DFA6D009A5CC1 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; };
23F3F37E1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; };
23F3F37F1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; };
23F3F3931C1E14BD009A5CC1 /* ReactiveStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3921C1E14BD009A5CC1 /* ReactiveStorageTests.swift */; };
3D733FD51C0C2AC400B74DA1 /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D733FD41C0C2AC400B74DA1 /* RequestTests.swift */; };
3DDE7D451BF4E45E00D166C4 /* Track+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DDE7D431BF4E45E00D166C4 /* Track+CoreDataProperties.swift */; };
@ -395,10 +379,7 @@
23B15C511BF352AD0059008E /* Issue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Issue.swift; sourceTree = "<group>"; };
23B15C561BF3535E0059008E /* RealmTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RealmTests.swift; sourceTree = "<group>"; };
23B15C581BF353F70059008E /* Realm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Realm.swift; sourceTree = "<group>"; };
23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactiveStorage.swift; sourceTree = "<group>"; };
23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactiveError.swift; sourceTree = "<group>"; };
23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "RealmDefaultStorage+Reactive.swift"; path = "Reactive/RealmDefaultStorage+Reactive.swift"; sourceTree = "<group>"; };
23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "DefaultCoreDataStorage+Reactive.swift"; path = "Reactive/DefaultCoreDataStorage+Reactive.swift"; sourceTree = "<group>"; };
23F3F3921C1E14BD009A5CC1 /* ReactiveStorageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactiveStorageTests.swift; sourceTree = "<group>"; };
3D733FD41C0C2AC400B74DA1 /* RequestTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestTests.swift; sourceTree = "<group>"; };
3DB2B82D1BDEE187005B7EF2 /* SugarRecordCoreData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SugarRecordCoreData.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -645,7 +626,6 @@
2353E6251BED4AC00081E6E7 /* CoreData */ = {
isa = PBXGroup;
children = (
23F3F37C1C1DFD22009A5CC1 /* Reactive */,
2353E6651BED4B0A0081E6E7 /* Entities */,
2353E6261BED4AC00081E6E7 /* Errors */,
2353E6271BED4AC00081E6E7 /* Extensions */,
@ -800,28 +780,11 @@
children = (
2333900E1C67B41400844B9D /* ReactiveCocoa */,
233390101C67B41400844B9D /* Rx */,
23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */,
23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */,
);
path = Reactive;
sourceTree = "<group>";
};
23F3F3761C1DFCF6009A5CC1 /* Reactive */ = {
isa = PBXGroup;
children = (
23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */,
);
name = Reactive;
sourceTree = "<group>";
};
23F3F37C1C1DFD22009A5CC1 /* Reactive */ = {
isa = PBXGroup;
children = (
23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */,
);
name = Reactive;
sourceTree = "<group>";
};
23F3F3911C1E14B4009A5CC1 /* Reactive */ = {
isa = PBXGroup;
children = (
@ -1081,7 +1044,6 @@
3DE3FD991BF15BBC00009071 /* Realm */ = {
isa = PBXGroup;
children = (
23F3F3761C1DFCF6009A5CC1 /* Reactive */,
3DE3FD9C1BF15BBC00009071 /* Extensions */,
3DE3FD9D1BF15BBC00009071 /* Storages */,
);
@ -1702,7 +1664,6 @@
2319B7D41C23FF8F0050ABE8 /* Request.swift in Sources */,
2319B7D71C23FF8F0050ABE8 /* Realm.swift in Sources */,
2319B7DA1C23FF8F0050ABE8 /* NSSortDescriptorConvertible.swift in Sources */,
2319B7DB1C23FF8F0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */,
2319B7DD1C23FF8F0050ABE8 /* RealmEntity.swift in Sources */,
2319B7DE1C23FF8F0050ABE8 /* Object.swift in Sources */,
233390131C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */,
@ -1712,7 +1673,6 @@
2319B7E31C23FF8F0050ABE8 /* Error.swift in Sources */,
2319B7E41C23FF8F0050ABE8 /* Context.swift in Sources */,
2319B7E51C23FF8F0050ABE8 /* Results.swift in Sources */,
2319B7E61C23FF8F0050ABE8 /* ReactiveStorage.swift in Sources */,
2319B7E81C23FF8F0050ABE8 /* RequestExtension.swift in Sources */,
2319B7EA1C23FF8F0050ABE8 /* Entity.swift in Sources */,
2333901B1C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */,
@ -1726,7 +1686,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2319B8251C2400BD0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */,
2319B8261C2400BD0050ABE8 /* Realm.swift in Sources */,
2319B8271C2400BD0050ABE8 /* Results.swift in Sources */,
2319B8281C2400BD0050ABE8 /* Object.swift in Sources */,
@ -1734,7 +1693,6 @@
2319B82A1C2400BD0050ABE8 /* RealmDefaultStorage.swift in Sources */,
233390151C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */,
2319B8001C2400420050ABE8 /* Request.swift in Sources */,
2319B8031C2400420050ABE8 /* ReactiveStorage.swift in Sources */,
2319B8061C2400420050ABE8 /* NSSortDescriptorConvertible.swift in Sources */,
2319B80A1C2400420050ABE8 /* NSPredicateConvertible.swift in Sources */,
2319B80B1C2400420050ABE8 /* Error.swift in Sources */,
@ -1764,14 +1722,12 @@
2319B8801C2402300050ABE8 /* Context.swift in Sources */,
2319B8811C2402300050ABE8 /* Entity.swift in Sources */,
2319B8821C2402300050ABE8 /* Requestable.swift in Sources */,
2319B8731C2402290050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */,
2319B8741C2402290050ABE8 /* Realm.swift in Sources */,
2319B8751C2402290050ABE8 /* Results.swift in Sources */,
2319B8761C2402290050ABE8 /* Object.swift in Sources */,
2319B8771C2402290050ABE8 /* RealmEntity.swift in Sources */,
2333901F1C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */,
2319B8781C2402290050ABE8 /* RealmDefaultStorage.swift in Sources */,
2319B8711C2402220050ABE8 /* ReactiveStorage.swift in Sources */,
2319B8721C2402220050ABE8 /* ReactiveError.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1791,9 +1747,7 @@
2319B8D61C2402C30050ABE8 /* Context.swift in Sources */,
2319B8D71C2402C30050ABE8 /* Entity.swift in Sources */,
2319B8D81C2402C30050ABE8 /* Requestable.swift in Sources */,
2319B8C71C2402BA0050ABE8 /* ReactiveStorage.swift in Sources */,
2319B8C81C2402BA0050ABE8 /* ReactiveError.swift in Sources */,
2319B8C91C2402BA0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */,
2319B8CA1C2402BA0050ABE8 /* Realm.swift in Sources */,
2319B8CB1C2402BA0050ABE8 /* Results.swift in Sources */,
233390211C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */,
@ -1825,10 +1779,8 @@
2353E6591BED4AC00081E6E7 /* NSPredicateConvertible.swift in Sources */,
2353E64D1BED4AC00081E6E7 /* Error.swift in Sources */,
2353E6551BED4AC00081E6E7 /* Context.swift in Sources */,
23F3F3651C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */,
239C8E051BF48B680025DB9A /* ContextParent.swift in Sources */,
2353E6511BED4AC00081E6E7 /* RequestExtension.swift in Sources */,
23F3F37E1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */,
2305F8FF1BF1EA8D00F9D379 /* Entity.swift in Sources */,
2353E6491BED4AC00081E6E7 /* Storage.swift in Sources */,
233390121C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */,
@ -1846,7 +1798,6 @@
237A93CF1C62A28A006BC2F1 /* iCloudConfig.swift in Sources */,
2353E6421BED4AC00081E6E7 /* CoreDataDefaultStorage.swift in Sources */,
2353E67C1BED52150081E6E7 /* Options.swift in Sources */,
23F3F3661C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */,
2353E66D1BED4B9C0081E6E7 /* CoreDataErrors.swift in Sources */,
2353E6721BED4DF50081E6E7 /* ObjectModel.swift in Sources */,
2353E65E1BED4AC00081E6E7 /* NSSortDescriptorConvertible.swift in Sources */,
@ -1857,7 +1808,6 @@
2353E65A1BED4AC00081E6E7 /* NSPredicateConvertible.swift in Sources */,
2353E64E1BED4AC00081E6E7 /* Error.swift in Sources */,
2353E6561BED4AC00081E6E7 /* Context.swift in Sources */,
23F3F37F1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */,
2353E6521BED4AC00081E6E7 /* RequestExtension.swift in Sources */,
231C61F21C174BE000CD6532 /* NSManagedObjectMemoryContext.swift in Sources */,
23F3F36B1C1DFA6D009A5CC1 /* ReactiveError.swift in Sources */,
@ -1886,7 +1836,6 @@
2319B86E1C2401F80050ABE8 /* Context.swift in Sources */,
2319B86F1C2401F90050ABE8 /* Entity.swift in Sources */,
2319B8701C2401F90050ABE8 /* Requestable.swift in Sources */,
2319B85C1C2401F20050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */,
2333901E1C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */,
2319B85D1C2401F20050ABE8 /* CoreData.swift in Sources */,
2319B85E1C2401F20050ABE8 /* ObjectModel.swift in Sources */,
@ -1898,7 +1847,6 @@
2319B8641C2401F20050ABE8 /* NSManagedObjectContext.swift in Sources */,
2319B8651C2401F20050ABE8 /* NSManagedObjectMemoryContext.swift in Sources */,
2319B8661C2401F20050ABE8 /* CoreDataDefaultStorage.swift in Sources */,
2319B85A1C2401E80050ABE8 /* ReactiveStorage.swift in Sources */,
2319B85B1C2401E80050ABE8 /* ReactiveError.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1907,7 +1855,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2319B8BC1C2402960050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */,
2319B8BD1C2402960050ABE8 /* CoreData.swift in Sources */,
2319B8BE1C2402960050ABE8 /* ObjectModel.swift in Sources */,
233390181C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */,
@ -1932,7 +1879,6 @@
2319B8B91C24028C0050ABE8 /* Context.swift in Sources */,
2319B8BA1C24028C0050ABE8 /* Entity.swift in Sources */,
2319B8BB1C24028C0050ABE8 /* Requestable.swift in Sources */,
2319B8B01C2402850050ABE8 /* ReactiveStorage.swift in Sources */,
2319B8B11C2402850050ABE8 /* ReactiveError.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;

View File

@ -1,3 +0,0 @@
import Foundation
extension CoreDataDefaultStorage: ReactiveStorage {}

View File

@ -2,7 +2,7 @@ import Foundation
import ReactiveCocoa
import Result
public extension ReactiveStorage where Self: Storage {
public extension Storage {
// MARK: - Operation
@ -22,6 +22,13 @@ public extension ReactiveStorage where Self: Storage {
}
}
func rac_operation(op: (context: Context) -> Void) -> SignalProducer<Void, Error> {
return self.rac_operation { (context, saver) in
op(context: context)
saver()
}
}
func rac_backgroundOperation(op: (context: Context, save: () -> Void) -> Void) -> SignalProducer<Void, Error> {
return SignalProducer { (observer, disposable) in
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
@ -41,6 +48,14 @@ public extension ReactiveStorage where Self: Storage {
}
}
func rac_backgroundOperation(op: (context: Context) -> Void) -> SignalProducer<Void, Error> {
return rac_backgroundOperation { (context, save) in
op(context: context)
save()
}
}
func rac_backgroundFetch<T: Entity, U>(request: Request<T>, mapper: T -> U) -> SignalProducer<[U], Error> {
let producer: SignalProducer<[T], Error> = SignalProducer { (observer, disposable) in
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT

View File

@ -1,4 +0,0 @@
import Foundation
public protocol ReactiveStorage {
}

View File

@ -1,7 +1,7 @@
import Foundation
import RxSwift
public extension ReactiveStorage where Self: Storage {
public extension Storage {
func rx_operation(op: (context: Context, save: () -> Void) -> Void) -> Observable<Void> {
return Observable.create { (observer) -> RxSwift.Disposable in
@ -20,6 +20,13 @@ public extension ReactiveStorage where Self: Storage {
}
}
func rx_operation(op: (context: Context) -> Void) -> Observable<Void> {
return rx_operation { (context, save) in
op(context: context)
save()
}
}
func rx_backgroundOperation(op: (context: Context, save: () -> Void) -> Void) -> Observable<Void> {
return Observable.create { (observer) -> RxSwift.Disposable in
self.operation { (context, saver) in
@ -37,6 +44,13 @@ public extension ReactiveStorage where Self: Storage {
}
}
func rx_backgroundOperation(op: (context: Context) -> Void) -> Observable<Void> {
return rx_backgroundOperation { (context, save) in
op(context: context)
save()
}
}
func rx_backgroundFetch<T, U>(request: Request<T>, mapper: T -> U) -> Observable<[U]> {
let observable: Observable<[T]> = Observable.create { (observer) -> RxSwift.Disposable in
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT

View File

@ -1,3 +0,0 @@
import Foundation
extension RealmDefaultStorage: ReactiveStorage {}