UNPKG

@launchdarkly/react-native-client-sdk

Version:
25 lines 1.29 kB
/* eslint-disable @typescript-eslint/no-require-imports */ export default function getAsyncStorage(logger) { try { return require('@react-native-async-storage/async-storage').default; } catch (e) { // Use an in-memory fallback if async-storage is unavailable. // This preserves session-level persistence (flag caching, generated keys, // context index) but data will not survive app restarts. logger.warn('AsyncStorage is not available. Using in-memory storage as a fallback - cached flags, generated keys, and context data will not persist across app restarts. Please see https://launchdarkly.github.io/js-core/packages/sdk/react-native/docs/interfaces/LDOptions.html#storage for more information.'); const memoryStore = new Map(); return { getItem: (key) => { var _a; return Promise.resolve((_a = memoryStore.get(key)) !== null && _a !== void 0 ? _a : null); }, setItem: (key, value) => { memoryStore.set(key, value); return Promise.resolve(); }, removeItem: (key) => { memoryStore.delete(key); return Promise.resolve(); }, }; } } //# sourceMappingURL=ConditionalAsyncStorage.js.map