@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
32 lines (31 loc) • 784 B
JavaScript
/* eslint-disable no-undef */
export function isLocalStorageAvailable() {
var mod = '__SPLITSOFTWARE__';
try {
localStorage.setItem(mod, mod);
localStorage.removeItem(mod);
return true;
}
catch (e) {
return false;
}
}
export function isValidStorageWrapper(wrapper) {
return wrapper !== null &&
typeof wrapper === 'object' &&
typeof wrapper.setItem === 'function' &&
typeof wrapper.getItem === 'function' &&
typeof wrapper.removeItem === 'function';
}
export function isWebStorage(wrapper) {
if (typeof wrapper.length === 'number') {
try {
wrapper.key(0);
return true;
}
catch (e) {
return false;
}
}
return false;
}