@momo-kits/native-kits 0.0.1-beta.5 → 0.89.1-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/android/.gradle/8.0/checksums/checksums.lock +0 -0
- package/android/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/8.0/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.0/gc.properties +0 -0
- package/android/.gradle/config.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/gradle.xml +12 -0
- package/android/.idea/migrations.xml +10 -0
- package/android/.idea/misc.xml +10 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/.idea/workspace.xml +50 -0
- package/android/build.gradle +35 -69
- package/android/local.properties +8 -0
- package/android/proguard-rules.pro +21 -0
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/main/java/com/momoplatform/nativekits/foundations/Button.kt +16 -0
- package/android/src/main/java/com/momoplatform/nativekits/libs/Logo.kt +63 -0
- package/android/src/main/java/com/momoplatform/nativekits/libs/TrustBanner.kt +246 -0
- package/android/src/main/res/drawable/ic_launcher_background.xml +170 -0
- package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +30 -0
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- package/android/src/main/res/values/colors.xml +10 -0
- package/android/src/main/res/values/strings.xml +3 -0
- package/android/src/main/res/values/themes.xml +3 -0
- package/android/src/main/res/values-night/themes.xml +3 -0
- package/android/src/main/res/xml/backup_rules.xml +13 -0
- package/android/src/main/res/xml/data_extraction_rules.xml +19 -0
- package/build.gradle.kts +18 -0
- package/compose/build.gradle.kts +82 -0
- package/compose/src/androidMain/AndroidManifest.xml +2 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +8 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Utils.android.kt +14 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Components.kt +194 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +197 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +133 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +62 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +27 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +288 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +80 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +42 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +126 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +51 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +299 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +246 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +223 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +244 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +281 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PromotionPopup.kt +72 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +65 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +64 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +63 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +73 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +42 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +150 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +173 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +242 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1321 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +5 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +97 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +9 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Utils.ios.kt +18 -0
- package/gradle.properties +19 -0
- package/gradlew +240 -0
- package/gradlew.bat +91 -0
- package/ios/Button/Button.swift +9 -2
- package/ios/CalculatorKeyboard/CalculatorKeyboard.swift +126 -0
- package/ios/Colors+Radius+Spacing/Colors.swift +21 -19
- package/ios/Input/Input.swift +1 -0
- package/ios/OTPKeyboard/KeyboardButton.swift +12 -4
- package/ios/Popup/PopupDisplay.swift +72 -81
- package/ios/Popup/PopupInput.swift +96 -0
- package/ios/Popup/PopupPromotion.swift +52 -0
- package/ios/ScrollIndicator/ScrollIndicator.swift +79 -0
- package/ios/Template/Logo/Logo.swift +75 -0
- package/ios/Template/TrustBanner/TrustBanner.swift +189 -0
- package/ios/native-kits.podspec +1 -1
- package/local.properties +8 -0
- package/package.json +6 -6
- package/publish.sh +1 -10
- package/settings.gradle.kts +41 -0
- package/android/gradle.properties +0 -5
- package/android/src/main/java/com/momoplatform/nativekits/NativeKitsPackage.kt +0 -17
- package/android/src/main/java/com/momoplatform/nativekits/NativeKitsViewManager.kt +0 -20
- package/example/ios/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -63
- package/example/ios/Example/Assets.xcassets/Background.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Border.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Card.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Contents.json +0 -6
- package/example/ios/Example/Assets.xcassets/Error.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Primary.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/PrimaryDark.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/PrimaryLight.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Secondary.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Success.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Text.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/TextSecondary.colorset/Contents.json +0 -38
- package/example/ios/Example/Assets.xcassets/Warning.colorset/Contents.json +0 -38
- package/example/ios/Example/ComponentDetail.swift +0 -35
- package/example/ios/Example/ComponentItem.swift +0 -24
- package/example/ios/Example/ComponentModel.swift +0 -38
- package/example/ios/Example/ContentView.swift +0 -39
- package/example/ios/Example/Example.entitlements +0 -10
- package/example/ios/Example/Foundation/ButtonDemo.swift +0 -80
- package/example/ios/Example/Foundation/ImageDemo.swift +0 -43
- package/example/ios/Example/Foundation/Popup/ActionSheets.swift +0 -136
- package/example/ios/Example/Foundation/Popup/Floats.swift +0 -127
- package/example/ios/Example/Foundation/Popup/Popups.swift +0 -51
- package/example/ios/Example/Foundation/PopupDemo.swift +0 -389
- package/example/ios/Example/Foundation/TextInputDemo.swift +0 -36
- package/example/ios/Example/Foundation/TypographyDemo.swift +0 -53
- package/example/ios/Example/Foundation.swift +0 -26
- package/example/ios/Example/Info.plist +0 -18
- package/example/ios/Example/Library/CheckboxDemo.swift +0 -19
- package/example/ios/Example/Library/SwipeableDemo.swift +0 -105
- package/example/ios/Example/Library/SwitchDemo.swift +0 -19
- package/example/ios/Example/Library.swift +0 -26
- package/example/ios/Example/Main.swift +0 -27
- package/example/ios/Example/Overview.swift +0 -20
- package/example/ios/Example/Preview Content/Preview Assets.xcassets/Contents.json +0 -6
- package/example/ios/Example/Resource/SFProText-Black.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Bold.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Heavy.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Light.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Medium.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Regular.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Semibold.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Thin.ttf +0 -0
- package/example/ios/Example/Resource/SFProText-Ultralight.ttf +0 -0
- package/example/ios/Example/Resource/foundation.json +0 -33
- package/example/ios/Example/Resource/library.json +0 -18
- package/example/ios/Example/Utils.swift +0 -30
- package/example/ios/Example/ViewModifier/DarkViewModifier.swift +0 -22
- package/example/ios/Example.xcodeproj/project.pbxproj +0 -581
- package/example/ios/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/example/ios/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/example/ios/Example.xcodeproj/project.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/example/ios/Example.xcworkspace/contents.xcworkspacedata +0 -10
- package/example/ios/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
- package/example/ios/Podfile +0 -7
- package/example/ios/Podfile.lock +0 -35
- package/example/ios/Pods/Local Podspecs/MoMoUIKits.podspec.json +0 -37
- package/example/ios/Pods/Manifest.lock +0 -35
- package/example/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -2047
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
- package/example/ios/Pods/SDWebImage/LICENSE +0 -20
- package/example/ios/Pods/SDWebImage/README.md +0 -352
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.h +0 -340
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.m +0 -172
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.h +0 -63
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.m +0 -165
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.h +0 -67
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.m +0 -120
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.h +0 -114
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.m +0 -392
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h +0 -112
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.m +0 -420
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.m +0 -133
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h +0 -168
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.m +0 -79
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.h +0 -110
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m +0 -540
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.h +0 -145
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.m +0 -326
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h +0 -73
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.m +0 -256
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h +0 -19
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.m +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.h +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.m +0 -98
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.h +0 -450
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.m +0 -1030
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.h +0 -153
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.m +0 -68
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.h +0 -156
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.m +0 -138
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.h +0 -81
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.m +0 -556
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.h +0 -297
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.m +0 -26
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.h +0 -153
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m +0 -822
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.h +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.m +0 -130
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.h +0 -36
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.m +0 -28
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.h +0 -22
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.m +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.h +0 -28
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.m +0 -127
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.h +0 -25
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.m +0 -101
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h +0 -58
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.m +0 -807
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.h +0 -30
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.m +0 -420
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.h +0 -146
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.m +0 -170
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.h +0 -40
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.m +0 -123
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.h +0 -241
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.m +0 -331
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.h +0 -78
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.m +0 -158
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h +0 -32
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.m +0 -39
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h +0 -36
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.m +0 -39
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.h +0 -95
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.m +0 -17
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.h +0 -352
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.m +0 -149
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.h +0 -314
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.m +0 -658
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h +0 -113
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.m +0 -60
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h +0 -49
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.m +0 -55
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h +0 -191
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.m +0 -722
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h +0 -69
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m +0 -71
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h +0 -69
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m +0 -73
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.h +0 -32
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m +0 -16
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.h +0 -115
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.m +0 -275
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.h +0 -290
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.m +0 -775
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.h +0 -27
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.m +0 -14
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h +0 -72
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.m +0 -59
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h +0 -143
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.m +0 -303
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.h +0 -131
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.m +0 -194
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.h +0 -387
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.m +0 -234
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h +0 -24
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.m +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h +0 -46
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.m +0 -60
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.h +0 -26
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.m +0 -22
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h +0 -27
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.m +0 -47
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.h +0 -89
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.m +0 -221
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h +0 -80
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.m +0 -47
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.h +0 -146
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.m +0 -824
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h +0 -129
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.m +0 -76
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.h +0 -194
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.m +0 -67
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.h +0 -110
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m +0 -446
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h +0 -48
- package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.m +0 -82
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h +0 -24
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m +0 -42
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.h +0 -14
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.m +0 -29
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.h +0 -21
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.m +0 -92
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.h +0 -18
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.m +0 -32
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.h +0 -29
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.m +0 -227
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h +0 -19
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.m +0 -127
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.h +0 -23
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.m +0 -164
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h +0 -21
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.m +0 -83
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h +0 -39
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.h +0 -122
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.m +0 -13
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.h +0 -20
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.m +0 -79
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWebImageTransitionInternal.h +0 -19
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDmetamacros.h +0 -667
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.h +0 -18
- package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.m +0 -42
- package/example/ios/Pods/SDWebImage/WebImage/SDWebImage.h +0 -89
- package/example/ios/Pods/SDWebImageSwiftUI/LICENSE +0 -19
- package/example/ios/Pods/SDWebImageSwiftUI/README.md +0 -690
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/AnimatedImage.swift +0 -870
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Backport.swift +0 -59
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/OnChange.swift +0 -52
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Overlay.swift +0 -124
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/StateObject.swift +0 -151
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Image.swift +0 -78
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageManager.swift +0 -132
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImagePlayer.swift +0 -122
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift +0 -133
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ActivityIndicator.swift +0 -82
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/Indicator.swift +0 -97
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ProgressIndicator.swift +0 -114
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SDWebImageSwiftUI.swift +0 -64
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SwiftUICompatibility.swift +0 -92
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Transition/Transition.swift +0 -93
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/WebImage.swift +0 -509
- package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Module/SDWebImageSwiftUI.h +0 -15
- package/example/ios/Pods/SkeletonUI/LICENSE +0 -21
- package/example/ios/Pods/SkeletonUI/README.md +0 -137
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AngleInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AnglePresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Animation/AnimationInteractor.swift +0 -56
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearanceInteractor.swift +0 -58
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearancePresenter.swift +0 -5
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ClosedRange+Normalize.swift +0 -16
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Image+OptionalType.swift +0 -102
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ModifiedContent+SkeletonModifier.swift +0 -26
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Optional+OptionalType.swift +0 -5
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/SecureField+OptionalType.swift +0 -19
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Text+OptionalType.swift +0 -27
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/TextField+OptionalType.swift +0 -35
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Toggle+OptionalType.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/UnitPoint+Angle.swift +0 -8
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/View+SkeletonModifier.swift +0 -8
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Modifiers/SkeletonModifier.swift +0 -52
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilineInteractor.swift +0 -41
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilinePresenter.swift +0 -9
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityPresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionPresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Protocols/OptionalType.swift +0 -4
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusInteractor.swift +0 -29
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusPresenter.swift +0 -7
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapeInteractor.swift +0 -33
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapePresenter.swift +0 -5
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonForEach.swift +0 -20
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonInteractor.swift +0 -27
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonList.swift +0 -20
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonPresenter.swift +0 -15
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonShape.swift +0 -64
- package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonView.swift +0 -25
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-umbrella.h +0 -16
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.debug.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.release.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown +0 -75
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist +0 -119
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h +0 -16
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig +0 -15
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-umbrella.h +0 -75
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.debug.xcconfig +0 -14
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.release.xcconfig +0 -14
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-umbrella.h +0 -17
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.debug.xcconfig +0 -17
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.release.xcconfig +0 -17
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-dummy.m +0 -5
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-prefix.pch +0 -12
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-umbrella.h +0 -16
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.debug.xcconfig +0 -12
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.modulemap +0 -6
- package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.release.xcconfig +0 -12
- package/ios/Extensions/View++.swift +0 -9
|
@@ -1,556 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of the SDWebImage package.
|
|
3
|
-
* (c) Olivier Poitrey <rs@dailymotion.com>
|
|
4
|
-
*
|
|
5
|
-
* For the full copyright and license information, please view the LICENSE
|
|
6
|
-
* file that was distributed with this source code.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
#import "SDImageCachesManager.h"
|
|
10
|
-
#import "SDImageCachesManagerOperation.h"
|
|
11
|
-
#import "SDImageCache.h"
|
|
12
|
-
#import "SDInternalMacros.h"
|
|
13
|
-
|
|
14
|
-
@interface SDImageCachesManager ()
|
|
15
|
-
|
|
16
|
-
@property (nonatomic, strong, nonnull) NSMutableArray<id<SDImageCache>> *imageCaches;
|
|
17
|
-
|
|
18
|
-
@end
|
|
19
|
-
|
|
20
|
-
@implementation SDImageCachesManager {
|
|
21
|
-
SD_LOCK_DECLARE(_cachesLock);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
+ (SDImageCachesManager *)sharedManager {
|
|
25
|
-
static dispatch_once_t onceToken;
|
|
26
|
-
static SDImageCachesManager *manager;
|
|
27
|
-
dispatch_once(&onceToken, ^{
|
|
28
|
-
manager = [[SDImageCachesManager alloc] init];
|
|
29
|
-
});
|
|
30
|
-
return manager;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
- (instancetype)init {
|
|
34
|
-
self = [super init];
|
|
35
|
-
if (self) {
|
|
36
|
-
self.queryOperationPolicy = SDImageCachesManagerOperationPolicySerial;
|
|
37
|
-
self.storeOperationPolicy = SDImageCachesManagerOperationPolicyHighestOnly;
|
|
38
|
-
self.removeOperationPolicy = SDImageCachesManagerOperationPolicyConcurrent;
|
|
39
|
-
self.containsOperationPolicy = SDImageCachesManagerOperationPolicySerial;
|
|
40
|
-
self.clearOperationPolicy = SDImageCachesManagerOperationPolicyConcurrent;
|
|
41
|
-
// initialize with default image caches
|
|
42
|
-
_imageCaches = [NSMutableArray arrayWithObject:[SDImageCache sharedImageCache]];
|
|
43
|
-
SD_LOCK_INIT(_cachesLock);
|
|
44
|
-
}
|
|
45
|
-
return self;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
- (NSArray<id<SDImageCache>> *)caches {
|
|
49
|
-
SD_LOCK(_cachesLock);
|
|
50
|
-
NSArray<id<SDImageCache>> *caches = [_imageCaches copy];
|
|
51
|
-
SD_UNLOCK(_cachesLock);
|
|
52
|
-
return caches;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
- (void)setCaches:(NSArray<id<SDImageCache>> *)caches {
|
|
56
|
-
SD_LOCK(_cachesLock);
|
|
57
|
-
[_imageCaches removeAllObjects];
|
|
58
|
-
if (caches.count) {
|
|
59
|
-
[_imageCaches addObjectsFromArray:caches];
|
|
60
|
-
}
|
|
61
|
-
SD_UNLOCK(_cachesLock);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
#pragma mark - Cache IO operations
|
|
65
|
-
|
|
66
|
-
- (void)addCache:(id<SDImageCache>)cache {
|
|
67
|
-
if (![cache conformsToProtocol:@protocol(SDImageCache)]) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
SD_LOCK(_cachesLock);
|
|
71
|
-
[_imageCaches addObject:cache];
|
|
72
|
-
SD_UNLOCK(_cachesLock);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
- (void)removeCache:(id<SDImageCache>)cache {
|
|
76
|
-
if (![cache conformsToProtocol:@protocol(SDImageCache)]) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
SD_LOCK(_cachesLock);
|
|
80
|
-
[_imageCaches removeObject:cache];
|
|
81
|
-
SD_UNLOCK(_cachesLock);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
#pragma mark - SDImageCache
|
|
85
|
-
|
|
86
|
-
- (id<SDWebImageOperation>)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context completion:(SDImageCacheQueryCompletionBlock)completionBlock {
|
|
87
|
-
return [self queryImageForKey:key options:options context:context cacheType:SDImageCacheTypeAll completion:completionBlock];
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
- (id<SDWebImageOperation>)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)cacheType completion:(SDImageCacheQueryCompletionBlock)completionBlock {
|
|
91
|
-
if (!key) {
|
|
92
|
-
return nil;
|
|
93
|
-
}
|
|
94
|
-
NSArray<id<SDImageCache>> *caches = self.caches;
|
|
95
|
-
NSUInteger count = caches.count;
|
|
96
|
-
if (count == 0) {
|
|
97
|
-
return nil;
|
|
98
|
-
} else if (count == 1) {
|
|
99
|
-
return [caches.firstObject queryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock];
|
|
100
|
-
}
|
|
101
|
-
switch (self.queryOperationPolicy) {
|
|
102
|
-
case SDImageCachesManagerOperationPolicyHighestOnly: {
|
|
103
|
-
id<SDImageCache> cache = caches.lastObject;
|
|
104
|
-
return [cache queryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock];
|
|
105
|
-
}
|
|
106
|
-
break;
|
|
107
|
-
case SDImageCachesManagerOperationPolicyLowestOnly: {
|
|
108
|
-
id<SDImageCache> cache = caches.firstObject;
|
|
109
|
-
return [cache queryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock];
|
|
110
|
-
}
|
|
111
|
-
break;
|
|
112
|
-
case SDImageCachesManagerOperationPolicyConcurrent: {
|
|
113
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
114
|
-
[operation beginWithTotalCount:caches.count];
|
|
115
|
-
[self concurrentQueryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
116
|
-
return operation;
|
|
117
|
-
}
|
|
118
|
-
break;
|
|
119
|
-
case SDImageCachesManagerOperationPolicySerial: {
|
|
120
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
121
|
-
[operation beginWithTotalCount:caches.count];
|
|
122
|
-
[self serialQueryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
123
|
-
return operation;
|
|
124
|
-
}
|
|
125
|
-
break;
|
|
126
|
-
default:
|
|
127
|
-
return nil;
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
- (void)storeImage:(UIImage *)image imageData:(NSData *)imageData forKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock {
|
|
133
|
-
if (!key) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
NSArray<id<SDImageCache>> *caches = self.caches;
|
|
137
|
-
NSUInteger count = caches.count;
|
|
138
|
-
if (count == 0) {
|
|
139
|
-
return;
|
|
140
|
-
} else if (count == 1) {
|
|
141
|
-
[caches.firstObject storeImage:image imageData:imageData forKey:key cacheType:cacheType completion:completionBlock];
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
switch (self.storeOperationPolicy) {
|
|
145
|
-
case SDImageCachesManagerOperationPolicyHighestOnly: {
|
|
146
|
-
id<SDImageCache> cache = caches.lastObject;
|
|
147
|
-
[cache storeImage:image imageData:imageData forKey:key cacheType:cacheType completion:completionBlock];
|
|
148
|
-
}
|
|
149
|
-
break;
|
|
150
|
-
case SDImageCachesManagerOperationPolicyLowestOnly: {
|
|
151
|
-
id<SDImageCache> cache = caches.firstObject;
|
|
152
|
-
[cache storeImage:image imageData:imageData forKey:key cacheType:cacheType completion:completionBlock];
|
|
153
|
-
}
|
|
154
|
-
break;
|
|
155
|
-
case SDImageCachesManagerOperationPolicyConcurrent: {
|
|
156
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
157
|
-
[operation beginWithTotalCount:caches.count];
|
|
158
|
-
[self concurrentStoreImage:image imageData:imageData forKey:key cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
159
|
-
}
|
|
160
|
-
break;
|
|
161
|
-
case SDImageCachesManagerOperationPolicySerial: {
|
|
162
|
-
[self serialStoreImage:image imageData:imageData forKey:key cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator];
|
|
163
|
-
}
|
|
164
|
-
break;
|
|
165
|
-
default:
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
- (void)removeImageForKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock {
|
|
171
|
-
if (!key) {
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
NSArray<id<SDImageCache>> *caches = self.caches;
|
|
175
|
-
NSUInteger count = caches.count;
|
|
176
|
-
if (count == 0) {
|
|
177
|
-
return;
|
|
178
|
-
} else if (count == 1) {
|
|
179
|
-
[caches.firstObject removeImageForKey:key cacheType:cacheType completion:completionBlock];
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
switch (self.removeOperationPolicy) {
|
|
183
|
-
case SDImageCachesManagerOperationPolicyHighestOnly: {
|
|
184
|
-
id<SDImageCache> cache = caches.lastObject;
|
|
185
|
-
[cache removeImageForKey:key cacheType:cacheType completion:completionBlock];
|
|
186
|
-
}
|
|
187
|
-
break;
|
|
188
|
-
case SDImageCachesManagerOperationPolicyLowestOnly: {
|
|
189
|
-
id<SDImageCache> cache = caches.firstObject;
|
|
190
|
-
[cache removeImageForKey:key cacheType:cacheType completion:completionBlock];
|
|
191
|
-
}
|
|
192
|
-
break;
|
|
193
|
-
case SDImageCachesManagerOperationPolicyConcurrent: {
|
|
194
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
195
|
-
[operation beginWithTotalCount:caches.count];
|
|
196
|
-
[self concurrentRemoveImageForKey:key cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
197
|
-
}
|
|
198
|
-
break;
|
|
199
|
-
case SDImageCachesManagerOperationPolicySerial: {
|
|
200
|
-
[self serialRemoveImageForKey:key cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator];
|
|
201
|
-
}
|
|
202
|
-
break;
|
|
203
|
-
default:
|
|
204
|
-
break;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
- (void)containsImageForKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDImageCacheContainsCompletionBlock)completionBlock {
|
|
209
|
-
if (!key) {
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
NSArray<id<SDImageCache>> *caches = self.caches;
|
|
213
|
-
NSUInteger count = caches.count;
|
|
214
|
-
if (count == 0) {
|
|
215
|
-
return;
|
|
216
|
-
} else if (count == 1) {
|
|
217
|
-
[caches.firstObject containsImageForKey:key cacheType:cacheType completion:completionBlock];
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
switch (self.clearOperationPolicy) {
|
|
221
|
-
case SDImageCachesManagerOperationPolicyHighestOnly: {
|
|
222
|
-
id<SDImageCache> cache = caches.lastObject;
|
|
223
|
-
[cache containsImageForKey:key cacheType:cacheType completion:completionBlock];
|
|
224
|
-
}
|
|
225
|
-
break;
|
|
226
|
-
case SDImageCachesManagerOperationPolicyLowestOnly: {
|
|
227
|
-
id<SDImageCache> cache = caches.firstObject;
|
|
228
|
-
[cache containsImageForKey:key cacheType:cacheType completion:completionBlock];
|
|
229
|
-
}
|
|
230
|
-
break;
|
|
231
|
-
case SDImageCachesManagerOperationPolicyConcurrent: {
|
|
232
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
233
|
-
[operation beginWithTotalCount:caches.count];
|
|
234
|
-
[self concurrentContainsImageForKey:key cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
235
|
-
}
|
|
236
|
-
break;
|
|
237
|
-
case SDImageCachesManagerOperationPolicySerial: {
|
|
238
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
239
|
-
[operation beginWithTotalCount:caches.count];
|
|
240
|
-
[self serialContainsImageForKey:key cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
241
|
-
}
|
|
242
|
-
break;
|
|
243
|
-
default:
|
|
244
|
-
break;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
- (void)clearWithCacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock {
|
|
249
|
-
NSArray<id<SDImageCache>> *caches = self.caches;
|
|
250
|
-
NSUInteger count = caches.count;
|
|
251
|
-
if (count == 0) {
|
|
252
|
-
return;
|
|
253
|
-
} else if (count == 1) {
|
|
254
|
-
[caches.firstObject clearWithCacheType:cacheType completion:completionBlock];
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
switch (self.clearOperationPolicy) {
|
|
258
|
-
case SDImageCachesManagerOperationPolicyHighestOnly: {
|
|
259
|
-
id<SDImageCache> cache = caches.lastObject;
|
|
260
|
-
[cache clearWithCacheType:cacheType completion:completionBlock];
|
|
261
|
-
}
|
|
262
|
-
break;
|
|
263
|
-
case SDImageCachesManagerOperationPolicyLowestOnly: {
|
|
264
|
-
id<SDImageCache> cache = caches.firstObject;
|
|
265
|
-
[cache clearWithCacheType:cacheType completion:completionBlock];
|
|
266
|
-
}
|
|
267
|
-
break;
|
|
268
|
-
case SDImageCachesManagerOperationPolicyConcurrent: {
|
|
269
|
-
SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new];
|
|
270
|
-
[operation beginWithTotalCount:caches.count];
|
|
271
|
-
[self concurrentClearWithCacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation];
|
|
272
|
-
}
|
|
273
|
-
break;
|
|
274
|
-
case SDImageCachesManagerOperationPolicySerial: {
|
|
275
|
-
[self serialClearWithCacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator];
|
|
276
|
-
}
|
|
277
|
-
break;
|
|
278
|
-
default:
|
|
279
|
-
break;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
#pragma mark - Concurrent Operation
|
|
284
|
-
|
|
285
|
-
- (void)concurrentQueryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType completion:(SDImageCacheQueryCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
286
|
-
NSParameterAssert(enumerator);
|
|
287
|
-
NSParameterAssert(operation);
|
|
288
|
-
for (id<SDImageCache> cache in enumerator) {
|
|
289
|
-
[cache queryImageForKey:key options:options context:context cacheType:queryCacheType completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) {
|
|
290
|
-
if (operation.isCancelled) {
|
|
291
|
-
// Cancelled
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
if (operation.isFinished) {
|
|
295
|
-
// Finished
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
[operation completeOne];
|
|
299
|
-
if (image) {
|
|
300
|
-
// Success
|
|
301
|
-
[operation done];
|
|
302
|
-
if (completionBlock) {
|
|
303
|
-
completionBlock(image, data, cacheType);
|
|
304
|
-
}
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
if (operation.pendingCount == 0) {
|
|
308
|
-
// Complete
|
|
309
|
-
[operation done];
|
|
310
|
-
if (completionBlock) {
|
|
311
|
-
completionBlock(nil, nil, SDImageCacheTypeNone);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}];
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
- (void)concurrentStoreImage:(UIImage *)image imageData:(NSData *)imageData forKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
319
|
-
NSParameterAssert(enumerator);
|
|
320
|
-
NSParameterAssert(operation);
|
|
321
|
-
for (id<SDImageCache> cache in enumerator) {
|
|
322
|
-
[cache storeImage:image imageData:imageData forKey:key cacheType:cacheType completion:^{
|
|
323
|
-
if (operation.isCancelled) {
|
|
324
|
-
// Cancelled
|
|
325
|
-
return;
|
|
326
|
-
}
|
|
327
|
-
if (operation.isFinished) {
|
|
328
|
-
// Finished
|
|
329
|
-
return;
|
|
330
|
-
}
|
|
331
|
-
[operation completeOne];
|
|
332
|
-
if (operation.pendingCount == 0) {
|
|
333
|
-
// Complete
|
|
334
|
-
[operation done];
|
|
335
|
-
if (completionBlock) {
|
|
336
|
-
completionBlock();
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
}];
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
- (void)concurrentRemoveImageForKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
344
|
-
NSParameterAssert(enumerator);
|
|
345
|
-
NSParameterAssert(operation);
|
|
346
|
-
for (id<SDImageCache> cache in enumerator) {
|
|
347
|
-
[cache removeImageForKey:key cacheType:cacheType completion:^{
|
|
348
|
-
if (operation.isCancelled) {
|
|
349
|
-
// Cancelled
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
if (operation.isFinished) {
|
|
353
|
-
// Finished
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
356
|
-
[operation completeOne];
|
|
357
|
-
if (operation.pendingCount == 0) {
|
|
358
|
-
// Complete
|
|
359
|
-
[operation done];
|
|
360
|
-
if (completionBlock) {
|
|
361
|
-
completionBlock();
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
}];
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
- (void)concurrentContainsImageForKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDImageCacheContainsCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
369
|
-
NSParameterAssert(enumerator);
|
|
370
|
-
NSParameterAssert(operation);
|
|
371
|
-
for (id<SDImageCache> cache in enumerator) {
|
|
372
|
-
[cache containsImageForKey:key cacheType:cacheType completion:^(SDImageCacheType containsCacheType) {
|
|
373
|
-
if (operation.isCancelled) {
|
|
374
|
-
// Cancelled
|
|
375
|
-
return;
|
|
376
|
-
}
|
|
377
|
-
if (operation.isFinished) {
|
|
378
|
-
// Finished
|
|
379
|
-
return;
|
|
380
|
-
}
|
|
381
|
-
[operation completeOne];
|
|
382
|
-
if (containsCacheType != SDImageCacheTypeNone) {
|
|
383
|
-
// Success
|
|
384
|
-
[operation done];
|
|
385
|
-
if (completionBlock) {
|
|
386
|
-
completionBlock(containsCacheType);
|
|
387
|
-
}
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
if (operation.pendingCount == 0) {
|
|
391
|
-
// Complete
|
|
392
|
-
[operation done];
|
|
393
|
-
if (completionBlock) {
|
|
394
|
-
completionBlock(SDImageCacheTypeNone);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}];
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
- (void)concurrentClearWithCacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
402
|
-
NSParameterAssert(enumerator);
|
|
403
|
-
NSParameterAssert(operation);
|
|
404
|
-
for (id<SDImageCache> cache in enumerator) {
|
|
405
|
-
[cache clearWithCacheType:cacheType completion:^{
|
|
406
|
-
if (operation.isCancelled) {
|
|
407
|
-
// Cancelled
|
|
408
|
-
return;
|
|
409
|
-
}
|
|
410
|
-
if (operation.isFinished) {
|
|
411
|
-
// Finished
|
|
412
|
-
return;
|
|
413
|
-
}
|
|
414
|
-
[operation completeOne];
|
|
415
|
-
if (operation.pendingCount == 0) {
|
|
416
|
-
// Complete
|
|
417
|
-
[operation done];
|
|
418
|
-
if (completionBlock) {
|
|
419
|
-
completionBlock();
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
}];
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
#pragma mark - Serial Operation
|
|
427
|
-
|
|
428
|
-
- (void)serialQueryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType completion:(SDImageCacheQueryCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
429
|
-
NSParameterAssert(enumerator);
|
|
430
|
-
NSParameterAssert(operation);
|
|
431
|
-
id<SDImageCache> cache = enumerator.nextObject;
|
|
432
|
-
if (!cache) {
|
|
433
|
-
// Complete
|
|
434
|
-
[operation done];
|
|
435
|
-
if (completionBlock) {
|
|
436
|
-
completionBlock(nil, nil, SDImageCacheTypeNone);
|
|
437
|
-
}
|
|
438
|
-
return;
|
|
439
|
-
}
|
|
440
|
-
@weakify(self);
|
|
441
|
-
[cache queryImageForKey:key options:options context:context cacheType:queryCacheType completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) {
|
|
442
|
-
@strongify(self);
|
|
443
|
-
if (operation.isCancelled) {
|
|
444
|
-
// Cancelled
|
|
445
|
-
return;
|
|
446
|
-
}
|
|
447
|
-
if (operation.isFinished) {
|
|
448
|
-
// Finished
|
|
449
|
-
return;
|
|
450
|
-
}
|
|
451
|
-
[operation completeOne];
|
|
452
|
-
if (image) {
|
|
453
|
-
// Success
|
|
454
|
-
[operation done];
|
|
455
|
-
if (completionBlock) {
|
|
456
|
-
completionBlock(image, data, cacheType);
|
|
457
|
-
}
|
|
458
|
-
return;
|
|
459
|
-
}
|
|
460
|
-
// Next
|
|
461
|
-
[self serialQueryImageForKey:key options:options context:context cacheType:queryCacheType completion:completionBlock enumerator:enumerator operation:operation];
|
|
462
|
-
}];
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
- (void)serialStoreImage:(UIImage *)image imageData:(NSData *)imageData forKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator {
|
|
466
|
-
NSParameterAssert(enumerator);
|
|
467
|
-
id<SDImageCache> cache = enumerator.nextObject;
|
|
468
|
-
if (!cache) {
|
|
469
|
-
// Complete
|
|
470
|
-
if (completionBlock) {
|
|
471
|
-
completionBlock();
|
|
472
|
-
}
|
|
473
|
-
return;
|
|
474
|
-
}
|
|
475
|
-
@weakify(self);
|
|
476
|
-
[cache storeImage:image imageData:imageData forKey:key cacheType:cacheType completion:^{
|
|
477
|
-
@strongify(self);
|
|
478
|
-
// Next
|
|
479
|
-
[self serialStoreImage:image imageData:imageData forKey:key cacheType:cacheType completion:completionBlock enumerator:enumerator];
|
|
480
|
-
}];
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
- (void)serialRemoveImageForKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator {
|
|
484
|
-
NSParameterAssert(enumerator);
|
|
485
|
-
id<SDImageCache> cache = enumerator.nextObject;
|
|
486
|
-
if (!cache) {
|
|
487
|
-
// Complete
|
|
488
|
-
if (completionBlock) {
|
|
489
|
-
completionBlock();
|
|
490
|
-
}
|
|
491
|
-
return;
|
|
492
|
-
}
|
|
493
|
-
@weakify(self);
|
|
494
|
-
[cache removeImageForKey:key cacheType:cacheType completion:^{
|
|
495
|
-
@strongify(self);
|
|
496
|
-
// Next
|
|
497
|
-
[self serialRemoveImageForKey:key cacheType:cacheType completion:completionBlock enumerator:enumerator];
|
|
498
|
-
}];
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
- (void)serialContainsImageForKey:(NSString *)key cacheType:(SDImageCacheType)cacheType completion:(SDImageCacheContainsCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation {
|
|
502
|
-
NSParameterAssert(enumerator);
|
|
503
|
-
NSParameterAssert(operation);
|
|
504
|
-
id<SDImageCache> cache = enumerator.nextObject;
|
|
505
|
-
if (!cache) {
|
|
506
|
-
// Complete
|
|
507
|
-
[operation done];
|
|
508
|
-
if (completionBlock) {
|
|
509
|
-
completionBlock(SDImageCacheTypeNone);
|
|
510
|
-
}
|
|
511
|
-
return;
|
|
512
|
-
}
|
|
513
|
-
@weakify(self);
|
|
514
|
-
[cache containsImageForKey:key cacheType:cacheType completion:^(SDImageCacheType containsCacheType) {
|
|
515
|
-
@strongify(self);
|
|
516
|
-
if (operation.isCancelled) {
|
|
517
|
-
// Cancelled
|
|
518
|
-
return;
|
|
519
|
-
}
|
|
520
|
-
if (operation.isFinished) {
|
|
521
|
-
// Finished
|
|
522
|
-
return;
|
|
523
|
-
}
|
|
524
|
-
[operation completeOne];
|
|
525
|
-
if (containsCacheType != SDImageCacheTypeNone) {
|
|
526
|
-
// Success
|
|
527
|
-
[operation done];
|
|
528
|
-
if (completionBlock) {
|
|
529
|
-
completionBlock(containsCacheType);
|
|
530
|
-
}
|
|
531
|
-
return;
|
|
532
|
-
}
|
|
533
|
-
// Next
|
|
534
|
-
[self serialContainsImageForKey:key cacheType:cacheType completion:completionBlock enumerator:enumerator operation:operation];
|
|
535
|
-
}];
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
- (void)serialClearWithCacheType:(SDImageCacheType)cacheType completion:(SDWebImageNoParamsBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator {
|
|
539
|
-
NSParameterAssert(enumerator);
|
|
540
|
-
id<SDImageCache> cache = enumerator.nextObject;
|
|
541
|
-
if (!cache) {
|
|
542
|
-
// Complete
|
|
543
|
-
if (completionBlock) {
|
|
544
|
-
completionBlock();
|
|
545
|
-
}
|
|
546
|
-
return;
|
|
547
|
-
}
|
|
548
|
-
@weakify(self);
|
|
549
|
-
[cache clearWithCacheType:cacheType completion:^{
|
|
550
|
-
@strongify(self);
|
|
551
|
-
// Next
|
|
552
|
-
[self serialClearWithCacheType:cacheType completion:completionBlock enumerator:enumerator];
|
|
553
|
-
}];
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
@end
|