/**
 * Allows for the extension of built-in Discord.js structures that are instantiated by {@link DataStore}s.
 * When extending a built-in structure, it is important to both get the class you're extending from here,
 * and to set it here afterwards.
 * @example
 * const { Structures } = require('discord.js');
 *
 * class CoolGuild extends Structures.get('Guild') {
 *   constructor(client, data) {
 *     super(client, data);
 *     this.cool = true;
 *   }
 * }
 *
 * Structures.set('Guild', CoolGuild);
 */
class Structures {
  constructor() {
    throw new Error(`The ${this.constructor.name} class may not be instantiated.`);
  }

  /**
   * Retrieves a structure class.
   * @param {string} name Name of the base structure
   * @returns {Function}
   */
  static get(name) {
    return structures[name];
  }

  /**
   * Overrides a structure class.
   * @param {string} name Name of the base structure
   * @param {Function} custom Extended structure class to override with
   */
  static set(name, custom) {
    structures[name] = custom;
  }
}

const structures = {
  Channel: require('./structures/Channel'),
  Emoji: require('./structures/Emoji'),
  GuildChannel: require('./structures/GuildChannel'),
  GuildMember: require('./structures/GuildMember'),
  Guild: require('./structures/Guild'),
  Message: require('./structures/Message'),
  Presence: require('./structures/Presence'),
  Reaction: require('./structures/Reaction'),
  Role: require('./structures/Role'),
  User: require('./structures/User'),
};

module.exports = Structures;

@@ -1082,32 +1082,33 @@
 nnel: require('.
+.
 /structures/Chan
@@ -1125,32 +1125,33 @@
 moji: require('.
+.
 /structures/Emoj
@@ -1173,32 +1173,33 @@
 nnel: require('.
+.
 /structures/Guil
@@ -1227,32 +1227,33 @@
 mber: require('.
+.
 /structures/Guil
@@ -1274,32 +1274,33 @@
 uild: require('.
+.
 /structures/Guil
@@ -1317,32 +1317,33 @@
 sage: require('.
+.
 /structures/Mess
@@ -1363,32 +1363,33 @@
 ence: require('.
+.
 /structures/Pres
@@ -1410,32 +1410,33 @@
 tion: require('.
+.
 /structures/Reac
@@ -1453,32 +1453,33 @@
 Role: require('.
+.
 /structures/Role
@@ -1500,16 +1500,17 @@
 quire('.
+.
 /structu

Fix structure paths