From adad2d57037644860656e31e81f2b0cbb2525dc4 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 28 Mar 2026 18:16:22 +0000 Subject: [PATCH] No more create promis --- .../sync-client/src/utils/create-promise.ts | 25 ------------------- frontend/sync-client/src/utils/rate-limit.ts | 3 +-- 2 files changed, 1 insertion(+), 27 deletions(-) delete mode 100644 frontend/sync-client/src/utils/create-promise.ts diff --git a/frontend/sync-client/src/utils/create-promise.ts b/frontend/sync-client/src/utils/create-promise.ts deleted file mode 100644 index a49196ee..00000000 --- a/frontend/sync-client/src/utils/create-promise.ts +++ /dev/null @@ -1,25 +0,0 @@ -type ResolveFunction = undefined extends T - ? (value?: T) => unknown - : (value: T) => unknown; - -/** - * A type-safe utility function to create a Promise with resolve and reject functions. - * @returns A tuple containing a Promise, a resolve function, and a reject function. - */ -export function createPromise(): [ - Promise, - ResolveFunction, - (error: unknown) => unknown -] { - let resolve: undefined | ResolveFunction = undefined; - let reject: undefined | ((error: unknown) => unknown) = undefined; - - const creationPromise = new Promise( - (resolve_, reject_) => - // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion - ((resolve = resolve_ as ResolveFunction), (reject = reject_)) - ); - - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return [creationPromise, resolve!, reject!]; -} diff --git a/frontend/sync-client/src/utils/rate-limit.ts b/frontend/sync-client/src/utils/rate-limit.ts index 52cbbce7..54373f50 100644 --- a/frontend/sync-client/src/utils/rate-limit.ts +++ b/frontend/sync-client/src/utils/rate-limit.ts @@ -1,4 +1,3 @@ -import { createPromise } from "./create-promise"; import { sleep } from "./sleep"; /** @@ -45,7 +44,7 @@ export function rateLimit< newArgs = undefined; } - const [promise, resolve] = createPromise(); + const { promise, resolve } = Promise.withResolvers(); running = promise; sleep( typeof minIntervalMs === "function"