|
128 | 128 | D2D4CC251FA3426B00E4A2D5 /* JSONArrayWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D4CC231FA3426B00E4A2D5 /* JSONArrayWrapper.swift */; }; |
129 | 129 | D2D4CC261FA3426B00E4A2D5 /* JSONArrayWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D4CC231FA3426B00E4A2D5 /* JSONArrayWrapper.swift */; }; |
130 | 130 | D2D4CC281FA342CA00E4A2D5 /* JSONWrapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D4CC271FA342CA00E4A2D5 /* JSONWrapperTests.swift */; }; |
| 131 | + D511464B2114775100197DCE /* StorageObservationRegistryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D511464A2114775100197DCE /* StorageObservationRegistryTests.swift */; }; |
| 132 | + D511464D2114775100197DCE /* StorageObservationRegistryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D511464A2114775100197DCE /* StorageObservationRegistryTests.swift */; }; |
| 133 | + D511464F21147B7C00197DCE /* ObservationTokenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D511464E21147B7C00197DCE /* ObservationTokenTests.swift */; }; |
| 134 | + D511465121147B7C00197DCE /* ObservationTokenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D511464E21147B7C00197DCE /* ObservationTokenTests.swift */; }; |
131 | 135 | D5291D1D1C2837DB00B702C9 /* Cache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D5DC59E01C20593E003BD79B /* Cache.framework */; }; |
132 | 136 | D5291D6A1C283B5400B702C9 /* Cache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D5291D601C283B5300B702C9 /* Cache.framework */; }; |
133 | 137 | D5291D851C283C7C00B702C9 /* TestHelper+OSX.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5291D811C283C7000B702C9 /* TestHelper+OSX.swift */; }; |
134 | 138 | D5291DA31C2841D200B702C9 /* NSImage+ExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5291DA21C2841D200B702C9 /* NSImage+ExtensionsTests.swift */; }; |
135 | 139 | D5A138C11EB29BFA00881A20 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A138C01EB29BFA00881A20 /* UIImage+Extensions.swift */; }; |
136 | 140 | D5A138C21EB29BFA00881A20 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A138C01EB29BFA00881A20 /* UIImage+Extensions.swift */; }; |
137 | 141 | D5A138C41EB29C2100881A20 /* NSImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A138C31EB29C2100881A20 /* NSImage+Extensions.swift */; }; |
| 142 | + D5A9D1B721134547005DBD3F /* ObservationToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1B621134547005DBD3F /* ObservationToken.swift */; }; |
| 143 | + D5A9D1B821134547005DBD3F /* ObservationToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1B621134547005DBD3F /* ObservationToken.swift */; }; |
| 144 | + D5A9D1B921134547005DBD3F /* ObservationToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1B621134547005DBD3F /* ObservationToken.swift */; }; |
| 145 | + D5A9D1BF21134776005DBD3F /* StoreChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1BE21134776005DBD3F /* StoreChange.swift */; }; |
| 146 | + D5A9D1C021134776005DBD3F /* StoreChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1BE21134776005DBD3F /* StoreChange.swift */; }; |
| 147 | + D5A9D1C121134776005DBD3F /* StoreChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1BE21134776005DBD3F /* StoreChange.swift */; }; |
| 148 | + D5A9D1C321144B65005DBD3F /* StorageObservationRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1C221144B65005DBD3F /* StorageObservationRegistry.swift */; }; |
| 149 | + D5A9D1C421144B65005DBD3F /* StorageObservationRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1C221144B65005DBD3F /* StorageObservationRegistry.swift */; }; |
| 150 | + D5A9D1C521144B65005DBD3F /* StorageObservationRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9D1C221144B65005DBD3F /* StorageObservationRegistry.swift */; }; |
138 | 151 | /* End PBXBuildFile section */ |
139 | 152 |
|
140 | 153 | /* Begin PBXContainerItemProxy section */ |
|
210 | 223 | D2D4CC1F1FA3411300E4A2D5 /* JSONDictionaryWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONDictionaryWrapper.swift; sourceTree = "<group>"; }; |
211 | 224 | D2D4CC231FA3426B00E4A2D5 /* JSONArrayWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONArrayWrapper.swift; sourceTree = "<group>"; }; |
212 | 225 | D2D4CC271FA342CA00E4A2D5 /* JSONWrapperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONWrapperTests.swift; sourceTree = "<group>"; }; |
| 226 | + D511464A2114775100197DCE /* StorageObservationRegistryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StorageObservationRegistryTests.swift; sourceTree = "<group>"; }; |
| 227 | + D511464E21147B7C00197DCE /* ObservationTokenTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationTokenTests.swift; sourceTree = "<group>"; }; |
213 | 228 | D5291CDF1C28374800B702C9 /* TestHelper+iOS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TestHelper+iOS.swift"; sourceTree = "<group>"; }; |
214 | 229 | D5291D181C2837DB00B702C9 /* Cache-iOS-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Cache-iOS-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; |
215 | 230 | D5291D231C28380100B702C9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
|
222 | 237 | D5643E361C43F2CC00582E17 /* Storage.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = Storage.playground; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; |
223 | 238 | D5A138C01EB29BFA00881A20 /* UIImage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = "<group>"; }; |
224 | 239 | D5A138C31EB29C2100881A20 /* NSImage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSImage+Extensions.swift"; sourceTree = "<group>"; }; |
| 240 | + D5A9D1B621134547005DBD3F /* ObservationToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationToken.swift; sourceTree = "<group>"; }; |
| 241 | + D5A9D1BE21134776005DBD3F /* StoreChange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreChange.swift; sourceTree = "<group>"; }; |
| 242 | + D5A9D1C221144B65005DBD3F /* StorageObservationRegistry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StorageObservationRegistry.swift; sourceTree = "<group>"; }; |
225 | 243 | D5DC59E01C20593E003BD79B /* Cache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
226 | 244 | EBAACA991FBC369300FA206E /* SimpleStorage.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = SimpleStorage.playground; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; |
227 | 245 | /* End PBXFileReference section */ |
|
333 | 351 | D270148F20D1251E003B45C7 /* TypeWrapper.swift */, |
334 | 352 | D270149320D125AC003B45C7 /* MemoryCapsule.swift */, |
335 | 353 | D27014A420D129EB003B45C7 /* TransformerFactory.swift */, |
| 354 | + D5A9D1B621134547005DBD3F /* ObservationToken.swift */, |
336 | 355 | ); |
337 | 356 | path = Library; |
338 | 357 | sourceTree = "<group>"; |
|
348 | 367 | D270147F20D10982003B45C7 /* Storage.swift */, |
349 | 368 | D270148320D10E76003B45C7 /* AsyncStorage.swift */, |
350 | 369 | D270148720D11040003B45C7 /* Storage+Transform.swift */, |
| 370 | + D5A9D1BE21134776005DBD3F /* StoreChange.swift */, |
| 371 | + D5A9D1C221144B65005DBD3F /* StorageObservationRegistry.swift */, |
351 | 372 | ); |
352 | 373 | path = Storage; |
353 | 374 | sourceTree = "<group>"; |
|
380 | 401 | D285143E1F6FFE1F00C674D1 /* ObjectConverterTests.swift */, |
381 | 402 | D2D4CC191FA3166900E4A2D5 /* MD5Tests.swift */, |
382 | 403 | D2D4CC271FA342CA00E4A2D5 /* JSONWrapperTests.swift */, |
| 404 | + D511464E21147B7C00197DCE /* ObservationTokenTests.swift */, |
383 | 405 | ); |
384 | 406 | path = Library; |
385 | 407 | sourceTree = "<group>"; |
|
394 | 416 | D292DB001F6AA06B0060F614 /* SyncStorageTests.swift */, |
395 | 417 | D292DB031F6AA0730060F614 /* AsyncStorageTests.swift */, |
396 | 418 | D236F3191F6BEF73004EE01F /* StorageTests.swift */, |
| 419 | + D511464A2114775100197DCE /* StorageObservationRegistryTests.swift */, |
397 | 420 | ); |
398 | 421 | path = Storage; |
399 | 422 | sourceTree = "<group>"; |
|
794 | 817 | files = ( |
795 | 818 | D221E5C620D00DDB00BC940E /* DiskStorage.swift in Sources */, |
796 | 819 | D21B669D1F6A724600125DE1 /* DiskConfig.swift in Sources */, |
| 820 | + D5A9D1C521144B65005DBD3F /* StorageObservationRegistry.swift in Sources */, |
797 | 821 | D21B66871F6A723C00125DE1 /* ExpirationMode.swift in Sources */, |
798 | 822 | D21B66881F6A723C00125DE1 /* Expiry.swift in Sources */, |
799 | 823 | D270147620D101F3003B45C7 /* StorageAware.swift in Sources */, |
|
812 | 836 | D21B669A1F6A724300125DE1 /* Date+Extensions.swift in Sources */, |
813 | 837 | D21B66891F6A723C00125DE1 /* ImageWrapper.swift in Sources */, |
814 | 838 | D21B668B1F6A723C00125DE1 /* StorageError.swift in Sources */, |
| 839 | + D5A9D1B921134547005DBD3F /* ObservationToken.swift in Sources */, |
815 | 840 | D270148A20D11040003B45C7 /* Storage+Transform.swift in Sources */, |
816 | 841 | D5A138C21EB29BFA00881A20 /* UIImage+Extensions.swift in Sources */, |
817 | 842 | D21B66851F6A723C00125DE1 /* DataSerializer.swift in Sources */, |
|
821 | 846 | D28897071F8B79B300C61DEE /* JSONDecoder+Extensions.swift in Sources */, |
822 | 847 | D270148220D10982003B45C7 /* Storage.swift in Sources */, |
823 | 848 | D221E5C220D00DCC00BC940E /* Entry.swift in Sources */, |
| 849 | + D5A9D1C121134776005DBD3F /* StoreChange.swift in Sources */, |
824 | 850 | ); |
825 | 851 | runOnlyForDeploymentPostprocessing = 0; |
826 | 852 | }; |
|
835 | 861 | D27014A020D12870003B45C7 /* MemoryStorageTests.swift in Sources */, |
836 | 862 | D2CF98261F69427C00CE8F68 /* User.swift in Sources */, |
837 | 863 | D27014AE20D12D83003B45C7 /* AsyncStorageTests.swift in Sources */, |
| 864 | + D511465121147B7C00197DCE /* ObservationTokenTests.swift in Sources */, |
838 | 865 | D28A1D241F6FFEF60030DF81 /* ObjectConverterTests.swift in Sources */, |
839 | 866 | D27014B120D12E38003B45C7 /* StorageSupportTests.swift in Sources */, |
| 867 | + D511464D2114775100197DCE /* StorageObservationRegistryTests.swift in Sources */, |
840 | 868 | D27014AD20D12CC3003B45C7 /* SyncStorageTests.swift in Sources */, |
841 | 869 | D27014AA20D12BA4003B45C7 /* HybridStorageTests.swift in Sources */, |
842 | 870 | ); |
|
852 | 880 | D2CF987C1F69513800CE8F68 /* Date+ExtensionsTests.swift in Sources */, |
853 | 881 | D28C9BAC1F67ECD400C180C1 /* TestHelper+iOS.swift in Sources */, |
854 | 882 | D2CF98211F69427C00CE8F68 /* TestHelper.swift in Sources */, |
| 883 | + D511464F21147B7C00197DCE /* ObservationTokenTests.swift in Sources */, |
855 | 884 | D2CF987F1F69513800CE8F68 /* ImageWrapperTests.swift in Sources */, |
856 | 885 | D2D4CC1A1FA3166900E4A2D5 /* MD5Tests.swift in Sources */, |
857 | 886 | D2D4CC281FA342CA00E4A2D5 /* JSONWrapperTests.swift in Sources */, |
| 887 | + D511464B2114775100197DCE /* StorageObservationRegistryTests.swift in Sources */, |
858 | 888 | D27014B320D13E2C003B45C7 /* StorageTests.swift in Sources */, |
859 | 889 | D28C9BAF1F67EF8300C180C1 /* UIImage+ExtensionsTests.swift in Sources */, |
860 | 890 | D2CF987D1F69513800CE8F68 /* MemoryCapsuleTests.swift in Sources */, |
|
875 | 905 | files = ( |
876 | 906 | D221E5C520D00DDB00BC940E /* DiskStorage.swift in Sources */, |
877 | 907 | D21B669B1F6A724600125DE1 /* DiskConfig.swift in Sources */, |
| 908 | + D5A9D1C421144B65005DBD3F /* StorageObservationRegistry.swift in Sources */, |
878 | 909 | D21B667E1F6A723C00125DE1 /* ExpirationMode.swift in Sources */, |
879 | 910 | D21B667F1F6A723C00125DE1 /* Expiry.swift in Sources */, |
880 | 911 | D270147520D101F3003B45C7 /* StorageAware.swift in Sources */, |
|
893 | 924 | D21B66991F6A724200125DE1 /* Date+Extensions.swift in Sources */, |
894 | 925 | D21B66801F6A723C00125DE1 /* ImageWrapper.swift in Sources */, |
895 | 926 | D21B66821F6A723C00125DE1 /* StorageError.swift in Sources */, |
| 927 | + D5A9D1B821134547005DBD3F /* ObservationToken.swift in Sources */, |
896 | 928 | D270148920D11040003B45C7 /* Storage+Transform.swift in Sources */, |
897 | 929 | D5A138C41EB29C2100881A20 /* NSImage+Extensions.swift in Sources */, |
898 | 930 | D21B667C1F6A723C00125DE1 /* DataSerializer.swift in Sources */, |
|
902 | 934 | D28897061F8B79B300C61DEE /* JSONDecoder+Extensions.swift in Sources */, |
903 | 935 | D270148120D10982003B45C7 /* Storage.swift in Sources */, |
904 | 936 | D221E5C120D00DCC00BC940E /* Entry.swift in Sources */, |
| 937 | + D5A9D1C021134776005DBD3F /* StoreChange.swift in Sources */, |
905 | 938 | ); |
906 | 939 | runOnlyForDeploymentPostprocessing = 0; |
907 | 940 | }; |
|
925 | 958 | files = ( |
926 | 959 | D221E5C420D00DDB00BC940E /* DiskStorage.swift in Sources */, |
927 | 960 | D2CF98681F694FFA00CE8F68 /* ImageWrapper.swift in Sources */, |
| 961 | + D5A9D1C321144B65005DBD3F /* StorageObservationRegistry.swift in Sources */, |
928 | 962 | D2CF98871F695B8F00CE8F68 /* Types.swift in Sources */, |
929 | 963 | D2CF98621F694FFA00CE8F68 /* Date+Extensions.swift in Sources */, |
930 | 964 | D2CF98641F694FFA00CE8F68 /* DataSerializer.swift in Sources */, |
|
943 | 977 | D2CF98671F694FFA00CE8F68 /* Expiry.swift in Sources */, |
944 | 978 | D270148820D11040003B45C7 /* Storage+Transform.swift in Sources */, |
945 | 979 | D2CF986A1F694FFA00CE8F68 /* StorageError.swift in Sources */, |
| 980 | + D5A9D1B721134547005DBD3F /* ObservationToken.swift in Sources */, |
946 | 981 | D5A138C11EB29BFA00881A20 /* UIImage+Extensions.swift in Sources */, |
947 | 982 | D270147820D1046A003B45C7 /* HybridStorage.swift in Sources */, |
948 | 983 | D270148420D10E76003B45C7 /* AsyncStorage.swift in Sources */, |
|
952 | 987 | D2CF98611F694FFA00CE8F68 /* MemoryConfig.swift in Sources */, |
953 | 988 | D2CF98661F694FFA00CE8F68 /* ExpirationMode.swift in Sources */, |
954 | 989 | D221E5C020D00DCC00BC940E /* Entry.swift in Sources */, |
| 990 | + D5A9D1BF21134776005DBD3F /* StoreChange.swift in Sources */, |
955 | 991 | ); |
956 | 992 | runOnlyForDeploymentPostprocessing = 0; |
957 | 993 | }; |
|
0 commit comments