Skip to content

Instantly share code, notes, and snippets.

View cartant's full-sized avatar

Nicholas Jamieson cartant

View GitHub Profile
import { Observable } from "rxjs";
import { switchMap, takeUntil } from "rxjs/operators";
declare const a: Observable<number>;
declare const b: Observable<number>;
declare const notifier: Observable<any>;
const c = a.pipe(
takeUntil(notifier),
switchMap(_ => b)
import { Observable } from "rxjs";
import { combineLatest, takeUntil } from "rxjs/operators";
declare const a: Observable<number>;
declare const b: Observable<number>;
declare const notifier: Observable<any>;
const c = a.pipe(
takeUntil(notifier),
combineLatest(b)
import { combineLatest, Observable } from "rxjs";
import { takeUntil } from "rxjs/operators";
declare const a: Observable<number>;
declare const b: Observable<number>;
declare const notifier: Observable<any>;
const c = a.pipe(
takeUntil(notifier),
o => combineLatest(o, b)
import {
MonoTypeOperatorFunction,
Observable,
UnaryFunction
} from "rxjs";
declare module 'rxjs/internal/util/pipe' {
export function pipe<T>(
...operators: MonoTypeOperatorFunction<T>[]
): <R extends T>(source: Observable<R>) => Observable<R>;
import { Observable } from "rxjs";
declare const auditFrame: <T>(source: Observable<T>) => Observable<T>;
import { animationFrameScheduler } from "rxjs";
import { auditTime } from "rxjs/operators";
export const auditFrame = auditTime(0, animationFrameScheduler);
import { animationFrameScheduler, pipe } from "rxjs";
import { auditTime } from "rxjs/operators";
export const auditFrame = pipe(
auditTime(0, animationFrameScheduler)
);
import { pipe } from "rxjs";
import { debounceTime, distinctUntilChanged } from "rxjs/operators";
export const debounceInput = pipe(
debounceTime<string>(400),
distinctUntilChanged()
);
import { ConnectableObservable, Observable, Observer, Subject, Subscription, zip } from "rxjs";
import { first, map, publish } from "rxjs/operators";
export class NotificationQueue extends Observable<number> {
private _count = 0;
private _indices: Subject<number>;
private _notifications: ConnectableObservable<number>;
constructor(notifier: Observable<any>) {
const notifier = new Subject<any>();
const fork = pages<Repo>("https://api.github.com/users/cartant/starred", notifier).pipe(
concatMap((repos, index) => concat(
from(repos).pipe({
concatMap(repo => ajax.post(forks_url)),
ignoreElements()
})),
of(index)
),
tap(notifier)