import { onMount } from 'svelte'; import { writable } from 'svelte/store'; const localStore = (key, initial) => { const toString = (value) => JSON.stringify(value, null, 2); const toObject = JSON.parse; if (process.browser) { if (localStorage.getItem(key) === null) { localStorage.setItem(key, toString(initial)); } const saved = toObject(localStorage.getItem(key)); const { subscribe, set, update } = writable(saved); return { subscribe, set: (value) => { // both return and save in the local storage localStorage.setItem(key, toString(value)); return set(value); }, update }; } }; // export const todos = localStore('todo-store', []); console.log('here we are: ' + typeof window); export const todos = writable([]);