diff --git a/src/runtime/internal/loop.js b/src/runtime/internal/loop.js index e476879951..938ab1093c 100644 --- a/src/runtime/internal/loop.js +++ b/src/runtime/internal/loop.js @@ -4,21 +4,20 @@ const tasks = new Set(); * @returns {void} */ function run_tasks(now) { - tasks.forEach((task) => { - if (!task.c(now)) { - tasks.delete(task); - task.f(); - } - }); - if (tasks.size !== 0) - raf(run_tasks); + tasks.forEach((task) => { + if (!task.c(now)) { + tasks.delete(task); + task.f(); + } + }); + if (tasks.size !== 0) raf(run_tasks); } /** * For testing purposes only! * @returns {void} */ export function clear_loops() { - tasks.clear(); + tasks.clear(); } /** * Creates a new task that runs on each raf frame @@ -27,24 +26,22 @@ export function clear_loops() { * @returns {import("/Users/elliottjohnson/dev/sveltejs/svelte/loop.ts-to-jsdoc").Task} */ export function loop(callback) { - /** @type {TaskEntry} */ - let task; - if (tasks.size === 0) - raf(run_tasks); - return { - promise: new Promise((fulfill) => { - tasks.add((task = { c: callback, f: fulfill })); - }), - abort() { - tasks.delete(task); - } - }; + /** @type {TaskEntry} */ + let task; + if (tasks.size === 0) raf(run_tasks); + return { + promise: new Promise((fulfill) => { + tasks.add((task = { c: callback, f: fulfill })); + }), + abort() { + tasks.delete(task); + } + }; } - /** @typedef {(now: number) => boolean | void} TaskCallback */ /** @typedef {{ c: TaskCallback; f: () => void }} TaskEntry */ /** @typedef {Object} Task - * @property {Promise} promise - */ \ No newline at end of file + * @property {Promise} promise + */