Class: StoreRegistry
A strict-typed store registry. This is available in container.
Since
2.1.0
Example
// Adding new stores
// Register the store:
container.stores.register(new RouteStore());
// Augment Sapphire to add the new store, in case of a JavaScript
// project, this can be moved to an `Augments.d.ts` (or any other name)
// file somewhere:
declare module '@sapphire/pieces' {
export interface StoreRegistryEntries {
routes: RouteStore;
}
}
Hierarchy
-
Collection
<StoreRegistryKey
,StoreRegistryValue
>↳
StoreRegistry
Constructors
constructor
• new StoreRegistry(entries?
): StoreRegistry
Parameters
Name | Type |
---|---|
entries? | null | readonly readonly [keyof StoreRegistryEntries , StoreRegistryValue ][] |
Returns
Inherited from
Collection<StoreRegistryKey, StoreRegistryValue>.constructor
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:50
• new StoreRegistry(iterable?
): StoreRegistry
Parameters
Name | Type |
---|---|
iterable? | null | Iterable <readonly [keyof StoreRegistryEntries , StoreRegistryValue ]> |
Returns
Inherited from
Collection<StoreRegistryKey, StoreRegistryValue>.constructor
Defined in
node_modules/typescript/lib/lib.es2015.iterable.d.ts:159
Properties
#private
• Private
#private: any
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:576
[toStringTag]
• Readonly
[toStringTag]: string
Inherited from
Collection.[toStringTag]
Defined in
node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:137
constructor
• constructor: CollectionConstructor
Inherited from
Collection.constructor
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:21
size
• Readonly
size: number
Inherited from
Collection.size
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:45
[species]
▪ Static
Readonly
[species]: MapConstructor
Inherited from
Collection.[species]
Defined in
node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:319
Methods
[iterator]
▸ [iterator](): IterableIterator
<[keyof StoreRegistryEntries
, StoreRegistryValue
]>
Returns an iterable of entries in the map.
Returns
IterableIterator
<[keyof StoreRegistryEntries
, StoreRegistryValue
]>
Inherited from
Collection.[iterator]
Defined in
node_modules/typescript/lib/lib.es2015.iterable.d.ts:119
at
▸ at(index
): undefined
| StoreRegistryValue
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
Name | Type | Description |
---|---|---|
index | number | The index of the element to obtain |
Returns
undefined
| StoreRegistryValue
Inherited from
Collection.at
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:98
clear
▸ clear(): void
Returns
void
Inherited from
Collection.clear
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:20
clone
▸ clone(): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Creates an identical shallow copy of this collection.
Returns
Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Example
const newColl = someColl.clone();
Inherited from
Collection.clone
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:328
concat
▸ concat(...collections
): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Combines this collection with others into a new collection. None of the source collections are modified.
Parameters
Name | Type | Description |
---|---|---|
...collections | ReadonlyCollection <keyof StoreRegistryEntries , StoreRegistryValue >[] | Collections to merge |
Returns
Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Example
const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);
Inherited from
Collection.concat
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:338
delete
▸ delete(key
): boolean
Parameters
Name | Type |
---|---|
key | keyof StoreRegistryEntries |
Returns
boolean
true if an element in the Map existed and has been removed, or false if the element does not exist.
Inherited from
Collection.delete
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:24
deregister
▸ deregister<T
>(store
): StoreRegistry
Deregisters a store.
Type parameters
Name | Type |
---|---|
T | extends Piece <PieceOptions , keyof StoreRegistryEntries > |
Parameters
Name | Type | Description |
---|---|---|
store | Store <T , keyof StoreRegistryEntries > | The store to deregister. |
Returns
Since
2.1.0
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:637
difference
▸ difference<T
>(other
): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
| 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
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <keyof StoreRegistryEntries , T > | The other Collection to filter against |
Returns
Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
| T
>
Inherited from
Collection.difference
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:378
each
▸ each(fn
): StoreRegistry
Identical to Map.forEach(), but returns the collection instead of undefined.
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => void | Function to execute for each element |
Returns
Example
collection
.each(user => console.log(user.username))
.filter(user => user.bot)
.each(user => console.log(user.username));
Inherited from
Collection.each
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:303
▸ each<T
>(fn
, thisArg
): StoreRegistry
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
fn | (this : T , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => void |
thisArg | T |
Returns
Inherited from
Collection.each
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:304
ensure
▸ ensure(key
, defaultValueGenerator
): StoreRegistryValue
Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.
Parameters
Name | Type | Description |
---|---|---|
key | keyof StoreRegistryEntries | The key to get if it exists, or set otherwise |
defaultValueGenerator | (key : keyof StoreRegistryEntries , collection : StoreRegistry ) => StoreRegistryValue | A function that generates the default value |
Returns
StoreRegistryValue
Example
collection.ensure(guildId, () => defaultGuildConfig);
Inherited from
Collection.ensure
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:41
entries
▸ entries(): IterableIterator
<[keyof StoreRegistryEntries
, StoreRegistryValue
]>
Returns an iterable of key, value pairs for every entry in the map.
Returns
IterableIterator
<[keyof StoreRegistryEntries
, StoreRegistryValue
]>
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
collection | ReadonlyCollection <keyof StoreRegistryEntries , StoreRegistryValue > | Collection to compare with |
Returns
boolean
Whether the collections have identical contents
Inherited from
Collection.equals
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:347
every
▸ every<K2
>(fn
): this is Collection<K2, StoreRegistryValue>
Checks if all items passes a test. Identical in behavior to Array.every().
Type parameters
Name | Type |
---|---|
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 | Function used to test (should return a boolean) |
Returns
this is Collection<K2, StoreRegistryValue>
Example
collection.every(user => !user.bot);
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:269
▸ every<V2
>(fn
): this is Collection<keyof StoreRegistryEntries, V2>
Type parameters
Name | Type |
---|---|
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
Returns
this is Collection<keyof StoreRegistryEntries, V2>
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:270
▸ every(fn
): boolean
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
Returns
boolean
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:271
▸ every<This
, K2
>(fn
, thisArg
): this is Collection<K2, StoreRegistryValue>
Type parameters
Name | Type |
---|---|
This | This |
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 |
thisArg | This |
Returns
this is Collection<K2, StoreRegistryValue>
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:272
▸ every<This
, V2
>(fn
, thisArg
): this is Collection<keyof StoreRegistryEntries, V2>
Type parameters
Name | Type |
---|---|
This | This |
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
thisArg | This |
Returns
this is Collection<keyof StoreRegistryEntries, V2>
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:273
▸ every<This
>(fn
, thisArg
): boolean
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | This |
Returns
boolean
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:274
filter
▸ filter<K2
>(fn
): Collection
<K2
, StoreRegistryValue
>
Identical to Array.filter(), but returns a Collection instead of an Array.
Type parameters
Name | Type |
---|---|
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 | The function to test with (should return boolean) |
Returns
Collection
<K2
, StoreRegistryValue
>
Example
collection.filter(user => user.username === 'Bob');
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:183
▸ filter<V2
>(fn
): Collection
<keyof StoreRegistryEntries
, V2
>
Type parameters
Name | Type |
---|---|
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
Returns
Collection
<keyof StoreRegistryEntries
, V2
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:184
▸ filter(fn
): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
Returns
Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:185
▸ filter<This
, K2
>(fn
, thisArg
): Collection
<K2
, StoreRegistryValue
>
Type parameters
Name | Type |
---|---|
This | This |
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 |
thisArg | This |
Returns
Collection
<K2
, StoreRegistryValue
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:186
▸ filter<This
, V2
>(fn
, thisArg
): Collection
<keyof StoreRegistryEntries
, V2
>
Type parameters
Name | Type |
---|---|
This | This |
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
thisArg | This |
Returns
Collection
<keyof StoreRegistryEntries
, V2
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:187
▸ filter<This
>(fn
, thisArg
): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | This |
Returns
Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Inherited from
Collection.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
Name | Type |
---|---|
V2 | extends StoreRegistryValue |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 | The function to test with (should return boolean) |
Returns
undefined
| V2
Example
collection.find(user => user.username === 'Bob');
Inherited from
Collection.find
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:142
▸ find(fn
): undefined
| StoreRegistryValue
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
Returns
undefined
| StoreRegistryValue
Inherited from
Collection.find
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:143
▸ find<This
, V2
>(fn
, thisArg
): undefined
| V2
Type parameters
Name | Type |
---|---|
This | This |
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
thisArg | This |
Returns
undefined
| V2
Inherited from
Collection.find
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:144
▸ find<This
>(fn
, thisArg
): undefined
| StoreRegistryValue
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | This |
Returns
undefined
| StoreRegistryValue
Inherited from
Collection.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
Name | Type |
---|---|
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 | The function to test with (should return boolean) |
Returns
undefined
| K2
Example
collection.findKey(user => user.username === 'Bob');
Inherited from
Collection.findKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:158
▸ findKey(fn
): undefined
| keyof StoreRegistryEntries
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
Returns
undefined
| keyof StoreRegistryEntries
Inherited from
Collection.findKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:159
▸ findKey<This
, K2
>(fn
, thisArg
): undefined
| K2
Type parameters
Name | Type |
---|---|
This | This |
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 |
thisArg | This |
Returns
undefined
| K2
Inherited from
Collection.findKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:160
▸ findKey<This
>(fn
, thisArg
): undefined
| keyof StoreRegistryEntries
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | This |
Returns
undefined
| keyof StoreRegistryEntries
Inherited from
Collection.findKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:161
first
▸ first(): undefined
| StoreRegistryValue
Obtains the first value(s) in this collection.
Returns
undefined
| StoreRegistryValue
A single value if no amount is provided or an array of values, starting from the end if amount is negative
Inherited from
Collection.first
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:62
▸ first(amount
): StoreRegistryValue
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
StoreRegistryValue
[]
Inherited from
Collection.first
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:63
firstKey
▸ firstKey(): undefined
| keyof StoreRegistryEntries
Obtains the first key(s) in this collection.
Returns
undefined
| keyof StoreRegistryEntries
A single key if no amount is provided or an array of keys, starting from the end if amount is negative
Inherited from
Collection.firstKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:71
▸ firstKey(amount
): keyof StoreRegistryEntries
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
keyof StoreRegistryEntries
[]
Inherited from
Collection.firstKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:72
flatMap
▸ flatMap<T
>(fn
): Collection
<keyof StoreRegistryEntries
, 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
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => Collection <keyof StoreRegistryEntries , T > | Function that produces a new Collection |
Returns
Collection
<keyof StoreRegistryEntries
, T
>
Example
collection.flatMap(guild => guild.members.cache);
Inherited from
Collection.flatMap
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:217
▸ flatMap<T
, This
>(fn
, thisArg
): Collection
<keyof StoreRegistryEntries
, T
>
Type parameters
Name |
---|
T |
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => Collection <keyof StoreRegistryEntries , T > |
thisArg | This |
Returns
Collection
<keyof StoreRegistryEntries
, T
>
Inherited from
Collection.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
Name | Type |
---|---|
callbackfn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , map : Map <keyof StoreRegistryEntries , StoreRegistryValue >) => void |
thisArg? | any |
Returns
void
Inherited from
Collection.forEach
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:28
get
▸ get<K
>(key
): StoreRegistryEntries
[K
]
Type parameters
Name | Type |
---|---|
K | extends keyof StoreRegistryEntries |
Parameters
Name | Type |
---|---|
key | K |
Returns
Inherited from
Collection.get
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:678
▸ get(key
): undefined
Parameters
Name | Type |
---|---|
key | string |
Returns
undefined
Inherited from
Collection.get
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:679
has
▸ has(key
): true
Parameters
Name | Type |
---|---|
key | keyof StoreRegistryEntries |
Returns
true
Inherited from
Collection.has
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:680
▸ has(key
): false
Parameters
Name | Type |
---|---|
key | string |
Returns
false
Inherited from
Collection.has
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:681
hasAll
▸ hasAll(...keys
): boolean
Checks if all of the elements exist in the collection.
Parameters
Name | Type | Description |
---|---|---|
...keys | keyof StoreRegistryEntries [] | 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
Collection.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
Name | Type | Description |
---|---|---|
...keys | keyof StoreRegistryEntries [] | The keys of the elements to check for |
Returns
boolean
true
if any of the elements exist, false
if none exist.
Inherited from
Collection.hasAny
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:55
intersect
▸ intersect<T
>(other
): Collection
<keyof StoreRegistryEntries
, 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
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <keyof StoreRegistryEntries , T > | The other Collection to filter against |
Returns
Collection
<keyof StoreRegistryEntries
, T
>
Inherited from
Collection.intersect
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:366
keyAt
▸ keyAt(index
): undefined
| keyof StoreRegistryEntries
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
Name | Type | Description |
---|---|---|
index | number | The index of the key to obtain |
Returns
undefined
| keyof StoreRegistryEntries
Inherited from
Collection.keyAt
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:106
keys
▸ keys(): IterableIterator
<keyof StoreRegistryEntries
>
Returns an iterable of keys in the map
Returns
IterableIterator
<keyof StoreRegistryEntries
>
Inherited from
Collection.keys
Defined in
node_modules/typescript/lib/lib.es2015.iterable.d.ts:129
last
▸ last(): undefined
| StoreRegistryValue
Obtains the last value(s) in this collection.
Returns
undefined
| StoreRegistryValue
A single value if no amount is provided or an array of values, starting from the start if amount is negative
Inherited from
Collection.last
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:80
▸ last(amount
): StoreRegistryValue
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
StoreRegistryValue
[]
Inherited from
Collection.last
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:81
lastKey
▸ lastKey(): undefined
| keyof StoreRegistryEntries
Obtains the last key(s) in this collection.
Returns
undefined
| keyof StoreRegistryEntries
A single key if no amount is provided or an array of keys, starting from the start if amount is negative
Inherited from
Collection.lastKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:89
▸ lastKey(amount
): keyof StoreRegistryEntries
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
keyof StoreRegistryEntries
[]
Inherited from
Collection.lastKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:90
load
▸ load(): Promise
<void
>
Loads all the registered stores.
Returns
Promise
<void
>
Since
2.1.0
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:581
loadPiece
▸ loadPiece<StoreName
>(entry
): Promise
<void
>
If the store was registered, this method will call the store's
() loadPiece()
method.
If it was called, the entry will be loaded immediately without queueing.
Type parameters
Name | Type |
---|---|
StoreName | extends keyof StoreRegistryEntries |
Parameters
Name | Type | Description |
---|---|---|
entry | StoreManagerManuallyRegisteredPiece <StoreName > | The entry to load. |
Returns
Promise
<void
>
Remarks
- Pieces loaded this way will have their
root
andpath
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 not throw an error if a store with the given name does not exist, it will simply be queued until it's registered.
- This method will always throw a TypeError if
entry.piece
is not a class. - If the store is registered, this method will always throw a
LoaderError
if the piece does not extend the registeredstore'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.loadPiece({
store: 'commands',
name: 'ping',
piece: PingCommand
});
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:675
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
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => T | Function that produces an element of the new array, taking three arguments |
Returns
T
[]
Example
collection.map(user => user.tag);
Inherited from
Collection.map
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:230
▸ map<This
, T
>(fn
, thisArg
): T
[]
Type parameters
Name |
---|
This |
T |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => T |
thisArg | This |
Returns
T
[]
Inherited from
Collection.map
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:231
mapValues
▸ mapValues<T
>(fn
): Collection
<keyof StoreRegistryEntries
, T
>
Maps each item to another value into a collection. Identical in behavior to Array.map().
Type parameters
Name |
---|
T |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => T | Function that produces an element of the new collection, taking three arguments |
Returns
Collection
<keyof StoreRegistryEntries
, T
>
Example
collection.mapValues(user => user.tag);
Inherited from
Collection.mapValues
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:243
▸ mapValues<This
, T
>(fn
, thisArg
): Collection
<keyof StoreRegistryEntries
, T
>
Type parameters
Name |
---|
This |
T |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => T |
thisArg | This |
Returns
Collection
<keyof StoreRegistryEntries
, T
>
Inherited from
Collection.mapValues
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:244
merge
▸ merge<T
, R
>(other
, whenInSelf
, whenInOther
, whenInBoth
): Collection
<keyof StoreRegistryEntries
, R
>
Merges two Collections together into a new Collection.
Type parameters
Name |
---|
T |
R |
Parameters
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <keyof StoreRegistryEntries , T > | The other Collection to merge with |
whenInSelf | (value : StoreRegistryValue , key : keyof StoreRegistryEntries ) => Keep <R > | Function getting the result if the entry only exists in this Collection |
whenInOther | (valueOther : T , key : keyof StoreRegistryEntries ) => Keep <R > | Function getting the result if the entry only exists in the other Collection |
whenInBoth | (value : StoreRegistryValue , valueOther : T , key : keyof StoreRegistryEntries ) => Keep <R > | Function getting the result if the entry exists in both Collections |
Returns
Collection
<keyof StoreRegistryEntries
, 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
Collection.merge
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:407
partition
▸ partition<K2
>(fn
): [Collection
<K2
, StoreRegistryValue
>, Collection
<Exclude
<"listeners"
, K2
> | Exclude
<"arguments"
, K2
> | Exclude
<"commands"
, K2
> | Exclude
<"interaction-handlers"
, K2
> | Exclude
<"preconditions"
, K2
>, StoreRegistryValue
>]
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
Name | Type |
---|---|
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 | Function used to test (should return a boolean) |
Returns
[Collection
<K2
, StoreRegistryValue
>, Collection
<Exclude
<"listeners"
, K2
> | Exclude
<"arguments"
, K2
> | Exclude
<"commands"
, K2
> | Exclude
<"interaction-handlers"
, K2
> | Exclude
<"preconditions"
, K2
>, StoreRegistryValue
>]
Example
const [big, small] = collection.partition(guild => guild.memberCount > 250);
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:200
▸ partition<V2
>(fn
): [Collection
<keyof StoreRegistryEntries
, V2
>, Collection
<keyof StoreRegistryEntries
, Exclude
<ListenerStore
, V2
> | Exclude
<ArgumentStore
, V2
> | Exclude
<CommandStore
, V2
> | Exclude
<InteractionHandlerStore
, V2
> | Exclude
<PreconditionStore
, V2
>>]
Type parameters
Name | Type |
---|---|
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
Returns
[Collection
<keyof StoreRegistryEntries
, V2
>, Collection
<keyof StoreRegistryEntries
, Exclude
<ListenerStore
, V2
> | Exclude
<ArgumentStore
, V2
> | Exclude
<CommandStore
, V2
> | Exclude
<InteractionHandlerStore
, V2
> | Exclude
<PreconditionStore
, V2
>>]
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:201
▸ partition(fn
): [Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>, Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>]
Parameters
Name | Type |
---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
Returns
[Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>, Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>]
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:202
▸ partition<This
, K2
>(fn
, thisArg
): [Collection
<K2
, StoreRegistryValue
>, Collection
<Exclude
<"listeners"
, K2
> | Exclude
<"arguments"
, K2
> | Exclude
<"commands"
, K2
> | Exclude
<"interaction-handlers"
, K2
> | Exclude
<"preconditions"
, K2
>, StoreRegistryValue
>]
Type parameters
Name | Type |
---|---|
This | This |
K2 | extends keyof StoreRegistryEntries |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => key is K2 |
thisArg | This |
Returns
[Collection
<K2
, StoreRegistryValue
>, Collection
<Exclude
<"listeners"
, K2
> | Exclude
<"arguments"
, K2
> | Exclude
<"commands"
, K2
> | Exclude
<"interaction-handlers"
, K2
> | Exclude
<"preconditions"
, K2
>, StoreRegistryValue
>]
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:203
▸ partition<This
, V2
>(fn
, thisArg
): [Collection
<keyof StoreRegistryEntries
, V2
>, Collection
<keyof StoreRegistryEntries
, Exclude
<ListenerStore
, V2
> | Exclude
<ArgumentStore
, V2
> | Exclude
<CommandStore
, V2
> | Exclude
<InteractionHandlerStore
, V2
> | Exclude
<PreconditionStore
, V2
>>]
Type parameters
Name | Type |
---|---|
This | This |
V2 | extends StoreRegistryValue |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => value is V2 |
thisArg | This |
Returns
[Collection
<keyof StoreRegistryEntries
, V2
>, Collection
<keyof StoreRegistryEntries
, Exclude
<ListenerStore
, V2
> | Exclude
<ArgumentStore
, V2
> | Exclude
<CommandStore
, V2
> | Exclude
<InteractionHandlerStore
, V2
> | Exclude
<PreconditionStore
, V2
>>]
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:204
▸ partition<This
>(fn
, thisArg
): [Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>, Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>]
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | This |
Returns
[Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>, Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>]
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:205
random
▸ random(): undefined
| StoreRegistryValue
Obtains unique random value(s) from this collection.
Returns
undefined
| StoreRegistryValue
A single value if no amount is provided or an array of values
Inherited from
Collection.random
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:113
▸ random(amount
): StoreRegistryValue
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
StoreRegistryValue
[]
Inherited from
Collection.random
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:114
randomKey
▸ randomKey(): undefined
| keyof StoreRegistryEntries
Obtains unique random key(s) from this collection.
Returns
undefined
| keyof StoreRegistryEntries
A single key if no amount is provided or an array
Inherited from
Collection.randomKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:121
▸ randomKey(amount
): keyof StoreRegistryEntries
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
keyof StoreRegistryEntries
[]
Inherited from
Collection.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
Name | Type |
---|---|
T | StoreRegistryValue |
Parameters
Name | Type | Description |
---|---|---|
fn | (accumulator : T , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => T | Function used to reduce, taking four arguments; accumulator , currentValue , currentKey , and collection |
initialValue? | T | Starting value for the accumulator |
Returns
T
Example
collection.reduce((acc, guild) => acc + guild.memberCount, 0);
Inherited from
Collection.reduce
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:287
register
▸ register<T
>(store
): StoreRegistry
Registers a store.
Type parameters
Name | Type |
---|---|
T | extends Piece <PieceOptions , keyof StoreRegistryEntries > |
Parameters
Name | Type | Description |
---|---|---|
store | Store <T , keyof StoreRegistryEntries > | The store to register. |
Returns
Remarks
- This method will allow
StoreRegistry
to manage the store, meaning:()
will call the store's() registerPath()
method on call.()
will call the store's() load()
method on call.()
will call the store's() loadPiece()
method on call.
- This will also add all the manually registered pieces by
()
in the store.
It is generally recommended to register a store as early as possible, before any of the aforementioned methods are called, otherwise you will have to manually call the aforementioned methods for the store to work properly.
If there were manually registered pieces for this store with ()
, this method
will add them to the store and delete the queue. Note, however, that this method will not call the store's
() loadPiece()
method, and as such, the pieces will not be loaded until
()
is called.
Since
2.1.0
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:631
registerPath
▸ registerPath(rootDirectory?
): void
Registers all user directories from the process working directory, the default value is obtained by assuming
CommonJS (high accuracy) but with fallback for ECMAScript Modules (reads package.json's main
entry, fallbacks
to process.cwd()
).
By default, if you have this folder structure:
/home/me/my-bot
├─ src
│ ├─ commands
│ ├─ events
│ └─ main.js
└─ package.json
And you run node src/main.js
, the directories /home/me/my-bot/src/commands
and /home/me/my-bot/src/events
will
be registered for the commands and events stores respectively, since both directories are located in the same
directory as your main file.
Note: this also registers directories for all other stores, even if they don't have a folder, this allows you to create new pieces and hot-load them later anytime.
Parameters
Name | Type | Description |
---|---|---|
rootDirectory? | Path | The root directory to register pieces at. |
Returns
void
Since
2.1.0
Defined in
node_modules/@sapphire/pieces/dist/index.d.ts:606
reverse
▸ reverse(): StoreRegistry
Identical to Array.reverse() but returns a Collection instead of an Array.
Returns
Inherited from
Collection.reverse
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:127
set
▸ set(key
, value
): StoreRegistry
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
Name | Type |
---|---|
key | keyof StoreRegistryEntries |
value | StoreRegistryValue |
Returns
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown | Function used to test (should return a boolean) |
Returns
boolean
Example
collection.some(user => user.discriminator === '0000');
Inherited from
Collection.some
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:256
▸ some<T
>(fn
, thisArg
): boolean
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
fn | (this : T , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | T |
Returns
boolean
Inherited from
Collection.some
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:257
sort
▸ sort(compareFunction?
): StoreRegistry
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
Name | Type | Description |
---|---|---|
compareFunction? | Comparator <keyof StoreRegistryEntries , StoreRegistryValue > | 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
Example
collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);
Inherited from
Collection.sort
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:360
sorted
▸ sorted(compareFunction?
): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
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
Name | Type | Description |
---|---|---|
compareFunction? | Comparator <keyof StoreRegistryEntries , StoreRegistryValue > | 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
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Example
collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);
Inherited from
Collection.sorted
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:421
subtract
▸ subtract<T
>(other
): Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
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
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <keyof StoreRegistryEntries , T > | The other Collection to filter against |
Returns
Collection
<keyof StoreRegistryEntries
, StoreRegistryValue
>
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
fn | (value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown | Function used to test (should return a boolean) |
Returns
number
The number of removed entries
Inherited from
Collection.sweep
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:169
▸ sweep<T
>(fn
, thisArg
): number
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
fn | (this : T , value : StoreRegistryValue , key : keyof StoreRegistryEntries , collection : StoreRegistry ) => unknown |
thisArg | T |
Returns
number
Inherited from
Collection.sweep
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:170
tap
▸ tap(fn
): StoreRegistry
Runs a function on the collection and returns the collection.
Parameters
Name | Type | Description |
---|---|---|
fn | (collection : StoreRegistry ) => void | Function to execute |
Returns
Example
collection
.tap(coll => console.log(coll.size))
.filter(user => user.bot)
.tap(coll => console.log(coll.size))
Inherited from
Collection.tap
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:318
▸ tap<T
>(fn
, thisArg
): StoreRegistry
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
fn | (this : T , collection : StoreRegistry ) => void |
thisArg | T |
Returns
Inherited from
Collection.tap
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:319
toJSON
▸ toJSON(): StoreRegistryValue
[]
Returns
StoreRegistryValue
[]
Inherited from
Collection.toJSON
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:422
values
▸ values(): IterableIterator
<StoreRegistryValue
>
Returns an iterable of values in the map
Returns
IterableIterator
<StoreRegistryValue
>
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
entries | Iterable <[K , V ]> | The list of entries |
combine | (firstValue : V , secondValue : V , key : K ) => V | Function 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
Collection.combineEntries
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:435