UNPKG

node-storage-polyfill

Version:
37 lines 2.55 kB
class Storage { _length(storageMap) { return storageMap.size; } clear(storageMap) { storageMap.clear(); return storageMap; } getItem(key, storageMap) { const stringKey = String(key); if (storageMap.has(key)) { return String(storageMap.get(stringKey)); } return null; } key(index, storageMap) { if (index === undefined) { // This is the TypeError implemented in Chrome, Firefox throws "Storage.key: At least 1 // argument required, but only 0 passed". throw new TypeError("Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present."); } const keys = [...storageMap.keys()]; if (index >= keys.length) { return null; } return keys[index]; } removeItem(key, storageMap) { storageMap.delete(key); return storageMap; } setItem(key, value, storageMap) { return storageMap.set(String(key), String(value)); } } export default Storage; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTztJQUdYLE9BQU8sQ0FBQyxVQUF5QjtRQUMvQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUF5QjtRQUM3QixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFXLEVBQUUsVUFBeUI7UUFDNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTlCLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDMUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYSxFQUFFLFVBQXlCO1FBQzFDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2Qix1RkFBdUY7WUFDdkYseUNBQXlDO1lBQ3pDLE1BQU0sSUFBSSxTQUFTLENBQ2pCLGdGQUFnRixDQUNqRixDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFcEMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXLEVBQUUsVUFBeUI7UUFDL0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsVUFBeUI7UUFDM0QsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLE9BQU8sQ0FBQyJ9