Options
All
  • Public
  • Public/Protected
  • All
Menu

Class as representation of a lazy sequence.

This implementation does not use ES2015 generators/iterators, because the ES2015 feature "for (const item of seq)" has a really poor performance.

See: https://jsfiddle.net/vavkuoLp/

License: Public Domain

Type parameters

  • T

Hierarchy

  • Seq

Implements

  • Iterable<T>

Index

Methods

__@iterator

  • __@iterator(): Iterator<T>

count

  • count(): number

filter

  • filter(pred: function): Seq<T>
  • Filters items of a sequence by a given predicate.

    example

    let items = Seq.of(1, 2, 4, 8, 16, 32); let result = items.filter(x => x < 10); // 1, 2, 4, 8

    Parameters

    • pred: function

      The predicate function

        • (item: T, index: number): boolean
        • Parameters

          • item: T
          • index: number

          Returns boolean

    Returns Seq<T>

    Sequence of the filtered items

flatMap

  • flatMap<R>(f: function): Seq<R>
  • Type parameters

    • R

    Parameters

    • f: function
        • (item: T): Seq<R>
        • Parameters

          • item: T

          Returns Seq<R>

    Returns Seq<R>

forEach

  • forEach(action: function): void
  • Parameters

    • action: function
        • (item: T, index: number): void
        • Parameters

          • item: T
          • index: number

          Returns void

    Returns void

force

  • force(): Seq<T>

map

  • map<R>(f: function): Seq<R>
  • Maps each value of the seq

    method

    Seq.map

    Type parameters

    • R

    Parameters

    • f: function

      Mapping function

        • (item: T, index: number): R
        • Parameters

          • item: T
          • index: number

          Returns R

    Returns Seq<R>

    Seq of the mapped values

reduce

  • reduce(f: function, seed?: T): T
  • Parameters

    • f: function
        • (a: T, b: T): T
        • Parameters

          • a: T
          • b: T

          Returns T

    • Optional seed: T

    Returns T

skip

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

skipWhile

  • skipWhile(pred: function): Seq<T>
  • Parameters

    • pred: function
        • (item: T, index: number): boolean
        • Parameters

          • item: T
          • index: number

          Returns boolean

    Returns Seq<T>

take

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

takeWhile

  • takeWhile(pred: function): Seq<T>
  • Parameters

    • pred: function
        • (item: T, index: number): boolean
        • Parameters

          • item: T
          • index: number

          Returns boolean

    Returns Seq<T>

toArray

  • toArray(): T[]

toString

  • toString(): string

Static adjust

  • adjust<T>(it: T | Iterable<T>): Seq<T>
  • Type parameters

    • T

    Parameters

    • it: T | Iterable<T>

    Returns Seq<T>

Static concat

  • concat<T>(...seqs: Iterable<T>[]): Seq<T>
  • Type parameters

    • T

    Parameters

    • Rest ...seqs: Iterable<T>[]

    Returns Seq<T>

Static empty

  • empty(): Seq<any>

Static flatten

  • flatten<T>(seqOfSeqs: Iterable<Iterable<T>>): Seq<T>
  • Type parameters

    • T

    Parameters

    • seqOfSeqs: Iterable<Iterable<T>>

    Returns Seq<T>

Static from

  • from<T>(items: Iterable<T> | function): Seq<T>
  • Type parameters

    • T

    Parameters

    • items: Iterable<T> | function

    Returns Seq<T>

Static isSeqable

  • isSeqable(obj: any): boolean
  • Parameters

    • obj: any

    Returns boolean

Static isSeqableObject

  • isSeqableObject(obj: any): boolean
  • Parameters

    • obj: any

    Returns boolean

Static iterate

  • iterate<T>(initialValues: T[], f: function): Seq<T>
  • Type parameters

    • T

    Parameters

    • initialValues: T[]
    • f: function
        • (...args: T[]): T
        • Parameters

          • Rest ...args: T[]

          Returns T

    Returns Seq<T>

Static of

  • of<T>(...items: T[]): Seq<T>
  • Type parameters

    • T

    Parameters

    • Rest ...items: T[]

    Returns Seq<T>

Static range

  • range(start: number, end?: number, step?: number): Seq<number>
  • Creates a seq of numeric values from a start value (including) to an end value (excluding).

    example

    Seq.range(1, 10) // 1, 2, 3, 4, 5, 6, 7, 8, 9 Seq.range(0, -8, -2) // 0, -2, -4, -6

    method

    Seq.range

    Parameters

    • start: number

      Start value

    • Default value end: number = null

      End value

    • Default value step: number = 1

    Returns Seq<number>

    Seq of iterated values

Static repeat

  • repeat<T>(value: T, n?: number): Seq<T>
  • Type parameters

    • T

    Parameters

    • value: T
    • Default value n: number = Infinity

    Returns Seq<T>

Static toString

  • toString(): String

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method

Generated using TypeDoc