import { Observable } from '../observable.js' export function take(this: Observable, n: number): Observable { return new Observable(({next, error, complete}) => { let i = n return this.subscribe({ next: val => { if (--i < 0) complete() else next(val) }, error, complete, }) }) } Observable.prototype.take = take declare module '../observable.js' { export interface Observable { take: typeof take } }