Base Emoji class for ReactionEmoji and renamed GuildEmoji classes (#2230)

* feat: create base Emoji class for ReactionEmoji and new GuildEmoji

* rename EmojiStore to GuildEmojiStore to account for the new class' name
This commit is contained in:
SpaceEEC
2018-01-18 09:38:45 +01:00
committed by Isabella
parent b846cbd2b3
commit aa3407f705
15 changed files with 264 additions and 278 deletions

View File

@@ -1,17 +1,17 @@
const Collection = require('../util/Collection');
const DataStore = require('./DataStore');
const Emoji = require('../structures/Emoji');
const GuildEmoji = require('../structures/GuildEmoji');
const ReactionEmoji = require('../structures/ReactionEmoji');
const DataResolver = require('../util/DataResolver');
/**
* Stores emojis.
* Stores guild emojis.
* @private
* @extends {DataStore}
*/
class EmojiStore extends DataStore {
class GuildEmojiStore extends DataStore {
constructor(guild, iterable) {
super(guild.client, iterable, Emoji);
super(guild.client, iterable, GuildEmoji);
this.guild = guild;
}
@@ -61,17 +61,17 @@ class EmojiStore extends DataStore {
}
/**
* Data that can be resolved into an Emoji object. This can be:
* Data that can be resolved into an GuildEmoji object. This can be:
* * A custom emoji ID
* * An Emoji object
* * A GuildEmoji object
* * A ReactionEmoji object
* @typedef {Snowflake|Emoji|ReactionEmoji} EmojiResolvable
* @typedef {Snowflake|GuildEmoji|ReactionEmoji} EmojiResolvable
*/
/**
* Resolves a EmojiResolvable to a Emoji object.
* Resolves an EmojiResolvable to an Emoji object.
* @param {EmojiResolvable} emoji The Emoji resolvable to identify
* @returns {?Emoji}
* @returns {?GuildEmoji}
*/
resolve(emoji) {
if (emoji instanceof ReactionEmoji) return super.resolve(emoji.id);
@@ -79,7 +79,7 @@ class EmojiStore extends DataStore {
}
/**
* Resolves a EmojiResolvable to a Emoji ID string.
* Resolves an EmojiResolvable to an Emoji ID string.
* @param {EmojiResolvable} emoji The Emoji resolvable to identify
* @returns {?Snowflake}
*/
@@ -111,4 +111,4 @@ class EmojiStore extends DataStore {
}
}
module.exports = EmojiStore;
module.exports = GuildEmojiStore;