Options
All
  • Public
  • Public/Protected
  • All
Menu

Module "xform/sliding-window"

Index

Functions

Functions

slidingWindow

  • slidingWindow<T>(size: MaybeDeref<number>, partial?: undefined | false | true): Transducer<T, T[]>
  • slidingWindow<T>(size: MaybeDeref<number>, src: Iterable<T>): IterableIterator<T[]>
  • slidingWindow<T>(size: MaybeDeref<number>, partial: boolean, src: Iterable<T>): IterableIterator<T[]>
  • Sliding window transducer, similar to partition(size, 1), but supports initially partially filled windows, if partial is set to true (default). Each emitted window is a shallow copy of the internal accumulation buffer.

    remarks

    If size implements {@link IDeref}, the window size will be re-evaluated for each new input and therefore can be used as mechanism to dynamically adjust the window size.

    example
    [...window(3, range(5))]
    // [ [ 0 ], [ 0, 1 ], [ 0, 1, 2 ], [ 1, 2, 3 ], [ 2, 3, 4 ] ]
    
    [...window(3, false, range(5))]
    // [ [ 0, 1, 2 ], [ 1, 2, 3 ], [ 2, 3, 4 ] ]

    Type parameters

    • T

    Parameters

    • size: MaybeDeref<number>

      -

    • Optional partial: undefined | false | true

      -

    Returns Transducer<T, T[]>

  • Type parameters

    • T

    Parameters

    • size: MaybeDeref<number>
    • src: Iterable<T>

    Returns IterableIterator<T[]>

  • Type parameters

    • T

    Parameters

    • size: MaybeDeref<number>
    • partial: boolean
    • src: Iterable<T>

    Returns IterableIterator<T[]>

Generated using TypeDoc