Skip to content

Commit cdcd4cb

Browse files
committed
fix(storage-plugin): strip from production builds
1 parent abe65ff commit cdcd4cb

1 file changed

Lines changed: 43 additions & 6 deletions

File tree

‎packages/storage-plugin/react-native.ts‎

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
export {
2-
createAsyncStorageAdapter,
3-
createExpoAsyncStorageAdapter,
4-
createExpoSecureStorageAdapter,
5-
createMMKVStorageAdapter,
6-
} from './src/react-native/adapters';
71
export 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;
2826
export let useRozeniteStoragePlugin: typeof import('./src/react-native/useRozeniteStoragePlugin').useRozeniteStoragePlugin;
2927

3028
const isWeb =
@@ -33,8 +31,47 @@ const isDev = process.env.NODE_ENV !== 'production';
3331
const isServer = typeof window === 'undefined';
3432

3533
if (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

Comments
 (0)