UNPKG

@yoroi/swap

Version:
39 lines (37 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.swapStorageMaker = swapStorageMaker; exports.swapStorageSettingsKey = void 0; var _common = require("@yoroi/common"); var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage")); var _immer = require("immer"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const initialDeps = { storage: _asyncStorage.default }; 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 => (0, _common.parseSafe)(value) ?? { slippage: 1, routingPreference: 'auto' }), remove: () => storage.removeItem(swapStorageSettingsKey), key: swapStorageSettingsKey }; const clear = async () => { await Promise.all([settings.remove()]); }; return (0, _immer.freeze)({ settings, clear }, true); } const swapStorageSettingsKey = exports.swapStorageSettingsKey = 'swap-settings'; //# sourceMappingURL=storage.js.map