mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
Reimplement Structures.get
This commit is contained in:
@@ -9,7 +9,7 @@ class DataStore extends Collection {
|
|||||||
constructor(client, iterable, holds) {
|
constructor(client, iterable, holds) {
|
||||||
super();
|
super();
|
||||||
Object.defineProperty(this, 'client', { value: client });
|
Object.defineProperty(this, 'client', { value: client });
|
||||||
Object.defineProperty(this, 'holds', { value: Structures.get(holds.name) });
|
Object.defineProperty(this, 'holds', { value: Structures.get(holds) });
|
||||||
if (iterable) for (const item of iterable) this.create(item);
|
if (iterable) for (const item of iterable) this.create(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,17 @@ class Structures {
|
|||||||
throw new Error(`The ${this.constructor.name} class may not be instantiated.`);
|
throw new Error(`The ${this.constructor.name} class may not be instantiated.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a structure class.
|
||||||
|
* @param {string|Function} structure Name of the structure or a class/prototype function to use the name of
|
||||||
|
* @returns {Function}
|
||||||
|
*/
|
||||||
|
static get(structure) {
|
||||||
|
if (typeof structure === 'string') return structures[structure];
|
||||||
|
if (typeof structure === 'function') return structures[structure.name];
|
||||||
|
throw new TypeError(`Structure to retrieve must be a string or class/prototype function, not ${typeof structure}.`);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extends a structure.
|
* Extends a structure.
|
||||||
* @param {string} name Name of the structure class to extend
|
* @param {string} name Name of the structure class to extend
|
||||||
|
|||||||
Reference in New Issue
Block a user