Skip to main content

Class: AliasStore<T, StoreName>

The store class which contains AliasPieces.

Type parameters

NameType
Textends AliasPiece
StoreNameextends StoreRegistryKey = StoreRegistryKey

Hierarchy

  • Store<T, StoreName>

    AliasStore

Constructors

constructor

new AliasStore<T, StoreName>(constructor, options): AliasStore<T, StoreName>

Type parameters

NameType
Textends AliasPiece<AliasPieceOptions, never>
StoreNameextends never = never

Parameters

NameTypeDescription
constructorAbstractConstructor<T>The piece constructor this store loads.
optionsStoreOptions<T, StoreName>The options for the store.

Returns

AliasStore<T, StoreName>

Inherited from

Store.constructor

Defined in

projects/pieces/src/lib/structures/Store.ts:80

Properties

#calledLoadAll

Private #calledLoadAll: boolean = false

Whether or not the store has called loadAll at least once.

Inherited from

Store.#calledLoadAll

Defined in

projects/pieces/src/lib/structures/Store.ts:69


#walk

Private #walk: (store: Store<T, never>, path: string, logger?: null | StoreLogger) => AsyncIterableIterator<string>

Type declaration

▸ (store, path, logger?): AsyncIterableIterator<string>

The walk function for the store.

Parameters
NameType
storeStore<T, never>
pathstring
logger?null | StoreLogger
Returns

AsyncIterableIterator<string>

Inherited from

Store.#walk

Defined in

projects/pieces/src/lib/structures/Store.ts:74


Constructor

Readonly Constructor: AbstractConstructor<T>

Inherited from

Store.Constructor

Defined in

projects/pieces/src/lib/structures/Store.ts:56


[toStringTag]

Readonly [toStringTag]: string

Inherited from

Store.[toStringTag]

Defined in

node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:137


aliases

Readonly aliases: Collection<string, T>

The aliases referencing to pieces.

Defined in

projects/pieces/src/lib/structures/AliasStore.ts:13


constructor

constructor: CollectionConstructor

Inherited from

Store.constructor

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:21


name

Readonly name: StoreName

Inherited from

Store.name

Defined in

projects/pieces/src/lib/structures/Store.ts:57


paths

Readonly paths: Set<string>

Inherited from

Store.paths

Defined in

projects/pieces/src/lib/structures/Store.ts:58


size

Readonly size: number

Inherited from

Store.size

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:45


strategy

Readonly strategy: ILoaderStrategy<T>

Inherited from

Store.strategy

Defined in

projects/pieces/src/lib/structures/Store.ts:59


[species]

Static Readonly [species]: MapConstructor

Inherited from

Store.[species]

Defined in

node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:319


defaultStrategy

Static defaultStrategy: ILoaderStrategy<any> = defaultStrategy

The default strategy, defaults to LoaderStrategy, which is constructed on demand when a store is constructed, when none was set beforehand.

Inherited from

Store.defaultStrategy

Defined in

projects/pieces/src/lib/structures/Store.ts:377


logger

Static logger: null | StoreLogger = null

The default logger, defaults to null.

Inherited from

Store.logger

Defined in

projects/pieces/src/lib/structures/Store.ts:382

Accessors

container

get container(): Container

A reference to the Container object for ease of use.

Returns

Container

See

container

Inherited from

Store.container

Defined in

projects/pieces/src/lib/structures/Store.ts:97

Methods

[iterator]

[iterator](): IterableIterator<[string, T]>

Returns an iterable of entries in the map.

Returns

IterableIterator<[string, T]>

Inherited from

Store.[iterator]

Defined in

node_modules/typescript/lib/lib.es2015.iterable.d.ts:119


at

at(index): undefined | T

Identical to Array.at(). Returns the item at a given index, allowing for positive and negative integers. Negative integers count back from the last item in the collection.

Parameters

NameTypeDescription
indexnumberThe index of the element to obtain

Returns

undefined | T

Inherited from

Store.at

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:98


clear

clear(): void

Returns

void

Inherited from

Store.clear

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:20


clone

clone(): Collection<string, T>

Creates an identical shallow copy of this collection.

Returns

Collection<string, T>

Example

const newColl = someColl.clone();

Inherited from

Store.clone

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:328


concat

concat(...collections): Collection<string, T>

Combines this collection with others into a new collection. None of the source collections are modified.

Parameters

NameTypeDescription
...collectionsReadonlyCollection<string, T>[]Collections to merge

Returns

Collection<string, T>

Example

const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);

Inherited from

Store.concat

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:338


construct

construct(Ctor, data): T

Constructs a Piece instance.

Parameters

NameTypeDescription
CtorILoaderResultEntry<T>The Piece's constructor used to build the instance.
dataHydratedModuleDataThe module's information

Returns

T

An instance of the constructed piece.

Inherited from

Store.construct

Defined in

projects/pieces/src/lib/structures/Store.ts:335


delete

delete(key): boolean

Parameters

NameType
keystring

Returns

boolean

true if an element in the Map existed and has been removed, or false if the element does not exist.

Inherited from

Store.delete

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:24


difference

difference<T>(other): Collection<string, T | T>

The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.

Type parameters

Name
T

Parameters

NameTypeDescription
otherReadonlyCollection<string, T>The other Collection to filter against

Returns

Collection<string, T | T>

Inherited from

Store.difference

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:378


each

each(fn): AliasStore<T, StoreName>

Identical to Map.forEach(), but returns the collection instead of undefined.

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => voidFunction to execute for each element

Returns

AliasStore<T, StoreName>

Example

collection
.each(user => console.log(user.username))
.filter(user => user.bot)
.each(user => console.log(user.username));

Inherited from

Store.each

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:303

each<T>(fn, thisArg): AliasStore<T, StoreName>

Type parameters

Name
T

Parameters

NameType
fn(this: T, value: T, key: string, collection: AliasStore<T, StoreName>) => void
thisArgT

Returns

AliasStore<T, StoreName>

Inherited from

Store.each

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:304


ensure

ensure(key, defaultValueGenerator): T

Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.

Parameters

NameTypeDescription
keystringThe key to get if it exists, or set otherwise
defaultValueGenerator(key: string, collection: AliasStore<T, StoreName>) => TA function that generates the default value

Returns

T

Example

collection.ensure(guildId, () => defaultGuildConfig);

Inherited from

Store.ensure

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:41


entries

entries(): IterableIterator<[string, T]>

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

Returns

IterableIterator<[string, T]>

Inherited from

Store.entries

Defined in

node_modules/typescript/lib/lib.es2015.iterable.d.ts:124


equals

equals(collection): boolean

Checks if this collection shares identical items with another. This is different to checking for equality using equal-signs, because the collections may be different objects, but contain the same data.

Parameters

NameTypeDescription
collectionReadonlyCollection<string, T>Collection to compare with

Returns

boolean

Whether the collections have identical contents

Inherited from

Store.equals

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:347


every

every<K2>(fn): this is Collection<K2, T>

Checks if all items passes a test. Identical in behavior to Array.every().

Type parameters

NameType
K2extends string

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2Function used to test (should return a boolean)

Returns

this is Collection<K2, T>

Example

collection.every(user => !user.bot);

Inherited from

Store.every

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:269

every<V2>(fn): this is Collection<string, V2>

Type parameters

NameType
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2

Returns

this is Collection<string, V2>

Inherited from

Store.every

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:270

every(fn): boolean

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknown

Returns

boolean

Inherited from

Store.every

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:271

every<This, K2>(fn, thisArg): this is Collection<K2, T>

Type parameters

NameType
ThisThis
K2extends string

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2
thisArgThis

Returns

this is Collection<K2, T>

Inherited from

Store.every

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:272

every<This, V2>(fn, thisArg): this is Collection<string, V2>

Type parameters

NameType
ThisThis
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2
thisArgThis

Returns

this is Collection<string, V2>

Inherited from

Store.every

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:273

every<This>(fn, thisArg): boolean

Type parameters

Name
This

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgThis

Returns

boolean

Inherited from

Store.every

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:274


filter

filter<K2>(fn): Collection<K2, T>

Identical to Array.filter(), but returns a Collection instead of an Array.

Type parameters

NameType
K2extends string

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2The function to test with (should return boolean)

Returns

Collection<K2, T>

Example

collection.filter(user => user.username === 'Bob');

Inherited from

Store.filter

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:183

filter<V2>(fn): Collection<string, V2>

Type parameters

NameType
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2

Returns

Collection<string, V2>

Inherited from

Store.filter

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:184

filter(fn): Collection<string, T>

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknown

Returns

Collection<string, T>

Inherited from

Store.filter

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:185

filter<This, K2>(fn, thisArg): Collection<K2, T>

Type parameters

NameType
ThisThis
K2extends string

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2
thisArgThis

Returns

Collection<K2, T>

Inherited from

Store.filter

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:186

filter<This, V2>(fn, thisArg): Collection<string, V2>

Type parameters

NameType
ThisThis
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2
thisArgThis

Returns

Collection<string, V2>

Inherited from

Store.filter

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:187

filter<This>(fn, thisArg): Collection<string, T>

Type parameters

Name
This

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgThis

Returns

Collection<string, T>

Inherited from

Store.filter

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:188


find

find<V2>(fn): undefined | V2

Searches for a single item where the given function returns a truthy value. This behaves like Array.find(). All collections used in Discord.js are mapped using their id property, and if you want to find by id you should use the get method. See MDN for details.

Type parameters

NameType
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2The function to test with (should return boolean)

Returns

undefined | V2

Example

collection.find(user => user.username === 'Bob');

Inherited from

Store.find

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:142

find(fn): undefined | T

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknown

Returns

undefined | T

Inherited from

Store.find

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:143

find<This, V2>(fn, thisArg): undefined | V2

Type parameters

NameType
ThisThis
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2
thisArgThis

Returns

undefined | V2

Inherited from

Store.find

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:144

find<This>(fn, thisArg): undefined | T

Type parameters

Name
This

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgThis

Returns

undefined | T

Inherited from

Store.find

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:145


findKey

findKey<K2>(fn): undefined | K2

Searches for the key of a single item where the given function returns a truthy value. This behaves like Array.findIndex(), but returns the key rather than the positional index.

Type parameters

NameType
K2extends string

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2The function to test with (should return boolean)

Returns

undefined | K2

Example

collection.findKey(user => user.username === 'Bob');

Inherited from

Store.findKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:158

findKey(fn): undefined | string

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknown

Returns

undefined | string

Inherited from

Store.findKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:159

findKey<This, K2>(fn, thisArg): undefined | K2

Type parameters

NameType
ThisThis
K2extends string

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2
thisArgThis

Returns

undefined | K2

Inherited from

Store.findKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:160

findKey<This>(fn, thisArg): undefined | string

Type parameters

Name
This

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgThis

Returns

undefined | string

Inherited from

Store.findKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:161


first

first(): undefined | T

Obtains the first value(s) in this collection.

Returns

undefined | T

A single value if no amount is provided or an array of values, starting from the end if amount is negative

Inherited from

Store.first

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:62

first(amount): T[]

Parameters

NameType
amountnumber

Returns

T[]

Inherited from

Store.first

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:63


firstKey

firstKey(): undefined | string

Obtains the first key(s) in this collection.

Returns

undefined | string

A single key if no amount is provided or an array of keys, starting from the end if amount is negative

Inherited from

Store.firstKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:71

firstKey(amount): string[]

Parameters

NameType
amountnumber

Returns

string[]

Inherited from

Store.firstKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:72


flatMap

flatMap<T>(fn): Collection<string, T>

Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to Array.flatMap().

Type parameters

Name
T

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => Collection<string, T>Function that produces a new Collection

Returns

Collection<string, T>

Example

collection.flatMap(guild => guild.members.cache);

Inherited from

Store.flatMap

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:217

flatMap<T, This>(fn, thisArg): Collection<string, T>

Type parameters

Name
T
This

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => Collection<string, T>
thisArgThis

Returns

Collection<string, T>

Inherited from

Store.flatMap

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:218


forEach

forEach(callbackfn, thisArg?): void

Executes a provided function once per each key/value pair in the Map, in insertion order.

Parameters

NameType
callbackfn(value: T, key: string, map: Map<string, T>) => void
thisArg?any

Returns

void

Inherited from

Store.forEach

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:28


get

get(key): undefined | T

Looks up the name by the store, falling back to an alias lookup.

Parameters

NameTypeDescription
keystringThe key to look for.

Returns

undefined | T

Overrides

Store.get

Defined in

projects/pieces/src/lib/structures/AliasStore.ts:19


has

has(key): boolean

Checks whether a key is in the store, or is an alias

Parameters

NameTypeDescription
keystringThe key to check

Returns

boolean

Overrides

Store.has

Defined in

projects/pieces/src/lib/structures/AliasStore.ts:27


hasAll

hasAll(...keys): boolean

Checks if all of the elements exist in the collection.

Parameters

NameTypeDescription
...keysstring[]The keys of the elements to check for

Returns

boolean

true if all of the elements exist, false if at least one does not exist.

Inherited from

Store.hasAll

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:48


hasAny

hasAny(...keys): boolean

Checks if any of the elements exist in the collection.

Parameters

NameTypeDescription
...keysstring[]The keys of the elements to check for

Returns

boolean

true if any of the elements exist, false if none exist.

Inherited from

Store.hasAny

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:55


insert

insert(piece): Promise<T>

Inserts a piece into the store, and adds all the aliases.

Parameters

NameTypeDescription
pieceTThe piece to be inserted into the store.

Returns

Promise<T>

The inserted piece.

Overrides

Store.insert

Defined in

projects/pieces/src/lib/structures/AliasStore.ts:54


intersect

intersect<T>(other): Collection<string, T>

The intersect method returns a new structure containing items where the keys and values are present in both original structures.

Type parameters

Name
T

Parameters

NameTypeDescription
otherReadonlyCollection<string, T>The other Collection to filter against

Returns

Collection<string, T>

Inherited from

Store.intersect

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:366


keyAt

keyAt(index): undefined | string

Identical to Array.at(). Returns the key at a given index, allowing for positive and negative integers. Negative integers count back from the last item in the collection.

Parameters

NameTypeDescription
indexnumberThe index of the key to obtain

Returns

undefined | string

Inherited from

Store.keyAt

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:106


keys

keys(): IterableIterator<string>

Returns an iterable of keys in the map

Returns

IterableIterator<string>

Inherited from

Store.keys

Defined in

node_modules/typescript/lib/lib.es2015.iterable.d.ts:129


last

last(): undefined | T

Obtains the last value(s) in this collection.

Returns

undefined | T

A single value if no amount is provided or an array of values, starting from the start if amount is negative

Inherited from

Store.last

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:80

last(amount): T[]

Parameters

NameType
amountnumber

Returns

T[]

Inherited from

Store.last

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:81


lastKey

lastKey(): undefined | string

Obtains the last key(s) in this collection.

Returns

undefined | string

A single key if no amount is provided or an array of keys, starting from the start if amount is negative

Inherited from

Store.lastKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:89

lastKey(amount): string[]

Parameters

NameType
amountnumber

Returns

string[]

Inherited from

Store.lastKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:90


load

load(root, path): Promise<T[]>

Loads one or more pieces from a path.

Parameters

NameTypeDescription
rootstringThe root directory the file is from.
pathstringThe path of the file to load, relative to the root.

Returns

Promise<T[]>

All the loaded pieces.

Inherited from

Store.load

Defined in

projects/pieces/src/lib/structures/Store.ts:182


loadAll

loadAll(): Promise<void>

Loads all pieces from all directories specified by paths.

Returns

Promise<void>

Inherited from

Store.loadAll

Defined in

projects/pieces/src/lib/structures/Store.ts:241


loadPiece

loadPiece(entry): Promise<void>

Adds a piece into the store's list of manually registered pieces. If () was called, the piece will be loaded immediately, otherwise it will be queued until () is called.

All manually registered pieces will be kept even after they are loaded to ensure they can be loaded again if () is called again.

Parameters

NameTypeDescription
entryStoreManuallyRegisteredPiece<StoreName>The entry to load.

Returns

Promise<void>

Remarks

  • Pieces loaded this way will have their root and path set to VirtualPath, and as such, cannot be reloaded.
  • This method is useful in environments where file system access is limited or unavailable, such as when using Serverless Computing.
  • This method will always throw a TypeError if entry.piece is not a class.
  • This method will always throw a LoaderError if the piece does not extend the store's piece constructor.
  • This operation is atomic, if any of the above errors are thrown, the piece will not be loaded.

Seealso

()

Since

3.8.0

Example

import { container } from '@sapphire/pieces';

class PingCommand extends Command {
// ...
}

container.stores.get('commands').loadPiece({
name: 'ping',
piece: PingCommand
});

Inherited from

Store.loadPiece

Defined in

projects/pieces/src/lib/structures/Store.ts:154


map

map<T>(fn): T[]

Maps each item to another value into an array. Identical in behavior to Array.map().

Type parameters

Name
T

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => TFunction that produces an element of the new array, taking three arguments

Returns

T[]

Example

collection.map(user => user.tag);

Inherited from

Store.map

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:230

map<This, T>(fn, thisArg): T[]

Type parameters

Name
This
T

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => T
thisArgThis

Returns

T[]

Inherited from

Store.map

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:231


mapValues

mapValues<T>(fn): Collection<string, T>

Maps each item to another value into a collection. Identical in behavior to Array.map().

Type parameters

Name
T

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => TFunction that produces an element of the new collection, taking three arguments

Returns

Collection<string, T>

Example

collection.mapValues(user => user.tag);

Inherited from

Store.mapValues

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:243

mapValues<This, T>(fn, thisArg): Collection<string, T>

Type parameters

Name
This
T

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => T
thisArgThis

Returns

Collection<string, T>

Inherited from

Store.mapValues

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:244


merge

merge<T, R>(other, whenInSelf, whenInOther, whenInBoth): Collection<string, R>

Merges two Collections together into a new Collection.

Type parameters

Name
T
R

Parameters

NameTypeDescription
otherReadonlyCollection<string, T>The other Collection to merge with
whenInSelf(value: T, key: string) => Keep<R>Function getting the result if the entry only exists in this Collection
whenInOther(valueOther: T, key: string) => Keep<R>Function getting the result if the entry only exists in the other Collection
whenInBoth(value: T, valueOther: T, key: string) => Keep<R>Function getting the result if the entry exists in both Collections

Returns

Collection<string, R>

Example

// Sums up the entries in two collections.
coll.merge(
other,
x => ({ keep: true, value: x }),
y => ({ keep: true, value: y }),
(x, y) => ({ keep: true, value: x + y }),
);

Example

// Intersects two collections in a left-biased manner.
coll.merge(
other,
x => ({ keep: false }),
y => ({ keep: false }),
(x, _) => ({ keep: true, value: x }),
);

Inherited from

Store.merge

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:407


partition

partition<K2>(fn): [Collection<K2, T>, Collection<Exclude<string, K2>, T>]

Partitions the collection into two collections where the first collection contains the items that passed and the second contains the items that failed.

Type parameters

NameType
K2extends string

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2Function used to test (should return a boolean)

Returns

[Collection<K2, T>, Collection<Exclude<string, K2>, T>]

Example

const [big, small] = collection.partition(guild => guild.memberCount > 250);

Inherited from

Store.partition

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:200

partition<V2>(fn): [Collection<string, V2>, Collection<string, Exclude<T, V2>>]

Type parameters

NameType
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2

Returns

[Collection<string, V2>, Collection<string, Exclude<T, V2>>]

Inherited from

Store.partition

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:201

partition(fn): [Collection<string, T>, Collection<string, T>]

Parameters

NameType
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknown

Returns

[Collection<string, T>, Collection<string, T>]

Inherited from

Store.partition

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:202

partition<This, K2>(fn, thisArg): [Collection<K2, T>, Collection<Exclude<string, K2>, T>]

Type parameters

NameType
ThisThis
K2extends string

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => key is K2
thisArgThis

Returns

[Collection<K2, T>, Collection<Exclude<string, K2>, T>]

Inherited from

Store.partition

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:203

partition<This, V2>(fn, thisArg): [Collection<string, V2>, Collection<string, Exclude<T, V2>>]

Type parameters

NameType
ThisThis
V2extends AliasPiece<AliasPieceOptions, never>

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => value is V2
thisArgThis

Returns

[Collection<string, V2>, Collection<string, Exclude<T, V2>>]

Inherited from

Store.partition

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:204

partition<This>(fn, thisArg): [Collection<string, T>, Collection<string, T>]

Type parameters

Name
This

Parameters

NameType
fn(this: This, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgThis

Returns

[Collection<string, T>, Collection<string, T>]

Inherited from

Store.partition

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:205


random

random(): undefined | T

Obtains unique random value(s) from this collection.

Returns

undefined | T

A single value if no amount is provided or an array of values

Inherited from

Store.random

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:113

random(amount): T[]

Parameters

NameType
amountnumber

Returns

T[]

Inherited from

Store.random

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:114


randomKey

randomKey(): undefined | string

Obtains unique random key(s) from this collection.

Returns

undefined | string

A single key if no amount is provided or an array

Inherited from

Store.randomKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:121

randomKey(amount): string[]

Parameters

NameType
amountnumber

Returns

string[]

Inherited from

Store.randomKey

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:122


reduce

reduce<T>(fn, initialValue?): T

Applies a function to produce a single value. Identical in behavior to Array.reduce().

Type parameters

NameType
TT

Parameters

NameTypeDescription
fn(accumulator: T, value: T, key: string, collection: AliasStore<T, StoreName>) => TFunction used to reduce, taking four arguments; accumulator, currentValue, currentKey, and collection
initialValue?TStarting value for the accumulator

Returns

T

Example

collection.reduce((acc, guild) => acc + guild.memberCount, 0);

Inherited from

Store.reduce

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:287


registerPath

registerPath(path): AliasStore<T, StoreName>

Registers a directory into the store.

Parameters

NameTypeDescription
pathPathThe path to be added.

Returns

AliasStore<T, StoreName>

Example

store
.registerPath(resolve('commands'))
.registerPath(resolve('third-party', 'commands'));

Inherited from

Store.registerPath

Defined in

projects/pieces/src/lib/structures/Store.ts:111


resolve

resolve(name): T

Resolves a piece by its name or its instance.

Parameters

NameTypeDescription
namestring | TThe name of the piece or the instance itself.

Returns

T

The resolved piece.

Inherited from

Store.resolve

Defined in

projects/pieces/src/lib/structures/Store.ts:282


reverse

reverse(): AliasStore<T, StoreName>

Identical to Array.reverse() but returns a Collection instead of an Array.

Returns

AliasStore<T, StoreName>

Inherited from

Store.reverse

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:127


set

set(key, value): AliasStore<T, StoreName>

Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.

Parameters

NameType
keystring
valueT

Returns

AliasStore<T, StoreName>

Inherited from

Store.set

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:41


some

some(fn): boolean

Checks if there exists an item that passes a test. Identical in behavior to Array.some().

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknownFunction used to test (should return a boolean)

Returns

boolean

Example

collection.some(user => user.discriminator === '0000');

Inherited from

Store.some

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:256

some<T>(fn, thisArg): boolean

Type parameters

Name
T

Parameters

NameType
fn(this: T, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgT

Returns

boolean

Inherited from

Store.some

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:257


sort

sort(compareFunction?): AliasStore<T, StoreName>

The sort method sorts the items of a collection in place and returns it. The sort is not necessarily stable in Node 10 or older. The default sort order is according to string Unicode code points.

Parameters

NameTypeDescription
compareFunction?Comparator<string, T>Specifies a function that defines the sort order. If omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.

Returns

AliasStore<T, StoreName>

Example

collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);

Inherited from

Store.sort

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:360


sorted

sorted(compareFunction?): Collection<string, T>

The sorted method sorts the items of a collection and returns it. The sort is not necessarily stable in Node 10 or older. The default sort order is according to string Unicode code points.

Parameters

NameTypeDescription
compareFunction?Comparator<string, T>Specifies a function that defines the sort order. If omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.

Returns

Collection<string, T>

Example

collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);

Inherited from

Store.sorted

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:421


subtract

subtract<T>(other): Collection<string, T>

The subtract method returns a new structure containing items where the keys and values of the original structure are not present in the other.

Type parameters

Name
T

Parameters

NameTypeDescription
otherReadonlyCollection<string, T>The other Collection to filter against

Returns

Collection<string, T>

Inherited from

Store.subtract

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:372


sweep

sweep(fn): number

Removes items that satisfy the provided filter function.

Parameters

NameTypeDescription
fn(value: T, key: string, collection: AliasStore<T, StoreName>) => unknownFunction used to test (should return a boolean)

Returns

number

The number of removed entries

Inherited from

Store.sweep

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:169

sweep<T>(fn, thisArg): number

Type parameters

Name
T

Parameters

NameType
fn(this: T, value: T, key: string, collection: AliasStore<T, StoreName>) => unknown
thisArgT

Returns

number

Inherited from

Store.sweep

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:170


tap

tap(fn): AliasStore<T, StoreName>

Runs a function on the collection and returns the collection.

Parameters

NameTypeDescription
fn(collection: AliasStore<T, StoreName>) => voidFunction to execute

Returns

AliasStore<T, StoreName>

Example

collection
.tap(coll => console.log(coll.size))
.filter(user => user.bot)
.tap(coll => console.log(coll.size))

Inherited from

Store.tap

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:318

tap<T>(fn, thisArg): AliasStore<T, StoreName>

Type parameters

Name
T

Parameters

NameType
fn(this: T, collection: AliasStore<T, StoreName>) => void
thisArgT

Returns

AliasStore<T, StoreName>

Inherited from

Store.tap

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:319


toJSON

toJSON(): T[]

Returns

T[]

Inherited from

Store.toJSON

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:422


unload

unload(name): Promise<T>

Unloads a piece given its instance or its name, and removes all the aliases.

Parameters

NameTypeDescription
namestring | TThe name of the file to load.

Returns

Promise<T>

Returns the piece that was unloaded.

Overrides

Store.unload

Defined in

projects/pieces/src/lib/structures/AliasStore.ts:36


unloadAll

unloadAll(): Promise<T[]>

Unloads all pieces from the store.

Returns

Promise<T[]>

Inherited from

Store.unloadAll

Defined in

projects/pieces/src/lib/structures/Store.ts:225


values

values(): IterableIterator<T>

Returns an iterable of values in the map

Returns

IterableIterator<T>

Inherited from

Store.values

Defined in

node_modules/typescript/lib/lib.es2015.iterable.d.ts:134


combineEntries

combineEntries<K, V>(entries, combine): Collection<K, V>

Creates a Collection from a list of entries.

Type parameters

Name
K
V

Parameters

NameTypeDescription
entriesIterable<[K, V]>The list of entries
combine(firstValue: V, secondValue: V, key: K) => VFunction to combine an existing entry with a new one

Returns

Collection<K, V>

Example

Collection.combineEntries([["a", 1], ["b", 2], ["a", 2]], (x, y) => x + y);
// returns Collection { "a" => 3, "b" => 2 }

Inherited from

Store.combineEntries

Defined in

node_modules/@discordjs/collection/dist/index.d.ts:435