UNPKG

@modern-kit/utils

Version:
24 lines (20 loc) 905 B
'use strict'; 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