@authduo/authduo
Version:
Free User-sovereign Authentication for the World
23 lines • 653 B
JavaScript
import { signal } from "@benev/slate";
export function storageSignal(key) {
function load() {
const value = localStorage.getItem(key);
try {
return value ? JSON.parse(value) : null;
}
catch {
return null;
}
}
const readable = signal(load());
function save(value) {
localStorage.setItem(key, JSON.stringify(value));
readable.value = value;
}
function refresh() {
return readable.value = load();
}
window.addEventListener("storage", refresh);
return { signal: readable, save, refresh };
}
//# sourceMappingURL=storage-signal.js.map