UNPKG

carbon-components-angular

Version:
39 lines 5.14 kB
import { Injectable } from "@angular/core"; import { Subject, from } from "rxjs"; import * as i0 from "@angular/core"; export class AnimationFrameServiceSingleton { constructor(ngZone) { this.ngZone = ngZone; this.frameSource = new Subject(); this.tick = this.frameSource.asObservable(); this.ngZone.runOutsideAngular(() => { this.animationFrameId = requestAnimationFrame(this.doTick.bind(this)); }); } ngOnDestroy() { cancelAnimationFrame(this.animationFrameId); } doTick(frame) { this.frameSource.next(frame); this.ngZone.runOutsideAngular(() => { requestAnimationFrame(this.doTick.bind(this)); }); } } AnimationFrameServiceSingleton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnimationFrameServiceSingleton, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); AnimationFrameServiceSingleton.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnimationFrameServiceSingleton }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnimationFrameServiceSingleton, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); export class AnimationFrameService { constructor(singleton) { this.singleton = singleton; this.tick = from(this.singleton.tick); } } AnimationFrameService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnimationFrameService, deps: [{ token: AnimationFrameServiceSingleton }], target: i0.ɵɵFactoryTarget.Injectable }); AnimationFrameService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnimationFrameService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnimationFrameService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: AnimationFrameServiceSingleton }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWZyYW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvYW5pbWF0aW9uLWZyYW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFVBQVUsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHakQsTUFBTSxPQUFPLDhCQUE4QjtJQU8xQyxZQUFzQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUoxQixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFLN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRVMsTUFBTSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDbEMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OzJIQXZCVyw4QkFBOEI7K0hBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVOztBQTRCWCxNQUFNLE9BQU8scUJBQXFCO0lBR2pDLFlBQXNCLFNBQXlDO1FBQXpDLGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQzlELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7a0hBTFcscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEluamVjdGFibGUsXG5cdE9uRGVzdHJveSxcblx0Tmdab25lXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tIH0gZnJvbSBcInJ4anNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkZyYW1lU2VydmljZVNpbmdsZXRvbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cdHB1YmxpYyB0aWNrOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cblx0cHJvdGVjdGVkIGZyYW1lU291cmNlID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG5cdHByb3RlY3RlZCBhbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG5cblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIG5nWm9uZTogTmdab25lKSB7XG5cdFx0dGhpcy50aWNrID0gdGhpcy5mcmFtZVNvdXJjZS5hc09ic2VydmFibGUoKTtcblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0XHR0aGlzLmFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5kb1RpY2suYmluZCh0aGlzKSk7XG5cdFx0fSk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHRjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGlvbkZyYW1lSWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGRvVGljayhmcmFtZTogbnVtYmVyKSB7XG5cdFx0dGhpcy5mcmFtZVNvdXJjZS5uZXh0KGZyYW1lKTtcblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0XHRyZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5kb1RpY2suYmluZCh0aGlzKSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbkZyYW1lU2VydmljZSB7XG5cdHB1YmxpYyB0aWNrOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIHNpbmdsZXRvbjogQW5pbWF0aW9uRnJhbWVTZXJ2aWNlU2luZ2xldG9uKSB7XG5cdFx0dGhpcy50aWNrID0gZnJvbSh0aGlzLnNpbmdsZXRvbi50aWNrKTtcblx0fVxufVxuIl19