ktongue's picture
download
raw
1.27 kB
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function noop() {}
const localStorageManager = ({
key,
storageWindow
}) => {
if (!storageWindow && typeof window !== 'undefined') {
storageWindow = window;
}
return {
get(defaultValue) {
if (typeof window === 'undefined') {
return undefined;
}
if (!storageWindow) {
return defaultValue;
}
let value;
try {
value = storageWindow.localStorage.getItem(key);
} catch {
// Unsupported
}
return value || defaultValue;
},
set: value => {
if (storageWindow) {
try {
storageWindow.localStorage.setItem(key, value);
} catch {
// Unsupported
}
}
},
subscribe: handler => {
if (!storageWindow) {
return noop;
}
const listener = event => {
const value = event.newValue;
if (event.key === key) {
handler(value);
}
};
storageWindow.addEventListener('storage', listener);
return () => {
storageWindow.removeEventListener('storage', listener);
};
}
};
};
var _default = exports.default = localStorageManager;

Xet Storage Details

Size:
1.27 kB
·
Xet hash:
df1063278dd43e3b6ecfe22d1197efe36d35b7b3d1e9f30359ff47f8e754ea21

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.