@yoroi/swap
Version:
The Swap package of Yoroi SDK
33 lines (31 loc) • 931 B
JavaScript
;
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