UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

16 lines 2.36 kB
import { Observable } from 'rxjs'; /** * This is a simple RxJS operator to allow us to avoid the * "expression has changed after it was checked issue" * by making the subscription asynchronous. We could just use a * delay operator but this uses a timeout which is significantly * slower than using requestAnimationFrame. */ export const tick = () => (source) => new Observable((subscriber) => { source.subscribe({ next(value) { requestAnimationFrame(() => subscriber.next(value)); }, error(err) { subscriber.error(err); }, complete() { subscriber.complete(); }, }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGljay5vcGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21tb24vb3BlcmF0b3JzL3RpY2sub3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsR0FBTSxFQUFFLENBQUMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO0lBQ3JGLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDYixJQUFJLENBQUMsS0FBUSxJQUFJLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsS0FBSyxDQUFDLEdBQVksSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxRQUFRLEtBQUssVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN4QyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUaGlzIGlzIGEgc2ltcGxlIFJ4SlMgb3BlcmF0b3IgdG8gYWxsb3cgdXMgdG8gYXZvaWQgdGhlXG4gKiBcImV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWQgaXNzdWVcIlxuICogYnkgbWFraW5nIHRoZSBzdWJzY3JpcHRpb24gYXN5bmNocm9ub3VzLiBXZSBjb3VsZCBqdXN0IHVzZSBhXG4gKiBkZWxheSBvcGVyYXRvciBidXQgdGhpcyB1c2VzIGEgdGltZW91dCB3aGljaCBpcyBzaWduaWZpY2FudGx5XG4gKiBzbG93ZXIgdGhhbiB1c2luZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuXG4gKi9cbmV4cG9ydCBjb25zdCB0aWNrID0gPFQ+KCkgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gbmV3IE9ic2VydmFibGU8VD4oKHN1YnNjcmliZXIpID0+IHtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dCh2YWx1ZTogVCkgeyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gc3Vic2NyaWJlci5uZXh0KHZhbHVlKSk7IH0sXG4gICAgICAgIGVycm9yKGVycjogdW5rbm93bikgeyBzdWJzY3JpYmVyLmVycm9yKGVycik7IH0sXG4gICAgICAgIGNvbXBsZXRlKCkgeyBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7IH0sXG4gICAgfSk7XG59KTsiXX0=