@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,331 +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 "SDImageTransformer.h"
|
|
10
|
-
#import "UIColor+SDHexString.h"
|
|
11
|
-
#if SD_UIKIT || SD_MAC
|
|
12
|
-
#import <CoreImage/CoreImage.h>
|
|
13
|
-
#endif
|
|
14
|
-
|
|
15
|
-
// Separator for different transformerKey, for example, `image.png` |> flip(YES,NO) |> rotate(pi/4,YES) => 'image-SDImageFlippingTransformer(1,0)-SDImageRotationTransformer(0.78539816339,1).png'
|
|
16
|
-
static NSString * const SDImageTransformerKeySeparator = @"-";
|
|
17
|
-
|
|
18
|
-
NSString * _Nullable SDTransformedKeyForKey(NSString * _Nullable key, NSString * _Nonnull transformerKey) {
|
|
19
|
-
if (!key || !transformerKey) {
|
|
20
|
-
return nil;
|
|
21
|
-
}
|
|
22
|
-
// Find the file extension
|
|
23
|
-
NSURL *keyURL = [NSURL URLWithString:key];
|
|
24
|
-
NSString *ext = keyURL ? keyURL.pathExtension : key.pathExtension;
|
|
25
|
-
if (ext.length > 0) {
|
|
26
|
-
// For non-file URL
|
|
27
|
-
if (keyURL && !keyURL.isFileURL) {
|
|
28
|
-
// keep anything except path (like URL query)
|
|
29
|
-
NSURLComponents *component = [NSURLComponents componentsWithURL:keyURL resolvingAgainstBaseURL:NO];
|
|
30
|
-
component.path = [[[component.path.stringByDeletingPathExtension stringByAppendingString:SDImageTransformerKeySeparator] stringByAppendingString:transformerKey] stringByAppendingPathExtension:ext];
|
|
31
|
-
return component.URL.absoluteString;
|
|
32
|
-
} else {
|
|
33
|
-
// file URL
|
|
34
|
-
return [[[key.stringByDeletingPathExtension stringByAppendingString:SDImageTransformerKeySeparator] stringByAppendingString:transformerKey] stringByAppendingPathExtension:ext];
|
|
35
|
-
}
|
|
36
|
-
} else {
|
|
37
|
-
return [[key stringByAppendingString:SDImageTransformerKeySeparator] stringByAppendingString:transformerKey];
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
NSString * _Nullable SDThumbnailedKeyForKey(NSString * _Nullable key, CGSize thumbnailPixelSize, BOOL preserveAspectRatio) {
|
|
42
|
-
NSString *thumbnailKey = [NSString stringWithFormat:@"Thumbnail({%f,%f},%d)", thumbnailPixelSize.width, thumbnailPixelSize.height, preserveAspectRatio];
|
|
43
|
-
return SDTransformedKeyForKey(key, thumbnailKey);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@interface SDImagePipelineTransformer ()
|
|
47
|
-
|
|
48
|
-
@property (nonatomic, copy, readwrite, nonnull) NSArray<id<SDImageTransformer>> *transformers;
|
|
49
|
-
@property (nonatomic, copy, readwrite) NSString *transformerKey;
|
|
50
|
-
|
|
51
|
-
@end
|
|
52
|
-
|
|
53
|
-
@implementation SDImagePipelineTransformer
|
|
54
|
-
|
|
55
|
-
+ (instancetype)transformerWithTransformers:(NSArray<id<SDImageTransformer>> *)transformers {
|
|
56
|
-
SDImagePipelineTransformer *transformer = [SDImagePipelineTransformer new];
|
|
57
|
-
transformer.transformers = transformers;
|
|
58
|
-
transformer.transformerKey = [[self class] cacheKeyForTransformers:transformers];
|
|
59
|
-
|
|
60
|
-
return transformer;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
+ (NSString *)cacheKeyForTransformers:(NSArray<id<SDImageTransformer>> *)transformers {
|
|
64
|
-
if (transformers.count == 0) {
|
|
65
|
-
return @"";
|
|
66
|
-
}
|
|
67
|
-
NSMutableArray<NSString *> *cacheKeys = [NSMutableArray arrayWithCapacity:transformers.count];
|
|
68
|
-
[transformers enumerateObjectsUsingBlock:^(id<SDImageTransformer> _Nonnull transformer, NSUInteger idx, BOOL * _Nonnull stop) {
|
|
69
|
-
NSString *cacheKey = transformer.transformerKey;
|
|
70
|
-
[cacheKeys addObject:cacheKey];
|
|
71
|
-
}];
|
|
72
|
-
|
|
73
|
-
return [cacheKeys componentsJoinedByString:SDImageTransformerKeySeparator];
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
77
|
-
if (!image) {
|
|
78
|
-
return nil;
|
|
79
|
-
}
|
|
80
|
-
UIImage *transformedImage = image;
|
|
81
|
-
for (id<SDImageTransformer> transformer in self.transformers) {
|
|
82
|
-
transformedImage = [transformer transformedImageWithImage:transformedImage forKey:key];
|
|
83
|
-
}
|
|
84
|
-
return transformedImage;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@end
|
|
88
|
-
|
|
89
|
-
@interface SDImageRoundCornerTransformer ()
|
|
90
|
-
|
|
91
|
-
@property (nonatomic, assign) CGFloat cornerRadius;
|
|
92
|
-
@property (nonatomic, assign) SDRectCorner corners;
|
|
93
|
-
@property (nonatomic, assign) CGFloat borderWidth;
|
|
94
|
-
@property (nonatomic, strong, nullable) UIColor *borderColor;
|
|
95
|
-
|
|
96
|
-
@end
|
|
97
|
-
|
|
98
|
-
@implementation SDImageRoundCornerTransformer
|
|
99
|
-
|
|
100
|
-
+ (instancetype)transformerWithRadius:(CGFloat)cornerRadius corners:(SDRectCorner)corners borderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor {
|
|
101
|
-
SDImageRoundCornerTransformer *transformer = [SDImageRoundCornerTransformer new];
|
|
102
|
-
transformer.cornerRadius = cornerRadius;
|
|
103
|
-
transformer.corners = corners;
|
|
104
|
-
transformer.borderWidth = borderWidth;
|
|
105
|
-
transformer.borderColor = borderColor;
|
|
106
|
-
|
|
107
|
-
return transformer;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
- (NSString *)transformerKey {
|
|
111
|
-
return [NSString stringWithFormat:@"SDImageRoundCornerTransformer(%f,%lu,%f,%@)", self.cornerRadius, (unsigned long)self.corners, self.borderWidth, self.borderColor.sd_hexString];
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
115
|
-
if (!image) {
|
|
116
|
-
return nil;
|
|
117
|
-
}
|
|
118
|
-
return [image sd_roundedCornerImageWithRadius:self.cornerRadius corners:self.corners borderWidth:self.borderWidth borderColor:self.borderColor];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
@end
|
|
122
|
-
|
|
123
|
-
@interface SDImageResizingTransformer ()
|
|
124
|
-
|
|
125
|
-
@property (nonatomic, assign) CGSize size;
|
|
126
|
-
@property (nonatomic, assign) SDImageScaleMode scaleMode;
|
|
127
|
-
|
|
128
|
-
@end
|
|
129
|
-
|
|
130
|
-
@implementation SDImageResizingTransformer
|
|
131
|
-
|
|
132
|
-
+ (instancetype)transformerWithSize:(CGSize)size scaleMode:(SDImageScaleMode)scaleMode {
|
|
133
|
-
SDImageResizingTransformer *transformer = [SDImageResizingTransformer new];
|
|
134
|
-
transformer.size = size;
|
|
135
|
-
transformer.scaleMode = scaleMode;
|
|
136
|
-
|
|
137
|
-
return transformer;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
- (NSString *)transformerKey {
|
|
141
|
-
CGSize size = self.size;
|
|
142
|
-
return [NSString stringWithFormat:@"SDImageResizingTransformer({%f,%f},%lu)", size.width, size.height, (unsigned long)self.scaleMode];
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
146
|
-
if (!image) {
|
|
147
|
-
return nil;
|
|
148
|
-
}
|
|
149
|
-
return [image sd_resizedImageWithSize:self.size scaleMode:self.scaleMode];
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
@end
|
|
153
|
-
|
|
154
|
-
@interface SDImageCroppingTransformer ()
|
|
155
|
-
|
|
156
|
-
@property (nonatomic, assign) CGRect rect;
|
|
157
|
-
|
|
158
|
-
@end
|
|
159
|
-
|
|
160
|
-
@implementation SDImageCroppingTransformer
|
|
161
|
-
|
|
162
|
-
+ (instancetype)transformerWithRect:(CGRect)rect {
|
|
163
|
-
SDImageCroppingTransformer *transformer = [SDImageCroppingTransformer new];
|
|
164
|
-
transformer.rect = rect;
|
|
165
|
-
|
|
166
|
-
return transformer;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
- (NSString *)transformerKey {
|
|
170
|
-
CGRect rect = self.rect;
|
|
171
|
-
return [NSString stringWithFormat:@"SDImageCroppingTransformer({%f,%f,%f,%f})", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height];
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
175
|
-
if (!image) {
|
|
176
|
-
return nil;
|
|
177
|
-
}
|
|
178
|
-
return [image sd_croppedImageWithRect:self.rect];
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
@end
|
|
182
|
-
|
|
183
|
-
@interface SDImageFlippingTransformer ()
|
|
184
|
-
|
|
185
|
-
@property (nonatomic, assign) BOOL horizontal;
|
|
186
|
-
@property (nonatomic, assign) BOOL vertical;
|
|
187
|
-
|
|
188
|
-
@end
|
|
189
|
-
|
|
190
|
-
@implementation SDImageFlippingTransformer
|
|
191
|
-
|
|
192
|
-
+ (instancetype)transformerWithHorizontal:(BOOL)horizontal vertical:(BOOL)vertical {
|
|
193
|
-
SDImageFlippingTransformer *transformer = [SDImageFlippingTransformer new];
|
|
194
|
-
transformer.horizontal = horizontal;
|
|
195
|
-
transformer.vertical = vertical;
|
|
196
|
-
|
|
197
|
-
return transformer;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
- (NSString *)transformerKey {
|
|
201
|
-
return [NSString stringWithFormat:@"SDImageFlippingTransformer(%d,%d)", self.horizontal, self.vertical];
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
205
|
-
if (!image) {
|
|
206
|
-
return nil;
|
|
207
|
-
}
|
|
208
|
-
return [image sd_flippedImageWithHorizontal:self.horizontal vertical:self.vertical];
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@end
|
|
212
|
-
|
|
213
|
-
@interface SDImageRotationTransformer ()
|
|
214
|
-
|
|
215
|
-
@property (nonatomic, assign) CGFloat angle;
|
|
216
|
-
@property (nonatomic, assign) BOOL fitSize;
|
|
217
|
-
|
|
218
|
-
@end
|
|
219
|
-
|
|
220
|
-
@implementation SDImageRotationTransformer
|
|
221
|
-
|
|
222
|
-
+ (instancetype)transformerWithAngle:(CGFloat)angle fitSize:(BOOL)fitSize {
|
|
223
|
-
SDImageRotationTransformer *transformer = [SDImageRotationTransformer new];
|
|
224
|
-
transformer.angle = angle;
|
|
225
|
-
transformer.fitSize = fitSize;
|
|
226
|
-
|
|
227
|
-
return transformer;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
- (NSString *)transformerKey {
|
|
231
|
-
return [NSString stringWithFormat:@"SDImageRotationTransformer(%f,%d)", self.angle, self.fitSize];
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
235
|
-
if (!image) {
|
|
236
|
-
return nil;
|
|
237
|
-
}
|
|
238
|
-
return [image sd_rotatedImageWithAngle:self.angle fitSize:self.fitSize];
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
@end
|
|
242
|
-
|
|
243
|
-
#pragma mark - Image Blending
|
|
244
|
-
|
|
245
|
-
@interface SDImageTintTransformer ()
|
|
246
|
-
|
|
247
|
-
@property (nonatomic, strong, nonnull) UIColor *tintColor;
|
|
248
|
-
|
|
249
|
-
@end
|
|
250
|
-
|
|
251
|
-
@implementation SDImageTintTransformer
|
|
252
|
-
|
|
253
|
-
+ (instancetype)transformerWithColor:(UIColor *)tintColor {
|
|
254
|
-
SDImageTintTransformer *transformer = [SDImageTintTransformer new];
|
|
255
|
-
transformer.tintColor = tintColor;
|
|
256
|
-
|
|
257
|
-
return transformer;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
- (NSString *)transformerKey {
|
|
261
|
-
return [NSString stringWithFormat:@"SDImageTintTransformer(%@)", self.tintColor.sd_hexString];
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
265
|
-
if (!image) {
|
|
266
|
-
return nil;
|
|
267
|
-
}
|
|
268
|
-
return [image sd_tintedImageWithColor:self.tintColor];
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
@end
|
|
272
|
-
|
|
273
|
-
#pragma mark - Image Effect
|
|
274
|
-
|
|
275
|
-
@interface SDImageBlurTransformer ()
|
|
276
|
-
|
|
277
|
-
@property (nonatomic, assign) CGFloat blurRadius;
|
|
278
|
-
|
|
279
|
-
@end
|
|
280
|
-
|
|
281
|
-
@implementation SDImageBlurTransformer
|
|
282
|
-
|
|
283
|
-
+ (instancetype)transformerWithRadius:(CGFloat)blurRadius {
|
|
284
|
-
SDImageBlurTransformer *transformer = [SDImageBlurTransformer new];
|
|
285
|
-
transformer.blurRadius = blurRadius;
|
|
286
|
-
|
|
287
|
-
return transformer;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
- (NSString *)transformerKey {
|
|
291
|
-
return [NSString stringWithFormat:@"SDImageBlurTransformer(%f)", self.blurRadius];
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
295
|
-
if (!image) {
|
|
296
|
-
return nil;
|
|
297
|
-
}
|
|
298
|
-
return [image sd_blurredImageWithRadius:self.blurRadius];
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
@end
|
|
302
|
-
|
|
303
|
-
#if SD_UIKIT || SD_MAC
|
|
304
|
-
@interface SDImageFilterTransformer ()
|
|
305
|
-
|
|
306
|
-
@property (nonatomic, strong, nonnull) CIFilter *filter;
|
|
307
|
-
|
|
308
|
-
@end
|
|
309
|
-
|
|
310
|
-
@implementation SDImageFilterTransformer
|
|
311
|
-
|
|
312
|
-
+ (instancetype)transformerWithFilter:(CIFilter *)filter {
|
|
313
|
-
SDImageFilterTransformer *transformer = [SDImageFilterTransformer new];
|
|
314
|
-
transformer.filter = filter;
|
|
315
|
-
|
|
316
|
-
return transformer;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
- (NSString *)transformerKey {
|
|
320
|
-
return [NSString stringWithFormat:@"SDImageFilterTransformer(%@)", self.filter.name];
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
- (UIImage *)transformedImageWithImage:(UIImage *)image forKey:(NSString *)key {
|
|
324
|
-
if (!image) {
|
|
325
|
-
return nil;
|
|
326
|
-
}
|
|
327
|
-
return [image sd_filteredImageWithFilter:self.filter];
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
@end
|
|
331
|
-
#endif
|
|
@@ -1,78 +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 "SDWebImageCompat.h"
|
|
10
|
-
|
|
11
|
-
@class SDImageCacheConfig;
|
|
12
|
-
/**
|
|
13
|
-
A protocol to allow custom memory cache used in SDImageCache.
|
|
14
|
-
*/
|
|
15
|
-
@protocol SDMemoryCache <NSObject>
|
|
16
|
-
|
|
17
|
-
@required
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
Create a new memory cache instance with the specify cache config. You can check `maxMemoryCost` and `maxMemoryCount` used for memory cache.
|
|
21
|
-
|
|
22
|
-
@param config The cache config to be used to create the cache.
|
|
23
|
-
@return The new memory cache instance.
|
|
24
|
-
*/
|
|
25
|
-
- (nonnull instancetype)initWithConfig:(nonnull SDImageCacheConfig *)config;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
Returns the value associated with a given key.
|
|
29
|
-
|
|
30
|
-
@param key An object identifying the value. If nil, just return nil.
|
|
31
|
-
@return The value associated with key, or nil if no value is associated with key.
|
|
32
|
-
*/
|
|
33
|
-
- (nullable id)objectForKey:(nonnull id)key;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
Sets the value of the specified key in the cache (0 cost).
|
|
37
|
-
|
|
38
|
-
@param object The object to be stored in the cache. If nil, it calls `removeObjectForKey:`.
|
|
39
|
-
@param key The key with which to associate the value. If nil, this method has no effect.
|
|
40
|
-
@discussion Unlike an NSMutableDictionary object, a cache does not copy the key
|
|
41
|
-
objects that are put into it.
|
|
42
|
-
*/
|
|
43
|
-
- (void)setObject:(nullable id)object forKey:(nonnull id)key;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
Sets the value of the specified key in the cache, and associates the key-value
|
|
47
|
-
pair with the specified cost.
|
|
48
|
-
|
|
49
|
-
@param object The object to store in the cache. If nil, it calls `removeObjectForKey`.
|
|
50
|
-
@param key The key with which to associate the value. If nil, this method has no effect.
|
|
51
|
-
@param cost The cost with which to associate the key-value pair.
|
|
52
|
-
@discussion Unlike an NSMutableDictionary object, a cache does not copy the key
|
|
53
|
-
objects that are put into it.
|
|
54
|
-
*/
|
|
55
|
-
- (void)setObject:(nullable id)object forKey:(nonnull id)key cost:(NSUInteger)cost;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
Removes the value of the specified key in the cache.
|
|
59
|
-
|
|
60
|
-
@param key The key identifying the value to be removed. If nil, this method has no effect.
|
|
61
|
-
*/
|
|
62
|
-
- (void)removeObjectForKey:(nonnull id)key;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
Empties the cache immediately.
|
|
66
|
-
*/
|
|
67
|
-
- (void)removeAllObjects;
|
|
68
|
-
|
|
69
|
-
@end
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
A memory cache which auto purge the cache on memory warning and support weak cache.
|
|
73
|
-
*/
|
|
74
|
-
@interface SDMemoryCache <KeyType, ObjectType> : NSCache <KeyType, ObjectType> <SDMemoryCache>
|
|
75
|
-
|
|
76
|
-
@property (nonatomic, strong, nonnull, readonly) SDImageCacheConfig *config;
|
|
77
|
-
|
|
78
|
-
@end
|
|
@@ -1,158 +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 "SDMemoryCache.h"
|
|
10
|
-
#import "SDImageCacheConfig.h"
|
|
11
|
-
#import "UIImage+MemoryCacheCost.h"
|
|
12
|
-
#import "SDInternalMacros.h"
|
|
13
|
-
|
|
14
|
-
static void * SDMemoryCacheContext = &SDMemoryCacheContext;
|
|
15
|
-
|
|
16
|
-
@interface SDMemoryCache <KeyType, ObjectType> () {
|
|
17
|
-
#if SD_UIKIT
|
|
18
|
-
SD_LOCK_DECLARE(_weakCacheLock); // a lock to keep the access to `weakCache` thread-safe
|
|
19
|
-
#endif
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
@property (nonatomic, strong, nullable) SDImageCacheConfig *config;
|
|
23
|
-
#if SD_UIKIT
|
|
24
|
-
@property (nonatomic, strong, nonnull) NSMapTable<KeyType, ObjectType> *weakCache; // strong-weak cache
|
|
25
|
-
#endif
|
|
26
|
-
@end
|
|
27
|
-
|
|
28
|
-
@implementation SDMemoryCache
|
|
29
|
-
|
|
30
|
-
- (void)dealloc {
|
|
31
|
-
[_config removeObserver:self forKeyPath:NSStringFromSelector(@selector(maxMemoryCost)) context:SDMemoryCacheContext];
|
|
32
|
-
[_config removeObserver:self forKeyPath:NSStringFromSelector(@selector(maxMemoryCount)) context:SDMemoryCacheContext];
|
|
33
|
-
#if SD_UIKIT
|
|
34
|
-
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
|
|
35
|
-
#endif
|
|
36
|
-
self.delegate = nil;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
- (instancetype)init {
|
|
40
|
-
self = [super init];
|
|
41
|
-
if (self) {
|
|
42
|
-
_config = [[SDImageCacheConfig alloc] init];
|
|
43
|
-
[self commonInit];
|
|
44
|
-
}
|
|
45
|
-
return self;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
- (instancetype)initWithConfig:(SDImageCacheConfig *)config {
|
|
49
|
-
self = [super init];
|
|
50
|
-
if (self) {
|
|
51
|
-
_config = config;
|
|
52
|
-
[self commonInit];
|
|
53
|
-
}
|
|
54
|
-
return self;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
- (void)commonInit {
|
|
58
|
-
SDImageCacheConfig *config = self.config;
|
|
59
|
-
self.totalCostLimit = config.maxMemoryCost;
|
|
60
|
-
self.countLimit = config.maxMemoryCount;
|
|
61
|
-
|
|
62
|
-
[config addObserver:self forKeyPath:NSStringFromSelector(@selector(maxMemoryCost)) options:0 context:SDMemoryCacheContext];
|
|
63
|
-
[config addObserver:self forKeyPath:NSStringFromSelector(@selector(maxMemoryCount)) options:0 context:SDMemoryCacheContext];
|
|
64
|
-
|
|
65
|
-
#if SD_UIKIT
|
|
66
|
-
self.weakCache = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsWeakMemory capacity:0];
|
|
67
|
-
SD_LOCK_INIT(_weakCacheLock);
|
|
68
|
-
|
|
69
|
-
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
70
|
-
selector:@selector(didReceiveMemoryWarning:)
|
|
71
|
-
name:UIApplicationDidReceiveMemoryWarningNotification
|
|
72
|
-
object:nil];
|
|
73
|
-
#endif
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Current this seems no use on macOS (macOS use virtual memory and do not clear cache when memory warning). So we only override on iOS/tvOS platform.
|
|
77
|
-
#if SD_UIKIT
|
|
78
|
-
- (void)didReceiveMemoryWarning:(NSNotification *)notification {
|
|
79
|
-
// Only remove cache, but keep weak cache
|
|
80
|
-
[super removeAllObjects];
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// `setObject:forKey:` just call this with 0 cost. Override this is enough
|
|
84
|
-
- (void)setObject:(id)obj forKey:(id)key cost:(NSUInteger)g {
|
|
85
|
-
[super setObject:obj forKey:key cost:g];
|
|
86
|
-
if (!self.config.shouldUseWeakMemoryCache) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (key && obj) {
|
|
90
|
-
// Store weak cache
|
|
91
|
-
SD_LOCK(_weakCacheLock);
|
|
92
|
-
[self.weakCache setObject:obj forKey:key];
|
|
93
|
-
SD_UNLOCK(_weakCacheLock);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
- (id)objectForKey:(id)key {
|
|
98
|
-
id obj = [super objectForKey:key];
|
|
99
|
-
if (!self.config.shouldUseWeakMemoryCache) {
|
|
100
|
-
return obj;
|
|
101
|
-
}
|
|
102
|
-
if (key && !obj) {
|
|
103
|
-
// Check weak cache
|
|
104
|
-
SD_LOCK(_weakCacheLock);
|
|
105
|
-
obj = [self.weakCache objectForKey:key];
|
|
106
|
-
SD_UNLOCK(_weakCacheLock);
|
|
107
|
-
if (obj) {
|
|
108
|
-
// Sync cache
|
|
109
|
-
NSUInteger cost = 0;
|
|
110
|
-
if ([obj isKindOfClass:[UIImage class]]) {
|
|
111
|
-
cost = [(UIImage *)obj sd_memoryCost];
|
|
112
|
-
}
|
|
113
|
-
[super setObject:obj forKey:key cost:cost];
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return obj;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
- (void)removeObjectForKey:(id)key {
|
|
120
|
-
[super removeObjectForKey:key];
|
|
121
|
-
if (!self.config.shouldUseWeakMemoryCache) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
if (key) {
|
|
125
|
-
// Remove weak cache
|
|
126
|
-
SD_LOCK(_weakCacheLock);
|
|
127
|
-
[self.weakCache removeObjectForKey:key];
|
|
128
|
-
SD_UNLOCK(_weakCacheLock);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
- (void)removeAllObjects {
|
|
133
|
-
[super removeAllObjects];
|
|
134
|
-
if (!self.config.shouldUseWeakMemoryCache) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
// Manually remove should also remove weak cache
|
|
138
|
-
SD_LOCK(_weakCacheLock);
|
|
139
|
-
[self.weakCache removeAllObjects];
|
|
140
|
-
SD_UNLOCK(_weakCacheLock);
|
|
141
|
-
}
|
|
142
|
-
#endif
|
|
143
|
-
|
|
144
|
-
#pragma mark - KVO
|
|
145
|
-
|
|
146
|
-
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
|
|
147
|
-
if (context == SDMemoryCacheContext) {
|
|
148
|
-
if ([keyPath isEqualToString:NSStringFromSelector(@selector(maxMemoryCost))]) {
|
|
149
|
-
self.totalCostLimit = self.config.maxMemoryCost;
|
|
150
|
-
} else if ([keyPath isEqualToString:NSStringFromSelector(@selector(maxMemoryCount))]) {
|
|
151
|
-
self.countLimit = self.config.maxMemoryCount;
|
|
152
|
-
}
|
|
153
|
-
} else {
|
|
154
|
-
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
@end
|
|
@@ -1,32 +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 <Foundation/Foundation.h>
|
|
10
|
-
#import "SDWebImageCompat.h"
|
|
11
|
-
|
|
12
|
-
typedef NSString * _Nullable(^SDWebImageCacheKeyFilterBlock)(NSURL * _Nonnull url);
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
This is the protocol for cache key filter.
|
|
16
|
-
We can use a block to specify the cache key filter. But Using protocol can make this extensible, and allow Swift user to use it easily instead of using `@convention(block)` to store a block into context options.
|
|
17
|
-
*/
|
|
18
|
-
@protocol SDWebImageCacheKeyFilter <NSObject>
|
|
19
|
-
|
|
20
|
-
- (nullable NSString *)cacheKeyForURL:(nonnull NSURL *)url;
|
|
21
|
-
|
|
22
|
-
@end
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
A cache key filter class with block.
|
|
26
|
-
*/
|
|
27
|
-
@interface SDWebImageCacheKeyFilter : NSObject <SDWebImageCacheKeyFilter>
|
|
28
|
-
|
|
29
|
-
- (nonnull instancetype)initWithBlock:(nonnull SDWebImageCacheKeyFilterBlock)block;
|
|
30
|
-
+ (nonnull instancetype)cacheKeyFilterWithBlock:(nonnull SDWebImageCacheKeyFilterBlock)block;
|
|
31
|
-
|
|
32
|
-
@end
|
|
@@ -1,39 +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 "SDWebImageCacheKeyFilter.h"
|
|
10
|
-
|
|
11
|
-
@interface SDWebImageCacheKeyFilter ()
|
|
12
|
-
|
|
13
|
-
@property (nonatomic, copy, nonnull) SDWebImageCacheKeyFilterBlock block;
|
|
14
|
-
|
|
15
|
-
@end
|
|
16
|
-
|
|
17
|
-
@implementation SDWebImageCacheKeyFilter
|
|
18
|
-
|
|
19
|
-
- (instancetype)initWithBlock:(SDWebImageCacheKeyFilterBlock)block {
|
|
20
|
-
self = [super init];
|
|
21
|
-
if (self) {
|
|
22
|
-
self.block = block;
|
|
23
|
-
}
|
|
24
|
-
return self;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
+ (instancetype)cacheKeyFilterWithBlock:(SDWebImageCacheKeyFilterBlock)block {
|
|
28
|
-
SDWebImageCacheKeyFilter *cacheKeyFilter = [[SDWebImageCacheKeyFilter alloc] initWithBlock:block];
|
|
29
|
-
return cacheKeyFilter;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
- (NSString *)cacheKeyForURL:(NSURL *)url {
|
|
33
|
-
if (!self.block) {
|
|
34
|
-
return nil;
|
|
35
|
-
}
|
|
36
|
-
return self.block(url);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@end
|
|
@@ -1,36 +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 <Foundation/Foundation.h>
|
|
10
|
-
#import "SDWebImageCompat.h"
|
|
11
|
-
|
|
12
|
-
typedef NSData * _Nullable(^SDWebImageCacheSerializerBlock)(UIImage * _Nonnull image, NSData * _Nullable data, NSURL * _Nullable imageURL);
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
This is the protocol for cache serializer.
|
|
16
|
-
We can use a block to specify the cache serializer. But Using protocol can make this extensible, and allow Swift user to use it easily instead of using `@convention(block)` to store a block into context options.
|
|
17
|
-
*/
|
|
18
|
-
@protocol SDWebImageCacheSerializer <NSObject>
|
|
19
|
-
|
|
20
|
-
/// Provide the image data associated to the image and store to disk cache
|
|
21
|
-
/// @param image The loaded image
|
|
22
|
-
/// @param data The original loaded image data. May be nil when image is transformed (UIImage.sd_isTransformed = YES)
|
|
23
|
-
/// @param imageURL The image URL
|
|
24
|
-
- (nullable NSData *)cacheDataWithImage:(nonnull UIImage *)image originalData:(nullable NSData *)data imageURL:(nullable NSURL *)imageURL;
|
|
25
|
-
|
|
26
|
-
@end
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
A cache serializer class with block.
|
|
30
|
-
*/
|
|
31
|
-
@interface SDWebImageCacheSerializer : NSObject <SDWebImageCacheSerializer>
|
|
32
|
-
|
|
33
|
-
- (nonnull instancetype)initWithBlock:(nonnull SDWebImageCacheSerializerBlock)block;
|
|
34
|
-
+ (nonnull instancetype)cacheSerializerWithBlock:(nonnull SDWebImageCacheSerializerBlock)block;
|
|
35
|
-
|
|
36
|
-
@end
|