@livechat/isomorphic-storage
Version:
Isomorphic storage with Promise API - using localStorage on web & AsyncStorage on React Native.
32 lines (26 loc) • 1.01 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('memory-web-storage')) :
typeof define === 'function' && define.amd ? define(['memory-web-storage'], factory) :
(global.IsomorphicStorage = factory(global.memoryStorage));
}(this, (function (memoryStorage) { 'use strict';
var memoryStorage__default = 'default' in memoryStorage ? memoryStorage['default'] : memoryStorage;
var storage = memoryStorage.testStorageSupport() ? window.localStorage : memoryStorage__default;
var index = {
setItem: function setItem(key, data) {
return new Promise(function (resolve) {
return resolve(storage.setItem(key, data));
});
},
getItem: function getItem(key) {
return new Promise(function (resolve) {
return resolve(storage.getItem(key));
});
},
removeItem: function removeItem(key) {
return new Promise(function (resolve) {
return resolve(storage.removeItem(key));
});
}
};
return index;
})));