Class: AliasStore<T, StoreName>
Defined in: projects/pieces/src/lib/structures/AliasStore.ts:9
The store class which contains AliasPieces.
Extends
Store
<T
,StoreName
>
Type Parameters
Type Parameter | Default type |
---|---|
T extends AliasPiece | - |
StoreName extends StoreRegistryKey | StoreRegistryKey |
Constructors
new AliasStore()
new AliasStore<
T
,StoreName
>(constructor
:AbstractConstructor
<T
>,options
:StoreOptions
<T
,StoreName
>):AliasStore
<T
,StoreName
>
Defined in: projects/pieces/src/lib/structures/Store.ts:80
Parameters
Parameter | Type | Description |
---|---|---|
constructor | AbstractConstructor <T > | The piece constructor this store loads. |
options | StoreOptions <T , StoreName > | The options for the store. |
Returns
AliasStore
<T
, StoreName
>
Inherited from
Properties
aliases
readonly
aliases:Collection
<string
,T
>
Defined in: projects/pieces/src/lib/structures/AliasStore.ts:13
The aliases referencing to pieces.
Constructor
readonly
Constructor:AbstractConstructor
<T
>
Defined in: projects/pieces/src/lib/structures/Store.ts:56
Inherited from
name
readonly
name:StoreName
Defined in: projects/pieces/src/lib/structures/Store.ts:57
Inherited from
paths
readonly
paths:Set
<string
>
Defined in: projects/pieces/src/lib/structures/Store.ts:58
Inherited from
strategy
readonly
strategy:ILoaderStrategy
<T
>
Defined in: projects/pieces/src/lib/structures/Store.ts:59
Inherited from
defaultStrategy
static
defaultStrategy:ILoaderStrategy
<any
>
Defined in: projects/pieces/src/lib/structures/Store.ts:377
The default strategy, defaults to LoaderStrategy, which is constructed on demand when a store is constructed, when none was set beforehand.
Inherited from
logger
static
logger:null
|StoreLogger
=null
Defined in: projects/pieces/src/lib/structures/Store.ts:382
The default logger, defaults to null
.
Inherited from
Accessors
container
Get Signature
get container():
Container
Defined in: projects/pieces/src/lib/structures/Store.ts:97
A reference to the Container object for ease of use.
See
container
Returns
Inherited from
Methods
construct()
construct(
Ctor
:ILoaderResultEntry
<T
>,data
:HydratedModuleData
):T
Defined in: projects/pieces/src/lib/structures/Store.ts:335
Constructs a Piece instance.
Parameters
Parameter | 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.
Inherited from
get()
get(
key
:string
):undefined
|T
Defined in: projects/pieces/src/lib/structures/AliasStore.ts:19
Looks up the name by the store, falling back to an alias lookup.
Parameters
Parameter | Type | Description |
---|---|---|
key | string | The key to look for. |
Returns
undefined
| T
Overrides
Store.get
has()
has(
key
:string
):boolean
Defined in: projects/pieces/src/lib/structures/AliasStore.ts:27
Checks whether a key is in the store, or is an alias
Parameters
Parameter | Type | Description |
---|---|---|
key | string | The key to check |
Returns
boolean
Overrides
Store.has
insert()
insert(
piece
:T
):Promise
<T
>
Defined in: projects/pieces/src/lib/structures/AliasStore.ts:54
Inserts a piece into the store, and adds all the aliases.
Parameters
Parameter | Type | Description |
---|---|---|
piece | T | The piece to be inserted into the store. |
Returns
Promise
<T
>
The inserted piece.
Overrides
load()
load(
root
:string
,path
:string
):Promise
<T
[]>
Defined in: projects/pieces/src/lib/structures/Store.ts:182
Loads one or more pieces from a path.
Parameters
Parameter | 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.
Inherited from
loadAll()
loadAll():
Promise
<void
>
Defined in: projects/pieces/src/lib/structures/Store.ts:241
Loads all pieces from all directories specified by paths.
Returns
Promise
<void
>
Inherited from
loadPiece()
loadPiece(
entry
:StoreManuallyRegisteredPiece
<StoreName
>):Promise
<void
>
Defined in: projects/pieces/src/lib/structures/Store.ts:154
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
Parameter | 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
});
Inherited from
registerPath()
registerPath(
path
:Path
):this
Defined in: projects/pieces/src/lib/structures/Store.ts:111
Registers a directory into the store.
Parameters
Parameter | Type | Description |
---|---|---|
path | Path | The path to be added. |
Returns
this
Example
store
.registerPath(resolve('commands'))
.registerPath(resolve('third-party', 'commands'));
Inherited from
resolve()
resolve(
name
:string
|T
):T
Defined in: projects/pieces/src/lib/structures/Store.ts:282
Resolves a piece by its name or its instance.
Parameters
Parameter | Type | Description |
---|---|---|
name | string | T | The name of the piece or the instance itself. |
Returns
T
The resolved piece.
Inherited from
unload()
unload(
name
:string
|T
):Promise
<T
>
Defined in: projects/pieces/src/lib/structures/AliasStore.ts:36
Unloads a piece given its instance or its name, and removes all the aliases.
Parameters
Parameter | Type | Description |
---|---|---|
name | string | T | The name of the file to load. |
Returns
Promise
<T
>
Returns the piece that was unloaded.
Overrides
unloadAll()
unloadAll():
Promise
<T
[]>
Defined in: projects/pieces/src/lib/structures/Store.ts:225
Unloads all pieces from the store.
Returns
Promise
<T
[]>