@@ -66,17 +66,23 @@ static void RCTAppendError(NSDictionary *error, NSMutableArray<NSDictionary *> *
66
66
return nil ;
67
67
}
68
68
69
+ static NSString *RCTCreateStorageDirectoryPath (NSString *storageDir) {
70
+ NSString *storageDirectoryPath;
71
+ #if TARGET_OS_TV
72
+ storageDirectoryPath = NSSearchPathForDirectoriesInDomains (NSCachesDirectory, NSUserDomainMask, YES ).firstObject ;
73
+ #else
74
+ storageDirectoryPath = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES ).firstObject ;
75
+ #endif
76
+ storageDirectoryPath = [storageDirectoryPath stringByAppendingPathComponent: RCTStorageDirectory];
77
+ return storageDirectoryPath;
78
+ }
79
+
69
80
static NSString *RCTGetStorageDirectory ()
70
81
{
71
82
static NSString *storageDirectory = nil ;
72
83
static dispatch_once_t onceToken;
73
84
dispatch_once (&onceToken, ^{
74
- #if TARGET_OS_TV
75
- storageDirectory = NSSearchPathForDirectoriesInDomains (NSCachesDirectory, NSUserDomainMask, YES ).firstObject ;
76
- #else
77
- storageDirectory = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES ).firstObject ;
78
- #endif
79
- storageDirectory = [storageDirectory stringByAppendingPathComponent: RCTStorageDirectory];
85
+ storageDirectory = RCTCreateStorageDirectoryPath (RCTStorageDirectory);
80
86
});
81
87
return storageDirectory;
82
88
}
@@ -156,6 +162,12 @@ static dispatch_queue_t RCTGetMethodQueue()
156
162
return error ? RCTMakeError (@" Failed to delete storage directory." , error, nil ) : nil ;
157
163
}
158
164
165
+ static void RCTPerformDirectoryMigrationCheck () {
166
+ // NSString *oldRCTStorageDirectory = @"RNCAsyncLocalStorage_V1";
167
+ // NSString *storageDir = RCTCreateStorageDirectoryPath(oldRCTStorageDirectory);
168
+ // printf("%s%s\n", "TESTING: ", [storageDir UTF8String]);
169
+ }
170
+
159
171
#pragma mark - RNCAsyncStorage
160
172
161
173
@implementation RNCAsyncStorage
@@ -167,6 +179,19 @@ @implementation RNCAsyncStorage
167
179
NSMutableDictionary <NSString *, NSString *> *_manifest;
168
180
}
169
181
182
+ + (BOOL )requiresMainQueueSetup {
183
+ return YES ;
184
+ }
185
+
186
+ - (instancetype )init
187
+ {
188
+ if (!(self = [super init ])) {
189
+ return nil ;
190
+ }
191
+ RCTPerformDirectoryMigrationCheck ();
192
+ return self;
193
+ }
194
+
170
195
RCT_EXPORT_MODULE ()
171
196
172
197
- (dispatch_queue_t )methodQueue
@@ -371,7 +396,7 @@ - (NSDictionary *)_writeEntry:(NSArray<NSString *> *)entry changedManifest:(BOOL
371
396
}
372
397
373
398
RCT_EXPORT_METHOD (multiMerge:(NSArray <NSArray <NSString *> *> *)kvPairs
374
- callback:(RCTResponseSenderBlock)callback)
399
+ callback:(RCTResponseSenderBlock)callback)
375
400
{
376
401
NSDictionary *errorOut = [self _ensureSetup ];
377
402
if (errorOut) {
@@ -456,3 +481,4 @@ - (NSDictionary *)_writeEntry:(NSArray<NSString *> *)entry changedManifest:(BOOL
456
481
}
457
482
458
483
@end
484
+
0 commit comments