Skip to content

@epikodelabs/streamix


@epikodelabs/streamix / src/public-api / compose

Function: compose() ​

Call Signature ​

compose<T>(): Operator<T, T>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:55

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T = any

Returns ​

Operator<T, T>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A>(op1): Operator<T, A>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:56

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

Parameters ​

op1 ​

Operator<T, A>

Returns ​

Operator<T, A>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B>(op1, op2): Operator<T, B>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:57

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

Returns ​

Operator<T, B>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C>(op1, op2, op3): Operator<T, C>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:58

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

Returns ​

Operator<T, C>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D>(op1, op2, op3, op4): Operator<T, D>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:59

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

Returns ​

Operator<T, D>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E>(op1, op2, op3, op4, op5): Operator<T, E>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:60

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

Returns ​

Operator<T, E>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F>(op1, op2, op3, op4, op5, op6): Operator<T, F>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:61

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

Returns ​

Operator<T, F>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G>(op1, op2, op3, op4, op5, op6, op7): Operator<T, G>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:62

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

Returns ​

Operator<T, G>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H>(op1, op2, op3, op4, op5, op6, op7, op8): Operator<T, H>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:63

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

Returns ​

Operator<T, H>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I>(op1, op2, op3, op4, op5, op6, op7, op8, op9): Operator<T, I>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:64

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

Returns ​

Operator<T, I>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10): Operator<T, J>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:65

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

Returns ​

Operator<T, J>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J, K>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11): Operator<T, K>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:66

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

K ​

K

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

op11 ​

Operator<J, K>

Returns ​

Operator<T, K>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J, K, L>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11, op12): Operator<T, L>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:67

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

K ​

K

L ​

L

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

op11 ​

Operator<J, K>

op12 ​

Operator<K, L>

Returns ​

Operator<T, L>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J, K, L, M>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11, op12, op13): Operator<T, M>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:68

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

K ​

K

L ​

L

M ​

M

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

op11 ​

Operator<J, K>

op12 ​

Operator<K, L>

op13 ​

Operator<L, M>

Returns ​

Operator<T, M>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J, K, L, M, N>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11, op12, op13, op14): Operator<T, N>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:69

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

K ​

K

L ​

L

M ​

M

N ​

N

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

op11 ​

Operator<J, K>

op12 ​

Operator<K, L>

op13 ​

Operator<L, M>

op14 ​

Operator<M, N>

Returns ​

Operator<T, N>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11, op12, op13, op14, op15): Operator<T, O>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:70

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

K ​

K

L ​

L

M ​

M

N ​

N

O ​

O

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

op11 ​

Operator<J, K>

op12 ​

Operator<K, L>

op13 ​

Operator<L, M>

op14 ​

Operator<M, N>

op15 ​

Operator<N, O>

Returns ​

Operator<T, O>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Call Signature ​

compose<T, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11, op12, op13, op14, op15, op16): Operator<T, P>

Defined in: projects/libraries/streamix/src/lib/atoms/compose.ts:71

Composes multiple operators into a single reusable operator.

The input type is inferred from the first operator. Up to 16 operators are fully typed via overloads; beyond that the generic fallback is used.

Type Parameters ​

T ​

T

A ​

A

B ​

B

C ​

C

D ​

D

E ​

E

F ​

F

G ​

G

H ​

H

I ​

I

J ​

J

K ​

K

L ​

L

M ​

M

N ​

N

O ​

O

P ​

P

Parameters ​

op1 ​

Operator<T, A>

op2 ​

Operator<A, B>

op3 ​

Operator<B, C>

op4 ​

Operator<C, D>

op5 ​

Operator<D, E>

op6 ​

Operator<E, F>

op7 ​

Operator<F, G>

op8 ​

Operator<G, H>

op9 ​

Operator<H, I>

op10 ​

Operator<I, J>

op11 ​

Operator<J, K>

op12 ​

Operator<K, L>

op13 ​

Operator<L, M>

op14 ​

Operator<M, N>

op15 ​

Operator<N, O>

op16 ​

Operator<O, P>

Returns ​

Operator<T, P>

A single Operator that runs the composed chain.

Example ​

ts
const searchPipeline = compose(
  debounce(300),
  distinctUntilChanged(),
  switchMap(search)
);

pipe(query, searchPipeline);

Released under the MIT License.