@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
38 lines (37 loc) • 1.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isWebStorage = exports.isValidStorageWrapper = exports.isLocalStorageAvailable = void 0;
/* eslint-disable no-undef */
function isLocalStorageAvailable() {
var mod = '__SPLITSOFTWARE__';
try {
localStorage.setItem(mod, mod);
localStorage.removeItem(mod);
return true;
}
catch (e) {
return false;
}
}
exports.isLocalStorageAvailable = isLocalStorageAvailable;
function isValidStorageWrapper(wrapper) {
return wrapper !== null &&
typeof wrapper === 'object' &&
typeof wrapper.setItem === 'function' &&
typeof wrapper.getItem === 'function' &&
typeof wrapper.removeItem === 'function';
}
exports.isValidStorageWrapper = isValidStorageWrapper;
function isWebStorage(wrapper) {
if (typeof wrapper.length === 'number') {
try {
wrapper.key(0);
return true;
}
catch (e) {
return false;
}
}
return false;
}
exports.isWebStorage = isWebStorage;
;