diff options
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts b/node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts deleted file mode 100644 index 610093b..0000000 --- a/node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Subscription } from '../Subscription'; - -interface AnimationFrameProvider { - schedule(callback: FrameRequestCallback): Subscription; - requestAnimationFrame: typeof requestAnimationFrame; - cancelAnimationFrame: typeof cancelAnimationFrame; - delegate: - | { - requestAnimationFrame: typeof requestAnimationFrame; - cancelAnimationFrame: typeof cancelAnimationFrame; - } - | undefined; -} - -export const animationFrameProvider: AnimationFrameProvider = { - // When accessing the delegate, use the variable rather than `this` so that - // the functions can be called without being bound to the provider. - schedule(callback) { - let request = requestAnimationFrame; - let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame; - const { delegate } = animationFrameProvider; - if (delegate) { - request = delegate.requestAnimationFrame; - cancel = delegate.cancelAnimationFrame; - } - const handle = request((timestamp) => { - // Clear the cancel function. The request has been fulfilled, so - // attempting to cancel the request upon unsubscription would be - // pointless. - cancel = undefined; - callback(timestamp); - }); - return new Subscription(() => cancel?.(handle)); - }, - requestAnimationFrame(...args) { - const { delegate } = animationFrameProvider; - return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args); - }, - cancelAnimationFrame(...args) { - const { delegate } = animationFrameProvider; - return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args); - }, - delegate: undefined, -}; |
