Class Alot<T>

Type Parameters

  • T = any

Hierarchy

  • AlotProto<T>
    • Alot

Constructors

  • Type Parameters

    • T = any

    Parameters

    • array: T[]
    • Optionalmeta: AlotMeta

    Returns Alot<T>

Properties

array: T[]
isAsync: boolean = false
meta?: AlotMeta
stream: IAlotStream<T>

Methods

  • Returns DistinctByStream<T, string | number>

  • Parameters

    • fn: DistinctByKeyFn<T>

    Returns DistinctByStream<T, string | number>

  • Creates filtered stream. Is Lazy.

    alot(users).filter(x => x.age > 20).take(3).toArray();
    

    Filter is evaluated only N times, to match only 3 items.

    Parameters

    • fn: MethodFilter<T>

    Returns FilterStream<T>

  • Creates async filted stream. Same as filter, but accepts async methods, and returns awaitable stream.

    Parameters

    • fn: MethodFilter<T>

    Returns FilterStreamAsync<T>

  • Parameters

    • Optionalmatcher: ((x: T, i?: number) => boolean)
        • (x, i?): boolean
        • Parameters

          • x: T
          • Optionali: number

          Returns boolean

    Returns T

  • Parameters

    • Optionalmatcher: ((x: T, i?: number) => boolean | Promise<boolean>)
        • (x, i?): boolean | Promise<boolean>
        • Parameters

          • x: T
          • Optionali: number

          Returns boolean | Promise<boolean>

    Returns Promise<T>

  • Parameters

    • Optionalmatcher: ((x: T, i?: number) => boolean)
        • (x, i?): boolean
        • Parameters

          • x: T
          • Optionali: number

          Returns boolean

    Returns T

  • Parameters

    • Optionalmatcher: ((x: T, i?: number) => boolean | Promise<boolean>)
        • (x, i?): boolean | Promise<boolean>
        • Parameters

          • x: T
          • Optionali: number

          Returns boolean | Promise<boolean>

    Returns Promise<T>

  • Parameters

    • fn: ForEachMethod<T>

    Returns ForEachStream<T>

  • Type Parameters

    • TResult

    Parameters

    • fn: ForEachMethod<T>

    Returns ForEachStream<T>

  • Parameters

    • fn: ((stream: this) => any)
        • (stream): any
        • Parameters

          • stream: this

          Returns any

    Returns this

  • Type Parameters

    • TKey = string

    Parameters

    • fn: GroupByKeyFn<T, TKey>

    Returns GroupByStream<T, TKey>

  • Join Full Outer

    Type Parameters

    • TInner = T
    • TResult = T

    Parameters

    • inner: TInner[]
    • getKey: ((x: T) => string | number)
        • (x): string | number
        • Parameters

          Returns string | number

    • getForeignKey: ((x: TInner) => string | number)
        • (x): string | number
        • Parameters

          Returns string | number

    • joinFn: ((a?: T, b?: TInner) => TResult)

    Returns JoinStream<T, TInner, TResult>

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns TOut

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns Promise<TOut>

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns T

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns Promise<T>

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns TOut

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns Promise<TOut>

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns T

  • Type Parameters

    • TOut extends TAggregateNumeric

    Parameters

    • fn: ((x: T, i?: number) => TOut)
        • (x, i?): TOut
        • Parameters

          • x: T
          • Optionali: number

          Returns TOut

    Returns Promise<T>

  • Returns AlotStreamIterationResult<T>

  • Returns Promise<AlotStreamIterationResult<T>>

  • Resets current stream to the beginning.

    Returns this

  • Parameters

    • count: number

    Returns SkipStream<T>

  • Parameters

    • fn: SkipWhileMethod<T>
    • Optionalopts: TSkipWhileMethodOpts

    Returns SkipWhileStream<T>

  • Parameters

    • fn: SkipWhileMethodAsync<T>
    • Optionalopts: TSkipWhileMethodOpts

    Returns SkipWhileStreamAsync<T>

  • Parameters

    • sortByFn: SortMethod<T>
    • Optionaldirection: "desc" | "asc"

    Returns SortByStream<T>

  • Parameters

    • sortByKey: string | keyof T
    • Optionaldirection: "desc" | "asc"

    Returns SortByStream<T>

  • Parameters

    • sortByFn: SortMethod<T>
    • Optionaldirection: "desc" | "asc"

    Returns SortByStream<T>

  • Parameters

    • sortByKey: string | keyof T
    • Optionaldirection: "desc" | "asc"

    Returns SortByStream<T>

  • Parameters

    • getValFn: ((x: T, i?: number) => string)
        • (x, i?): string
        • Parameters

          • x: T
          • Optionali: number

          Returns string

    • Optionaldirection: "desc" | "asc"
    • Rest...params: [locales?: string | string[], options?: CollatorOptions]

    Returns SortByLocalCompareStream<T>

  • Parameters

    • getVal: ((x: T, i?: number) => number)
        • (x, i?): number
        • Parameters

          • x: T
          • Optionali: number

          Returns number

    • OptionalinitialValue: number

    Returns number

  • Parameters

    • getVal: ((x: T, i?: number) => bigint)
        • (x, i?): bigint
        • Parameters

          • x: T
          • Optionali: number

          Returns bigint

    • initialValue: bigint

    Returns bigint

  • Parameters

    • getVal: ((x: T, i?: number) => number | Promise<number>)
        • (x, i?): number | Promise<number>
        • Parameters

          • x: T
          • Optionali: number

          Returns number | Promise<number>

    • OptionalinitialValue: number

    Returns Promise<number>

  • Parameters

    • getVal: ((x: T, i?: number) => bigint)
        • (x, i?): bigint
        • Parameters

          • x: T
          • Optionali: number

          Returns bigint

    Returns bigint

  • Parameters

    • getVal: ((x: T, i?: number) => bigint | Promise<bigint>)
        • (x, i?): bigint | Promise<bigint>
        • Parameters

          • x: T
          • Optionali: number

          Returns bigint | Promise<bigint>

    • OptionalinitialValue: bigint

    Returns Promise<bigint>

  • Parameters

    • count: number

    Returns TakeStream<T>

  • Parameters

    • fn: TakeWhileMethod<T>
    • Optionalopts: TTakeWhileMethodOpts

    Returns TakeWhileStream<T>

  • Parameters

    • fn: TakeWhileMethodAsync<T>
    • Optionalopts: TTakeWhileMethodOpts

    Returns TakeWhileStreamAsync<T>

  • Parameters

    • meta: AlotMetaAsync = ...

    Returns PromiseLike<T[]>

  • Type Parameters

    • TValue

    Parameters

    • obj: {
          [key: string]: TValue;
      }

    Returns Alot<{
        key: string;
        value: TValue;
    }>

  • Parameters

    • start: number
    • endExcluded: number

    Returns Alot<any>