2023-07-27 08:31:52 +03:00
|
|
|
/*
|
2024-02-13 17:59:27 +02:00
|
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
2023-07-27 08:31:52 +03:00
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2023-03-09 07:35:38 +02:00
|
|
|
import { type ComponentInternalInstance, getCurrentInstance } from 'vue';
|
|
|
|
|
|
|
|
export function isDebuggerEnabled(id: number): boolean {
|
|
|
|
try {
|
|
|
|
return localStorage.getItem(`DEBUG_${id}`) !== null;
|
|
|
|
} catch {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export function switchDebuggerEnabled(id: number, enabled: boolean): void {
|
|
|
|
if (enabled) {
|
|
|
|
localStorage.setItem(`DEBUG_${id}`, '');
|
|
|
|
} else {
|
|
|
|
localStorage.removeItem(`DEBUG_${id}`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export function stackTraceInstances(): ComponentInternalInstance[] {
|
|
|
|
let instance = getCurrentInstance();
|
|
|
|
const stack: ComponentInternalInstance[] = [];
|
|
|
|
while (instance) {
|
|
|
|
stack.push(instance);
|
|
|
|
instance = instance.parent;
|
|
|
|
}
|
|
|
|
return stack;
|
|
|
|
}
|