@modern-kit/utils
Version:
24 lines (20 loc) • 905 B
JavaScript
;
var deviceIsClient = require('../../device/isClient/index.cjs');
var validatorIsFunction = require('../../validator/isFunction/index.cjs');
var commonParseJSON = require('../../common/parseJSON/index.cjs');
require('../../device/isServer/index.cjs');
function getStorageItem(type, key, initialValue = null) {
if (!deviceIsClient.isClient()) {
throw new Error("Cannot be executed unless it is a client environment.");
}
try {
const initialValueToUse = validatorIsFunction.isFunction(initialValue) ? initialValue() : initialValue;
const storage = window[type];
const storedValue = storage.getItem(key);
return storedValue ? commonParseJSON.parseJSON(storedValue) : initialValueToUse;
} catch (err) {
throw new Error(`Failed to read data for key "${key}" in ${type}: ${err}`);
}
}
exports.getStorageItem = getStorageItem;
//# sourceMappingURL=index.cjs.map