404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.16.124.181: ~ $
import { not } from '../util/not';
import { subscribeTo } from '../util/subscribeTo';
import { filter } from '../operators/filter';
import { ObservableInput } from '../types';
import { Observable } from '../Observable';

/**
 * Splits the source Observable into two, one with values that satisfy a
 * predicate, and another with values that don't satisfy the predicate.
 *
 * <span class="informal">It's like {@link filter}, but returns two Observables:
 * one like the output of {@link filter}, and the other with values that did not
 * pass the condition.</span>
 *
 * ![](partition.png)
 *
 * `partition` outputs an array with two Observables that partition the values
 * from the source Observable through the given `predicate` function. The first
 * Observable in that array emits source values for which the predicate argument
 * returns true. The second Observable emits source values for which the
 * predicate returns false. The first behaves like {@link filter} and the second
 * behaves like {@link filter} with the predicate negated.
 *
 * ## Example
 * Partition a set of numbers into odds and evens observables
 * ```ts
 * import { of, partition } from 'rxjs';
 *
 * const observableValues = of(1, 2, 3, 4, 5, 6);
 * const [evens$, odds$] = partition(observableValues, (value, index) => value % 2 === 0);
 *
 * odds$.subscribe(x => console.log('odds', x));
 * evens$.subscribe(x => console.log('evens', x));
 *
 * // Logs:
 * // odds 1
 * // odds 3
 * // odds 5
 * // evens 2
 * // evens 4
 * // evens 6
 * ```
 *
 * @see {@link filter}
 *
 * @param {function(value: T, index: number): boolean} predicate A function that
 * evaluates each value emitted by the source Observable. If it returns `true`,
 * the value is emitted on the first Observable in the returned array, if
 * `false` the value is emitted on the second Observable in the array. The
 * `index` parameter is the number `i` for the i-th source emission that has
 * happened since the subscription, starting from the number `0`.
 * @param {any} [thisArg] An optional argument to determine the value of `this`
 * in the `predicate` function.
 * @return {[Observable<T>, Observable<T>]} An array with two Observables: one
 * with values that passed the predicate, and another with values that did not
 * pass the predicate.
 */
export function partition<T>(
  source: ObservableInput<T>,
  predicate: (value: T, index: number) => boolean,
  thisArg?: any
): [Observable<T>, Observable<T>] {
  return [
    filter(predicate, thisArg)(new Observable<T>(subscribeTo(source))),
    filter(not(predicate, thisArg) as any)(new Observable<T>(subscribeTo(source)))
  ] as [Observable<T>, Observable<T>];
}

Filemanager

Name Type Size Permission Actions
dom Folder 0755
ConnectableObservable.ts File 5.42 KB 0644
SubscribeOnObservable.ts File 1.59 KB 0644
bindCallback.ts File 15.9 KB 0644
bindNodeCallback.ts File 15.41 KB 0644
combineLatest.ts File 21.95 KB 0644
concat.ts File 9.43 KB 0644
defer.ts File 2.53 KB 0644
empty.ts File 2.21 KB 0644
forkJoin.ts File 9.49 KB 0644
from.ts File 3.06 KB 0644
fromArray.ts File 423 B 0644
fromEvent.ts File 10.38 KB 0644
fromEventPattern.ts File 7.14 KB 0644
fromIterable.ts File 511 B 0644
fromObservable.ts File 485 B 0644
fromPromise.ts File 439 B 0644
generate.ts File 12.55 KB 0644
iif.ts File 3.22 KB 0644
interval.ts File 2.53 KB 0644
merge.ts File 9.94 KB 0644
never.ts File 1.16 KB 0644
of.ts File 4.77 KB 0644
onErrorResumeNext.ts File 3.83 KB 0644
pairs.ts File 3.06 KB 0644
partition.ts File 2.61 KB 0644
race.ts File 5.03 KB 0644
range.ts File 2.28 KB 0644
throwError.ts File 2.2 KB 0644
timer.ts File 3.32 KB 0644
using.ts File 3.04 KB 0644
zip.ts File 12.06 KB 0644