Skip to content

Commit ae2c675

Browse files
authored
fix: Add support for enabled TurboModules in Expo (#418)
1 parent 3f868ca commit ae2c675

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/RCTAsyncStorage.expo.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,18 @@
77
* will likely not be valid anymore, and the package will need to be included in the Expo SDK
88
* to continue to work.
99
*/
10-
const {NativeModules} = require('react-native');
11-
const RCTAsyncStorage = NativeModules.AsyncSQLiteDBStorage || NativeModules.AsyncLocalStorage;
10+
const {NativeModules, TurboModuleRegistry} = require('react-native');
1211

13-
export default RCTAsyncStorage;
12+
let RCTAsyncStorage;
13+
14+
// TurboModuleRegistry falls back to NativeModules
15+
// so we don't have to try go assign NativeModules'
16+
// counterparts if TurboModuleRegistry would resolve
17+
// with undefined.
18+
if (TurboModuleRegistry) {
19+
RCTAsyncStorage = TurboModuleRegistry.get("AsyncSQLiteDBStorage") || TurboModuleRegistry.get("AsyncLocalStorage");
20+
} else {
21+
RCTAsyncStorage = NativeModules.AsyncSQLiteDBStorage || NativeModules.AsyncLocalStorage;
22+
}
23+
24+
export default RCTAsyncStorage;

0 commit comments

Comments
 (0)