Skip to content

flow

Defined in: Composition/flow.ts:41

readonly async: {<A, B>(ab): (a) => Promise<B>; <A, B, C>(ab, bc): (a) => Promise<C>; <A, B, C, D>(ab, bc, cd): (a) => Promise<D>; <A, B, C, D, E>(ab, bc, cd, de): (a) => Promise<E>; <A, B, C, D, E, F>(ab, bc, cd, de, ef): (a) => Promise<F>; <A, B, C, D, E, F, G>(ab, bc, cd, de, ef, fg): (a) => Promise<G>; <A, B, C, D, E, F, G, H>(ab, bc, cd, de, ef, fg, gh): (a) => Promise<H>; <A, B, C, D, E, F, G, H, I>(ab, bc, cd, de, ef, fg, gh, hi): (a) => Promise<I>; <A, B, C, D, E, F, G, H, I, J>(ab, bc, cd, de, ef, fg, gh, hi, ij): (a) => Promise<J>; <A, B, C, D, E, F, G, H, I, J, K>(ab, bc, cd, de, ef, fg, gh, hi, ij, jk): (a) => Promise<K>; }

Defined in: Composition/flow.ts:403

Pipes a value through a sequence of operations, supporting asynchronous transitions at any step.

<A, B>(ab): (a) => Promise<B>

A

B

(a) => B | Promise<B>

(a) => Promise<B>

<A, B, C>(ab, bc): (a) => Promise<C>

A

B

C

(a) => B | Promise<B>

(b) => C | Promise<C>

(a) => Promise<C>

<A, B, C, D>(ab, bc, cd): (a) => Promise<D>

A

B

C

D

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(a) => Promise<D>

<A, B, C, D, E>(ab, bc, cd, de): (a) => Promise<E>

A

B

C

D

E

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(a) => Promise<E>

<A, B, C, D, E, F>(ab, bc, cd, de, ef): (a) => Promise<F>

A

B

C

D

E

F

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(e) => F | Promise<F>

(a) => Promise<F>

<A, B, C, D, E, F, G>(ab, bc, cd, de, ef, fg): (a) => Promise<G>

A

B

C

D

E

F

G

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(e) => F | Promise<F>

(f) => G | Promise<G>

(a) => Promise<G>

<A, B, C, D, E, F, G, H>(ab, bc, cd, de, ef, fg, gh): (a) => Promise<H>

A

B

C

D

E

F

G

H

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(e) => F | Promise<F>

(f) => G | Promise<G>

(g) => H | Promise<H>

(a) => Promise<H>

<A, B, C, D, E, F, G, H, I>(ab, bc, cd, de, ef, fg, gh, hi): (a) => Promise<I>

A

B

C

D

E

F

G

H

I

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(e) => F | Promise<F>

(f) => G | Promise<G>

(g) => H | Promise<H>

(h) => I | Promise<I>

(a) => Promise<I>

<A, B, C, D, E, F, G, H, I, J>(ab, bc, cd, de, ef, fg, gh, hi, ij): (a) => Promise<J>

A

B

C

D

E

F

G

H

I

J

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(e) => F | Promise<F>

(f) => G | Promise<G>

(g) => H | Promise<H>

(h) => I | Promise<I>

(i) => J

(a) => Promise<J>

<A, B, C, D, E, F, G, H, I, J, K>(ab, bc, cd, de, ef, fg, gh, hi, ij, jk): (a) => Promise<K>

A

B

C

D

E

F

G

H

I

J

K

(a) => B | Promise<B>

(b) => C | Promise<C>

(c) => D | Promise<D>

(d) => E | Promise<E>

(e) => F | Promise<F>

(f) => G | Promise<G>

(g) => H | Promise<H>

(h) => I | Promise<I>

(i) => J | Promise<J>

(j) => K | Promise<K>

(a) => Promise<K>


readonly either: <A, B>(predicate, onTrue, onFalse) => (a) => B

Defined in: Composition/flow.ts:382

Executes one of two functions based on a predicate, acting as a functional if-else/ternary helper.

A

B

(a) => boolean

(a) => B

(a) => B

(a) => B


readonly safe: {<A, B>(ab): (a) => B | Extract<A, null | undefined>; <A, B, C>(ab, bc): (a) => C | Extract<A, null | undefined> | Extract<B, null | undefined>; <A, B, C, D>(ab, bc, cd): (a) => D | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined>; <A, B, C, D, E>(ab, bc, cd, de): (a) => E | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined>; <A, B, C, D, E, F>(ab, bc, cd, de, ef): (a) => F | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined>; <A, B, C, D, E, F, G>(ab, bc, cd, de, ef, fg): (a) => G | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined>; <A, B, C, D, E, F, G, H>(ab, bc, cd, de, ef, fg, gh): (a) => H | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined>; <A, B, C, D, E, F, G, H, I>(ab, bc, cd, de, ef, fg, gh, hi): (a) => I | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined>; <A, B, C, D, E, F, G, H, I, J>(ab, bc, cd, de, ef, fg, gh, hi, ij): (a) => J | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined> | Extract<I, null | undefined>; <A, B, C, D, E, F, G, H, I, J, K>(ab, bc, cd, de, ef, fg, gh, hi, ij, jk): (a) => K | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined> | Extract<I, null | undefined> | Extract<J, null | undefined>; }

Defined in: Composition/flow.ts:398

Pipes a value through a sequence of operations, short-circuiting and propagating null or undefined immediately if any intermediate step evaluates to nil.

<A, B>(ab): (a) => B | Extract<A, null | undefined>

A

B

(a) => B

(a) => B | Extract<A, null | undefined>

<A, B, C>(ab, bc): (a) => C | Extract<A, null | undefined> | Extract<B, null | undefined>

A

B

C

(a) => B

(b) => C

(a) => C | Extract<A, null | undefined> | Extract<B, null | undefined>

<A, B, C, D>(ab, bc, cd): (a) => D | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined>

A

B

C

D

(a) => B

(b) => C

(c) => D

(a) => D | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined>

<A, B, C, D, E>(ab, bc, cd, de): (a) => E | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined>

A

B

C

D

E

(a) => B

(b) => C

(c) => D

(d) => E

(a) => E | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined>

<A, B, C, D, E, F>(ab, bc, cd, de, ef): (a) => F | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined>

A

B

C

D

E

F

(a) => B

(b) => C

(c) => D

(d) => E

(e) => F

(a) => F | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined>

<A, B, C, D, E, F, G>(ab, bc, cd, de, ef, fg): (a) => G | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined>

A

B

C

D

E

F

G

(a) => B

(b) => C

(c) => D

(d) => E

(e) => F

(f) => G

(a) => G | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined>

<A, B, C, D, E, F, G, H>(ab, bc, cd, de, ef, fg, gh): (a) => H | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined>

A

B

C

D

E

F

G

H

(a) => B

(b) => C

(c) => D

(d) => E

(e) => F

(f) => G

(g) => H

(a) => H | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined>

<A, B, C, D, E, F, G, H, I>(ab, bc, cd, de, ef, fg, gh, hi): (a) => I | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined>

A

B

C

D

E

F

G

H

I

(a) => B

(b) => C

(c) => D

(d) => E

(e) => F

(f) => G

(g) => H

(h) => I

(a) => I | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined>

<A, B, C, D, E, F, G, H, I, J>(ab, bc, cd, de, ef, fg, gh, hi, ij): (a) => J | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined> | Extract<I, null | undefined>

A

B

C

D

E

F

G

H

I

J

(a) => B

(b) => C

(c) => D

(d) => E

(e) => F

(f) => G

(g) => H

(h) => I

(i) => J

(a) => J | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined> | Extract<I, null | undefined>

<A, B, C, D, E, F, G, H, I, J, K>(ab, bc, cd, de, ef, fg, gh, hi, ij, jk): (a) => K | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined> | Extract<I, null | undefined> | Extract<J, null | undefined>

A

B

C

D

E

F

G

H

I

J

K

(a) => B

(b) => C

(c) => D

(d) => E

(e) => F

(f) => G

(g) => H

(h) => I

(i) => J

(j) => K

(a) => K | Extract<A, null | undefined> | Extract<B, null | undefined> | Extract<C, null | undefined> | Extract<D, null | undefined> | Extract<E, null | undefined> | Extract<F, null | undefined> | Extract<G, null | undefined> | Extract<H, null | undefined> | Extract<I, null | undefined> | Extract<J, null | undefined>


readonly struct: <A, R>(fields) => (a) => R

Defined in: Composition/flow.ts:392

Builds an object by applying a record of field-level transformer functions to the piped input.

A

R extends Record<string, unknown>

{ [K in string | number | symbol]: (a: A) => R[K] }

(a) => R


readonly try: <A, B, C>(f, onError) => (a) => B | C

Defined in: Composition/flow.ts:387

Creates a pipeline step that wraps a throwing function in a try/catch, returning a fallback value if an error occurs.

A

B

C

(a) => B

(error, value) => C

(a) => B | C


readonly unless: <A>(predicate, onFalse) => (a) => A

Defined in: Composition/flow.ts:377

Executes a function on the piped value if a predicate is NOT met, otherwise returns the value unchanged.

A

(a) => boolean

(a) => A

(a) => A


readonly when: <A>(predicate, onTrue) => (a) => A

Defined in: Composition/flow.ts:372

Executes a function on the piped value if a predicate is met, otherwise returns the value unchanged.

A

(a) => boolean

(a) => A

(a) => A