From f3f0df5b491197baaa173a03b871328116b8345c Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Thu, 30 Jan 2025 18:51:00 -0800 Subject: [PATCH 1/4] chore(apple): fix build issues discovered internally --- packages/default-storage/ios/RNCAsyncStorage.h | 8 ++++---- packages/default-storage/ios/RNCAsyncStorage.mm | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/default-storage/ios/RNCAsyncStorage.h b/packages/default-storage/ios/RNCAsyncStorage.h index 38e5178f..292f2411 100644 --- a/packages/default-storage/ios/RNCAsyncStorage.h +++ b/packages/default-storage/ios/RNCAsyncStorage.h @@ -50,13 +50,13 @@ // Grab data from the cache. ResponseBlock result array will have an error at position 0, and an // array of arrays at position 1. -- (void)multiGet:(NSArray *)keys callback:(RCTResponseSenderBlock)callback; +- (void)multiGet:(NSArray *_Nullable)keys callback:(RCTResponseSenderBlock _Nullable )callback; // Add multiple key value pairs to the cache. -- (void)multiSet:(NSArray *> *)kvPairs - callback:(RCTResponseSenderBlock)callback; +- (void)multiSet:(NSArray *> *_Nullable)kvPairs + callback:(RCTResponseSenderBlock _Nullable )callback; // Interface for natively fetching all the keys from the storage data. -- (void)getAllKeys:(RCTResponseSenderBlock)callback; +- (void)getAllKeys:(RCTResponseSenderBlock _Nullable )callback; @end diff --git a/packages/default-storage/ios/RNCAsyncStorage.mm b/packages/default-storage/ios/RNCAsyncStorage.mm index 6b81187b..fa3bb047 100644 --- a/packages/default-storage/ios/RNCAsyncStorage.mm +++ b/packages/default-storage/ios/RNCAsyncStorage.mm @@ -302,7 +302,7 @@ static void RCTStorageDirectoryMigrate(NSString *oldDirectoryPath, // this folder and attempt folder copying again if (error != nil && error.code == 4 && [newDirectoryPath isEqualToString:RCTGetStorageDirectory()]) { - NSError *error = nil; + error = nil; _createStorageDirectory(RCTCreateStorageDirectoryPath(@""), &error); if (error == nil) { RCTStorageDirectoryMigrate( @@ -559,7 +559,7 @@ - (NSDictionary *)_ensureSetup return nil; } -- (NSDictionary *)_writeManifest:(NSMutableArray **)errors +- (NSDictionary *)_writeManifest:(NSMutableArray *__autoreleasing *)errors { NSError *error; NSString *serialized = RCTJSONStringify(_manifest, &error); @@ -587,7 +587,7 @@ - (NSDictionary *)_appendItemForKey:(NSString *)key return errorOut; } -- (NSString *)_getValueForKey:(NSString *)key errorOut:(NSDictionary **)errorOut +- (NSString *)_getValueForKey:(NSString *)key errorOut:(NSDictionary *__autoreleasing *)errorOut { NSString *value = _manifest[key]; // nil means missing, null means there may be a data file, else: NSString @@ -699,14 +699,14 @@ - (BOOL)_passthroughDelegate } } - NSDictionary *errorOut = [self _ensureSetup]; - if (errorOut) { - callback(@[@[errorOut], (id)kCFNull]); + NSDictionary *ensureSetupErrorOut = [self _ensureSetup]; + if (ensureSetupErrorOut) { + callback(@[@[ensureSetupErrorOut], (id)kCFNull]); return; } [self _multiGet:keys callback:callback - getter:^(NSUInteger i, NSString *key, NSDictionary **errorOut) { + getter:^(__unused NSUInteger i, NSString *key, NSDictionary **errorOut) { return [self _getValueForKey:key errorOut:errorOut]; }]; } From 00240ee509c108a20499428ff89b316378fd42ee Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 31 Jan 2025 10:12:25 -0800 Subject: [PATCH 2/4] use NS_ASSUME_NONNULL_BEGIN/END instead --- packages/default-storage/ios/RNCAsyncStorage.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/default-storage/ios/RNCAsyncStorage.h b/packages/default-storage/ios/RNCAsyncStorage.h index 292f2411..9c13d4d5 100644 --- a/packages/default-storage/ios/RNCAsyncStorage.h +++ b/packages/default-storage/ios/RNCAsyncStorage.h @@ -27,6 +27,9 @@ * * Keys and values must always be strings or an error is returned. */ + +NS_ASSUME_NONNULL_BEGIN + @interface RNCAsyncStorage : NSObject < #ifdef RCT_NEW_ARCH_ENABLED NativeAsyncStorageModuleSpec @@ -50,13 +53,15 @@ // Grab data from the cache. ResponseBlock result array will have an error at position 0, and an // array of arrays at position 1. -- (void)multiGet:(NSArray *_Nullable)keys callback:(RCTResponseSenderBlock _Nullable )callback; +- (void)multiGet:(NSArray *)keys callback:(RCTResponseSenderBlock)callback; // Add multiple key value pairs to the cache. -- (void)multiSet:(NSArray *> *_Nullable)kvPairs - callback:(RCTResponseSenderBlock _Nullable )callback; +- (void)multiSet:(NSArray *> *)kvPairs + callback:(RCTResponseSenderBlock)callback; // Interface for natively fetching all the keys from the storage data. -- (void)getAllKeys:(RCTResponseSenderBlock _Nullable )callback; +- (void)getAllKeys:(RCTResponseSenderBlock )callback; @end + +NS_ASSUME_NONNULL_END From abafda4f09c2d426d253565744c642fb86bad458 Mon Sep 17 00:00:00 2001 From: Tommy Nguyen <4123478+tido64@users.noreply.github.com> Date: Fri, 31 Jan 2025 20:31:54 +0100 Subject: [PATCH 3/4] Update RNCAsyncStorage.h --- packages/default-storage/ios/RNCAsyncStorage.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/default-storage/ios/RNCAsyncStorage.h b/packages/default-storage/ios/RNCAsyncStorage.h index 9c13d4d5..24b09eb0 100644 --- a/packages/default-storage/ios/RNCAsyncStorage.h +++ b/packages/default-storage/ios/RNCAsyncStorage.h @@ -60,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN callback:(RCTResponseSenderBlock)callback; // Interface for natively fetching all the keys from the storage data. -- (void)getAllKeys:(RCTResponseSenderBlock )callback; +- (void)getAllKeys:(RCTResponseSenderBlock)callback; @end From 9422361c37a550df5bb1c85911bbed2ffa630400 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 31 Jan 2025 14:30:07 -0800 Subject: [PATCH 4/4] docs(changeset): Mark some methods as nonnull --- .changeset/modern-bugs-battle.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/modern-bugs-battle.md diff --git a/.changeset/modern-bugs-battle.md b/.changeset/modern-bugs-battle.md new file mode 100644 index 00000000..fcafe383 --- /dev/null +++ b/.changeset/modern-bugs-battle.md @@ -0,0 +1,5 @@ +--- +"@react-native-async-storage/async-storage": patch +--- + +Mark some methods as nonnull