CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-rx

Library for composing asynchronous and event-based operations in JavaScript using Observable sequences and fluent query operators

Pending
Overview
Eval results
Files

observable-combination.mddocs/

Observable Combination

Operators for combining multiple observable sequences including merge, zip, combineLatest, and concat operations.

Capabilities

Merge (Static)

Merges multiple observable sequences into one sequence.

/**
 * Merges multiple observable sequences into one sequence
 * @param {...Observable} sources - Observable sequences to merge
 * @returns {Observable} Merged observable sequence
 */
Rx.Observable.merge = function(...sources);

/**
 * Merges multiple observables with delayed error propagation
 * @param {...Observable} sources - Observable sequences to merge
 * @returns {Observable} Merged observable sequence with delayed errors
 */
Rx.Observable.mergeDelayError = function(...sources);

Merge (Instance)

Merges with another observable sequence.

/**
 * Merges with another observable sequence
 * @param {Observable} other - Observable sequence to merge with
 * @returns {Observable} Merged observable sequence
 */
observable.merge = function(other);

Concat (Static)

Concatenates multiple observable sequences.

/**
 * Concatenates multiple observable sequences sequentially
 * @param {...Observable} sources - Observable sequences to concatenate
 * @returns {Observable} Concatenated observable sequence
 */
Rx.Observable.concat = function(...sources);

Zip (Static)

Combines multiple observables using a result selector function.

/**
 * Combines multiple observables into one by merging their values in pairs
 * @param {...Observable} sources - Observable sequences to zip
 * @param {function} [resultSelector] - Function to combine corresponding values
 * @returns {Observable} Zipped observable sequence
 */
Rx.Observable.zip = function(...sources, resultSelector);

Usage Example:

var obs1 = Rx.Observable.fromArray([1, 2, 3]);
var obs2 = Rx.Observable.fromArray(['a', 'b', 'c']);
var zipped = Rx.Observable.zip(obs1, obs2, function(x, y) {
  return x + y;
});
// Emits: '1a', '2b', '3c'

Combine Latest (Static)

Combines the latest values from multiple observables.

/**
 * Combines the latest values from multiple observables
 * @param {...Observable} sources - Observable sequences to combine
 * @param {function} [resultSelector] - Function to combine latest values
 * @returns {Observable} Combined observable sequence
 */
Rx.Observable.combineLatest = function(...sources, resultSelector);

Usage Example:

var obs1 = Rx.Observable.interval(1000);
var obs2 = Rx.Observable.interval(1500);
var combined = Rx.Observable.combineLatest(obs1, obs2, function(x, y) {
  return {x: x, y: y};
});
// Emits latest combination whenever either observable emits

With Latest From

Combines source with latest values from other observables.

/**
 * Combines source with latest values from other observables
 * @param {...Observable} sources - Observable sequences to get latest values from
 * @param {function} resultSelector - Function to combine values
 * @returns {Observable} Combined observable sequence
 */
observable.withLatestFrom = function(...sources, resultSelector);

Amb/Ambiguous (Static)

Returns the first observable to emit a value.

/**
 * Returns the first observable sequence to emit a value
 * @param {...Observable} sources - Observable sequences to choose from
 * @returns {Observable} First observable sequence to emit
 */
Rx.Observable.amb = function(...sources);

Switch

Switches to the latest inner observable.

/**
 * Switches to the latest inner observable sequence
 * @returns {Observable} Observable sequence switching to latest inner observable
 */
observable.switch = function();

Start With

Prepends values to the observable sequence.

/**
 * Prepends values to the observable sequence
 * @param {...*} values - Values to prepend
 * @returns {Observable} Observable sequence with prepended values
 */
observable.startWith = function(...values);

Install with Tessl CLI

npx tessl i tessl/npm-rx

docs

async-operations.md

disposables.md

index.md

observable-aggregation.md

observable-combination.md

observable-creation.md

observable-filtering.md

observable-transformation.md

schedulers.md

subjects.md

testing.md

time-operations.md

tile.json