Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • T

Hierarchy

Implements

  • AsyncIterable<T>

Index

Methods

[asyncIterator]

  • [asyncIterator](): AsyncIterator<T, any, undefined>
  • Returns AsyncIterator<T, any, undefined>

Static empty

  • empty<T>(): Flu<T>

Static by

  • by<T>(iter: () => AsyncIterable<T>): Flu<T>
  • Type parameters

    • T

    Parameters

    • iter: () => AsyncIterable<T>
        • (): AsyncIterable<T>
        • Returns AsyncIterable<T>

    Returns Flu<T>

Static of

  • of<T>(...iter: T[]): Flu<T>
  • Type parameters

    • T

    Parameters

    • Rest ...iter: T[]

    Returns Flu<T>

Static from

  • from<T>(iter: Iterable<T>): Flu<T>
  • Type parameters

    • T

    Parameters

    • iter: Iterable<T>

    Returns Flu<T>

Static fromIter

  • fromIter<T>(iter: Iterable<T | Promise<T>>): Flu<T>
  • Type parameters

    • T

    Parameters

    • iter: Iterable<T | Promise<T>>

    Returns Flu<T>

Static fromCallback

  • fromCallback<T>(): CbFlu<[T], T, never>
  • fromCallback<A, T, This>(map?: (...args: A) => T): CbFlu<A, T, This>
  • Type parameters

    • T

    Returns CbFlu<[T], T, never>

  • Type parameters

    • A: unknown[]

    • T = A[0]

    • This = never

    Parameters

    • Optional map: (...args: A) => T
        • (...args: A): T
        • Parameters

          • Rest ...args: A

          Returns T

    Returns CbFlu<A, T, This>

Static to

  • to(to: number, step?: number): Flu<number>
  • Create a Flu from a range starting from 0

    Parameters

    • to: number
    • step: number = 1

    Returns Flu<number>

Static range

  • range(from: number, to: number, step?: number): Flu<number>
  • Create a Flu from a range

    Parameters

    • from: number
    • to: number
    • step: number = 1

    Returns Flu<number>

collect

  • collect(): Promise<T[]>

join

  • join(separator?: string): Promise<string>
  • Parameters

    • Optional separator: string

    Returns Promise<string>

count

  • count(): Promise<number>

isEmpty

  • isEmpty(): Promise<boolean>

first

firstO

last

lastO

nth

nthO

  • nthO(n: number): Promise<Option<T>>

stepBy

  • stepBy(step: number): Flu<T>

chain

  • chain(other: AsyncIterable<T> | Iterable<T>, ...more: (AsyncIterable<T> | Iterable<T>)[]): Flu<T>
  • Parameters

    • other: AsyncIterable<T> | Iterable<T>
    • Rest ...more: (AsyncIterable<T> | Iterable<T>)[]

    Returns Flu<T>

zip

  • zip<U>(other: AsyncIterable<U>): Flu<[T, U]>
  • Type parameters

    • U

    Parameters

    • other: AsyncIterable<U>

    Returns Flu<[T, U]>

unzip

  • unzip(): Promise<[(T extends [A, any] | readonly [A, any] ? A : T extends R[] ? R : unknown)[], (T extends [any, B] | readonly [any, B] ? B : T extends R[] ? R : unknown)[]]>
  • Returns Promise<[(T extends [A, any] | readonly [A, any] ? A : T extends R[] ? R : unknown)[], (T extends [any, B] | readonly [any, B] ? B : T extends R[] ? R : unknown)[]]>

map

  • map<R>(f: (v: T) => R): Flu<R>
  • Type parameters

    • R

    Parameters

    • f: (v: T) => R
        • (v: T): R
        • Parameters

          • v: T

          Returns R

    Returns Flu<R>

mapWait

  • mapWait<R>(f: (v: T) => R | PromiseLike<R>): Flu<R>
  • Type parameters

    • R

    Parameters

    • f: (v: T) => R | PromiseLike<R>
        • (v: T): R | PromiseLike<R>
        • Parameters

          • v: T

          Returns R | PromiseLike<R>

    Returns Flu<R>

fill

  • fill<R>(v: R): Flu<R>
  • Type parameters

    • R

    Parameters

    • v: R

    Returns Flu<R>

forEach

  • forEach(f: (v: T) => unknown): Promise<void>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Promise<void>

run

  • run(): Promise<void>

filter

  • filter<S>(f: (v: T) => v is S): Flu<S>
  • filter(f: (v: T) => unknown): Flu<T>
  • Type parameters

    • S

    Parameters

    • f: (v: T) => v is S
        • (v: T): v is S
        • Parameters

          • v: T

          Returns v is S

    Returns Flu<S>

  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

enumerate

  • enumerate(): Flu<[T, number]>

indexed

  • indexed(): Flu<[number, T]>

skip

  • skip(n: number): Flu<T>

take

  • take(n: number): Flu<T>

slice

  • slice(from: number, to: number): Flu<T>
  • Parameters

    • from: number
    • to: number

    Returns Flu<T>

sub

  • sub(from: number, count: number): Flu<T>
  • Parameters

    • from: number
    • count: number

    Returns Flu<T>

scan

  • scan<R>(init: R, f: (acc: R, val: T) => R): Flu<R>
  • Type parameters

    • R

    Parameters

    • init: R
    • f: (acc: R, val: T) => R
        • (acc: R, val: T): R
        • Parameters

          • acc: R
          • val: T

          Returns R

    Returns Flu<R>

scanWait

  • scanWait<R>(init: R | PromiseLike<R>, f: (acc: R, val: T) => R | PromiseLike<R>): Flu<R>
  • Type parameters

    • R

    Parameters

    • init: R | PromiseLike<R>
    • f: (acc: R, val: T) => R | PromiseLike<R>
        • (acc: R, val: T): R | PromiseLike<R>
        • Parameters

          • acc: R
          • val: T

          Returns R | PromiseLike<R>

    Returns Flu<R>

flatMap

  • flatMap<R>(f: (v: T) => AsyncIterable<R> | Iterable<R>): Flu<R>
  • Type parameters

    • R

    Parameters

    • f: (v: T) => AsyncIterable<R> | Iterable<R>
        • (v: T): AsyncIterable<R> | Iterable<R>
        • Parameters

          • v: T

          Returns AsyncIterable<R> | Iterable<R>

    Returns Flu<R>

flatten

  • flatten(): T extends AsyncIterable<R> ? Flu<R> : T extends Iterable<R> ? Flu<R> : never
  • Returns T extends AsyncIterable<R> ? Flu<R> : T extends Iterable<R> ? Flu<R> : never

wait

  • wait(): T extends R | PromiseLike<R> ? Flu<R> : never
  • Returns T extends R | PromiseLike<R> ? Flu<R> : never

also

  • also(f: (v: T) => unknown): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

fold

  • fold<R>(init: R, f: (acc: R, val: T) => R): Promise<R>
  • Type parameters

    • R

    Parameters

    • init: R
    • f: (acc: R, val: T) => R
        • (acc: R, val: T): R
        • Parameters

          • acc: R
          • val: T

          Returns R

    Returns Promise<R>

foldWait

  • foldWait<R>(init: R | PromiseLike<R>, f: (acc: R, val: T) => R | PromiseLike<R>): Promise<R>
  • Type parameters

    • R

    Parameters

    • init: R | PromiseLike<R>
    • f: (acc: R, val: T) => R | PromiseLike<R>
        • (acc: R, val: T): R | PromiseLike<R>
        • Parameters

          • acc: R
          • val: T

          Returns R | PromiseLike<R>

    Returns Promise<R>

reduce

  • reduce(f: (acc: T, val: T) => T): Promise<T>
  • Parameters

    • f: (acc: T, val: T) => T
        • (acc: T, val: T): T
        • Parameters

          • acc: T
          • val: T

          Returns T

    Returns Promise<T>

reduceWait

  • reduceWait(f: (acc: T, val: T) => T | PromiseLike<T>): Promise<T>
  • Parameters

    • f: (acc: T, val: T) => T | PromiseLike<T>
        • (acc: T, val: T): T | PromiseLike<T>
        • Parameters

          • acc: T
          • val: T

          Returns T | PromiseLike<T>

    Returns Promise<T>

all

  • all(f: (v: T) => unknown): Promise<boolean>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Promise<boolean>

any

  • any(f: (v: T) => unknown): Promise<boolean>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Promise<boolean>

find

  • find(f: (v: T) => unknown): Promise<Voidable<T>>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Promise<Voidable<T>>

position

  • position(f: (v: T) => unknown): Promise<number>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Promise<number>

indexOf

  • indexOf(v: T): Promise<number>
  • Parameters

    • v: T

    Returns Promise<number>

indexOfWait

  • indexOfWait(v: T | PromiseLike<T>): Promise<number>
  • Parameters

    • v: T | PromiseLike<T>

    Returns Promise<number>

max

min

merge

  • merge<U>(other: AsyncIterable<U>): Flu<T | U>
  • Type parameters

    • U

    Parameters

    • other: AsyncIterable<U>

    Returns Flu<T | U>

delay

  • delay(ms?: Voidable<number>): Flu<T>
  • delay(f: (v: T) => unknown): Flu<T>
  • delay(ms: Voidable<number>, f: (v: T) => unknown): Flu<T>
  • Parameters

    Returns Flu<T>

  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

  • Parameters

    • ms: Voidable<number>
    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

retry

  • retry(count: number): Flu<T>
  • retry<E>(f: (err: E, count: number) => unknown): Flu<T>
  • retry<E>(cond: number | ((err: E, count: number) => unknown)): Flu<T>
  • Parameters

    • count: number

    Returns Flu<T>

  • Type parameters

    • E = unknown

    Parameters

    • f: (err: E, count: number) => unknown
        • (err: E, count: number): unknown
        • Parameters

          • err: E
          • count: number

          Returns unknown

    Returns Flu<T>

  • Type parameters

    • E = unknown

    Parameters

    • cond: number | ((err: E, count: number) => unknown)

    Returns Flu<T>

timestamp

  • timestamp(): Flu<[value: T, timestamp: number]>

throttle

  • throttle(ms: number): Flu<T>

debounce

  • debounce(ms: number): Flu<T>

audit

  • audit(ms: number): Flu<T>

buffer

  • buffer(n: number, mode?: "count" | "time"): Flu<T[]>
  • Parameters

    • n: number
    • mode: "count" | "time" = 'count'

    Returns Flu<T[]>

break

  • break(): Flu<T>

breakBy

  • breakBy(f: (v: T) => unknown): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

takeIf

  • takeIf(f: (v: T) => unknown): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

startBy

  • startBy(f: (v: T) => unknown): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

skipIf

  • skipIf(f: (v: T) => unknown): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

drop

  • drop(): Flu<void>

forEnd

  • forEnd(): Flu<any>

breakAt

  • breakAt(f: (v: T) => unknown): Flu<T>
  • breakAt(single: PromiseLike<unknown>): Flu<T>
  • breakAt(single: AsyncIterable<unknown>): Flu<T>
  • breakAt(single: PromiseLike<unknown> | AsyncIterable<unknown> | ((v: T) => unknown)): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

  • Parameters

    • single: PromiseLike<unknown>

    Returns Flu<T>

  • Parameters

    • single: AsyncIterable<unknown>

    Returns Flu<T>

  • Parameters

    • single: PromiseLike<unknown> | AsyncIterable<unknown> | ((v: T) => unknown)

    Returns Flu<T>

takeUntil

  • takeUntil(single: PromiseLike<unknown>): Flu<T>
  • takeUntil(single: AsyncIterable<unknown>): Flu<T>
  • takeUntil(single: PromiseLike<unknown> | AsyncIterable<unknown>): Flu<T>
  • Parameters

    • single: PromiseLike<unknown>

    Returns Flu<T>

  • Parameters

    • single: AsyncIterable<unknown>

    Returns Flu<T>

  • Parameters

    • single: PromiseLike<unknown> | AsyncIterable<unknown>

    Returns Flu<T>

startAt

  • startAt(f: (v: T) => unknown): Flu<T>
  • startAt(single: PromiseLike<unknown>): Flu<T>
  • startAt(single: AsyncIterable<unknown>): Flu<T>
  • startAt(single: PromiseLike<unknown> | AsyncIterable<unknown> | ((v: T) => unknown)): Flu<T>
  • Parameters

    • f: (v: T) => unknown
        • (v: T): unknown
        • Parameters

          • v: T

          Returns unknown

    Returns Flu<T>

  • Parameters

    • single: PromiseLike<unknown>

    Returns Flu<T>

  • Parameters

    • single: AsyncIterable<unknown>

    Returns Flu<T>

  • Parameters

    • single: PromiseLike<unknown> | AsyncIterable<unknown> | ((v: T) => unknown)

    Returns Flu<T>

skipUntil

  • skipUntil(single: PromiseLike<unknown>): Flu<T>
  • skipUntil(single: AsyncIterable<unknown>): Flu<T>
  • skipUntil(single: PromiseLike<unknown> | AsyncIterable<unknown>): Flu<T>
  • Parameters

    • single: PromiseLike<unknown>

    Returns Flu<T>

  • Parameters

    • single: AsyncIterable<unknown>

    Returns Flu<T>

  • Parameters

    • single: PromiseLike<unknown> | AsyncIterable<unknown>

    Returns Flu<T>

push

  • push(...items: T[]): Flu<T>

unshift

  • unshift(...items: T[]): Flu<T>

as

  • as<U>(): Flu<U>

groupBy

  • groupBy<K>(keyf: (v: T) => K): Flu<[K, T[]]>
  • groupBy<K, V>(keyf: (v: T) => K, valf: (v: T) => V): Flu<[K, V[]]>
  • Type parameters

    • K

    Parameters

    • keyf: (v: T) => K
        • (v: T): K
        • Parameters

          • v: T

          Returns K

    Returns Flu<[K, T[]]>

  • Type parameters

    • K

    • V

    Parameters

    • keyf: (v: T) => K
        • (v: T): K
        • Parameters

          • v: T

          Returns K

    • valf: (v: T) => V
        • (v: T): V
        • Parameters

          • v: T

          Returns V

    Returns Flu<[K, V[]]>

toArray

  • toArray(): Promise<T[]>

toSet

  • toSet(): Promise<Set<T>>

toMap

  • toMap(): Promise<T extends [K, V] ? Map<K, V> : never>
  • Returns Promise<T extends [K, V] ? Map<K, V> : never>

Constructors

constructor

  • new Flu<T>(iter: () => AsyncIterable<T>): Flu<T>
  • Type parameters

    • T

    Parameters

    • iter: () => AsyncIterable<T>
        • (): AsyncIterable<T>
        • Returns AsyncIterable<T>

    Returns Flu<T>

Properties

Readonly iter

iter: () => AsyncIterable<T>

Type declaration

    • (): AsyncIterable<T>
    • Returns AsyncIterable<T>

Generated using TypeDoc