summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/use-interval.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/use-interval.ts')
-rw-r--r--packages/frontend/src/scripts/use-interval.ts46
1 files changed, 0 insertions, 46 deletions
diff --git a/packages/frontend/src/scripts/use-interval.ts b/packages/frontend/src/scripts/use-interval.ts
deleted file mode 100644
index b50e78c3cc..0000000000
--- a/packages/frontend/src/scripts/use-interval.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * SPDX-FileCopyrightText: syuilo and misskey-project
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-
-import { onActivated, onDeactivated, onMounted, onUnmounted } from 'vue';
-
-export function useInterval(fn: () => void, interval: number, options: {
- immediate: boolean;
- afterMounted: boolean;
-}): (() => void) | undefined {
- if (Number.isNaN(interval)) return;
-
- let intervalId: number | null = null;
-
- if (options.afterMounted) {
- onMounted(() => {
- if (options.immediate) fn();
- intervalId = window.setInterval(fn, interval);
- });
- } else {
- if (options.immediate) fn();
- intervalId = window.setInterval(fn, interval);
- }
-
- const clear = () => {
- if (intervalId) window.clearInterval(intervalId);
- intervalId = null;
- };
-
- onActivated(() => {
- if (intervalId) return;
- if (options.immediate) fn();
- intervalId = window.setInterval(fn, interval);
- });
-
- onDeactivated(() => {
- clear();
- });
-
- onUnmounted(() => {
- clear();
- });
-
- return clear;
-}