@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.
Files changed (406) hide show
  1. package/README.md +1 -0
  2. package/android/.gradle/8.0/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock +0 -0
  4. package/android/.gradle/8.0/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.0/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.0/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.0/gc.properties +0 -0
  8. package/android/.gradle/config.properties +2 -0
  9. package/android/.gradle/vcs-1/gc.properties +0 -0
  10. package/android/.idea/gradle.xml +12 -0
  11. package/android/.idea/migrations.xml +10 -0
  12. package/android/.idea/misc.xml +10 -0
  13. package/android/.idea/vcs.xml +6 -0
  14. package/android/.idea/workspace.xml +50 -0
  15. package/android/build.gradle +35 -69
  16. package/android/local.properties +8 -0
  17. package/android/proguard-rules.pro +21 -0
  18. package/android/src/main/AndroidManifest.xml +2 -2
  19. package/android/src/main/java/com/momoplatform/nativekits/foundations/Button.kt +16 -0
  20. package/android/src/main/java/com/momoplatform/nativekits/libs/Logo.kt +63 -0
  21. package/android/src/main/java/com/momoplatform/nativekits/libs/TrustBanner.kt +246 -0
  22. package/android/src/main/res/drawable/ic_launcher_background.xml +170 -0
  23. package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +30 -0
  24. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
  25. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
  26. package/android/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  27. package/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  28. package/android/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  29. package/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  30. package/android/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  31. package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  32. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  33. package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  34. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  35. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  36. package/android/src/main/res/values/colors.xml +10 -0
  37. package/android/src/main/res/values/strings.xml +3 -0
  38. package/android/src/main/res/values/themes.xml +3 -0
  39. package/android/src/main/res/values-night/themes.xml +3 -0
  40. package/android/src/main/res/xml/backup_rules.xml +13 -0
  41. package/android/src/main/res/xml/data_extraction_rules.xml +19 -0
  42. package/build.gradle.kts +18 -0
  43. package/compose/build.gradle.kts +82 -0
  44. package/compose/src/androidMain/AndroidManifest.xml +2 -0
  45. package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
  46. package/compose/src/androidMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +8 -0
  47. package/compose/src/androidMain/kotlin/vn/momo/kits/utils/Utils.android.kt +14 -0
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Components.kt +194 -0
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +197 -0
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +133 -0
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +62 -0
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +27 -0
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +288 -0
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +80 -0
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +42 -0
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +126 -0
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +51 -0
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +299 -0
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +246 -0
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +223 -0
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +244 -0
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +281 -0
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PromotionPopup.kt +72 -0
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +65 -0
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +64 -0
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +63 -0
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +73 -0
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +42 -0
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +150 -0
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +173 -0
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +242 -0
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +2 -0
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1321 -0
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +5 -0
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +97 -0
  83. package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Platform.kt +3 -0
  84. package/compose/src/iosMain/kotlin/vn/momo/kits/utils/SetMaskFilter.kt +9 -0
  85. package/compose/src/iosMain/kotlin/vn/momo/kits/utils/Utils.ios.kt +18 -0
  86. package/gradle.properties +19 -0
  87. package/gradlew +240 -0
  88. package/gradlew.bat +91 -0
  89. package/ios/Button/Button.swift +9 -2
  90. package/ios/CalculatorKeyboard/CalculatorKeyboard.swift +126 -0
  91. package/ios/Colors+Radius+Spacing/Colors.swift +21 -19
  92. package/ios/Input/Input.swift +1 -0
  93. package/ios/OTPKeyboard/KeyboardButton.swift +12 -4
  94. package/ios/Popup/PopupDisplay.swift +72 -81
  95. package/ios/Popup/PopupInput.swift +96 -0
  96. package/ios/Popup/PopupPromotion.swift +52 -0
  97. package/ios/ScrollIndicator/ScrollIndicator.swift +79 -0
  98. package/ios/Template/Logo/Logo.swift +75 -0
  99. package/ios/Template/TrustBanner/TrustBanner.swift +189 -0
  100. package/ios/native-kits.podspec +1 -1
  101. package/local.properties +8 -0
  102. package/package.json +6 -6
  103. package/publish.sh +1 -10
  104. package/settings.gradle.kts +41 -0
  105. package/android/gradle.properties +0 -5
  106. package/android/src/main/java/com/momoplatform/nativekits/NativeKitsPackage.kt +0 -17
  107. package/android/src/main/java/com/momoplatform/nativekits/NativeKitsViewManager.kt +0 -20
  108. package/example/ios/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -63
  109. package/example/ios/Example/Assets.xcassets/Background.colorset/Contents.json +0 -38
  110. package/example/ios/Example/Assets.xcassets/Border.colorset/Contents.json +0 -38
  111. package/example/ios/Example/Assets.xcassets/Card.colorset/Contents.json +0 -38
  112. package/example/ios/Example/Assets.xcassets/Contents.json +0 -6
  113. package/example/ios/Example/Assets.xcassets/Error.colorset/Contents.json +0 -38
  114. package/example/ios/Example/Assets.xcassets/Primary.colorset/Contents.json +0 -38
  115. package/example/ios/Example/Assets.xcassets/PrimaryDark.colorset/Contents.json +0 -38
  116. package/example/ios/Example/Assets.xcassets/PrimaryLight.colorset/Contents.json +0 -38
  117. package/example/ios/Example/Assets.xcassets/Secondary.colorset/Contents.json +0 -38
  118. package/example/ios/Example/Assets.xcassets/Success.colorset/Contents.json +0 -38
  119. package/example/ios/Example/Assets.xcassets/Text.colorset/Contents.json +0 -38
  120. package/example/ios/Example/Assets.xcassets/TextSecondary.colorset/Contents.json +0 -38
  121. package/example/ios/Example/Assets.xcassets/Warning.colorset/Contents.json +0 -38
  122. package/example/ios/Example/ComponentDetail.swift +0 -35
  123. package/example/ios/Example/ComponentItem.swift +0 -24
  124. package/example/ios/Example/ComponentModel.swift +0 -38
  125. package/example/ios/Example/ContentView.swift +0 -39
  126. package/example/ios/Example/Example.entitlements +0 -10
  127. package/example/ios/Example/Foundation/ButtonDemo.swift +0 -80
  128. package/example/ios/Example/Foundation/ImageDemo.swift +0 -43
  129. package/example/ios/Example/Foundation/Popup/ActionSheets.swift +0 -136
  130. package/example/ios/Example/Foundation/Popup/Floats.swift +0 -127
  131. package/example/ios/Example/Foundation/Popup/Popups.swift +0 -51
  132. package/example/ios/Example/Foundation/PopupDemo.swift +0 -389
  133. package/example/ios/Example/Foundation/TextInputDemo.swift +0 -36
  134. package/example/ios/Example/Foundation/TypographyDemo.swift +0 -53
  135. package/example/ios/Example/Foundation.swift +0 -26
  136. package/example/ios/Example/Info.plist +0 -18
  137. package/example/ios/Example/Library/CheckboxDemo.swift +0 -19
  138. package/example/ios/Example/Library/SwipeableDemo.swift +0 -105
  139. package/example/ios/Example/Library/SwitchDemo.swift +0 -19
  140. package/example/ios/Example/Library.swift +0 -26
  141. package/example/ios/Example/Main.swift +0 -27
  142. package/example/ios/Example/Overview.swift +0 -20
  143. package/example/ios/Example/Preview Content/Preview Assets.xcassets/Contents.json +0 -6
  144. package/example/ios/Example/Resource/SFProText-Black.ttf +0 -0
  145. package/example/ios/Example/Resource/SFProText-Bold.ttf +0 -0
  146. package/example/ios/Example/Resource/SFProText-Heavy.ttf +0 -0
  147. package/example/ios/Example/Resource/SFProText-Light.ttf +0 -0
  148. package/example/ios/Example/Resource/SFProText-Medium.ttf +0 -0
  149. package/example/ios/Example/Resource/SFProText-Regular.ttf +0 -0
  150. package/example/ios/Example/Resource/SFProText-Semibold.ttf +0 -0
  151. package/example/ios/Example/Resource/SFProText-Thin.ttf +0 -0
  152. package/example/ios/Example/Resource/SFProText-Ultralight.ttf +0 -0
  153. package/example/ios/Example/Resource/foundation.json +0 -33
  154. package/example/ios/Example/Resource/library.json +0 -18
  155. package/example/ios/Example/Utils.swift +0 -30
  156. package/example/ios/Example/ViewModifier/DarkViewModifier.swift +0 -22
  157. package/example/ios/Example.xcodeproj/project.pbxproj +0 -581
  158. package/example/ios/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  159. package/example/ios/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  160. package/example/ios/Example.xcodeproj/project.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  161. package/example/ios/Example.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  162. package/example/ios/Example.xcworkspace/contents.xcworkspacedata +0 -10
  163. package/example/ios/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  164. package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  165. package/example/ios/Example.xcworkspace/xcuserdata/wem.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
  166. package/example/ios/Podfile +0 -7
  167. package/example/ios/Podfile.lock +0 -35
  168. package/example/ios/Pods/Local Podspecs/MoMoUIKits.podspec.json +0 -37
  169. package/example/ios/Pods/Manifest.lock +0 -35
  170. package/example/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -2047
  171. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
  172. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
  173. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
  174. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
  175. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
  176. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/wem.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
  177. package/example/ios/Pods/SDWebImage/LICENSE +0 -20
  178. package/example/ios/Pods/SDWebImage/README.md +0 -352
  179. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.h +0 -340
  180. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSButton+WebCache.m +0 -172
  181. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.h +0 -63
  182. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.m +0 -165
  183. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.h +0 -67
  184. package/example/ios/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.m +0 -120
  185. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.h +0 -114
  186. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.m +0 -392
  187. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h +0 -112
  188. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.m +0 -420
  189. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h +0 -23
  190. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.m +0 -133
  191. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h +0 -168
  192. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.m +0 -79
  193. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.h +0 -110
  194. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m +0 -540
  195. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.h +0 -145
  196. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.m +0 -326
  197. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h +0 -73
  198. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.m +0 -256
  199. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h +0 -19
  200. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.m +0 -58
  201. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.h +0 -23
  202. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageAWebPCoder.m +0 -98
  203. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.h +0 -450
  204. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCache.m +0 -1030
  205. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.h +0 -153
  206. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.m +0 -68
  207. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.h +0 -156
  208. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.m +0 -138
  209. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.h +0 -81
  210. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.m +0 -556
  211. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.h +0 -297
  212. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.m +0 -26
  213. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.h +0 -153
  214. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m +0 -822
  215. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.h +0 -58
  216. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageCodersManager.m +0 -130
  217. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.h +0 -36
  218. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageFrame.m +0 -28
  219. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.h +0 -22
  220. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.m +0 -58
  221. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.h +0 -28
  222. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.m +0 -127
  223. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.h +0 -25
  224. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.m +0 -101
  225. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h +0 -58
  226. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.m +0 -807
  227. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.h +0 -30
  228. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.m +0 -420
  229. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.h +0 -146
  230. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoader.m +0 -170
  231. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.h +0 -40
  232. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.m +0 -123
  233. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.h +0 -241
  234. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDImageTransformer.m +0 -331
  235. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.h +0 -78
  236. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDMemoryCache.m +0 -158
  237. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h +0 -32
  238. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.m +0 -39
  239. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h +0 -36
  240. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.m +0 -39
  241. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.h +0 -95
  242. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.m +0 -17
  243. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.h +0 -352
  244. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDefine.m +0 -149
  245. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.h +0 -314
  246. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloader.m +0 -658
  247. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h +0 -113
  248. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.m +0 -60
  249. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h +0 -49
  250. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.m +0 -55
  251. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h +0 -191
  252. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.m +0 -722
  253. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h +0 -69
  254. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m +0 -71
  255. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h +0 -69
  256. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m +0 -73
  257. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.h +0 -32
  258. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m +0 -16
  259. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.h +0 -115
  260. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageIndicator.m +0 -275
  261. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.h +0 -290
  262. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageManager.m +0 -775
  263. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.h +0 -27
  264. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.m +0 -14
  265. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h +0 -72
  266. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.m +0 -59
  267. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h +0 -143
  268. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.m +0 -303
  269. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.h +0 -131
  270. package/example/ios/Pods/SDWebImage/SDWebImage/Core/SDWebImageTransition.m +0 -194
  271. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.h +0 -387
  272. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIButton+WebCache.m +0 -234
  273. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h +0 -24
  274. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.m +0 -23
  275. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h +0 -46
  276. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.m +0 -60
  277. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.h +0 -26
  278. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.m +0 -22
  279. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h +0 -27
  280. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.m +0 -47
  281. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.h +0 -89
  282. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Metadata.m +0 -221
  283. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h +0 -80
  284. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+MultiFormat.m +0 -47
  285. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.h +0 -146
  286. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImage+Transform.m +0 -824
  287. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h +0 -129
  288. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.m +0 -76
  289. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.h +0 -194
  290. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIImageView+WebCache.m +0 -67
  291. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.h +0 -110
  292. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m +0 -446
  293. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h +0 -48
  294. package/example/ios/Pods/SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.m +0 -82
  295. package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h +0 -24
  296. package/example/ios/Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m +0 -42
  297. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.h +0 -14
  298. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.m +0 -29
  299. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.h +0 -21
  300. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.m +0 -92
  301. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.h +0 -18
  302. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.m +0 -32
  303. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.h +0 -29
  304. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDDisplayLink.m +0 -227
  305. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h +0 -19
  306. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.m +0 -127
  307. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.h +0 -23
  308. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.m +0 -164
  309. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h +0 -21
  310. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.m +0 -83
  311. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h +0 -39
  312. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.h +0 -122
  313. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.m +0 -13
  314. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.h +0 -20
  315. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.m +0 -79
  316. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDWebImageTransitionInternal.h +0 -19
  317. package/example/ios/Pods/SDWebImage/SDWebImage/Private/SDmetamacros.h +0 -667
  318. package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.h +0 -18
  319. package/example/ios/Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.m +0 -42
  320. package/example/ios/Pods/SDWebImage/WebImage/SDWebImage.h +0 -89
  321. package/example/ios/Pods/SDWebImageSwiftUI/LICENSE +0 -19
  322. package/example/ios/Pods/SDWebImageSwiftUI/README.md +0 -690
  323. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/AnimatedImage.swift +0 -870
  324. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Backport.swift +0 -59
  325. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/OnChange.swift +0 -52
  326. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/Overlay.swift +0 -124
  327. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Backports/StateObject.swift +0 -151
  328. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Image.swift +0 -78
  329. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageManager.swift +0 -132
  330. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImagePlayer.swift +0 -122
  331. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift +0 -133
  332. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ActivityIndicator.swift +0 -82
  333. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/Indicator.swift +0 -97
  334. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Indicator/ProgressIndicator.swift +0 -114
  335. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SDWebImageSwiftUI.swift +0 -64
  336. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/SwiftUICompatibility.swift +0 -92
  337. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/Transition/Transition.swift +0 -93
  338. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Classes/WebImage.swift +0 -509
  339. package/example/ios/Pods/SDWebImageSwiftUI/SDWebImageSwiftUI/Module/SDWebImageSwiftUI.h +0 -15
  340. package/example/ios/Pods/SkeletonUI/LICENSE +0 -21
  341. package/example/ios/Pods/SkeletonUI/README.md +0 -137
  342. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AngleInteractor.swift +0 -29
  343. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Angle/AnglePresenter.swift +0 -7
  344. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Animation/AnimationInteractor.swift +0 -56
  345. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearanceInteractor.swift +0 -58
  346. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Appearance/AppearancePresenter.swift +0 -5
  347. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ClosedRange+Normalize.swift +0 -16
  348. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Image+OptionalType.swift +0 -102
  349. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/ModifiedContent+SkeletonModifier.swift +0 -26
  350. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Optional+OptionalType.swift +0 -5
  351. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/SecureField+OptionalType.swift +0 -19
  352. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Text+OptionalType.swift +0 -27
  353. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/TextField+OptionalType.swift +0 -35
  354. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/Toggle+OptionalType.swift +0 -29
  355. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/UnitPoint+Angle.swift +0 -8
  356. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Extensions/View+SkeletonModifier.swift +0 -8
  357. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Modifiers/SkeletonModifier.swift +0 -52
  358. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilineInteractor.swift +0 -41
  359. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Multiline/MultilinePresenter.swift +0 -9
  360. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityInteractor.swift +0 -29
  361. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Opacity/OpacityPresenter.swift +0 -7
  362. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionInteractor.swift +0 -29
  363. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Position/PositionPresenter.swift +0 -7
  364. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Protocols/OptionalType.swift +0 -4
  365. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusInteractor.swift +0 -29
  366. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Radius/RadiusPresenter.swift +0 -7
  367. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapeInteractor.swift +0 -33
  368. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Shape/ShapePresenter.swift +0 -5
  369. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonForEach.swift +0 -20
  370. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonInteractor.swift +0 -27
  371. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonList.swift +0 -20
  372. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonPresenter.swift +0 -15
  373. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonShape.swift +0 -64
  374. package/example/ios/Pods/SkeletonUI/Sources/SkeletonUI/Skeleton/SkeletonView.swift +0 -25
  375. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-dummy.m +0 -5
  376. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-prefix.pch +0 -12
  377. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits-umbrella.h +0 -16
  378. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.debug.xcconfig +0 -15
  379. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.modulemap +0 -6
  380. package/example/ios/Pods/Target Support Files/MoMoUIKits/MoMoUIKits.release.xcconfig +0 -15
  381. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown +0 -75
  382. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist +0 -119
  383. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m +0 -5
  384. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h +0 -16
  385. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig +0 -15
  386. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap +0 -6
  387. package/example/ios/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig +0 -15
  388. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m +0 -5
  389. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch +0 -12
  390. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage-umbrella.h +0 -75
  391. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.debug.xcconfig +0 -14
  392. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.modulemap +0 -6
  393. package/example/ios/Pods/Target Support Files/SDWebImage/SDWebImage.release.xcconfig +0 -14
  394. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-dummy.m +0 -5
  395. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-prefix.pch +0 -12
  396. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI-umbrella.h +0 -17
  397. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.debug.xcconfig +0 -17
  398. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.modulemap +0 -6
  399. package/example/ios/Pods/Target Support Files/SDWebImageSwiftUI/SDWebImageSwiftUI.release.xcconfig +0 -17
  400. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-dummy.m +0 -5
  401. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-prefix.pch +0 -12
  402. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI-umbrella.h +0 -16
  403. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.debug.xcconfig +0 -12
  404. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.modulemap +0 -6
  405. package/example/ios/Pods/Target Support Files/SkeletonUI/SkeletonUI.release.xcconfig +0 -12
  406. package/ios/Extensions/View++.swift +0 -9
@@ -1,446 +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 "UIView+WebCache.h"
10
- #import "objc/runtime.h"
11
- #import "UIView+WebCacheOperation.h"
12
- #import "SDWebImageError.h"
13
- #import "SDInternalMacros.h"
14
- #import "SDWebImageTransitionInternal.h"
15
- #import "SDImageCache.h"
16
-
17
- const int64_t SDWebImageProgressUnitCountUnknown = 1LL;
18
-
19
- @implementation UIView (WebCache)
20
-
21
- - (nullable NSURL *)sd_imageURL {
22
- return objc_getAssociatedObject(self, @selector(sd_imageURL));
23
- }
24
-
25
- - (void)setSd_imageURL:(NSURL * _Nullable)sd_imageURL {
26
- objc_setAssociatedObject(self, @selector(sd_imageURL), sd_imageURL, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
27
- }
28
-
29
- - (nullable NSString *)sd_latestOperationKey {
30
- return objc_getAssociatedObject(self, @selector(sd_latestOperationKey));
31
- }
32
-
33
- - (void)setSd_latestOperationKey:(NSString * _Nullable)sd_latestOperationKey {
34
- objc_setAssociatedObject(self, @selector(sd_latestOperationKey), sd_latestOperationKey, OBJC_ASSOCIATION_COPY_NONATOMIC);
35
- }
36
-
37
- - (NSProgress *)sd_imageProgress {
38
- NSProgress *progress = objc_getAssociatedObject(self, @selector(sd_imageProgress));
39
- if (!progress) {
40
- progress = [[NSProgress alloc] initWithParent:nil userInfo:nil];
41
- self.sd_imageProgress = progress;
42
- }
43
- return progress;
44
- }
45
-
46
- - (void)setSd_imageProgress:(NSProgress *)sd_imageProgress {
47
- objc_setAssociatedObject(self, @selector(sd_imageProgress), sd_imageProgress, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
48
- }
49
-
50
- - (nullable id<SDWebImageOperation>)sd_internalSetImageWithURL:(nullable NSURL *)url
51
- placeholderImage:(nullable UIImage *)placeholder
52
- options:(SDWebImageOptions)options
53
- context:(nullable SDWebImageContext *)context
54
- setImageBlock:(nullable SDSetImageBlock)setImageBlock
55
- progress:(nullable SDImageLoaderProgressBlock)progressBlock
56
- completed:(nullable SDInternalCompletionBlock)completedBlock {
57
- if (context) {
58
- // copy to avoid mutable object
59
- context = [context copy];
60
- } else {
61
- context = [NSDictionary dictionary];
62
- }
63
- NSString *validOperationKey = context[SDWebImageContextSetImageOperationKey];
64
- if (!validOperationKey) {
65
- // pass through the operation key to downstream, which can used for tracing operation or image view class
66
- validOperationKey = NSStringFromClass([self class]);
67
- SDWebImageMutableContext *mutableContext = [context mutableCopy];
68
- mutableContext[SDWebImageContextSetImageOperationKey] = validOperationKey;
69
- context = [mutableContext copy];
70
- }
71
- self.sd_latestOperationKey = validOperationKey;
72
- [self sd_cancelImageLoadOperationWithKey:validOperationKey];
73
- self.sd_imageURL = url;
74
-
75
- SDWebImageManager *manager = context[SDWebImageContextCustomManager];
76
- if (!manager) {
77
- manager = [SDWebImageManager sharedManager];
78
- } else {
79
- // remove this manager to avoid retain cycle (manger -> loader -> operation -> context -> manager)
80
- SDWebImageMutableContext *mutableContext = [context mutableCopy];
81
- mutableContext[SDWebImageContextCustomManager] = nil;
82
- context = [mutableContext copy];
83
- }
84
-
85
- BOOL shouldUseWeakCache = NO;
86
- if ([manager.imageCache isKindOfClass:SDImageCache.class]) {
87
- shouldUseWeakCache = ((SDImageCache *)manager.imageCache).config.shouldUseWeakMemoryCache;
88
- }
89
- if (!(options & SDWebImageDelayPlaceholder)) {
90
- if (shouldUseWeakCache) {
91
- NSString *key = [manager cacheKeyForURL:url context:context];
92
- // call memory cache to trigger weak cache sync logic, ignore the return value and go on normal query
93
- // this unfortunately will cause twice memory cache query, but it's fast enough
94
- // in the future the weak cache feature may be re-design or removed
95
- [((SDImageCache *)manager.imageCache) imageFromMemoryCacheForKey:key];
96
- }
97
- dispatch_main_async_safe(^{
98
- [self sd_setImage:placeholder imageData:nil basedOnClassOrViaCustomSetImageBlock:setImageBlock cacheType:SDImageCacheTypeNone imageURL:url];
99
- });
100
- }
101
-
102
- id <SDWebImageOperation> operation = nil;
103
-
104
- if (url) {
105
- // reset the progress
106
- NSProgress *imageProgress = objc_getAssociatedObject(self, @selector(sd_imageProgress));
107
- if (imageProgress) {
108
- imageProgress.totalUnitCount = 0;
109
- imageProgress.completedUnitCount = 0;
110
- }
111
-
112
- #if SD_UIKIT || SD_MAC
113
- // check and start image indicator
114
- [self sd_startImageIndicator];
115
- id<SDWebImageIndicator> imageIndicator = self.sd_imageIndicator;
116
- #endif
117
-
118
- SDImageLoaderProgressBlock combinedProgressBlock = ^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {
119
- if (imageProgress) {
120
- imageProgress.totalUnitCount = expectedSize;
121
- imageProgress.completedUnitCount = receivedSize;
122
- }
123
- #if SD_UIKIT || SD_MAC
124
- if ([imageIndicator respondsToSelector:@selector(updateIndicatorProgress:)]) {
125
- double progress = 0;
126
- if (expectedSize != 0) {
127
- progress = (double)receivedSize / expectedSize;
128
- }
129
- progress = MAX(MIN(progress, 1), 0); // 0.0 - 1.0
130
- dispatch_async(dispatch_get_main_queue(), ^{
131
- [imageIndicator updateIndicatorProgress:progress];
132
- });
133
- }
134
- #endif
135
- if (progressBlock) {
136
- progressBlock(receivedSize, expectedSize, targetURL);
137
- }
138
- };
139
- @weakify(self);
140
- operation = [manager loadImageWithURL:url options:options context:context progress:combinedProgressBlock completed:^(UIImage *image, NSData *data, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
141
- @strongify(self);
142
- if (!self) { return; }
143
- // if the progress not been updated, mark it to complete state
144
- if (imageProgress && finished && !error && imageProgress.totalUnitCount == 0 && imageProgress.completedUnitCount == 0) {
145
- imageProgress.totalUnitCount = SDWebImageProgressUnitCountUnknown;
146
- imageProgress.completedUnitCount = SDWebImageProgressUnitCountUnknown;
147
- }
148
-
149
- #if SD_UIKIT || SD_MAC
150
- // check and stop image indicator
151
- if (finished) {
152
- [self sd_stopImageIndicator];
153
- }
154
- #endif
155
-
156
- BOOL shouldCallCompletedBlock = finished || (options & SDWebImageAvoidAutoSetImage);
157
- BOOL shouldNotSetImage = ((image && (options & SDWebImageAvoidAutoSetImage)) ||
158
- (!image && !(options & SDWebImageDelayPlaceholder)));
159
- SDWebImageNoParamsBlock callCompletedBlockClosure = ^{
160
- if (!self) { return; }
161
- if (!shouldNotSetImage) {
162
- [self sd_setNeedsLayout];
163
- }
164
- if (completedBlock && shouldCallCompletedBlock) {
165
- completedBlock(image, data, error, cacheType, finished, url);
166
- }
167
- };
168
-
169
- // case 1a: we got an image, but the SDWebImageAvoidAutoSetImage flag is set
170
- // OR
171
- // case 1b: we got no image and the SDWebImageDelayPlaceholder is not set
172
- if (shouldNotSetImage) {
173
- dispatch_main_async_safe(callCompletedBlockClosure);
174
- return;
175
- }
176
-
177
- UIImage *targetImage = nil;
178
- NSData *targetData = nil;
179
- if (image) {
180
- // case 2a: we got an image and the SDWebImageAvoidAutoSetImage is not set
181
- targetImage = image;
182
- targetData = data;
183
- } else if (options & SDWebImageDelayPlaceholder) {
184
- // case 2b: we got no image and the SDWebImageDelayPlaceholder flag is set
185
- targetImage = placeholder;
186
- targetData = nil;
187
- }
188
-
189
- #if SD_UIKIT || SD_MAC
190
- // check whether we should use the image transition
191
- SDWebImageTransition *transition = nil;
192
- BOOL shouldUseTransition = NO;
193
- if (options & SDWebImageForceTransition) {
194
- // Always
195
- shouldUseTransition = YES;
196
- } else if (cacheType == SDImageCacheTypeNone) {
197
- // From network
198
- shouldUseTransition = YES;
199
- } else {
200
- // From disk (and, user don't use sync query)
201
- if (cacheType == SDImageCacheTypeMemory) {
202
- shouldUseTransition = NO;
203
- } else if (cacheType == SDImageCacheTypeDisk) {
204
- if (options & SDWebImageQueryMemoryDataSync || options & SDWebImageQueryDiskDataSync) {
205
- shouldUseTransition = NO;
206
- } else {
207
- shouldUseTransition = YES;
208
- }
209
- } else {
210
- // Not valid cache type, fallback
211
- shouldUseTransition = NO;
212
- }
213
- }
214
- if (finished && shouldUseTransition) {
215
- transition = self.sd_imageTransition;
216
- }
217
- #endif
218
- dispatch_main_async_safe(^{
219
- #if SD_UIKIT || SD_MAC
220
- [self sd_setImage:targetImage imageData:targetData basedOnClassOrViaCustomSetImageBlock:setImageBlock transition:transition cacheType:cacheType imageURL:imageURL];
221
- #else
222
- [self sd_setImage:targetImage imageData:targetData basedOnClassOrViaCustomSetImageBlock:setImageBlock cacheType:cacheType imageURL:imageURL];
223
- #endif
224
- callCompletedBlockClosure();
225
- });
226
- }];
227
- [self sd_setImageLoadOperation:operation forKey:validOperationKey];
228
- } else {
229
- #if SD_UIKIT || SD_MAC
230
- [self sd_stopImageIndicator];
231
- #endif
232
- if (completedBlock) {
233
- dispatch_main_async_safe(^{
234
- NSError *error = [NSError errorWithDomain:SDWebImageErrorDomain code:SDWebImageErrorInvalidURL userInfo:@{NSLocalizedDescriptionKey : @"Image url is nil"}];
235
- completedBlock(nil, nil, error, SDImageCacheTypeNone, YES, url);
236
- });
237
- }
238
- }
239
-
240
- return operation;
241
- }
242
-
243
- - (void)sd_cancelCurrentImageLoad {
244
- [self sd_cancelImageLoadOperationWithKey:self.sd_latestOperationKey];
245
- self.sd_latestOperationKey = nil;
246
- }
247
-
248
- - (void)sd_setImage:(UIImage *)image imageData:(NSData *)imageData basedOnClassOrViaCustomSetImageBlock:(SDSetImageBlock)setImageBlock cacheType:(SDImageCacheType)cacheType imageURL:(NSURL *)imageURL {
249
- #if SD_UIKIT || SD_MAC
250
- [self sd_setImage:image imageData:imageData basedOnClassOrViaCustomSetImageBlock:setImageBlock transition:nil cacheType:cacheType imageURL:imageURL];
251
- #else
252
- // watchOS does not support view transition. Simplify the logic
253
- if (setImageBlock) {
254
- setImageBlock(image, imageData, cacheType, imageURL);
255
- } else if ([self isKindOfClass:[UIImageView class]]) {
256
- UIImageView *imageView = (UIImageView *)self;
257
- [imageView setImage:image];
258
- }
259
- #endif
260
- }
261
-
262
- #if SD_UIKIT || SD_MAC
263
- - (void)sd_setImage:(UIImage *)image imageData:(NSData *)imageData basedOnClassOrViaCustomSetImageBlock:(SDSetImageBlock)setImageBlock transition:(SDWebImageTransition *)transition cacheType:(SDImageCacheType)cacheType imageURL:(NSURL *)imageURL {
264
- UIView *view = self;
265
- SDSetImageBlock finalSetImageBlock;
266
- if (setImageBlock) {
267
- finalSetImageBlock = setImageBlock;
268
- } else if ([view isKindOfClass:[UIImageView class]]) {
269
- UIImageView *imageView = (UIImageView *)view;
270
- finalSetImageBlock = ^(UIImage *setImage, NSData *setImageData, SDImageCacheType setCacheType, NSURL *setImageURL) {
271
- imageView.image = setImage;
272
- };
273
- }
274
- #if SD_UIKIT
275
- else if ([view isKindOfClass:[UIButton class]]) {
276
- UIButton *button = (UIButton *)view;
277
- finalSetImageBlock = ^(UIImage *setImage, NSData *setImageData, SDImageCacheType setCacheType, NSURL *setImageURL) {
278
- [button setImage:setImage forState:UIControlStateNormal];
279
- };
280
- }
281
- #endif
282
- #if SD_MAC
283
- else if ([view isKindOfClass:[NSButton class]]) {
284
- NSButton *button = (NSButton *)view;
285
- finalSetImageBlock = ^(UIImage *setImage, NSData *setImageData, SDImageCacheType setCacheType, NSURL *setImageURL) {
286
- button.image = setImage;
287
- };
288
- }
289
- #endif
290
-
291
- if (transition) {
292
- NSString *originalOperationKey = view.sd_latestOperationKey;
293
-
294
- #if SD_UIKIT
295
- [UIView transitionWithView:view duration:0 options:0 animations:^{
296
- if (!view.sd_latestOperationKey || ![originalOperationKey isEqualToString:view.sd_latestOperationKey]) {
297
- return;
298
- }
299
- // 0 duration to let UIKit render placeholder and prepares block
300
- if (transition.prepares) {
301
- transition.prepares(view, image, imageData, cacheType, imageURL);
302
- }
303
- } completion:^(BOOL tempFinished) {
304
- [UIView transitionWithView:view duration:transition.duration options:transition.animationOptions animations:^{
305
- if (!view.sd_latestOperationKey || ![originalOperationKey isEqualToString:view.sd_latestOperationKey]) {
306
- return;
307
- }
308
- if (finalSetImageBlock && !transition.avoidAutoSetImage) {
309
- finalSetImageBlock(image, imageData, cacheType, imageURL);
310
- }
311
- if (transition.animations) {
312
- transition.animations(view, image);
313
- }
314
- } completion:^(BOOL finished) {
315
- if (!view.sd_latestOperationKey || ![originalOperationKey isEqualToString:view.sd_latestOperationKey]) {
316
- return;
317
- }
318
- if (transition.completion) {
319
- transition.completion(finished);
320
- }
321
- }];
322
- }];
323
- #elif SD_MAC
324
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull prepareContext) {
325
- if (!view.sd_latestOperationKey || ![originalOperationKey isEqualToString:view.sd_latestOperationKey]) {
326
- return;
327
- }
328
- // 0 duration to let AppKit render placeholder and prepares block
329
- prepareContext.duration = 0;
330
- if (transition.prepares) {
331
- transition.prepares(view, image, imageData, cacheType, imageURL);
332
- }
333
- } completionHandler:^{
334
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) {
335
- if (!view.sd_latestOperationKey || ![originalOperationKey isEqualToString:view.sd_latestOperationKey]) {
336
- return;
337
- }
338
- context.duration = transition.duration;
339
- #pragma clang diagnostic push
340
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
341
- CAMediaTimingFunction *timingFunction = transition.timingFunction;
342
- #pragma clang diagnostic pop
343
- if (!timingFunction) {
344
- timingFunction = SDTimingFunctionFromAnimationOptions(transition.animationOptions);
345
- }
346
- context.timingFunction = timingFunction;
347
- context.allowsImplicitAnimation = SD_OPTIONS_CONTAINS(transition.animationOptions, SDWebImageAnimationOptionAllowsImplicitAnimation);
348
- if (finalSetImageBlock && !transition.avoidAutoSetImage) {
349
- finalSetImageBlock(image, imageData, cacheType, imageURL);
350
- }
351
- CATransition *trans = SDTransitionFromAnimationOptions(transition.animationOptions);
352
- if (trans) {
353
- [view.layer addAnimation:trans forKey:kCATransition];
354
- }
355
- if (transition.animations) {
356
- transition.animations(view, image);
357
- }
358
- } completionHandler:^{
359
- if (!view.sd_latestOperationKey || ![originalOperationKey isEqualToString:view.sd_latestOperationKey]) {
360
- return;
361
- }
362
- if (transition.completion) {
363
- transition.completion(YES);
364
- }
365
- }];
366
- }];
367
- #endif
368
- } else {
369
- if (finalSetImageBlock) {
370
- finalSetImageBlock(image, imageData, cacheType, imageURL);
371
- }
372
- }
373
- }
374
- #endif
375
-
376
- - (void)sd_setNeedsLayout {
377
- #if SD_UIKIT
378
- [self setNeedsLayout];
379
- #elif SD_MAC
380
- [self setNeedsLayout:YES];
381
- #elif SD_WATCH
382
- // Do nothing because WatchKit automatically layout the view after property change
383
- #endif
384
- }
385
-
386
- #if SD_UIKIT || SD_MAC
387
-
388
- #pragma mark - Image Transition
389
- - (SDWebImageTransition *)sd_imageTransition {
390
- return objc_getAssociatedObject(self, @selector(sd_imageTransition));
391
- }
392
-
393
- - (void)setSd_imageTransition:(SDWebImageTransition *)sd_imageTransition {
394
- objc_setAssociatedObject(self, @selector(sd_imageTransition), sd_imageTransition, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
395
- }
396
-
397
- #pragma mark - Indicator
398
- - (id<SDWebImageIndicator>)sd_imageIndicator {
399
- return objc_getAssociatedObject(self, @selector(sd_imageIndicator));
400
- }
401
-
402
- - (void)setSd_imageIndicator:(id<SDWebImageIndicator>)sd_imageIndicator {
403
- // Remove the old indicator view
404
- id<SDWebImageIndicator> previousIndicator = self.sd_imageIndicator;
405
- [previousIndicator.indicatorView removeFromSuperview];
406
-
407
- objc_setAssociatedObject(self, @selector(sd_imageIndicator), sd_imageIndicator, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
408
-
409
- // Add the new indicator view
410
- UIView *view = sd_imageIndicator.indicatorView;
411
- if (CGRectEqualToRect(view.frame, CGRectZero)) {
412
- view.frame = self.bounds;
413
- }
414
- // Center the indicator view
415
- #if SD_MAC
416
- [view setFrameOrigin:CGPointMake(round((NSWidth(self.bounds) - NSWidth(view.frame)) / 2), round((NSHeight(self.bounds) - NSHeight(view.frame)) / 2))];
417
- #else
418
- view.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
419
- #endif
420
- view.hidden = NO;
421
- [self addSubview:view];
422
- }
423
-
424
- - (void)sd_startImageIndicator {
425
- id<SDWebImageIndicator> imageIndicator = self.sd_imageIndicator;
426
- if (!imageIndicator) {
427
- return;
428
- }
429
- dispatch_main_async_safe(^{
430
- [imageIndicator startAnimatingIndicator];
431
- });
432
- }
433
-
434
- - (void)sd_stopImageIndicator {
435
- id<SDWebImageIndicator> imageIndicator = self.sd_imageIndicator;
436
- if (!imageIndicator) {
437
- return;
438
- }
439
- dispatch_main_async_safe(^{
440
- [imageIndicator stopAnimatingIndicator];
441
- });
442
- }
443
-
444
- #endif
445
-
446
- @end
@@ -1,48 +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
- #import "SDWebImageOperation.h"
11
-
12
- /**
13
- These methods are used to support canceling for UIView image loading, it's designed to be used internal but not external.
14
- All the stored operations are weak, so it will be dealloced after image loading finished. If you need to store operations, use your own class to keep a strong reference for them.
15
- */
16
- @interface UIView (WebCacheOperation)
17
-
18
- /**
19
- * Get the image load operation for key
20
- *
21
- * @param key key for identifying the operations
22
- * @return the image load operation
23
- */
24
- - (nullable id<SDWebImageOperation>)sd_imageLoadOperationForKey:(nullable NSString *)key;
25
-
26
- /**
27
- * Set the image load operation (storage in a UIView based weak map table)
28
- *
29
- * @param operation the operation
30
- * @param key key for storing the operation
31
- */
32
- - (void)sd_setImageLoadOperation:(nullable id<SDWebImageOperation>)operation forKey:(nullable NSString *)key;
33
-
34
- /**
35
- * Cancel the operation for the current UIView and key
36
- *
37
- * @param key key for identifying the operations
38
- */
39
- - (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key;
40
-
41
- /**
42
- * Just remove the operation corresponding to the current UIView and key without cancelling them
43
- *
44
- * @param key key for identifying the operations
45
- */
46
- - (void)sd_removeImageLoadOperationWithKey:(nullable NSString *)key;
47
-
48
- @end
@@ -1,82 +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 "UIView+WebCacheOperation.h"
10
- #import "objc/runtime.h"
11
-
12
- // key is strong, value is weak because operation instance is retained by SDWebImageManager's runningOperations property
13
- // we should use lock to keep thread-safe because these method may not be accessed from main queue
14
- typedef NSMapTable<NSString *, id<SDWebImageOperation>> SDOperationsDictionary;
15
-
16
- @implementation UIView (WebCacheOperation)
17
-
18
- - (SDOperationsDictionary *)sd_operationDictionary {
19
- @synchronized(self) {
20
- SDOperationsDictionary *operations = objc_getAssociatedObject(self, @selector(sd_operationDictionary));
21
- if (operations) {
22
- return operations;
23
- }
24
- operations = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsWeakMemory capacity:0];
25
- objc_setAssociatedObject(self, @selector(sd_operationDictionary), operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
26
- return operations;
27
- }
28
- }
29
-
30
- - (nullable id<SDWebImageOperation>)sd_imageLoadOperationForKey:(nullable NSString *)key {
31
- id<SDWebImageOperation> operation;
32
- if (key) {
33
- SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];
34
- @synchronized (self) {
35
- operation = [operationDictionary objectForKey:key];
36
- }
37
- }
38
- return operation;
39
- }
40
-
41
- - (void)sd_setImageLoadOperation:(nullable id<SDWebImageOperation>)operation forKey:(nullable NSString *)key {
42
- if (key) {
43
- [self sd_cancelImageLoadOperationWithKey:key];
44
- if (operation) {
45
- SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];
46
- @synchronized (self) {
47
- [operationDictionary setObject:operation forKey:key];
48
- }
49
- }
50
- }
51
- }
52
-
53
- - (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key {
54
- if (key) {
55
- // Cancel in progress downloader from queue
56
- SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];
57
- id<SDWebImageOperation> operation;
58
-
59
- @synchronized (self) {
60
- operation = [operationDictionary objectForKey:key];
61
- }
62
- if (operation) {
63
- if ([operation respondsToSelector:@selector(cancel)]) {
64
- [operation cancel];
65
- }
66
- @synchronized (self) {
67
- [operationDictionary removeObjectForKey:key];
68
- }
69
- }
70
- }
71
- }
72
-
73
- - (void)sd_removeImageLoadOperationWithKey:(nullable NSString *)key {
74
- if (key) {
75
- SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];
76
- @synchronized (self) {
77
- [operationDictionary removeObjectForKey:key];
78
- }
79
- }
80
- }
81
-
82
- @end
@@ -1,24 +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
- #if SD_MAC
12
-
13
- #import "UIImage+Transform.h"
14
-
15
- @interface NSBezierPath (SDRoundedCorners)
16
-
17
- /**
18
- Convenience way to create a bezier path with the specify rounding corners on macOS. Same as the one on `UIBezierPath`.
19
- */
20
- + (nonnull instancetype)sd_bezierPathWithRoundedRect:(NSRect)rect byRoundingCorners:(SDRectCorner)corners cornerRadius:(CGFloat)cornerRadius;
21
-
22
- @end
23
-
24
- #endif
@@ -1,42 +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 "NSBezierPath+SDRoundedCorners.h"
10
-
11
- #if SD_MAC
12
-
13
- @implementation NSBezierPath (SDRoundedCorners)
14
-
15
- + (instancetype)sd_bezierPathWithRoundedRect:(NSRect)rect byRoundingCorners:(SDRectCorner)corners cornerRadius:(CGFloat)cornerRadius {
16
- NSBezierPath *path = [NSBezierPath bezierPath];
17
-
18
- CGFloat maxCorner = MIN(NSWidth(rect), NSHeight(rect)) / 2;
19
-
20
- CGFloat topLeftRadius = MIN(maxCorner, (corners & SDRectCornerTopLeft) ? cornerRadius : 0);
21
- CGFloat topRightRadius = MIN(maxCorner, (corners & SDRectCornerTopRight) ? cornerRadius : 0);
22
- CGFloat bottomLeftRadius = MIN(maxCorner, (corners & SDRectCornerBottomLeft) ? cornerRadius : 0);
23
- CGFloat bottomRightRadius = MIN(maxCorner, (corners & SDRectCornerBottomRight) ? cornerRadius : 0);
24
-
25
- NSPoint topLeft = NSMakePoint(NSMinX(rect), NSMaxY(rect));
26
- NSPoint topRight = NSMakePoint(NSMaxX(rect), NSMaxY(rect));
27
- NSPoint bottomLeft = NSMakePoint(NSMinX(rect), NSMinY(rect));
28
- NSPoint bottomRight = NSMakePoint(NSMaxX(rect), NSMinY(rect));
29
-
30
- [path moveToPoint:NSMakePoint(NSMidX(rect), NSMaxY(rect))];
31
- [path appendBezierPathWithArcFromPoint:topLeft toPoint:bottomLeft radius:topLeftRadius];
32
- [path appendBezierPathWithArcFromPoint:bottomLeft toPoint:bottomRight radius:bottomLeftRadius];
33
- [path appendBezierPathWithArcFromPoint:bottomRight toPoint:topRight radius:bottomRightRadius];
34
- [path appendBezierPathWithArcFromPoint:topRight toPoint:topLeft radius:topRightRadius];
35
- [path closePath];
36
-
37
- return path;
38
- }
39
-
40
- @end
41
-
42
- #endif
@@ -1,14 +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
- /// Copy the associated object from source image to target image. The associated object including all the category read/write properties.
12
- /// @param source source
13
- /// @param target target
14
- FOUNDATION_EXPORT void SDImageCopyAssociatedObject(UIImage * _Nullable source, UIImage * _Nullable target);
@@ -1,29 +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 "SDAssociatedObject.h"
10
- #import "UIImage+Metadata.h"
11
- #import "UIImage+ExtendedCacheData.h"
12
- #import "UIImage+MemoryCacheCost.h"
13
- #import "UIImage+ForceDecode.h"
14
-
15
- void SDImageCopyAssociatedObject(UIImage * _Nullable source, UIImage * _Nullable target) {
16
- if (!source || !target) {
17
- return;
18
- }
19
- // Image Metadata
20
- target.sd_isIncremental = source.sd_isIncremental;
21
- target.sd_isTransformed = source.sd_isTransformed;
22
- target.sd_decodeOptions = source.sd_decodeOptions;
23
- target.sd_imageLoopCount = source.sd_imageLoopCount;
24
- target.sd_imageFormat = source.sd_imageFormat;
25
- // Force Decode
26
- target.sd_isDecoded = source.sd_isDecoded;
27
- // Extended Cache Data
28
- target.sd_extendedObject = source.sd_extendedObject;
29
- }