feat(plugin): extract disclosure utils to src/utils/disclosure.ts

This commit is contained in:
Research Assistant 2026-05-24 16:55:22 +08:00
parent e8dac801b1
commit be858c310e

View file

@ -0,0 +1,21 @@
export function getDisclosureState(
store: Record<string, unknown> | null | undefined,
key: string,
defaultCollapsed: boolean,
): boolean {
if (!store || typeof store !== "object") return !!defaultCollapsed;
if (!Object.prototype.hasOwnProperty.call(store, key)) return !!defaultCollapsed;
return !!store[key];
}
export function toggleDisclosureState(
store: Record<string, unknown> | null | undefined,
key: string,
defaultCollapsed: boolean,
): boolean {
const next = !getDisclosureState(store, key, defaultCollapsed);
if (store && typeof store === "object") {
store[key] = next;
}
return next;
}