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([]);