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