@yoroi/swap
Version:
The Swap package of Yoroi SDK
39 lines (37 loc) • 1.25 kB
JavaScript
;
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