@fto-consult/expo-ui 6.37.3 → 6.37.4

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 (110) hide show
  1. package/node_modules/.package-lock.json +26218 -26188
  2. package/node_modules/@react-native-async-storage/async-storage/LICENSE +21 -0
  3. package/node_modules/@react-native-async-storage/async-storage/README.md +27 -0
  4. package/node_modules/@react-native-async-storage/async-storage/RNCAsyncStorage.podspec +19 -0
  5. package/node_modules/@react-native-async-storage/async-storage/android/build.gradle +142 -0
  6. package/node_modules/@react-native-async-storage/async-storage/android/src/main/AndroidManifest.xml +6 -0
  7. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncLocalStorageUtil.java +178 -0
  8. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStorageErrorUtil.java +45 -0
  9. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStorageExpoMigration.java +154 -0
  10. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStorageModule.java +424 -0
  11. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStoragePackage.java +58 -0
  12. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/ReactDatabaseSupplier.java +163 -0
  13. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/SerialExecutor.java +40 -0
  14. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/next/ArgumentHelpers.kt +86 -0
  15. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/next/ErrorHelpers.kt +39 -0
  16. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/next/StorageModule.kt +90 -0
  17. package/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/next/StorageSupplier.kt +161 -0
  18. package/node_modules/@react-native-async-storage/async-storage/android/src/test/java/com/reactnativecommunity/asyncstorage/next/ArgumentHelpersTest.kt +93 -0
  19. package/node_modules/@react-native-async-storage/async-storage/android/src/test/java/com/reactnativecommunity/asyncstorage/next/StorageTest.kt +141 -0
  20. package/node_modules/@react-native-async-storage/async-storage/android/testresults.gradle +38 -0
  21. package/node_modules/@react-native-async-storage/async-storage/ios/RNCAsyncStorage.h +51 -0
  22. package/node_modules/@react-native-async-storage/async-storage/ios/RNCAsyncStorage.m +898 -0
  23. package/node_modules/@react-native-async-storage/async-storage/ios/RNCAsyncStorage.xcodeproj/project.pbxproj +283 -0
  24. package/node_modules/@react-native-async-storage/async-storage/ios/RNCAsyncStorageDelegate.h +73 -0
  25. package/node_modules/@react-native-async-storage/async-storage/jest/async-storage-mock.d.ts +9 -0
  26. package/node_modules/@react-native-async-storage/async-storage/jest/async-storage-mock.js +109 -0
  27. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js +164 -0
  28. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js.map +1 -0
  29. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.native.js +366 -0
  30. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.native.js.map +1 -0
  31. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/RCTAsyncStorage.js +30 -0
  32. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/RCTAsyncStorage.js.map +1 -0
  33. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/helpers.js +69 -0
  34. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/helpers.js.map +1 -0
  35. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/hooks.js +44 -0
  36. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/hooks.js.map +1 -0
  37. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/index.js +22 -0
  38. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/index.js.map +1 -0
  39. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/shouldFallbackToLegacyNativeModule.js +39 -0
  40. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/shouldFallbackToLegacyNativeModule.js.map +1 -0
  41. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/types.js +2 -0
  42. package/node_modules/@react-native-async-storage/async-storage/lib/commonjs/types.js.map +1 -0
  43. package/node_modules/@react-native-async-storage/async-storage/lib/module/AsyncStorage.js +153 -0
  44. package/node_modules/@react-native-async-storage/async-storage/lib/module/AsyncStorage.js.map +1 -0
  45. package/node_modules/@react-native-async-storage/async-storage/lib/module/AsyncStorage.native.js +348 -0
  46. package/node_modules/@react-native-async-storage/async-storage/lib/module/AsyncStorage.native.js.map +1 -0
  47. package/node_modules/@react-native-async-storage/async-storage/lib/module/RCTAsyncStorage.js +20 -0
  48. package/node_modules/@react-native-async-storage/async-storage/lib/module/RCTAsyncStorage.js.map +1 -0
  49. package/node_modules/@react-native-async-storage/async-storage/lib/module/helpers.js +56 -0
  50. package/node_modules/@react-native-async-storage/async-storage/lib/module/helpers.js.map +1 -0
  51. package/node_modules/@react-native-async-storage/async-storage/lib/module/hooks.js +34 -0
  52. package/node_modules/@react-native-async-storage/async-storage/lib/module/hooks.js.map +1 -0
  53. package/node_modules/@react-native-async-storage/async-storage/lib/module/index.js +4 -0
  54. package/node_modules/@react-native-async-storage/async-storage/lib/module/index.js.map +1 -0
  55. package/node_modules/@react-native-async-storage/async-storage/lib/module/shouldFallbackToLegacyNativeModule.js +31 -0
  56. package/node_modules/@react-native-async-storage/async-storage/lib/module/shouldFallbackToLegacyNativeModule.js.map +1 -0
  57. package/node_modules/@react-native-async-storage/async-storage/lib/module/types.js +2 -0
  58. package/node_modules/@react-native-async-storage/async-storage/lib/module/types.js.map +1 -0
  59. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/AsyncStorage.d.ts +10 -0
  60. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/AsyncStorage.native.d.ts +16 -0
  61. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/RCTAsyncStorage.d.ts +2 -0
  62. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/helpers.d.ts +5 -0
  63. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/hooks.d.ts +2 -0
  64. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/index.d.ts +4 -0
  65. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/shouldFallbackToLegacyNativeModule.d.ts +1 -0
  66. package/node_modules/@react-native-async-storage/async-storage/lib/typescript/types.d.ts +113 -0
  67. package/node_modules/@react-native-async-storage/async-storage/macos/RNCAsyncStorage.xcodeproj/project.pbxproj +385 -0
  68. package/node_modules/@react-native-async-storage/async-storage/macos/RNCAsyncStorage.xcodeproj/xcshareddata/xcschemes/RNCAsyncStorage-macOS.xcscheme +67 -0
  69. package/node_modules/@react-native-async-storage/async-storage/macos/RNCAsyncStorage.xcodeproj/xcshareddata/xcschemes/RNCAsyncStorage.xcscheme +67 -0
  70. package/node_modules/@react-native-async-storage/async-storage/package.json +197 -0
  71. package/node_modules/@react-native-async-storage/async-storage/src/AsyncStorage.native.ts +356 -0
  72. package/node_modules/@react-native-async-storage/async-storage/src/AsyncStorage.ts +173 -0
  73. package/node_modules/@react-native-async-storage/async-storage/src/RCTAsyncStorage.ts +28 -0
  74. package/node_modules/@react-native-async-storage/async-storage/src/helpers.ts +74 -0
  75. package/node_modules/@react-native-async-storage/async-storage/src/hooks.ts +11 -0
  76. package/node_modules/@react-native-async-storage/async-storage/src/index.ts +7 -0
  77. package/node_modules/@react-native-async-storage/async-storage/src/shouldFallbackToLegacyNativeModule.ts +34 -0
  78. package/node_modules/@react-native-async-storage/async-storage/src/types.ts +155 -0
  79. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage/PropertySheet.props +16 -0
  80. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage/ReactNativeAsyncStorage.vcxproj +172 -0
  81. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage/ReactNativeAsyncStorage.vcxproj.filters +34 -0
  82. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage/packages.config +4 -0
  83. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage.sln +172 -0
  84. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage61/PropertySheet.props +16 -0
  85. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage61/ReactNativeAsyncStorage61.vcxproj +157 -0
  86. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage61/ReactNativeAsyncStorage61.vcxproj.filters +34 -0
  87. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage61/packages.config +4 -0
  88. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage61.sln +195 -0
  89. package/node_modules/@react-native-async-storage/async-storage/windows/ReactNativeAsyncStorage62.sln +192 -0
  90. package/node_modules/@react-native-async-storage/async-storage/windows/code/DBStorage.cpp +599 -0
  91. package/node_modules/@react-native-async-storage/async-storage/windows/code/DBStorage.h +162 -0
  92. package/node_modules/@react-native-async-storage/async-storage/windows/code/RNCAsyncStorage.h +118 -0
  93. package/node_modules/@react-native-async-storage/async-storage/windows/code/ReactNativeAsyncStorage.def +3 -0
  94. package/node_modules/@react-native-async-storage/async-storage/windows/code/ReactPackageProvider.cpp +20 -0
  95. package/node_modules/@react-native-async-storage/async-storage/windows/code/ReactPackageProvider.h +23 -0
  96. package/node_modules/@react-native-async-storage/async-storage/windows/code/ReactPackageProvider.idl +7 -0
  97. package/node_modules/@react-native-async-storage/async-storage/windows/code/pch.cpp +3 -0
  98. package/node_modules/@react-native-async-storage/async-storage/windows/code/pch.h +15 -0
  99. package/node_modules/merge-options/index.d.ts +2 -0
  100. package/node_modules/merge-options/index.js +171 -0
  101. package/node_modules/merge-options/index.mjs +8 -0
  102. package/node_modules/merge-options/license +21 -0
  103. package/node_modules/merge-options/node_modules/is-plain-obj/index.d.ts +29 -0
  104. package/node_modules/merge-options/node_modules/is-plain-obj/index.js +10 -0
  105. package/node_modules/merge-options/node_modules/is-plain-obj/license +9 -0
  106. package/node_modules/merge-options/node_modules/is-plain-obj/package.json +38 -0
  107. package/node_modules/merge-options/node_modules/is-plain-obj/readme.md +54 -0
  108. package/node_modules/merge-options/package.json +59 -0
  109. package/node_modules/merge-options/readme.md +130 -0
  110. package/package.json +131 -130
@@ -0,0 +1,283 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 1990B97A223993B0009E5EA1 /* RNCAsyncStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = B3E7B5881CC2AC0600A0062D /* RNCAsyncStorage.h */; };
11
+ 1990B97B223993B0009E5EA1 /* RNCAsyncStorageDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1990B9402233FE3A009E5EA1 /* RNCAsyncStorageDelegate.h */; };
12
+ 747102F0243FFB7400D4F466 /* RNCAsyncStorage.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = B3E7B5881CC2AC0600A0062D /* RNCAsyncStorage.h */; };
13
+ 747102F1243FFB7400D4F466 /* RNCAsyncStorageDelegate.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1990B9402233FE3A009E5EA1 /* RNCAsyncStorageDelegate.h */; };
14
+ B3E7B58A1CC2AC0600A0062D /* RNCAsyncStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNCAsyncStorage.m */; };
15
+ /* End PBXBuildFile section */
16
+
17
+ /* Begin PBXCopyFilesBuildPhase section */
18
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
19
+ isa = PBXCopyFilesBuildPhase;
20
+ buildActionMask = 2147483647;
21
+ dstPath = "include/$(PRODUCT_NAME)";
22
+ dstSubfolderSpec = 16;
23
+ files = (
24
+ 747102F0243FFB7400D4F466 /* RNCAsyncStorage.h in CopyFiles */,
25
+ 747102F1243FFB7400D4F466 /* RNCAsyncStorageDelegate.h in CopyFiles */,
26
+ );
27
+ runOnlyForDeploymentPostprocessing = 0;
28
+ };
29
+ /* End PBXCopyFilesBuildPhase section */
30
+
31
+ /* Begin PBXFileReference section */
32
+ 134814201AA4EA6300B7C361 /* libRNCAsyncStorage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNCAsyncStorage.a; sourceTree = BUILT_PRODUCTS_DIR; };
33
+ 1990B9402233FE3A009E5EA1 /* RNCAsyncStorageDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCAsyncStorageDelegate.h; sourceTree = "<group>"; };
34
+ B3E7B5881CC2AC0600A0062D /* RNCAsyncStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCAsyncStorage.h; sourceTree = "<group>"; };
35
+ B3E7B5891CC2AC0600A0062D /* RNCAsyncStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCAsyncStorage.m; sourceTree = "<group>"; };
36
+ /* End PBXFileReference section */
37
+
38
+ /* Begin PBXFrameworksBuildPhase section */
39
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
40
+ isa = PBXFrameworksBuildPhase;
41
+ buildActionMask = 2147483647;
42
+ files = (
43
+ );
44
+ runOnlyForDeploymentPostprocessing = 0;
45
+ };
46
+ /* End PBXFrameworksBuildPhase section */
47
+
48
+ /* Begin PBXGroup section */
49
+ 134814211AA4EA7D00B7C361 /* Products */ = {
50
+ isa = PBXGroup;
51
+ children = (
52
+ 134814201AA4EA6300B7C361 /* libRNCAsyncStorage.a */,
53
+ );
54
+ name = Products;
55
+ sourceTree = "<group>";
56
+ };
57
+ 58B511D21A9E6C8500147676 = {
58
+ isa = PBXGroup;
59
+ children = (
60
+ B3E7B5881CC2AC0600A0062D /* RNCAsyncStorage.h */,
61
+ B3E7B5891CC2AC0600A0062D /* RNCAsyncStorage.m */,
62
+ 1990B9402233FE3A009E5EA1 /* RNCAsyncStorageDelegate.h */,
63
+ 134814211AA4EA7D00B7C361 /* Products */,
64
+ );
65
+ sourceTree = "<group>";
66
+ };
67
+ /* End PBXGroup section */
68
+
69
+ /* Begin PBXHeadersBuildPhase section */
70
+ 19F94B1D2239A948006921A9 /* Headers */ = {
71
+ isa = PBXHeadersBuildPhase;
72
+ buildActionMask = 2147483647;
73
+ files = (
74
+ 1990B97A223993B0009E5EA1 /* RNCAsyncStorage.h in Headers */,
75
+ 1990B97B223993B0009E5EA1 /* RNCAsyncStorageDelegate.h in Headers */,
76
+ );
77
+ runOnlyForDeploymentPostprocessing = 0;
78
+ };
79
+ /* End PBXHeadersBuildPhase section */
80
+
81
+ /* Begin PBXNativeTarget section */
82
+ 58B511DA1A9E6C8500147676 /* RNCAsyncStorage */ = {
83
+ isa = PBXNativeTarget;
84
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNCAsyncStorage" */;
85
+ buildPhases = (
86
+ 19F94B1D2239A948006921A9 /* Headers */,
87
+ 58B511D71A9E6C8500147676 /* Sources */,
88
+ 58B511D81A9E6C8500147676 /* Frameworks */,
89
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
90
+ );
91
+ buildRules = (
92
+ );
93
+ dependencies = (
94
+ );
95
+ name = RNCAsyncStorage;
96
+ productName = RCTDataManager;
97
+ productReference = 134814201AA4EA6300B7C361 /* libRNCAsyncStorage.a */;
98
+ productType = "com.apple.product-type.library.static";
99
+ };
100
+ /* End PBXNativeTarget section */
101
+
102
+ /* Begin PBXProject section */
103
+ 58B511D31A9E6C8500147676 /* Project object */ = {
104
+ isa = PBXProject;
105
+ attributes = {
106
+ LastUpgradeCheck = 0830;
107
+ ORGANIZATIONNAME = Facebook;
108
+ TargetAttributes = {
109
+ 58B511DA1A9E6C8500147676 = {
110
+ CreatedOnToolsVersion = 6.1.1;
111
+ };
112
+ };
113
+ };
114
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNCAsyncStorage" */;
115
+ compatibilityVersion = "Xcode 3.2";
116
+ developmentRegion = English;
117
+ hasScannedForEncodings = 0;
118
+ knownRegions = (
119
+ English,
120
+ en,
121
+ );
122
+ mainGroup = 58B511D21A9E6C8500147676;
123
+ productRefGroup = 58B511D21A9E6C8500147676;
124
+ projectDirPath = "";
125
+ projectRoot = "";
126
+ targets = (
127
+ 58B511DA1A9E6C8500147676 /* RNCAsyncStorage */,
128
+ );
129
+ };
130
+ /* End PBXProject section */
131
+
132
+ /* Begin PBXSourcesBuildPhase section */
133
+ 58B511D71A9E6C8500147676 /* Sources */ = {
134
+ isa = PBXSourcesBuildPhase;
135
+ buildActionMask = 2147483647;
136
+ files = (
137
+ B3E7B58A1CC2AC0600A0062D /* RNCAsyncStorage.m in Sources */,
138
+ );
139
+ runOnlyForDeploymentPostprocessing = 0;
140
+ };
141
+ /* End PBXSourcesBuildPhase section */
142
+
143
+ /* Begin XCBuildConfiguration section */
144
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
145
+ isa = XCBuildConfiguration;
146
+ buildSettings = {
147
+ ALWAYS_SEARCH_USER_PATHS = NO;
148
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
149
+ CLANG_CXX_LIBRARY = "libc++";
150
+ CLANG_ENABLE_MODULES = YES;
151
+ CLANG_ENABLE_OBJC_ARC = YES;
152
+ CLANG_WARN_BOOL_CONVERSION = YES;
153
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
154
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
155
+ CLANG_WARN_EMPTY_BODY = YES;
156
+ CLANG_WARN_ENUM_CONVERSION = YES;
157
+ CLANG_WARN_INFINITE_RECURSION = YES;
158
+ CLANG_WARN_INT_CONVERSION = YES;
159
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
160
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
161
+ CLANG_WARN_UNREACHABLE_CODE = YES;
162
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
163
+ COPY_PHASE_STRIP = NO;
164
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
165
+ ENABLE_TESTABILITY = YES;
166
+ GCC_C_LANGUAGE_STANDARD = gnu99;
167
+ GCC_DYNAMIC_NO_PIC = NO;
168
+ GCC_NO_COMMON_BLOCKS = YES;
169
+ GCC_OPTIMIZATION_LEVEL = 0;
170
+ GCC_PREPROCESSOR_DEFINITIONS = (
171
+ "DEBUG=1",
172
+ "$(inherited)",
173
+ );
174
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
175
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
176
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
177
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
178
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
179
+ GCC_WARN_UNUSED_FUNCTION = YES;
180
+ GCC_WARN_UNUSED_VARIABLE = YES;
181
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
182
+ MTL_ENABLE_DEBUG_INFO = YES;
183
+ ONLY_ACTIVE_ARCH = YES;
184
+ SDKROOT = iphoneos;
185
+ };
186
+ name = Debug;
187
+ };
188
+ 58B511EE1A9E6C8500147676 /* Release */ = {
189
+ isa = XCBuildConfiguration;
190
+ buildSettings = {
191
+ ALWAYS_SEARCH_USER_PATHS = NO;
192
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
193
+ CLANG_CXX_LIBRARY = "libc++";
194
+ CLANG_ENABLE_MODULES = YES;
195
+ CLANG_ENABLE_OBJC_ARC = YES;
196
+ CLANG_WARN_BOOL_CONVERSION = YES;
197
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
198
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
199
+ CLANG_WARN_EMPTY_BODY = YES;
200
+ CLANG_WARN_ENUM_CONVERSION = YES;
201
+ CLANG_WARN_INFINITE_RECURSION = YES;
202
+ CLANG_WARN_INT_CONVERSION = YES;
203
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
204
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
205
+ CLANG_WARN_UNREACHABLE_CODE = YES;
206
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
207
+ COPY_PHASE_STRIP = YES;
208
+ ENABLE_NS_ASSERTIONS = NO;
209
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
210
+ GCC_C_LANGUAGE_STANDARD = gnu99;
211
+ GCC_NO_COMMON_BLOCKS = YES;
212
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
213
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
214
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
215
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
216
+ GCC_WARN_UNUSED_FUNCTION = YES;
217
+ GCC_WARN_UNUSED_VARIABLE = YES;
218
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
219
+ MTL_ENABLE_DEBUG_INFO = NO;
220
+ SDKROOT = iphoneos;
221
+ VALIDATE_PRODUCT = YES;
222
+ };
223
+ name = Release;
224
+ };
225
+ 58B511F01A9E6C8500147676 /* Debug */ = {
226
+ isa = XCBuildConfiguration;
227
+ buildSettings = {
228
+ HEADER_SEARCH_PATHS = (
229
+ "$(inherited)",
230
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
231
+ "$(SRCROOT)/../../../React/**",
232
+ "$(SRCROOT)/../../react-native/React/**",
233
+ );
234
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
235
+ OTHER_LDFLAGS = "-ObjC";
236
+ PRODUCT_NAME = RNCAsyncStorage;
237
+ SKIP_INSTALL = YES;
238
+ SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvsimulator appletvos";
239
+ };
240
+ name = Debug;
241
+ };
242
+ 58B511F11A9E6C8500147676 /* Release */ = {
243
+ isa = XCBuildConfiguration;
244
+ buildSettings = {
245
+ HEADER_SEARCH_PATHS = (
246
+ "$(inherited)",
247
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
248
+ "$(SRCROOT)/../../../React/**",
249
+ "$(SRCROOT)/../../react-native/React/**",
250
+ );
251
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
252
+ OTHER_LDFLAGS = "-ObjC";
253
+ PRODUCT_NAME = RNCAsyncStorage;
254
+ SKIP_INSTALL = YES;
255
+ SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvsimulator appletvos";
256
+ };
257
+ name = Release;
258
+ };
259
+ /* End XCBuildConfiguration section */
260
+
261
+ /* Begin XCConfigurationList section */
262
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNCAsyncStorage" */ = {
263
+ isa = XCConfigurationList;
264
+ buildConfigurations = (
265
+ 58B511ED1A9E6C8500147676 /* Debug */,
266
+ 58B511EE1A9E6C8500147676 /* Release */,
267
+ );
268
+ defaultConfigurationIsVisible = 0;
269
+ defaultConfigurationName = Release;
270
+ };
271
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNCAsyncStorage" */ = {
272
+ isa = XCConfigurationList;
273
+ buildConfigurations = (
274
+ 58B511F01A9E6C8500147676 /* Debug */,
275
+ 58B511F11A9E6C8500147676 /* Release */,
276
+ );
277
+ defaultConfigurationIsVisible = 0;
278
+ defaultConfigurationName = Release;
279
+ };
280
+ /* End XCConfigurationList section */
281
+ };
282
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
283
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ typedef void (^RNCAsyncStorageCompletion)(NSError *_Nullable error);
13
+ typedef void (^RNCAsyncStorageResultCallback)(NSArray<id<NSObject>> *valuesOrErrors);
14
+
15
+ @protocol RNCAsyncStorageDelegate <NSObject>
16
+
17
+ /*!
18
+ * Returns all keys currently stored. If none, an empty array is returned.
19
+ * @param block Block to call with result.
20
+ */
21
+ - (void)allKeys:(RNCAsyncStorageResultCallback)block;
22
+
23
+ /*!
24
+ * Merges values with the corresponding values stored at specified keys.
25
+ * @param values Values to merge.
26
+ * @param keys Keys to the values that should be merged with.
27
+ * @param block Block to call with merged result.
28
+ */
29
+ - (void)mergeValues:(NSArray<NSString *> *)values
30
+ forKeys:(NSArray<NSString *> *)keys
31
+ completion:(RNCAsyncStorageResultCallback)block;
32
+
33
+ /*!
34
+ * Removes all values from the store.
35
+ * @param block Block to call with result.
36
+ */
37
+ - (void)removeAllValues:(RNCAsyncStorageCompletion)block;
38
+
39
+ /*!
40
+ * Removes all values associated with specified keys.
41
+ * @param keys Keys of values to remove.
42
+ * @param block Block to call with result.
43
+ */
44
+ - (void)removeValuesForKeys:(NSArray<NSString *> *)keys
45
+ completion:(RNCAsyncStorageResultCallback)block;
46
+
47
+ /*!
48
+ * Sets specified key-value pairs.
49
+ * @param values Values to set.
50
+ * @param keys Keys of specified values to set.
51
+ * @param block Block to call with result.
52
+ */
53
+ - (void)setValues:(NSArray<NSString *> *)values
54
+ forKeys:(NSArray<NSString *> *)keys
55
+ completion:(RNCAsyncStorageResultCallback)block;
56
+
57
+ /*!
58
+ * Returns values associated with specified keys.
59
+ * @param keys Keys of values to return.
60
+ * @param block Block to call with result.
61
+ */
62
+ - (void)valuesForKeys:(NSArray<NSString *> *)keys completion:(RNCAsyncStorageResultCallback)block;
63
+
64
+ @optional
65
+
66
+ /*!
67
+ * Returns whether the delegate should be treated as a passthrough.
68
+ */
69
+ @property (nonatomic, readonly, getter=isPassthrough) BOOL passthrough;
70
+
71
+ @end
72
+
73
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,9 @@
1
+ import type {
2
+ AsyncStorageHook,
3
+ AsyncStorageStatic,
4
+ } from '../lib/typescript/types';
5
+
6
+ export function useAsyncStorage(key: string): AsyncStorageHook;
7
+
8
+ declare const AsyncStorage: AsyncStorageStatic;
9
+ export default AsyncStorage;
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @format
3
+ */
4
+
5
+ const merge = require('merge-options').bind({
6
+ concatArrays: true,
7
+ ignoreUndefined: true,
8
+ });
9
+
10
+ const asMock = {
11
+ __INTERNAL_MOCK_STORAGE__: {},
12
+
13
+ setItem: jest.fn(async (key, value, callback) => {
14
+ const setResult = await asMock.multiSet([[key, value]], undefined);
15
+
16
+ callback && callback(setResult);
17
+ return setResult;
18
+ }),
19
+
20
+ getItem: jest.fn(async (key, callback) => {
21
+ const getResult = await asMock.multiGet([key], undefined);
22
+
23
+ const result = getResult[0] ? getResult[0][1] : null;
24
+
25
+ callback && callback(null, result);
26
+ return result;
27
+ }),
28
+
29
+ removeItem: jest.fn((key, callback) => asMock.multiRemove([key], callback)),
30
+ mergeItem: jest.fn((key, value, callback) =>
31
+ asMock.multiMerge([[key, value]], callback)
32
+ ),
33
+
34
+ clear: jest.fn(_clear),
35
+ getAllKeys: jest.fn(_getAllKeys),
36
+ flushGetRequests: jest.fn(),
37
+
38
+ multiGet: jest.fn(_multiGet),
39
+ multiSet: jest.fn(_multiSet),
40
+ multiRemove: jest.fn(_multiRemove),
41
+ multiMerge: jest.fn(_multiMerge),
42
+ useAsyncStorage: jest.fn((key) => {
43
+ return {
44
+ getItem: (...args) => asMock.getItem(key, ...args),
45
+ setItem: (...args) => asMock.setItem(key, ...args),
46
+ mergeItem: (...args) => asMock.mergeItem(key, ...args),
47
+ removeItem: (...args) => asMock.removeItem(key, ...args),
48
+ };
49
+ }),
50
+ };
51
+
52
+ async function _multiSet(keyValuePairs, callback) {
53
+ keyValuePairs.forEach((keyValue) => {
54
+ const key = keyValue[0];
55
+
56
+ asMock.__INTERNAL_MOCK_STORAGE__[key] = keyValue[1];
57
+ });
58
+ callback && callback(null);
59
+ return null;
60
+ }
61
+
62
+ async function _multiGet(keys, callback) {
63
+ const values = keys.map((key) => [
64
+ key,
65
+ asMock.__INTERNAL_MOCK_STORAGE__[key] || null,
66
+ ]);
67
+ callback && callback(null, values);
68
+
69
+ return values;
70
+ }
71
+
72
+ async function _multiRemove(keys, callback) {
73
+ keys.forEach((key) => {
74
+ if (asMock.__INTERNAL_MOCK_STORAGE__[key]) {
75
+ delete asMock.__INTERNAL_MOCK_STORAGE__[key];
76
+ }
77
+ });
78
+
79
+ callback && callback(null);
80
+ return null;
81
+ }
82
+
83
+ async function _clear(callback) {
84
+ asMock.__INTERNAL_MOCK_STORAGE__ = {};
85
+
86
+ callback && callback(null);
87
+
88
+ return null;
89
+ }
90
+
91
+ async function _getAllKeys() {
92
+ return Object.keys(asMock.__INTERNAL_MOCK_STORAGE__);
93
+ }
94
+
95
+ async function _multiMerge(keyValuePairs, callback) {
96
+ keyValuePairs.forEach((keyValue) => {
97
+ const [key, value] = keyValue;
98
+ const oldValue = asMock.__INTERNAL_MOCK_STORAGE__[key];
99
+ asMock.__INTERNAL_MOCK_STORAGE__[key] =
100
+ oldValue != null
101
+ ? JSON.stringify(merge(JSON.parse(oldValue), JSON.parse(value)))
102
+ : value;
103
+ });
104
+
105
+ callback && callback(null);
106
+ return null;
107
+ }
108
+
109
+ module.exports = asMock;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _mergeOptions = _interopRequireDefault(require("merge-options"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ /**
13
+ * Copyright (c) Nicolas Gallagher.
14
+ * Copyright (c) Facebook, Inc. and its affiliates.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */
19
+ // @ts-ignore Cannot find module 'merge-options' or its corresponding type declarations
20
+ const merge = _mergeOptions.default.bind({
21
+ concatArrays: true,
22
+ ignoreUndefined: true
23
+ });
24
+
25
+ function mergeLocalStorageItem(key, value) {
26
+ const oldValue = window.localStorage.getItem(key);
27
+
28
+ if (oldValue) {
29
+ const oldObject = JSON.parse(oldValue);
30
+ const newObject = JSON.parse(value);
31
+ const nextValue = JSON.stringify(merge(oldObject, newObject));
32
+ window.localStorage.setItem(key, nextValue);
33
+ } else {
34
+ window.localStorage.setItem(key, value);
35
+ }
36
+ }
37
+
38
+ function createPromise(getValue, callback) {
39
+ return new Promise((resolve, reject) => {
40
+ try {
41
+ const value = getValue();
42
+ callback === null || callback === void 0 ? void 0 : callback(null, value);
43
+ resolve(value);
44
+ } catch (err) {
45
+ callback === null || callback === void 0 ? void 0 : callback(err);
46
+ reject(err);
47
+ }
48
+ });
49
+ }
50
+
51
+ function createPromiseAll(promises, callback, processResult) {
52
+ return Promise.all(promises).then(result => {
53
+ const value = (processResult === null || processResult === void 0 ? void 0 : processResult(result)) ?? null;
54
+ callback === null || callback === void 0 ? void 0 : callback(null, value);
55
+ return Promise.resolve(value);
56
+ }, errors => {
57
+ callback === null || callback === void 0 ? void 0 : callback(errors);
58
+ return Promise.reject(errors);
59
+ });
60
+ }
61
+
62
+ const AsyncStorage = {
63
+ /**
64
+ * Fetches `key` value.
65
+ */
66
+ getItem: (key, callback) => {
67
+ return createPromise(() => window.localStorage.getItem(key), callback);
68
+ },
69
+
70
+ /**
71
+ * Sets `value` for `key`.
72
+ */
73
+ setItem: (key, value, callback) => {
74
+ return createPromise(() => window.localStorage.setItem(key, value), callback);
75
+ },
76
+
77
+ /**
78
+ * Removes a `key`
79
+ */
80
+ removeItem: (key, callback) => {
81
+ return createPromise(() => window.localStorage.removeItem(key), callback);
82
+ },
83
+
84
+ /**
85
+ * Merges existing value with input value, assuming they are stringified JSON.
86
+ */
87
+ mergeItem: (key, value, callback) => {
88
+ return createPromise(() => mergeLocalStorageItem(key, value), callback);
89
+ },
90
+
91
+ /**
92
+ * Erases *all* AsyncStorage for the domain.
93
+ */
94
+ clear: callback => {
95
+ return createPromise(() => window.localStorage.clear(), callback);
96
+ },
97
+
98
+ /**
99
+ * Gets *all* keys known to the app, for all callers, libraries, etc.
100
+ */
101
+ getAllKeys: callback => {
102
+ return createPromise(() => {
103
+ const numberOfKeys = window.localStorage.length;
104
+ const keys = [];
105
+
106
+ for (let i = 0; i < numberOfKeys; i += 1) {
107
+ const key = window.localStorage.key(i) || '';
108
+ keys.push(key);
109
+ }
110
+
111
+ return keys;
112
+ }, callback);
113
+ },
114
+
115
+ /**
116
+ * (stub) Flushes any pending requests using a single batch call to get the data.
117
+ */
118
+ flushGetRequests: () => undefined,
119
+
120
+ /**
121
+ * multiGet resolves to an array of key-value pair arrays that matches the
122
+ * input format of multiSet.
123
+ *
124
+ * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]
125
+ */
126
+ multiGet: (keys, callback) => {
127
+ const promises = keys.map(key => AsyncStorage.getItem(key));
128
+
129
+ const processResult = result => result.map((value, i) => [keys[i], value]);
130
+
131
+ return createPromiseAll(promises, callback, processResult);
132
+ },
133
+
134
+ /**
135
+ * Takes an array of key-value array pairs.
136
+ * multiSet([['k1', 'val1'], ['k2', 'val2']])
137
+ */
138
+ multiSet: (keyValuePairs, callback) => {
139
+ const promises = keyValuePairs.map(item => AsyncStorage.setItem(item[0], item[1]));
140
+ return createPromiseAll(promises, callback);
141
+ },
142
+
143
+ /**
144
+ * Delete all the keys in the `keys` array.
145
+ */
146
+ multiRemove: (keys, callback) => {
147
+ const promises = keys.map(key => AsyncStorage.removeItem(key));
148
+ return createPromiseAll(promises, callback);
149
+ },
150
+
151
+ /**
152
+ * Takes an array of key-value array pairs and merges them with existing
153
+ * values, assuming they are stringified JSON.
154
+ *
155
+ * multiMerge([['k1', 'val1'], ['k2', 'val2']])
156
+ */
157
+ multiMerge: (keyValuePairs, callback) => {
158
+ const promises = keyValuePairs.map(item => AsyncStorage.mergeItem(item[0], item[1]));
159
+ return createPromiseAll(promises, callback);
160
+ }
161
+ };
162
+ var _default = AsyncStorage;
163
+ exports.default = _default;
164
+ //# sourceMappingURL=AsyncStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["merge","mergeOptions","bind","concatArrays","ignoreUndefined","mergeLocalStorageItem","key","value","oldValue","window","localStorage","getItem","oldObject","JSON","parse","newObject","nextValue","stringify","setItem","createPromise","getValue","callback","Promise","resolve","reject","err","createPromiseAll","promises","processResult","all","then","result","errors","AsyncStorage","removeItem","mergeItem","clear","getAllKeys","numberOfKeys","length","keys","i","push","flushGetRequests","undefined","multiGet","map","multiSet","keyValuePairs","item","multiRemove","multiMerge"],"sources":["AsyncStorage.ts"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// @ts-ignore Cannot find module 'merge-options' or its corresponding type declarations\nimport mergeOptions from 'merge-options';\nimport type {\n AsyncStorageStatic,\n MultiCallback,\n MultiGetCallback,\n} from './types';\n\nconst merge = mergeOptions.bind({\n concatArrays: true,\n ignoreUndefined: true,\n});\n\nfunction mergeLocalStorageItem(key: string, value: string) {\n const oldValue = window.localStorage.getItem(key);\n if (oldValue) {\n const oldObject = JSON.parse(oldValue);\n const newObject = JSON.parse(value);\n const nextValue = JSON.stringify(merge(oldObject, newObject));\n window.localStorage.setItem(key, nextValue);\n } else {\n window.localStorage.setItem(key, value);\n }\n}\n\nfunction createPromise<Result, Callback extends Function>(\n getValue: () => Result,\n callback?: Callback\n): Promise<Result> {\n return new Promise((resolve, reject) => {\n try {\n const value = getValue();\n callback?.(null, value);\n resolve(value);\n } catch (err) {\n callback?.(err);\n reject(err);\n }\n });\n}\n\nfunction createPromiseAll<ReturnType, Result, ResultProcessor extends Function>(\n promises: Promise<Result>[],\n callback?: MultiCallback | MultiGetCallback,\n processResult?: ResultProcessor\n): Promise<ReturnType> {\n return Promise.all(promises).then(\n (result) => {\n const value = processResult?.(result) ?? null;\n callback?.(null, value);\n return Promise.resolve(value);\n },\n (errors) => {\n callback?.(errors);\n return Promise.reject(errors);\n }\n );\n}\n\nconst AsyncStorage: AsyncStorageStatic = {\n /**\n * Fetches `key` value.\n */\n getItem: (key, callback) => {\n return createPromise(() => window.localStorage.getItem(key), callback);\n },\n\n /**\n * Sets `value` for `key`.\n */\n setItem: (key, value, callback) => {\n return createPromise(\n () => window.localStorage.setItem(key, value),\n callback\n );\n },\n\n /**\n * Removes a `key`\n */\n removeItem: (key, callback) => {\n return createPromise(() => window.localStorage.removeItem(key), callback);\n },\n\n /**\n * Merges existing value with input value, assuming they are stringified JSON.\n */\n mergeItem: (key, value, callback) => {\n return createPromise(() => mergeLocalStorageItem(key, value), callback);\n },\n\n /**\n * Erases *all* AsyncStorage for the domain.\n */\n clear: (callback) => {\n return createPromise(() => window.localStorage.clear(), callback);\n },\n\n /**\n * Gets *all* keys known to the app, for all callers, libraries, etc.\n */\n getAllKeys: (callback) => {\n return createPromise(() => {\n const numberOfKeys = window.localStorage.length;\n const keys: string[] = [];\n for (let i = 0; i < numberOfKeys; i += 1) {\n const key = window.localStorage.key(i) || '';\n keys.push(key);\n }\n return keys;\n }, callback);\n },\n\n /**\n * (stub) Flushes any pending requests using a single batch call to get the data.\n */\n flushGetRequests: () => undefined,\n\n /**\n * multiGet resolves to an array of key-value pair arrays that matches the\n * input format of multiSet.\n *\n * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]\n */\n multiGet: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.getItem(key));\n const processResult = (result: string[]) =>\n result.map((value, i) => [keys[i], value]);\n return createPromiseAll(promises, callback, processResult);\n },\n\n /**\n * Takes an array of key-value array pairs.\n * multiSet([['k1', 'val1'], ['k2', 'val2']])\n */\n multiSet: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.setItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Delete all the keys in the `keys` array.\n */\n multiRemove: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.removeItem(key));\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Takes an array of key-value array pairs and merges them with existing\n * values, assuming they are stringified JSON.\n *\n * multiMerge([['k1', 'val1'], ['k2', 'val2']])\n */\n multiMerge: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.mergeItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n};\n\nexport default AsyncStorage;\n"],"mappings":"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"}