@livepeer/core
Version:
Livepeer UI Kit's core vanilla JS library.
41 lines • 969 B
JavaScript
// src/media/storage.ts
var noopStorage = {
getItem: (_key) => "",
setItem: (_key, _value) => {
},
removeItem: (_key) => {
}
};
function createStorage({
storage = noopStorage,
key: prefix = "livepeer"
}) {
return {
getItem: async (key, defaultState = null) => {
try {
const value = await storage.getItem(`${prefix}.${key}`);
return value ? JSON.parse(value) : defaultState;
} catch (error) {
console.warn(error);
return defaultState;
}
},
setItem: async (key, value) => {
if (value === null) {
await storage.removeItem(`${prefix}.${key}`);
} else {
try {
await storage.setItem(`${prefix}.${key}`, JSON.stringify(value));
} catch (err) {
console.error(err);
}
}
},
removeItem: async (key) => storage.removeItem(`${prefix}.${key}`)
};
}
export {
createStorage,
noopStorage
};
//# sourceMappingURL=index.js.map