@nativescript/core 9.0.0-next-10-06-2025-18277360121 → 9.0.0-next-10-09-2025-18367604937
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/package.json +1 -1
- package/platforms/android/widgets-release.aar +0 -0
- package/platforms/ios/TNSWidgets.xcframework/Info.plist +102 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Info.plist +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist +20 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/NSData+Async.h +24 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/NSString+Async.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/TNSLabel.h +16 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/TNSWidgets.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/UIImage+TNSBlocks.h +26 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/UIView+PassThroughParent.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/PrivateHeaders/NSObject+Swizzling.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/PrivateHeaders/UIView+PropertyBag.h +18 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Resources/Info.plist +52 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSData+Async.h +24 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSFileHandle+Async.h +22 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSString+Async.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSLabel.h +16 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSWidgets.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIImage+TNSBlocks.h +26 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIView+PassThroughParent.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/NSObject+Swizzling.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/UIView+PropertyBag.h +18 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Resources/Info.plist +52 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/NSData+Async.h +24 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/NSFileHandle+Async.h +22 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/NSString+Async.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/TNSLabel.h +16 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/TNSWidgets.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/UIImage+TNSBlocks.h +26 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Headers/UIView+PassThroughParent.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/PrivateHeaders/NSObject+Swizzling.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/PrivateHeaders/UIView+PropertyBag.h +18 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Resources/Info.plist +52 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist +20 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/x86_64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSData+Async.h +24 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSString+Async.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSLabel.h +16 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSWidgets.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/UIImage+TNSBlocks.h +26 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/UIView+PassThroughParent.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Info.plist +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/PrivateHeaders/NSObject+Swizzling.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/PrivateHeaders/UIView+PropertyBag.h +18 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/_CodeSignature/CodeResources +223 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist +20 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/x86_64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/NSData+Async.h +24 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/NSString+Async.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/TNSLabel.h +16 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/TNSWidgets.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/UIImage+TNSBlocks.h +26 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Headers/UIView+PassThroughParent.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Info.plist +0 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/PrivateHeaders/NSObject+Swizzling.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/PrivateHeaders/UIView+PropertyBag.h +18 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist +20 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSCCrypto.h +60 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSData+Async.h +24 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSString+Async.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSLabel.h +16 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSProcess.h +29 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSWidgets.h +25 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/UIImage+TNSBlocks.h +26 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Headers/UIView+PassThroughParent.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Info.plist +0 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Modules/module.modulemap +6 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/PrivateHeaders/NSObject+Swizzling.h +17 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/PrivateHeaders/UIView+PropertyBag.h +18 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/_CodeSignature/CodeResources +223 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist +20 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +82 -0
- package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/x86_64/TNSWidgets.yml +82 -0
- package/platforms/ios/src/module.modulemap +0 -5
- package/ui/button/index.d.ts +1 -1
- package/ui/slider/index.d.ts +1 -1
- package/platforms/android/include.gradle +0 -51
- package/platforms/android/java/org/nativescript/Process.java +0 -59
- package/platforms/android/java/org/nativescript/widgets/AbsoluteLayout.java +0 -88
- package/platforms/android/java/org/nativescript/widgets/AnimatorHelper.java +0 -61
- package/platforms/android/java/org/nativescript/widgets/Async.java +0 -1356
- package/platforms/android/java/org/nativescript/widgets/BorderDrawable.java +0 -936
- package/platforms/android/java/org/nativescript/widgets/BottomNavigationBar.java +0 -308
- package/platforms/android/java/org/nativescript/widgets/BoxShadowDrawable.java +0 -175
- package/platforms/android/java/org/nativescript/widgets/CSSValue.java +0 -34
- package/platforms/android/java/org/nativescript/widgets/CommonLayoutParams.java +0 -456
- package/platforms/android/java/org/nativescript/widgets/ContentLayout.java +0 -85
- package/platforms/android/java/org/nativescript/widgets/CustomTransition.java +0 -135
- package/platforms/android/java/org/nativescript/widgets/CustomTypefaceSpan.java +0 -44
- package/platforms/android/java/org/nativescript/widgets/Dock.java +0 -15
- package/platforms/android/java/org/nativescript/widgets/DockLayout.java +0 -185
- package/platforms/android/java/org/nativescript/widgets/FileHelper.java +0 -815
- package/platforms/android/java/org/nativescript/widgets/FlexLine.java +0 -177
- package/platforms/android/java/org/nativescript/widgets/FlexboxLayout.java +0 -2769
- package/platforms/android/java/org/nativescript/widgets/FragmentBase.java +0 -14
- package/platforms/android/java/org/nativescript/widgets/GridLayout.java +0 -1172
- package/platforms/android/java/org/nativescript/widgets/GridUnitType.java +0 -10
- package/platforms/android/java/org/nativescript/widgets/HorizontalScrollView.java +0 -256
- package/platforms/android/java/org/nativescript/widgets/ImageView.java +0 -423
- package/platforms/android/java/org/nativescript/widgets/ItemSpec.java +0 -56
- package/platforms/android/java/org/nativescript/widgets/LayoutBase.java +0 -98
- package/platforms/android/java/org/nativescript/widgets/LinearGradientDefinition.java +0 -46
- package/platforms/android/java/org/nativescript/widgets/Orientation.java +0 -9
- package/platforms/android/java/org/nativescript/widgets/OriginPoint.java +0 -74
- package/platforms/android/java/org/nativescript/widgets/ScrollSavedState.java +0 -63
- package/platforms/android/java/org/nativescript/widgets/SegmentedBarColorDrawable.java +0 -27
- package/platforms/android/java/org/nativescript/widgets/StackLayout.java +0 -231
- package/platforms/android/java/org/nativescript/widgets/StyleableTextView.java +0 -50
- package/platforms/android/java/org/nativescript/widgets/TabIconRenderingMode.java +0 -6
- package/platforms/android/java/org/nativescript/widgets/TabItemSpec.java +0 -15
- package/platforms/android/java/org/nativescript/widgets/TabLayout.java +0 -451
- package/platforms/android/java/org/nativescript/widgets/TabStrip.java +0 -294
- package/platforms/android/java/org/nativescript/widgets/TabViewPager.java +0 -64
- package/platforms/android/java/org/nativescript/widgets/TabsBar.java +0 -443
- package/platforms/android/java/org/nativescript/widgets/Utils.java +0 -546
- package/platforms/android/java/org/nativescript/widgets/VerticalScrollView.java +0 -258
- package/platforms/android/java/org/nativescript/widgets/ViewHelper.java +0 -564
- package/platforms/android/java/org/nativescript/widgets/WrapLayout.java +0 -252
- package/platforms/android/java/org/nativescript/widgets/image/AsyncTask.java +0 -679
- package/platforms/android/java/org/nativescript/widgets/image/BitmapOwner.java +0 -17
- package/platforms/android/java/org/nativescript/widgets/image/Cache.java +0 -471
- package/platforms/android/java/org/nativescript/widgets/image/DiskLruCache.java +0 -970
- package/platforms/android/java/org/nativescript/widgets/image/Fetcher.java +0 -747
- package/platforms/android/java/org/nativescript/widgets/image/Utils.java +0 -58
- package/platforms/android/java/org/nativescript/widgets/image/Worker.java +0 -571
- package/platforms/ios/src/TNSWidgets/Info.plist +0 -26
- package/platforms/ios/src/TNSWidgets/NSData+Async.m +0 -42
- package/platforms/ios/src/TNSWidgets/NSFileHandle+Async.m +0 -82
- package/platforms/ios/src/TNSWidgets/NSObject+Swizzling.m +0 -68
- package/platforms/ios/src/TNSWidgets/NSString+Async.m +0 -51
- package/platforms/ios/src/TNSWidgets/TNSLabel.m +0 -42
- package/platforms/ios/src/TNSWidgets/UIImage+TNSBlocks.m +0 -77
- package/platforms/ios/src/TNSWidgets/UIView+PassThroughParent.m +0 -53
- package/platforms/ios/src/TNSWidgets/UIView+PropertyBag.m +0 -72
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/NSData+Async.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/NSFileHandle+Async.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/NSString+Async.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/TNSLabel.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/TNSWidgets.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/UIImage+TNSBlocks.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers}/UIView+PassThroughParent.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/PrivateHeaders}/NSObject+Swizzling.h +0 -0
- /package/platforms/ios/{src/TNSWidgets → TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/PrivateHeaders}/UIView+PropertyBag.h +0 -0
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// NSFileHandle+Async.m
|
|
3
|
-
// TNSWidgets
|
|
4
|
-
//
|
|
5
|
-
// Created by Osei Fortune on 03/05/2023.
|
|
6
|
-
// Copyright © 2023 NativeScript. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "NSFileHandle+Async.h"
|
|
10
|
-
|
|
11
|
-
@implementation NSFileHandle(Async)
|
|
12
|
-
|
|
13
|
-
- (void)appendData:(NSData *)data completion:(void (^)(NSError*))callback {
|
|
14
|
-
dispatch_queue_t asyncQueue = dispatch_queue_create("org.nativescript.TNSWidgets.fileHandle", NULL);
|
|
15
|
-
dispatch_async(asyncQueue, ^(void) {
|
|
16
|
-
NSError *error = nil;
|
|
17
|
-
|
|
18
|
-
if (@available(iOS 13.0, *)) {
|
|
19
|
-
[self seekToEndReturningOffset:nil error:&error];
|
|
20
|
-
[self writeData:data error:&error];
|
|
21
|
-
} else {
|
|
22
|
-
@try {
|
|
23
|
-
[self seekToEndOfFile];
|
|
24
|
-
[self writeData:data];
|
|
25
|
-
} @catch (NSException *exception) {
|
|
26
|
-
|
|
27
|
-
NSMutableDictionary * info = [NSMutableDictionary dictionary];
|
|
28
|
-
[info setValue:exception.name forKey:@"ExceptionName"];
|
|
29
|
-
[info setValue:exception.reason forKey:@"ExceptionReason"];
|
|
30
|
-
[info setValue:exception.callStackReturnAddresses forKey:@"ExceptionCallStackReturnAddresses"];
|
|
31
|
-
[info setValue:exception.callStackSymbols forKey:@"ExceptionCallStackSymbols"];
|
|
32
|
-
[info setValue:exception.userInfo forKey:@"ExceptionUserInfo"];
|
|
33
|
-
|
|
34
|
-
error = [[NSError alloc] initWithDomain:@"" code: 1 userInfo:info];
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
41
|
-
callback(error);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
+ (void)fileHandleWith:(NSString *)path data:(NSData *)data completion:(void (^)(NSFileHandle*, NSError*))callback {
|
|
48
|
-
dispatch_queue_t asyncQueue = dispatch_queue_create("org.nativescript.TNSWidgets.fileHandle", NULL);
|
|
49
|
-
dispatch_async(asyncQueue, ^(void) {
|
|
50
|
-
NSFileHandle* handle = [NSFileHandle fileHandleForWritingAtPath: path];
|
|
51
|
-
NSError *error = nil;
|
|
52
|
-
|
|
53
|
-
if (@available(iOS 13.0, *)) {
|
|
54
|
-
[handle seekToEndReturningOffset:nil error:&error];
|
|
55
|
-
[handle writeData:data error:&error];
|
|
56
|
-
} else {
|
|
57
|
-
@try {
|
|
58
|
-
[handle seekToEndOfFile];
|
|
59
|
-
[handle writeData:data];
|
|
60
|
-
} @catch (NSException *exception) {
|
|
61
|
-
|
|
62
|
-
NSMutableDictionary * info = [NSMutableDictionary dictionary];
|
|
63
|
-
[info setValue:exception.name forKey:@"ExceptionName"];
|
|
64
|
-
[info setValue:exception.reason forKey:@"ExceptionReason"];
|
|
65
|
-
[info setValue:exception.callStackReturnAddresses forKey:@"ExceptionCallStackReturnAddresses"];
|
|
66
|
-
[info setValue:exception.callStackSymbols forKey:@"ExceptionCallStackSymbols"];
|
|
67
|
-
[info setValue:exception.userInfo forKey:@"ExceptionUserInfo"];
|
|
68
|
-
|
|
69
|
-
error = [[NSError alloc] initWithDomain:@"" code: 1 userInfo:info];
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
76
|
-
callback(handle,error);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// NSObject+Swizzling.m
|
|
3
|
-
// TNSWidgets
|
|
4
|
-
//
|
|
5
|
-
// Created by Manol Donev on 21.08.18.
|
|
6
|
-
// Copyright © 2018 Telerik A D. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "NSObject+Swizzling.h"
|
|
10
|
-
|
|
11
|
-
@implementation NSObject (Swizzling)
|
|
12
|
-
|
|
13
|
-
#pragma mark - Method Swizzling
|
|
14
|
-
|
|
15
|
-
+ (void)swizzleInstanceMethodWithOriginalSelector:(SEL)originalSelector
|
|
16
|
-
fromClass:(Class)classContainigOriginalSel
|
|
17
|
-
withSwizzlingSelector:(SEL)swizzlingSelector {
|
|
18
|
-
Method originalMethod = class_getInstanceMethod(classContainigOriginalSel, originalSelector);
|
|
19
|
-
Method swizzlingMethod = class_getInstanceMethod(self.class, swizzlingSelector);
|
|
20
|
-
[self swizzleMethodWithOriginalSelector:originalSelector
|
|
21
|
-
originalMethod:originalMethod
|
|
22
|
-
fromClass:classContainigOriginalSel
|
|
23
|
-
withSwizzlingSelector:swizzlingSelector
|
|
24
|
-
swizzlingMethod:swizzlingMethod];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//MARK: Utilities
|
|
28
|
-
|
|
29
|
-
+ (void)swizzleMethodWithOriginalSelector:(SEL)originalSelector
|
|
30
|
-
originalMethod:(Method)originalMethod
|
|
31
|
-
fromClass:(Class)classContainigOriginalSel
|
|
32
|
-
withSwizzlingSelector:(SEL)swizzlingSelector
|
|
33
|
-
swizzlingMethod:(Method)swizzlingMethod {
|
|
34
|
-
if (self == classContainigOriginalSel) {
|
|
35
|
-
BOOL didAddMethod = class_addMethod(classContainigOriginalSel,
|
|
36
|
-
originalSelector,
|
|
37
|
-
method_getImplementation(swizzlingMethod),
|
|
38
|
-
method_getTypeEncoding(swizzlingMethod));
|
|
39
|
-
|
|
40
|
-
if (didAddMethod) {
|
|
41
|
-
class_replaceMethod(self.class,
|
|
42
|
-
swizzlingSelector,
|
|
43
|
-
method_getImplementation(originalMethod),
|
|
44
|
-
method_getTypeEncoding(originalMethod));
|
|
45
|
-
} else {
|
|
46
|
-
method_exchangeImplementations(originalMethod, swizzlingMethod);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
class_addMethod(classContainigOriginalSel,
|
|
53
|
-
swizzlingSelector,
|
|
54
|
-
method_getImplementation(originalMethod),
|
|
55
|
-
method_getTypeEncoding(originalMethod));
|
|
56
|
-
|
|
57
|
-
class_replaceMethod(classContainigOriginalSel,
|
|
58
|
-
originalSelector,
|
|
59
|
-
method_getImplementation(swizzlingMethod),
|
|
60
|
-
method_getTypeEncoding(swizzlingMethod));
|
|
61
|
-
|
|
62
|
-
class_replaceMethod(self,
|
|
63
|
-
swizzlingSelector,
|
|
64
|
-
method_getImplementation(originalMethod),
|
|
65
|
-
method_getTypeEncoding(originalMethod));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@end
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// NSString+Async.m
|
|
3
|
-
// TNSWidgets
|
|
4
|
-
//
|
|
5
|
-
// Created by Peter Staev on 5.08.19.
|
|
6
|
-
// Copyright © 2019 Telerik A D. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "NSString+Async.h"
|
|
10
|
-
|
|
11
|
-
@implementation NSString (Async)
|
|
12
|
-
|
|
13
|
-
+ (void)stringWithContentsOfFile:(nonnull NSString*)path
|
|
14
|
-
encoding:(NSStringEncoding)enc
|
|
15
|
-
completion:(void (^) (NSString*, NSError*))callback {
|
|
16
|
-
|
|
17
|
-
dispatch_queue_t asyncQueue = dispatch_queue_create("org.nativescript.TNSWidgets.string", NULL);
|
|
18
|
-
dispatch_async(asyncQueue, ^(void) {
|
|
19
|
-
NSError *error = nil;
|
|
20
|
-
NSString *output = [NSString stringWithContentsOfFile:path
|
|
21
|
-
encoding:enc
|
|
22
|
-
error:&error];
|
|
23
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
24
|
-
callback(output, error);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- (void)writeToFile:(nonnull NSString*)path
|
|
32
|
-
atomically:(BOOL)atomically
|
|
33
|
-
encoding:(NSStringEncoding)enc
|
|
34
|
-
completion:(void (^) (NSError*))callback {
|
|
35
|
-
|
|
36
|
-
dispatch_queue_t asyncQueue = dispatch_queue_create("org.nativescript.TNSWidgets.string", NULL);
|
|
37
|
-
dispatch_async(asyncQueue, ^(void) {
|
|
38
|
-
NSError *error = nil;
|
|
39
|
-
[self writeToFile:path
|
|
40
|
-
atomically:atomically
|
|
41
|
-
encoding:enc
|
|
42
|
-
error:&error];
|
|
43
|
-
|
|
44
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
45
|
-
callback(error);
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// TNSLabel.m
|
|
3
|
-
// TNSWidgets
|
|
4
|
-
//
|
|
5
|
-
// Created by Hristo Hristov on 6/9/16.
|
|
6
|
-
// Copyright © 2016 Telerik A D. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "TNSLabel.h"
|
|
10
|
-
|
|
11
|
-
@implementation TNSLabel
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {
|
|
15
|
-
// UILabel.textRectForBounds:limitedToNumberOfLines: returns rect with CGSizeZero when empty
|
|
16
|
-
if (self.text.length == 0) {
|
|
17
|
-
return [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// 1. Subtract the insets (border thickness & padding)
|
|
21
|
-
// 2. Calculate the original label bounds
|
|
22
|
-
// 3. Add the insets again
|
|
23
|
-
UIEdgeInsets insets = UIEdgeInsetsMake(self.borderThickness.top + self.padding.top,
|
|
24
|
-
self.borderThickness.left + self.padding.left,
|
|
25
|
-
self.borderThickness.bottom + self.padding.bottom,
|
|
26
|
-
self.borderThickness.right + self.padding.right);
|
|
27
|
-
|
|
28
|
-
CGRect rect = [super textRectForBounds:UIEdgeInsetsInsetRect(bounds, insets) limitedToNumberOfLines:numberOfLines];
|
|
29
|
-
|
|
30
|
-
UIEdgeInsets inverseInsets = UIEdgeInsetsMake(-(self.borderThickness.top + self.padding.top),
|
|
31
|
-
-(self.borderThickness.left + self.padding.left),
|
|
32
|
-
-(self.borderThickness.bottom + self.padding.bottom),
|
|
33
|
-
-(self.borderThickness.right + self.padding.right));
|
|
34
|
-
|
|
35
|
-
return UIEdgeInsetsInsetRect(rect, inverseInsets);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
-(void)drawTextInRect:(CGRect)rect {
|
|
39
|
-
[super drawTextInRect:UIEdgeInsetsInsetRect(UIEdgeInsetsInsetRect(rect, self.borderThickness), self.padding)];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@end
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// UIImage+UIImage_Async.m
|
|
3
|
-
// TKImageAsync
|
|
4
|
-
//
|
|
5
|
-
// Created by Panayot Cankov on 4/18/16.
|
|
6
|
-
// Copyright © 2016 Telerik A D. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
#import <UIKit/UIKit.h>
|
|
9
|
-
#import <CoreGraphics/CoreGraphics.h>
|
|
10
|
-
#import "UIImage+TNSBlocks.h"
|
|
11
|
-
|
|
12
|
-
@implementation UIImage (TNSBlocks)
|
|
13
|
-
|
|
14
|
-
static dispatch_queue_t image_queue;
|
|
15
|
-
|
|
16
|
-
+ (void) initialize {
|
|
17
|
-
image_queue = dispatch_queue_create("org.nativescript.TNSWidgets.image", NULL);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
- (void) tns_forceDecode {
|
|
21
|
-
@autoreleasepool {
|
|
22
|
-
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
|
|
23
|
-
CGContextRef context = CGBitmapContextCreate(NULL, 1, 1, 8, 0, colorSpace, kCGImageAlphaPremultipliedFirst);
|
|
24
|
-
CGContextDrawImage(context, CGRectMake(0, 0, 1, 1), [self CGImage]);
|
|
25
|
-
CGContextRelease(context);
|
|
26
|
-
CGColorSpaceRelease(colorSpace);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
+ (void) tns_safeDecodeImageNamed: (NSString*) name completion: (void (^) (UIImage*))callback {
|
|
31
|
-
dispatch_async(image_queue, ^(void){
|
|
32
|
-
@autoreleasepool {
|
|
33
|
-
UIImage* image = [UIImage imageNamed: name];
|
|
34
|
-
[image tns_forceDecode];
|
|
35
|
-
|
|
36
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
37
|
-
callback(image);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
+ (UIImage*) tns_safeImageNamed: (NSString*) name {
|
|
44
|
-
UIImage* image;
|
|
45
|
-
@autoreleasepool {
|
|
46
|
-
image = [UIImage imageNamed: name];
|
|
47
|
-
}
|
|
48
|
-
return image;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
+ (void) tns_decodeImageWithData: (NSData*) data completion: (void (^) (UIImage*))callback {
|
|
52
|
-
dispatch_async(image_queue, ^(void) {
|
|
53
|
-
@autoreleasepool {
|
|
54
|
-
UIImage* image = [UIImage imageWithData: data];
|
|
55
|
-
[image tns_forceDecode];
|
|
56
|
-
|
|
57
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
58
|
-
callback(image);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
+ (void) tns_decodeImageWidthContentsOfFile: (NSString*) file completion: (void (^) (UIImage*))callback {
|
|
65
|
-
dispatch_async(image_queue, ^(void) {
|
|
66
|
-
@autoreleasepool {
|
|
67
|
-
UIImage* image = [UIImage imageWithContentsOfFile: file];
|
|
68
|
-
[image tns_forceDecode];
|
|
69
|
-
|
|
70
|
-
dispatch_async(dispatch_get_main_queue(), ^(void) {
|
|
71
|
-
callback(image);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
@end
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// UIView+PassThroughParent.m
|
|
3
|
-
// TNSWidgets
|
|
4
|
-
//
|
|
5
|
-
// Created by Manol Donev on 21.08.18.
|
|
6
|
-
// Copyright © 2018 Telerik A D. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "NSObject+Swizzling.h"
|
|
10
|
-
#import "UIView+PassThroughParent.h"
|
|
11
|
-
#import "UIView+PropertyBag.h"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
NSString * const TLKPassThroughParentKey = @"passThroughParent";
|
|
15
|
-
|
|
16
|
-
@implementation UIView (PassThroughParent)
|
|
17
|
-
|
|
18
|
-
+ (void) load {
|
|
19
|
-
[self loadHitTest];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
+ (void) loadHitTest {
|
|
23
|
-
@autoreleasepool {
|
|
24
|
-
static dispatch_once_t onceToken;
|
|
25
|
-
dispatch_once(&onceToken, ^{
|
|
26
|
-
[self swizzleInstanceMethodWithOriginalSelector:@selector(hitTest:withEvent:) fromClass:self.class withSwizzlingSelector:@selector(passThrough_hitTest:withEvent:)];
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
- (BOOL)passThroughParent {
|
|
32
|
-
NSNumber *passthrough = [self propertyValueForKey:TLKPassThroughParentKey];
|
|
33
|
-
if (passthrough) {
|
|
34
|
-
return passthrough.boolValue;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
return NO;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
- (void)setPassThroughParent:(BOOL)passThroughParent {
|
|
41
|
-
[self setPropertyValue:[NSNumber numberWithBool:passThroughParent] forKey:TLKPassThroughParentKey];
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
- (UIView *)passThrough_hitTest:(CGPoint)point withEvent:(UIEvent *)event {
|
|
45
|
-
UIView *hitTestView = [self passThrough_hitTest:point withEvent:event]; // swizzled
|
|
46
|
-
if (hitTestView == self && self.passThroughParent) {
|
|
47
|
-
hitTestView = nil;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return hitTestView;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@end
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// UIView+PropertyBag.m
|
|
3
|
-
// TNSWidgets
|
|
4
|
-
//
|
|
5
|
-
// Created by Manol Donev on 21.08.18.
|
|
6
|
-
// Copyright © 2018 Telerik A D. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "NSObject+Swizzling.h"
|
|
10
|
-
#import "UIView+PropertyBag.h"
|
|
11
|
-
#import <UIKit/UIKit.h>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@implementation UIView (PropertyBag)
|
|
15
|
-
|
|
16
|
-
+ (void) load {
|
|
17
|
-
[self loadPropertyBag];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
+ (void) loadPropertyBag {
|
|
21
|
-
@autoreleasepool {
|
|
22
|
-
static dispatch_once_t onceToken;
|
|
23
|
-
dispatch_once(&onceToken, ^{
|
|
24
|
-
const SEL deallocSelector = NSSelectorFromString(@"dealloc"); //ARC forbids use of 'dealloc' in a @selector
|
|
25
|
-
[self swizzleInstanceMethodWithOriginalSelector:deallocSelector fromClass:self.class withSwizzlingSelector:@selector(propertyBag_dealloc)];
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
__strong NSMutableDictionary *_propertyBagHolder; // Properties for every class will go in this property bag
|
|
31
|
-
- (id) propertyValueForKey:(NSString*) key {
|
|
32
|
-
return [[self propertyBag] valueForKey:key];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
- (void) setPropertyValue:(id) value forKey:(NSString*) key {
|
|
36
|
-
[[self propertyBag] setValue:value forKey:key];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
- (NSMutableDictionary*) propertyBag {
|
|
40
|
-
if (_propertyBagHolder == nil) {
|
|
41
|
-
_propertyBagHolder = [[NSMutableDictionary alloc] initWithCapacity:100];
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
NSMutableDictionary *propBag = [_propertyBagHolder valueForKey:[[NSString alloc] initWithFormat:@"%p", self]];
|
|
45
|
-
if (propBag == nil) {
|
|
46
|
-
propBag = [NSMutableDictionary dictionary];
|
|
47
|
-
[self setPropertyBag:propBag];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return propBag;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
- (void) setPropertyBag:(NSDictionary*) propertyBag {
|
|
54
|
-
if (_propertyBagHolder == nil) {
|
|
55
|
-
_propertyBagHolder = [[NSMutableDictionary alloc] initWithCapacity:100];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
[_propertyBagHolder setValue:propertyBag forKey:[[NSString alloc] initWithFormat:@"%p", self]];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
- (void) removePropertyBag {
|
|
62
|
-
if (_propertyBagHolder != nil) {
|
|
63
|
-
[_propertyBagHolder removeObjectForKey:[[NSString alloc] initWithFormat:@"%p", self]];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
- (void)propertyBag_dealloc {
|
|
68
|
-
[self removePropertyBag];
|
|
69
|
-
[self propertyBag_dealloc]; // swizzled
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|