1- export {
2- createAsyncStorageAdapter ,
3- createExpoAsyncStorageAdapter ,
4- createExpoSecureStorageAdapter ,
5- createMMKVStorageAdapter ,
6- } from './src/react-native/adapters' ;
71export type {
82 AsyncStorageInstanceConfig ,
93 AsyncStorageLike ,
@@ -25,6 +19,10 @@ export type {
2519 SyncStorage ,
2620} from './src/shared/types' ;
2721
22+ export let createAsyncStorageAdapter : typeof import ( './src/react-native/adapters' ) . createAsyncStorageAdapter ;
23+ export let createExpoAsyncStorageAdapter : typeof import ( './src/react-native/adapters' ) . createExpoAsyncStorageAdapter ;
24+ export let createExpoSecureStorageAdapter : typeof import ( './src/react-native/adapters' ) . createExpoSecureStorageAdapter ;
25+ export let createMMKVStorageAdapter : typeof import ( './src/react-native/adapters' ) . createMMKVStorageAdapter ;
2826export let useRozeniteStoragePlugin : typeof import ( './src/react-native/useRozeniteStoragePlugin' ) . useRozeniteStoragePlugin ;
2927
3028const isWeb =
@@ -33,8 +31,47 @@ const isDev = process.env.NODE_ENV !== 'production';
3331const isServer = typeof window === 'undefined' ;
3432
3533if ( isDev && ! isWeb && ! isServer ) {
34+ createAsyncStorageAdapter =
35+ require ( './src/react-native/adapters' ) . createAsyncStorageAdapter ;
36+ createExpoAsyncStorageAdapter =
37+ require ( './src/react-native/adapters' ) . createExpoAsyncStorageAdapter ;
38+ createExpoSecureStorageAdapter =
39+ require ( './src/react-native/adapters' ) . createExpoSecureStorageAdapter ;
40+ createMMKVStorageAdapter =
41+ require ( './src/react-native/adapters' ) . createMMKVStorageAdapter ;
3642 useRozeniteStoragePlugin =
3743 require ( './src/react-native/useRozeniteStoragePlugin' ) . useRozeniteStoragePlugin ;
3844} else {
45+ const createNoopStorageAdapter = (
46+ options : { adapterId ?: string ; adapterName ?: string } | undefined ,
47+ defaultId : string ,
48+ defaultName : string
49+ ) => ( {
50+ id : options ?. adapterId ?? defaultId ,
51+ name : options ?. adapterName ?? defaultName ,
52+ storages : [ ] ,
53+ } ) ;
54+
55+ createAsyncStorageAdapter = ( (
56+ options : { adapterId ?: string ; adapterName ?: string }
57+ ) =>
58+ createNoopStorageAdapter (
59+ options ,
60+ 'async-storage' ,
61+ 'AsyncStorage'
62+ ) ) as typeof createAsyncStorageAdapter ;
63+ createExpoAsyncStorageAdapter = createAsyncStorageAdapter ;
64+ createExpoSecureStorageAdapter = ( ( options : {
65+ adapterId ?: string ;
66+ adapterName ?: string ;
67+ } ) =>
68+ createNoopStorageAdapter (
69+ options ,
70+ 'expo-secure-store' ,
71+ 'Expo SecureStore'
72+ ) ) as typeof createExpoSecureStorageAdapter ;
73+ createMMKVStorageAdapter = ( (
74+ options : { adapterId ?: string ; adapterName ?: string }
75+ ) => createNoopStorageAdapter ( options , 'mmkv' , 'MMKV' ) ) as typeof createMMKVStorageAdapter ;
3976 useRozeniteStoragePlugin = ( ) => null ;
4077}
0 commit comments