summaryrefslogtreecommitdiff
path: root/packages/webapi/src/lib/AnimationFrame.ts
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2023-08-24 10:38:14 -0400
committerGravatar GitHub <noreply@github.com> 2023-08-24 10:38:14 -0400
commitf1c610636a7aeed0a272ab2669815135699b413c (patch)
treed7597c3468197559948f9fe2bafe13a8c3d71106 /packages/webapi/src/lib/AnimationFrame.ts
parent608b2d732d762bf1f7f44a82b278caa8853c8c2f (diff)
parentebaccf8c1a2f37eacb6e1957c82fdf7f93b62b08 (diff)
downloadastro-f1c610636a7aeed0a272ab2669815135699b413c.tar.gz
astro-f1c610636a7aeed0a272ab2669815135699b413c.tar.zst
astro-f1c610636a7aeed0a272ab2669815135699b413c.zip
Merge pull request #8188 from withastro/next
Astro 3.0
Diffstat (limited to 'packages/webapi/src/lib/AnimationFrame.ts')
-rw-r--r--packages/webapi/src/lib/AnimationFrame.ts41
1 files changed, 0 insertions, 41 deletions
diff --git a/packages/webapi/src/lib/AnimationFrame.ts b/packages/webapi/src/lib/AnimationFrame.ts
deleted file mode 100644
index e29d3cabf..000000000
--- a/packages/webapi/src/lib/AnimationFrame.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import {
- clearTimeout as nodeClearTimeout,
- setTimeout as nodeSetTimeout,
-} from 'node:timers'
-import * as _ from './utils.js'
-
-const INTERNAL = { tick: 0, pool: new Map() }
-
-export function requestAnimationFrame<
- TArgs extends any[],
- TFunc extends (...args: TArgs) => any
->(callback: TFunc): number {
- if (!INTERNAL.pool.size) {
- nodeSetTimeout(() => {
- const next = _.__performance_now()
-
- for (const func of INTERNAL.pool.values()) {
- func(next)
- }
-
- INTERNAL.pool.clear()
- }, 1000 / 16)
- }
-
- const func = _.__function_bind(callback, undefined)
- const tick = ++INTERNAL.tick
-
- INTERNAL.pool.set(tick, func)
-
- return tick
-}
-
-export function cancelAnimationFrame(requestId: number): void {
- const timeout = INTERNAL.pool.get(requestId)
-
- if (timeout) {
- nodeClearTimeout(timeout)
-
- INTERNAL.pool.delete(requestId)
- }
-}