Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Collection<K, V>

An utility data structure used within the Discordoo.

Type Parameters

  • K = any

  • V = any

Hierarchy

  • Map<K, V>
    • Collection

Index

Constructors

  • new Collection<K, V>(iterable: Iterable<readonly [K, V]>): Collection<K, V>
  • new Collection<K, V>(entries?: null | readonly (readonly [K, V])[]): Collection<K, V>
  • The Collection() constructor creates Collection objects.

    Type Parameters

    • K = any

    • V = any

    Parameters

    Returns Collection<K, V>

  • Type Parameters

    • K = any

    • V = any

    Parameters

    • Optional entries: null | readonly (readonly [K, V])[]

    Returns Collection<K, V>

Properties

[toStringTag]: string
[species]: MapConstructor

Accessors

  • Returns Function

  • get empty(): boolean
  • Checks if the collection is empty or not.

    Returns boolean

  • get size(): number
  • Gets the amount of elements in this collection.

    Returns number

Methods

  • Returns an iterable of entries in the map.

    Returns IterableIterator<[K, V]>

  • clear(): void
  • Removes all elements from the collection.

    Returns void

  • Creates a new collection based on this one.

    Returns Collection<K, V>

  • Merges the specified collections into one and returns a new collection.

    Parameters

    • collections: Collection<K, V>[]

      collections to merge

    Returns Collection<K, V>

  • delete(key: K): boolean
  • Removes element from the collection.

    Parameters

    • key: K

      key of element

    Returns boolean

  • Returns an iterable of key, value pairs for every entry in the map.

    Returns IterableIterator<[K, V]>

  • Checks if two collections are equal.

    Parameters

    Returns boolean

  • every(predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)): boolean
  • Checks if all values satisfy the condition.

    Parameters

    • predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): boolean
        • Parameters

          Returns boolean

    Returns boolean

  • Filters out the elements which don't meet requirements and returns array (default).

    Type Parameters

    • T extends [K, V][] = [K, V][]

    Parameters

    • filter: ((value: V, key: K, collection: Collection<K, V>) => boolean)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): boolean
        • Parameters

          Returns boolean

    • Optional options: CollectionFilterOptions

      filter options

    Returns [K, V][]

    • array of [ Key, Value ]
  • Filters out the elements which don't meet requirements and returns collection (return collection option is specified).

    Type Parameters

    Parameters

    Returns Collection<K, V>

    • collection Key -> Value
  • Filters out the elements which don't meet requirements and returns map (return map option is specified).

    Type Parameters

    • T extends Map<K, V, T> = Map<K, V>

    Parameters

    Returns Map<K, V>

    • map Key -> Value
  • find(predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)): undefined | V
  • Searches for the element in collection and returns it.

    Parameters

    • predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): boolean
        • Parameters

          Returns boolean

    Returns undefined | V

  • findKey(predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)): undefined | K
  • Searches for the key in collection and returns it.

    Parameters

    • predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): boolean
        • Parameters

          Returns boolean

    Returns undefined | K

  • first(): undefined | V
  • first(amount: number): V[]
  • Returns first collection value if it exists.

    Returns undefined | V

  • Returns first N collection values.

    Parameters

    • amount: number

    Returns V[]

  • firstKey(): undefined | K
  • firstKey(amount: number): K[]
  • Returns first collection key if it exists.

    Returns undefined | K

  • Returns first N collection keys.

    Parameters

    • amount: number

    Returns K[]

  • forEach(predicate: ((value: V, key: K, collection: Collection<K, V>) => any)): void
  • Executes a function on each of elements of collection.

    Parameters

    • predicate: ((value: V, key: K, collection: Collection<K, V>) => any)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): any
        • Parameters

          Returns any

    Returns void

  • get(key: K): undefined | V
  • Gets element from collection.

    Parameters

    • key: K

      key of element

    Returns undefined | V

  • has(key: K): boolean
  • Checks if an element exists in the collection.

    Parameters

    • key: K

      key of element

    Returns boolean

  • Returns a collection chunked into several collections.

    Parameters

    • Optional size: number

      chunk size

    Returns Collection<K, V>[]

  • Returns an iterable of keys in the map

    Returns IterableIterator<K>

  • last(): undefined | V
  • last(amount: number): V[]
  • Returns last collection value if it exists.

    Returns undefined | V

  • Returns last N collection values.

    Parameters

    • amount: number

    Returns V[]

  • lastKey(): undefined | K
  • lastKey(amount: number): K[]
  • Returns last collection key if it exists.

    Returns undefined | K

  • Returns first N collection keys.

    Parameters

    • amount: number

    Returns K[]

  • map<T>(predicate: ((value: V, key: K, collection: Collection<K, V>) => T)): T[]
  • Maps each item to another value into an array.

    Type Parameters

    • T = any

    Parameters

    • predicate: ((value: V, key: K, collection: Collection<K, V>) => T)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): T
        • Parameters

          Returns T

    Returns T[]

  • Gets a random value from collection.

    Returns V

    • value
  • Gets a random values from collection.

    Parameters

    • amount: number

      amount of values to get

    Returns V[]

    • array of values
  • Gets a random values from collection (returnType values option is specified).

    Type Parameters

    • T extends V[]

    Parameters

    Returns V[]

    • array of values
  • Gets a random keys from collection (returnType keys option is specified).

    Type Parameters

    • T extends K[]

    Parameters

    Returns K[]

    • array of keys
  • Gets a random blocks from collection (returnType blocks option is specified).

    Type Parameters

    • T extends [K, V][]

    Parameters

    Returns [K, V][]

    • array of blocks [ Key, Value ]
  • Gets a random value from collection (returnType values option is specified, amount not specified).

    Type Parameters

    • T

    Parameters

    Returns V

    • value
  • Gets a random key from collection (returnType keys option is specified, amount not specified).

    Type Parameters

    • T

    Parameters

    Returns K

    • key
  • Gets a random block from collection (returnType block option is specified, amount not specified).

    Type Parameters

    • T extends [K, V]

    Parameters

    Returns [K, V]

    • block [ Key, Value ]
  • reduce<T>(predicate: ((accumulator: T, value: V, key: K, collection: Collection<K, V>) => T), initialValue?: T): T
  • Executes a predicate function on each element of the collection, resulting in a single output value.

    Type Parameters

    • T = any

    Parameters

    • predicate: ((accumulator: T, value: V, key: K, collection: Collection<K, V>) => T)

      function to use

        • (accumulator: T, value: V, key: K, collection: Collection<K, V>): T
        • Parameters

          • accumulator: T
          • value: V
          • key: K
          • collection: Collection<K, V>

          Returns T

    • Optional initialValue: T

      initial value for the accumulator

    Returns T

  • Sets a new element in the collection.

    Parameters

    • key: K

      key of element

    • value: V

      value (element) to set

    Returns Collection<K, V>

  • some(predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)): boolean
  • Checks if any of values satisfies the condition.

    Parameters

    • predicate: ((value: V, key: K, collection: Collection<K, V>) => boolean)

      function to use

        • (value: V, key: K, collection: Collection<K, V>): boolean
        • Parameters

          Returns boolean

    Returns boolean

  • Returns an iterable of values in the map

    Returns IterableIterator<V>

Generated using TypeDoc