Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DCons<T>

Type parameters

  • T

Hierarchy

  • DCons

Implements

  • IClear
  • ICompare<DCons<T>>
  • ICopy<DCons<T>>
  • IEmpty<DCons<T>>
  • IEquiv
  • ILength
  • IReducible<any, T>
  • IRelease
  • ISeqable<T>
  • IStack<T, T, DCons<T>>

Index

Constructors

constructor

  • new DCons(src?: Iterable<T>): DCons

Properties

Protected _length

_length: number = 0

head

head: ConsCell<T> | undefined

tail

tail: ConsCell<T> | undefined

Accessors

length

  • get length(): number

Methods

$reduce

  • $reduce(rfn: ReductionFn<any, T>, acc: any): any
  • {@inheritDoc @thi.ng/transducers#IReducible.$reduce}

    Parameters

    • rfn: ReductionFn<any, T>
    • acc: any

    Returns any

[Symbol.iterator]

  • [Symbol.iterator](): Generator<T, void, unknown>

asHead

asTail

clear

  • clear(): void

compare

  • compare(o: DCons<T>): number

concat

  • concat(...slices: Iterable<T>[]): DCons<T>

cons

copy

cycle

  • cycle(): Generator<T, void, unknown>

drop

  • drop(): undefined | T

empty

Protected ensureIndex

  • ensureIndex(i: number): void

equiv

  • equiv(o: any): boolean

filter

  • filter(pred: Predicate<T>): DCons<T>

find

findWith

  • findWith(fn: Predicate<T>): undefined | ConsCell<T>

first

  • first(): undefined | T

insertAfter

insertAfterNth

  • insertAfterNth(n: number, x: T): DCons<T>

insertBefore

insertBeforeNth

  • insertBeforeNth(n: number, x: T): DCons<T>

insertSorted

  • insertSorted(value: T, cmp?: Comparator<T>): DCons<T>

into

  • into(src: Iterable<T>): void
  • Parameters

    • src: Iterable<T>

    Returns void

map

  • map<R>(fn: Fn<T, R>): DCons<R>

nth

  • nth(n: number, notFound?: T): undefined | T
  • Parameters

    • n: number
    • Optional notFound: T

    Returns undefined | T

nthCell

  • nthCell(n: number): undefined | ConsCell<T>

Protected nthCellUnsafe

peek

  • peek(): undefined | T

pop

  • pop(): undefined | T

push

reduce

  • reduce<R>(rfn: ReductionFn<R, T>, initial: R): R
  • Type parameters

    • R

    Parameters

    • rfn: ReductionFn<R, T>
    • initial: R

    Returns R

release

  • release(): boolean

remove

reverse

  • reverse(): this

rotateLeft

rotateRight

seq

  • seq(start?: number, end?: number): undefined | ISeq<T>
  • {@inheritDoc @thi.ng/api#ISeqable.seq}

    Parameters

    • Default value start: number = 0
    • Default value end: number = this.length

    Returns undefined | ISeq<T>

setHead

setNth

  • setNth(n: number, v: T): this

setTail

shuffle

  • shuffle(iter?: undefined | number, rnd?: IRandom): this
  • Shuffles list by probabilistically moving cells to head or tail positions.

    remarks

    Supports configurable iterations and custom PRNG via {@link @thi.ng/random#IRandom} (default: {@link @thi.ng/random#SYSTEM}).

    Default iterations: ceil(3/2 * log2(n))

    Parameters

    • Optional iter: undefined | number

      -

    • Default value rnd: IRandom = SYSTEM

      -

    Returns this

slice

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

    • Default value from: number = 0
    • Default value to: number = this.length

    Returns DCons<T>

sort

  • sort(cmp?: Comparator<T>): this

splice

  • splice(at: ConsCell<T> | number, del?: number, insert?: Iterable<T>): DCons<T>
  • Parameters

    • at: ConsCell<T> | number
    • Default value del: number = 0
    • Optional insert: Iterable<T>

    Returns DCons<T>

swap

toJSON

  • toJSON(): T[]

toString

  • toString(): any

Generated using TypeDoc