Class: Store<T, StoreName>
The store class which contains Pieces.
Type parameters
Name | Type |
---|---|
T | extends Piece |
StoreName | extends StoreRegistryKey = StoreRegistryKey |
Hierarchy
-
Collection
<string
,T
>↳
Store
↳↳
AliasStore
Constructors
constructor
• new Store<T
, StoreName
>(constructor
, options
): Store
<T
, StoreName
>
Type parameters
Name | Type |
---|---|
T | extends Piece <PieceOptions , never > |
StoreName | extends never = never |
Parameters
Name | Type | Description |
---|---|---|
constructor | AbstractConstructor <T > | The piece constructor this store loads. |
options | StoreOptions <T , StoreName > | The options for the store. |
Returns
Store
<T
, StoreName
>
Overrides
Collection<string, T>.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.
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
Name | Type |
---|---|
store | Store <T , never > |
path | string |
logger? | null | StoreLogger |
Returns
AsyncIterableIterator
<string
>
Defined in
projects/pieces/src/lib/structures/Store.ts:74
Constructor
• Readonly
Constructor: AbstractConstructor
<T
>
Defined in
projects/pieces/src/lib/structures/Store.ts:56
[ManuallyRegisteredPiecesSymbol]
• Private
Readonly
[ManuallyRegisteredPiecesSymbol]: StoreManuallyRegisteredPiece
<StoreName
>[] = []
The queue of manually registered pieces to load.
Defined in
projects/pieces/src/lib/structures/Store.ts:64
[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
name
• Readonly
name: StoreName
Defined in
projects/pieces/src/lib/structures/Store.ts:57
paths
• Readonly
paths: Set
<string
>
Defined in
projects/pieces/src/lib/structures/Store.ts:58
size
• Readonly
size: number
Inherited from
Collection.size
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:45
strategy
• Readonly
strategy: ILoaderStrategy
<T
>
Defined in
projects/pieces/src/lib/structures/Store.ts:59
[species]
▪ Static
Readonly
[species]: MapConstructor
Inherited from
Collection.[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.
Defined in
projects/pieces/src/lib/structures/Store.ts:377
logger
▪ Static
logger: null
| StoreLogger
= null
The default logger, defaults to null
.
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
See
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
Collection.[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
Name | Type | Description |
---|---|---|
index | number | The index of the element to obtain |
Returns
undefined
| T
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
<string
, T
>
Creates an identical shallow copy of this collection.
Returns
Collection
<string
, T
>
Example
const newColl = someColl.clone();
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
...collections | ReadonlyCollection <string , T >[] | Collections to merge |
Returns
Collection
<string
, T
>
Example
const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);
Inherited from
Collection.concat
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:338
construct
▸ construct(Ctor
, data
): T
Constructs a Piece instance.
Parameters
Name | Type | Description |
---|---|---|
Ctor | ILoaderResultEntry <T > | The Piece's constructor used to build the instance. |
data | HydratedModuleData | The module's information |
Returns
T
An instance of the constructed piece.
Defined in
projects/pieces/src/lib/structures/Store.ts:335
delete
▸ delete(key
): boolean
Parameters
Name | Type |
---|---|
key | string |
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
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
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <string , T > | The other Collection to filter against |
Returns
Collection
<string
, T
| T
>
Inherited from
Collection.difference
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:378
each
▸ each(fn
): Store
<T
, StoreName
>
Identical to Map.forEach(), but returns the collection instead of undefined.
Parameters
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => void | Function to execute for each element |
Returns
Store
<T
, StoreName
>
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
): Store
<T
, StoreName
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
fn | (this : T , value : T , key : string , collection : Store <T , StoreName >) => void |
thisArg | T |
Returns
Store
<T
, StoreName
>
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
key | string | The key to get if it exists, or set otherwise |
defaultValueGenerator | (key : string , collection : Store <T , StoreName >) => T | A function that generates the default value |
Returns
T
Example
collection.ensure(guildId, () => defaultGuildConfig);
Inherited from
Collection.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
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 <string , T > | 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, T>
Checks if all items passes a test. Identical in behavior to Array.every().
Type parameters
Name | Type |
---|---|
K2 | extends string |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => key is K2 | Function used to test (should return a boolean) |
Returns
this is Collection<K2, T>
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<string, V2>
Type parameters
Name | Type |
---|---|
V2 | extends Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => value is V2 |
Returns
this is Collection<string, V2>
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:270
▸ every(fn
): boolean
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => 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, T>
Type parameters
Name | Type |
---|---|
This | This |
K2 | extends string |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => key is K2 |
thisArg | This |
Returns
this is Collection<K2, T>
Inherited from
Collection.every
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:272
▸ every<This
, V2
>(fn
, thisArg
): this is Collection<string, V2>
Type parameters
Name | Type |
---|---|
This | This |
V2 | extends Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => value is V2 |
thisArg | This |
Returns
this is Collection<string, 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 : T , key : string , collection : Store <T , StoreName >) => 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
, T
>
Identical to Array.filter(), but returns a Collection instead of an Array.
Type parameters
Name | Type |
---|---|
K2 | extends string |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => key is K2 | The function to test with (should return boolean) |
Returns
Collection
<K2
, T
>
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
<string
, V2
>
Type parameters
Name | Type |
---|---|
V2 | extends Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => value is V2 |
Returns
Collection
<string
, V2
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:184
▸ filter(fn
): Collection
<string
, T
>
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => unknown |
Returns
Collection
<string
, T
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:185
▸ filter<This
, K2
>(fn
, thisArg
): Collection
<K2
, T
>
Type parameters
Name | Type |
---|---|
This | This |
K2 | extends string |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => key is K2 |
thisArg | This |
Returns
Collection
<K2
, T
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:186
▸ filter<This
, V2
>(fn
, thisArg
): Collection
<string
, V2
>
Type parameters
Name | Type |
---|---|
This | This |
V2 | extends Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => value is V2 |
thisArg | This |
Returns
Collection
<string
, V2
>
Inherited from
Collection.filter
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:187
▸ filter<This
>(fn
, thisArg
): Collection
<string
, T
>
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => unknown |
thisArg | This |
Returns
Collection
<string
, T
>
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 Piece <PieceOptions , never > |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => 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
| T
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => unknown |
Returns
undefined
| T
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 Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => 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
| T
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => unknown |
thisArg | This |
Returns
undefined
| T
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 string |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => 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
| string
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => unknown |
Returns
undefined
| string
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 string |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => 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
| string
Type parameters
Name |
---|
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => unknown |
thisArg | This |
Returns
undefined
| string
Inherited from
Collection.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
Collection.first
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:62
▸ first(amount
): T
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
T
[]
Inherited from
Collection.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
Collection.firstKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:71
▸ firstKey(amount
): string
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
string
[]
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => Collection <string , T > | Function that produces a new Collection |
Returns
Collection
<string
, 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
<string
, T
>
Type parameters
Name |
---|
T |
This |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => Collection <string , T > |
thisArg | This |
Returns
Collection
<string
, 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 : T , key : string , map : Map <string , T >) => void |
thisArg? | any |
Returns
void
Inherited from
Collection.forEach
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:28
get
▸ get(key
): undefined
| T
Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.
Parameters
Name | Type |
---|---|
key | string |
Returns
undefined
| T
Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned.
Inherited from
Collection.get
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:33
has
▸ has(key
): boolean
Parameters
Name | Type |
---|---|
key | string |
Returns
boolean
boolean indicating whether an element with the specified key exists or not.
Inherited from
Collection.has
Defined in
node_modules/typescript/lib/lib.es2015.collection.d.ts:37
hasAll
▸ hasAll(...keys
): boolean
Checks if all of the elements exist in the collection.
Parameters
Name | Type | Description |
---|---|---|
...keys | string [] | 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 | string [] | 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
hydrateModuleData
▸ hydrateModuleData(root
, data
): HydratedModuleData
Adds the final module data properties.
Parameters
Name | Type | Description |
---|---|---|
root | string | The root directory to add. |
data | ModuleData | The module data returned from ILoaderStrategy.filter. |
Returns
The finished module data.
Defined in
projects/pieces/src/lib/structures/Store.ts:345
insert
▸ insert(piece
): Promise
<T
>
Inserts a piece into the store.
Parameters
Name | Type | Description |
---|---|---|
piece | T | The piece to be inserted into the store. |
Returns
Promise
<T
>
The inserted piece.
Defined in
projects/pieces/src/lib/structures/Store.ts:298
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
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <string , T > | The other Collection to filter against |
Returns
Collection
<string
, T
>
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
index | number | The index of the key to obtain |
Returns
undefined
| string
Inherited from
Collection.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
Collection.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
Collection.last
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:80
▸ last(amount
): T
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
T
[]
Inherited from
Collection.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
Collection.lastKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:89
▸ lastKey(amount
): string
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
string
[]
Inherited from
Collection.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
Name | Type | Description |
---|---|---|
root | string | The root directory the file is from. |
path | string | The path of the file to load, relative to the root . |
Returns
Promise
<T
[]>
All the loaded pieces.
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
>
Defined in
projects/pieces/src/lib/structures/Store.ts:241
loadPath
▸ loadPath(root
): AsyncIterableIterator
<T
>
Loads a directory into the store.
Parameters
Name | Type | Description |
---|---|---|
root | string | The directory to load the pieces from. |
Returns
AsyncIterableIterator
<T
>
An async iterator that yields the pieces to be loaded into the store.
Defined in
projects/pieces/src/lib/structures/Store.ts:354
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
Name | Type | Description |
---|---|---|
entry | StoreManuallyRegisteredPiece <StoreName > | The entry to load. |
Returns
Promise
<void
>
Remarks
- Pieces loaded this way will have their
root
andpath
set toVirtualPath
, 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 thestore'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
});
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
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => 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 : T , key : string , collection : Store <T , StoreName >) => 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
<string
, 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 : T , key : string , collection : Store <T , StoreName >) => T | Function that produces an element of the new collection, taking three arguments |
Returns
Collection
<string
, 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
<string
, T
>
Type parameters
Name |
---|
This |
T |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => T |
thisArg | This |
Returns
Collection
<string
, 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
<string
, R
>
Merges two Collections together into a new Collection.
Type parameters
Name |
---|
T |
R |
Parameters
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <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
Collection.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
Name | Type |
---|---|
K2 | extends string |
Parameters
Name | Type | Description |
---|---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => key is K2 | Function 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
Collection.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
Name | Type |
---|---|
V2 | extends Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => value is V2 |
Returns
[Collection
<string
, V2
>, Collection
<string
, Exclude
<T
, V2
>>]
Inherited from
Collection.partition
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:201
▸ partition(fn
): [Collection
<string
, T
>, Collection
<string
, T
>]
Parameters
Name | Type |
---|---|
fn | (value : T , key : string , collection : Store <T , StoreName >) => unknown |
Returns
[Collection
<string
, T
>, Collection
<string
, T
>]
Inherited from
Collection.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
Name | Type |
---|---|
This | This |
K2 | extends string |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => key is K2 |
thisArg | This |
Returns
[Collection
<K2
, T
>, Collection
<Exclude
<string
, K2
>, T
>]
Inherited from
Collection.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
Name | Type |
---|---|
This | This |
V2 | extends Piece <PieceOptions , never > |
Parameters
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => value is V2 |
thisArg | This |
Returns
[Collection
<string
, V2
>, Collection
<string
, Exclude
<T
, V2
>>]
Inherited from
Collection.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
Name | Type |
---|---|
fn | (this : This , value : T , key : string , collection : Store <T , StoreName >) => unknown |
thisArg | This |
Returns
[Collection
<string
, T
>, Collection
<string
, T
>]
Inherited from
Collection.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
Collection.random
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:113
▸ random(amount
): T
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
T
[]
Inherited from
Collection.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
Collection.randomKey
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:121
▸ randomKey(amount
): string
[]
Parameters
Name | Type |
---|---|
amount | number |
Returns
string
[]
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 | T |
Parameters
Name | Type | Description |
---|---|---|
fn | (accumulator : T , value : T , key : string , collection : Store <T , StoreName >) => 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
registerPath
▸ registerPath(path
): Store
<T
, StoreName
>
Registers a directory into the store.
Parameters
Name | Type | Description |
---|---|---|
path | Path | The path to be added. |
Returns
Store
<T
, StoreName
>
Example
store
.registerPath(resolve('commands'))
.registerPath(resolve('third-party', 'commands'));
Defined in
projects/pieces/src/lib/structures/Store.ts:111
resolve
▸ resolve(name
): T
Resolves a piece by its name or its instance.
Parameters
Name | Type | Description |
---|---|---|
name | string | T | The name of the piece or the instance itself. |
Returns
T
The resolved piece.
Defined in
projects/pieces/src/lib/structures/Store.ts:282
reverse
▸ reverse(): Store
<T
, StoreName
>
Identical to Array.reverse() but returns a Collection instead of an Array.
Returns
Store
<T
, StoreName
>
Inherited from
Collection.reverse
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:127
set
▸ set(key
, value
): Store
<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
Name | Type |
---|---|
key | string |
value | T |
Returns
Store
<T
, StoreName
>
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 : T , key : string , collection : Store <T , StoreName >) => 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 : T , key : string , collection : Store <T , StoreName >) => unknown |
thisArg | T |
Returns
boolean
Inherited from
Collection.some
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:257
sort
▸ sort(compareFunction?
): Store
<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
Name | Type | Description |
---|---|---|
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
Store
<T
, StoreName
>
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
<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
Name | Type | Description |
---|---|---|
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
Collection.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
Name | Type | Description |
---|---|---|
other | ReadonlyCollection <string , T > | The other Collection to filter against |
Returns
Collection
<string
, T
>
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 : T , key : string , collection : Store <T , StoreName >) => 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 : T , key : string , collection : Store <T , StoreName >) => unknown |
thisArg | T |
Returns
number
Inherited from
Collection.sweep
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:170
tap
▸ tap(fn
): Store
<T
, StoreName
>
Runs a function on the collection and returns the collection.
Parameters
Name | Type | Description |
---|---|---|
fn | (collection : Store <T , StoreName >) => void | Function to execute |
Returns
Store
<T
, StoreName
>
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
): Store
<T
, StoreName
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
fn | (this : T , collection : Store <T , StoreName >) => void |
thisArg | T |
Returns
Store
<T
, StoreName
>
Inherited from
Collection.tap
Defined in
node_modules/@discordjs/collection/dist/index.d.ts:319
toJSON
▸ toJSON(): T
[]
Returns
T
[]
Inherited from
Collection.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.
Parameters
Name | Type | Description |
---|---|---|
name | string | T | The name of the file to load. |
Returns
Promise
<T
>
Returns the piece that was unloaded.
Defined in
projects/pieces/src/lib/structures/Store.ts:208
unloadAll
▸ unloadAll(): Promise
<T
[]>
Unloads all pieces from the store.
Returns
Promise
<T
[]>
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
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