navigation-folders-open.ts
1 import { type Writable, writable } from 'svelte/store'; 2 3 type FolderState = Writable<boolean>; 4 const folderStates = new Map<string, FolderState>(); 5 6 export function subscribeFolderOpenState( 7 id: string, 8 defaultState?: boolean, 9 ): FolderState { 10 let stateById = folderStates.get(id); 11 if (!stateById) { 12 folderStates.set(id, writable(defaultState ?? false)); 13 stateById = folderStates.get(id); 14 } 15 16 return stateById; 17 } 18 19 export function resetFoldersOpenState() { 20 folderStates.clear(); 21 }