common-stuff
    Preparing search index...

    Function flatMap

    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • V
      • R

      Parameters

      • input: V[]
      • mapper: (value: V, index: number) => Promise<Iterable<R, any, any>>

      Returns Promise<R[]>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • V
      • R

      Parameters

      • input: V[]
      • mapper: (value: V, index: number) => Iterable<R>

      Returns R[]

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • K
      • V
      • K2
      • V2

      Parameters

      • input: Map<K, V>
      • mapper: (value: [K, V], index: number) => Promise<Iterable<[K2, V2], any, any>>

      Returns Promise<Map<K2, V2>>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • K
      • V
      • K2
      • V2

      Parameters

      • input: Map<K, V>
      • mapper: (value: [K, V], index: number) => Iterable<[K2, V2]>

      Returns Map<K2, V2>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • T
      • R

      Parameters

      • input: Set<T>
      • mapper: (value: T, index: number) => Promise<Iterable<R, any, any>>

      Returns Promise<Set<R>>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • T
      • R

      Parameters

      • input: Set<T>
      • mapper: (value: T, index: number) => Iterable<R>

      Returns Set<R>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • T
      • R

      Parameters

      • input: AsyncIterable<T>
      • mapper: (
            value: T,
            index: number,
        ) =>
            | AsyncIterable<R, any, any>
            | Iterable<R, any, any>
            | Promise<AsyncIterable<R, any, any> | Iterable<R, any, any>>

      Returns AsyncIterable<R>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • T
      • R

      Parameters

      • input: Iterable<T>
      • mapper: (value: T, index: number) => Promise<Iterable<R, any, any>>

      Returns Promise<Iterable<R, any, any>>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • T
      • R

      Parameters

      • input: Iterable<T>
      • mapper: (value: T, index: number) => Iterable<R>

      Returns Iterable<R>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • K extends PropertyKey
      • V
      • K2 extends PropertyKey
      • V2

      Parameters

      • input: Record<K, V>
      • mapper: (value: [K, V], index: number) => Iterable<[K2, V2]>

      Returns Record<K2, V2>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]
    • Maps each element to an iterable, then flattens one level — preserving the original container type.

      When the mapper returns a Promise, the function returns a Promise of the resulting container.

      Type Parameters

      • K extends PropertyKey
      • V
      • K2 extends PropertyKey
      • V2

      Parameters

      • input: Record<K, V>
      • mapper: (value: [K, V], index: number) => Promise<Iterable<[K2, V2], any, any>>

      Returns Promise<Record<K2, V2>>

      flatMap([1, 2, 3], v => [v, v]) // [1, 1, 2, 2, 3, 3]
      await flatMap([1, 2], async v => [v, v + 10]) // [1, 11, 2, 12]