diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js')
| -rw-r--r-- | node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js b/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js new file mode 100644 index 0000000..aeb24d1 --- /dev/null +++ b/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.animationFrames = void 0; +var Observable_1 = require("../../Observable"); +var performanceTimestampProvider_1 = require("../../scheduler/performanceTimestampProvider"); +var animationFrameProvider_1 = require("../../scheduler/animationFrameProvider"); +function animationFrames(timestampProvider) { + return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES; +} +exports.animationFrames = animationFrames; +function animationFramesFactory(timestampProvider) { + return new Observable_1.Observable(function (subscriber) { + var provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider; + var start = provider.now(); + var id = 0; + var run = function () { + if (!subscriber.closed) { + id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function (timestamp) { + id = 0; + var now = provider.now(); + subscriber.next({ + timestamp: timestampProvider ? now : timestamp, + elapsed: now - start, + }); + run(); + }); + } + }; + run(); + return function () { + if (id) { + animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id); + } + }; + }); +} +var DEFAULT_ANIMATION_FRAMES = animationFramesFactory(); +//# sourceMappingURL=animationFrames.js.map
\ No newline at end of file |
