UNPKG

@yoroi/swap

Version:
33 lines (31 loc) 931 B
"use strict"; import { parseSafe } from '@yoroi/common'; import AsyncStorage from '@react-native-async-storage/async-storage'; import { freeze } from 'immer'; const initialDeps = { storage: AsyncStorage }; export function swapStorageMaker(deps = initialDeps) { const { storage } = deps; // TODO: migrate to key-manager helper const settings = { save: newSettings => storage.setItem(swapStorageSettingsKey, JSON.stringify(newSettings)), read: () => storage.getItem(swapStorageSettingsKey).then(value => parseSafe(value) ?? { slippage: 1, routingPreference: 'auto' }), remove: () => storage.removeItem(swapStorageSettingsKey), key: swapStorageSettingsKey }; const clear = async () => { await Promise.all([settings.remove()]); }; return freeze({ settings, clear }, true); } export const swapStorageSettingsKey = 'swap-settings'; //# sourceMappingURL=storage.js.map