trivious 1.3.18 → 1.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/client/trivious.client.cjs.map +1 -1
- package/dist/core/client/trivious.client.d.cts +1 -1
- package/dist/core/client/trivious.client.d.ts +1 -1
- package/dist/core/client/trivious.client.js.map +1 -1
- package/dist/core/commands/command.base.cjs +2 -2
- package/dist/core/commands/command.base.cjs.map +1 -1
- package/dist/core/commands/command.base.d.cts +1 -1
- package/dist/core/commands/command.base.d.ts +1 -1
- package/dist/core/commands/command.base.js +2 -2
- package/dist/core/commands/command.base.js.map +1 -1
- package/dist/core/commands/contextcommand.base.cjs +1 -1
- package/dist/core/commands/contextcommand.base.cjs.map +1 -1
- package/dist/core/commands/contextcommand.base.d.cts +1 -1
- package/dist/core/commands/contextcommand.base.d.ts +1 -1
- package/dist/core/commands/contextcommand.base.js +1 -1
- package/dist/core/commands/contextcommand.base.js.map +1 -1
- package/dist/core/commands/subcommand.base.cjs +1 -1
- package/dist/core/commands/subcommand.base.cjs.map +1 -1
- package/dist/core/commands/subcommand.base.d.cts +1 -1
- package/dist/core/commands/subcommand.base.d.ts +1 -1
- package/dist/core/commands/subcommand.base.js +1 -1
- package/dist/core/commands/subcommand.base.js.map +1 -1
- package/dist/core/components/component.base.cjs +2 -2
- package/dist/core/components/component.base.cjs.map +1 -1
- package/dist/core/components/component.base.d.cts +1 -1
- package/dist/core/components/component.base.d.ts +1 -1
- package/dist/core/components/component.base.js +2 -2
- package/dist/core/components/component.base.js.map +1 -1
- package/dist/core/events/interactionCreate.cjs +4 -4
- package/dist/core/events/interactionCreate.cjs.map +1 -1
- package/dist/core/events/interactionCreate.d.cts +1 -1
- package/dist/core/events/interactionCreate.d.ts +1 -1
- package/dist/core/events/interactionCreate.js +1 -1
- package/dist/core/events/interactionCreate.js.map +1 -1
- package/dist/core/registry/command.registry.cjs +2 -2
- package/dist/core/registry/command.registry.cjs.map +1 -1
- package/dist/core/registry/command.registry.d.cts +1 -1
- package/dist/core/registry/command.registry.d.ts +1 -1
- package/dist/core/registry/command.registry.js +2 -2
- package/dist/core/registry/command.registry.js.map +1 -1
- package/dist/core/registry/component.registry.cjs +2 -2
- package/dist/core/registry/component.registry.cjs.map +1 -1
- package/dist/core/registry/component.registry.d.cts +1 -1
- package/dist/core/registry/component.registry.d.ts +1 -1
- package/dist/core/registry/component.registry.js +2 -2
- package/dist/core/registry/component.registry.js.map +1 -1
- package/dist/core/registry/event.registry.cjs +2 -2
- package/dist/core/registry/event.registry.cjs.map +1 -1
- package/dist/core/registry/event.registry.d.cts +1 -1
- package/dist/core/registry/event.registry.d.ts +1 -1
- package/dist/core/registry/event.registry.js +2 -2
- package/dist/core/registry/event.registry.js.map +1 -1
- package/dist/core/registry/index.cjs +1 -1
- package/dist/core/registry/index.cjs.map +1 -1
- package/dist/core/registry/index.d.cts +1 -1
- package/dist/core/registry/index.d.ts +1 -1
- package/dist/core/registry/index.js +1 -1
- package/dist/core/registry/index.js.map +1 -1
- package/dist/core/registry/module.registry.cjs +2 -2
- package/dist/core/registry/module.registry.cjs.map +1 -1
- package/dist/core/registry/module.registry.d.cts +1 -1
- package/dist/core/registry/module.registry.d.ts +1 -1
- package/dist/core/registry/module.registry.js +2 -2
- package/dist/core/registry/module.registry.js.map +1 -1
- package/dist/{index-uczj1Waw.d.ts → index-BPaYmWRO.d.ts} +93 -93
- package/dist/{index-BCF4f686.d.cts → index-CU2Xl9Xo.d.cts} +93 -93
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/shared/typings/client.d.cts +1 -1
- package/dist/shared/typings/client.d.ts +1 -1
- package/dist/shared/typings/commands.d.cts +1 -1
- package/dist/shared/typings/commands.d.ts +1 -1
- package/dist/shared/typings/components.d.cts +1 -1
- package/dist/shared/typings/components.d.ts +1 -1
- package/dist/shared/typings/events.d.cts +1 -1
- package/dist/shared/typings/events.d.ts +1 -1
- package/dist/shared/typings/index.d.cts +1 -1
- package/dist/shared/typings/index.d.ts +1 -1
- package/dist/shared/typings/module.d.cts +1 -1
- package/dist/shared/typings/module.d.ts +1 -1
- package/dist/shared/typings/permissions.cjs.map +1 -1
- package/dist/shared/typings/permissions.d.cts +1 -1
- package/dist/shared/typings/permissions.d.ts +1 -1
- package/dist/shared/typings/permissions.js.map +1 -1
- package/dist/shared/utility/functions.cjs.map +1 -1
- package/dist/shared/utility/functions.d.cts +1 -1
- package/dist/shared/utility/functions.d.ts +1 -1
- package/dist/shared/utility/functions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/events/interactionCreate.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../../../src/core/events/interactionCreate.ts"],"names":[],"mappings":";;;AAIA,IAAO,yBAAA,GAAQ;AAAA,EACd,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,OAAO,MAAA,EAAQ,WAAA,KAAgB;AACvC,IAAA,IAAI,WAAA,CAAY,kBAAA,EAAmB,IAAK,WAAA,CAAY,sBAAqB,EAAG;AAC3E,MAAA,MAAM,EAAE,aAAY,GAAI,WAAA;AAExB,MAAA,MAAM,kBAAA,GAAqB,MAAA,CAAO,UAAA,CAAW,QAAA,CAAS,GAAA,EAAI;AAC1D,MAAA,MAAM,OAAA,GAAU,kBAAA,CAAmB,GAAA,CAAI,WAAW,CAAA;AAClD,MAAA,IAAI,CAAC,OAAA,EAAS;AACb,QAAA,MAAM,YAAY,KAAA,CAAM;AAAA,UACvB,OAAA,EAAS,CAAA,yDAAA,CAAA;AAAA,UACT,KAAA,EAAO,CAAC,WAAW;AAAA,SACnB,CAAA;AACD,QAAA;AAAA,MACD;AAEA,MAAA,MAAM,kBAAA,GAAqB,QAAQ,QAAA,CAAS,UAAA;AAC5C,MAAA,MAAM,aAAA,GAAgB,MAAM,OAAA,CAAQ,uBAAA;AAAA,QACnC,MAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACD;AACA,MAAA,IAAI,CAAC,aAAA,EAAe;AAEpB,MAAA,IAAI,EAAE,aAAa,OAAA,CAAA,EAAU;AAC5B,QAAA,MAAO,QAAoB,KAAA,CAAM,WAAA,EAAa,EAAE,OAAA,EAAS,uGAAuG,CAAA;AAChK,QAAA;AAAA,MACD;AAEA,MAAA,MAAM,QAAQ,KAAA,CAAM,WAAA,EAAa,EAAE,OAAA,EAAS,yBAAyB,CAAA;AAErE,MAAA,IAAI,WAAA,CAAY,kBAAA,EAAmB,IAAK,OAAA,CAAQ,gBAAe,EAAG;AACjE,QAAA,MAAM,OAAA,CAAQ,OAAA,CAAQ,MAAA,EAAQ,WAAW,CAAA;AAAA,MAC1C,WAAW,WAAA,CAAY,oBAAA,EAAqB,IAAK,OAAA,CAAQ,sBAAqB,EAAG;AAChF,QAAA,MAAM,OAAA,CAAQ,OAAA,CAAQ,MAAA,EAAQ,WAAW,CAAA;AAAA,MAC1C;AAAA,IACD,WAAW,WAAA,CAAY,kBAAA,EAAmB,IAAK,WAAA,CAAY,eAAc,EAAG;AAC3E,MAAA,MAAM,EAAE,aAAA,EAAe,IAAA,EAAM,MAAK,GAAI,mBAAA,CAAoB,YAAY,QAAQ,CAAA;AAE9E,MAAA,IAAI,aAAA,KAAkB,aAAA,CAAc,MAAA,IAAU,EAAE,WAAA,YAAuB,iBAAA,CAAA;AACtE,QAAA;AACD,MAAA,IAAI,aAAA,KAAkB,aAAA,CAAc,KAAA,IAAS,EAAE,WAAA,YAAuB,sBAAA,CAAA;AACrE,QAAA;AAED,MAAA,IAAI,IAAA,CAAK,QAAA,CAAS,SAAS,CAAA,EAAG;AAE9B,MAAA,MAAM,oBAAA,GAAuB,MAAA,CAAO,UAAA,CAAW,UAAA,CAAW,GAAA,EAAI;AAC9D,MAAA,MAAM,SAAA,GAAY,oBAAA,CAAqB,GAAA,CAAI,IAAI,CAAA;AAC/C,MAAA,IAAI,CAAC,SAAA,EAAW;AACf,QAAA,MAAM,YAAY,KAAA,CAAM;AAAA,UACvB,OAAA,EAAS,CAAA,yDAAA,CAAA;AAAA,UACT,KAAA,EAAO,CAAC,WAAW;AAAA,SACnB,CAAA;AACD,QAAA;AAAA,MACD;AAEA,MAAA,MAAM,kBAAA,GAAqB,UAAU,QAAA,CAAS,UAAA;AAC9C,MAAA,MAAM,aAAA,GAAgB,MAAM,SAAA,CAAU,uBAAA;AAAA,QACrC,MAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACD;AACA,MAAA,IAAI,CAAC,aAAA,EAAe;AAEpB,MAAA,IAAI,CAAC,WAAA,CAAY,aAAA,EAAc,EAAG,MAAM,YAAY,WAAA,EAAY;AAChE,MAAA,MAAM,SAAA,CAAU,OAAA,CAAQ,MAAA,EAAQ,WAAW,CAAA;AAAA,IAC5C;AAAA,EACD;AACD","file":"interactionCreate.js","sourcesContent":["import { ButtonInteraction, ModalSubmitInteraction } from \"discord.js\";\nimport { ComponentType, deconstructCustomId, Event } from \"../../shared/typings/index.js\";\nimport Command from \"../commands/command.base.js\";\n\nexport default {\n\tname: \"interactionCreate\",\n\texecute: async (client, interaction) => {\n\t\tif (interaction.isChatInputCommand() || interaction.isContextMenuCommand()) {\n\t\t\tconst { commandName } = interaction;\n\n\t\t\tconst registeredCommands = client.registries.commands.get();\n\t\t\tconst command = registeredCommands.get(commandName);\n\t\t\tif (!command) {\n\t\t\t\tawait interaction.reply({\n\t\t\t\t\tcontent: `Command is outdated, inactive or does not have a handler!`,\n\t\t\t\t\tflags: [\"Ephemeral\"],\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst requiredPermission = command.metadata.permission;\n\t\t\tconst hasPermission = await command.validateGuildPermission(\n\t\t\t\tclient,\n\t\t\t\tinteraction,\n\t\t\t\trequiredPermission\n\t\t\t);\n\t\t\tif (!hasPermission) return;\n\n\t\t\tif (!(\"execute\" in command)) {\n\t\t\t\tawait (command as Command).reply(interaction, { content: \"Command does not have a way to execute! Ensure the command is a SlashCommand or ContextMenuCommand!\" });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait command.reply(interaction, { content: \"Processing command...\" });\n\n\t\t\tif (interaction.isChatInputCommand() && command.isSlashCommand()) {\n\t\t\t\tawait command.execute(client, interaction);\n\t\t\t} else if (interaction.isContextMenuCommand() && command.isContextMenuCommand()) {\n\t\t\t\tawait command.execute(client, interaction);\n\t\t\t}\n\t\t} else if (interaction.isMessageComponent() || interaction.isModalSubmit()) {\n\t\t\tconst { componentType, tags, data } = deconstructCustomId(interaction.customId);\n\n\t\t\tif (componentType === ComponentType.Button && !(interaction instanceof ButtonInteraction))\n\t\t\t\treturn;\n\t\t\tif (componentType === ComponentType.Modal && !(interaction instanceof ModalSubmitInteraction))\n\t\t\t\treturn;\n\n\t\t\tif (tags.includes(\"awaited\")) return;\n\n\t\t\tconst registeredComponents = client.registries.components.get();\n\t\t\tconst component = registeredComponents.get(data);\n\t\t\tif (!component) {\n\t\t\t\tawait interaction.reply({\n\t\t\t\t\tcontent: `Command is outdated, inactive or does not have a handler!`,\n\t\t\t\t\tflags: [\"Ephemeral\"],\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst requiredPermission = component.metadata.permission;\n\t\t\tconst hasPermission = await component.validateGuildPermission(\n\t\t\t\tclient,\n\t\t\t\tinteraction,\n\t\t\t\trequiredPermission\n\t\t\t);\n\t\t\tif (!hasPermission) return;\n\n\t\t\tif (!interaction.isModalSubmit()) await interaction.deferUpdate();\n\t\t\tawait component.execute(client, interaction);\n\t\t}\n\t},\n} satisfies Event<\"interactionCreate\">;\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var discord_js = require('discord.js');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var index_js = require('../../shared/typings/index.js');
|
|
5
|
+
var functions_js = require('../../shared/utility/functions.js');
|
|
6
6
|
var fs = require('fs');
|
|
7
7
|
var node_path = require('node:path');
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/command.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join","SlashCommandSubcommandBuilder"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/command.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join","SlashCommandSubcommandBuilder"],"mappings":";;;;;;;;AAeA,MAAO,wBAAsCA,qBAAA,CAAyB;AAAA,EAC3D,KAAA,GAAQ,IAAIC,qBAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASrD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,UAAA,EAAY,CAAA,EAAG;AAC1E,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,SAAA,GAAYA,cAAA,CAAK,QAAA,EAAU,UAAU,CAAA;AAC3C,MAAA,MAAM,OAAA,GAAUA,cAAA,CAAK,QAAA,EAAU,UAAU,CAAA;AAEzC,MAAA,IAAI,WAAA,GAAc,EAAA;AAClB,MAAA,IAAI,MAAMF,mBAAA,CAAO,SAAS,CAAA,EAAG,WAAA,GAAc,SAAA;AAAA,WAAA,IAClC,MAAMA,mBAAA,CAAO,OAAO,CAAA,EAAG,WAAA,GAAc,OAAA;AAAA,WACzC;AAEL,MAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,UAAA,CAAuB,WAAW,CAAA;AAC7D,MAAA,IAAI,CAAC,OAAA,EAAS;AACd,MAAA,IAAI,CAAC,OAAA,CAAQ,QAAA,CAAS,MAAA,EAAQ;AAE9B,MAAA,IAAI,OAAA,CAAQ,gBAAe,EAAG;AAC7B,QAAA,MAAM,eAAA,GAAA,CAAmB,MAAMC,WAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,UACpD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,SACxB;AAEA,QAAA,KAAA,MAAW,QAAQ,eAAA,EAAiB;AACnC,UAAA,MAAM,aAAa,MAAM,IAAA,CAAK,WAAuBC,cAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACzE,UAAA,IAAI,CAAC,UAAA,EAAY;AACjB,UAAA,IAAI,CAAC,UAAA,CAAW,IAAA,CAAK,IAAA,IAAQ,EAAE,WAAW,IAAA,YAAgBC,wCAAA,CAAA;AACzD,YAAA;AAED,UAAA,OAAA,CAAQ,IAAA,CAAK,aAAA,CAAc,UAAA,CAAW,IAAI,CAAA;AAC1C,UAAA,OAAA,CAAQ,SAAS,WAAA,CAAY,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,MAAM,UAAU,CAAA;AAAA,QAClE;AAAA,MACD;AAEA,MAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,OAAA,CAAQ,IAAA,CAAK,MAAM,OAAO,CAAA;AAAA,IAC1C;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AACD","file":"command.registry.cjs","sourcesContent":["import { Collection, SlashCommandSubcommandBuilder } from \"discord.js\";\nimport { BaseRegistry, AnyCommand } from \"../../shared/typings/index.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport Subcommand from \"../commands/subcommand.base.js\";\n\n/**\n * Registry to load and get all commands.\n *\n * @export\n * @class CommandRegistry\n * @typedef {CommandRegistry}\n * @extends {BaseRegistry<AnyCommand>}\n */\nexport default class CommandRegistry extends BaseRegistry<AnyCommand> {\n\tprotected items = new Collection<string, AnyCommand>();\n\n\t/**\n\t * Load all commands and their subcommands\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"commands\" })]\n\t * @returns {unknown}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"commands\" })) {\n\t\tif (!(await exists(directory))) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\t\t\tif (!entry.isDirectory()) continue;\n\n\t\t\tconst indexFile = join(fullPath, \"index.ts\");\n\t\t\tconst indexJs = join(fullPath, \"index.js\");\n\n\t\t\tlet commandFile = \"\";\n\t\t\tif (await exists(indexFile)) commandFile = indexFile;\n\t\t\telse if (await exists(indexJs)) commandFile = indexJs;\n\t\t\telse continue;\n\n\t\t\tconst command = await this.importFile<AnyCommand>(commandFile);\n\t\t\tif (!command) continue;\n\t\t\tif (!command.metadata.active) continue;\n\n\t\t\tif (command.isSlashCommand()) {\n\t\t\t\tconst subcommandFiles = (await fs.readdir(fullPath)).filter(\n\t\t\t\t\tfile =>\n\t\t\t\t\t\t(file.endsWith(\".ts\") || file.endsWith(\".js\")) &&\n\t\t\t\t\t\t!file.startsWith(\"index.\") &&\n\t\t\t\t\t\t!file.endsWith(\".d.ts\")\n\t\t\t\t);\n\n\t\t\t\tfor (const file of subcommandFiles) {\n\t\t\t\t\tconst subcommand = await this.importFile<Subcommand>(join(fullPath, file));\n\t\t\t\t\tif (!subcommand) continue;\n\t\t\t\t\tif (!subcommand.data.name || !(subcommand.data instanceof SlashCommandSubcommandBuilder))\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tcommand.data.addSubcommand(subcommand.data);\n\t\t\t\t\tcommand.metadata.subcommands.set(subcommand.data.name, subcommand);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.items.set(command.data.name, command);\n\t\t}\n\n\t\treturn this;\n\t}\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Collection, SlashCommandSubcommandBuilder } from 'discord.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { BaseRegistry } from '../../shared/typings/index.js';
|
|
3
|
+
import { getCorePath, exists } from '../../shared/utility/functions.js';
|
|
4
4
|
import { promises } from 'fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/command.registry.ts"],"names":["fs"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/command.registry.ts"],"names":["fs"],"mappings":";;;;;;AAeA,MAAO,wBAAsC,YAAA,CAAyB;AAAA,EAC3D,KAAA,GAAQ,IAAI,UAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASrD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,UAAA,EAAY,CAAA,EAAG;AAC1E,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,SAAA,GAAY,IAAA,CAAK,QAAA,EAAU,UAAU,CAAA;AAC3C,MAAA,MAAM,OAAA,GAAU,IAAA,CAAK,QAAA,EAAU,UAAU,CAAA;AAEzC,MAAA,IAAI,WAAA,GAAc,EAAA;AAClB,MAAA,IAAI,MAAM,MAAA,CAAO,SAAS,CAAA,EAAG,WAAA,GAAc,SAAA;AAAA,WAAA,IAClC,MAAM,MAAA,CAAO,OAAO,CAAA,EAAG,WAAA,GAAc,OAAA;AAAA,WACzC;AAEL,MAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,UAAA,CAAuB,WAAW,CAAA;AAC7D,MAAA,IAAI,CAAC,OAAA,EAAS;AACd,MAAA,IAAI,CAAC,OAAA,CAAQ,QAAA,CAAS,MAAA,EAAQ;AAE9B,MAAA,IAAI,OAAA,CAAQ,gBAAe,EAAG;AAC7B,QAAA,MAAM,eAAA,GAAA,CAAmB,MAAMA,QAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,UACpD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,SACxB;AAEA,QAAA,KAAA,MAAW,QAAQ,eAAA,EAAiB;AACnC,UAAA,MAAM,aAAa,MAAM,IAAA,CAAK,WAAuB,IAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACzE,UAAA,IAAI,CAAC,UAAA,EAAY;AACjB,UAAA,IAAI,CAAC,UAAA,CAAW,IAAA,CAAK,IAAA,IAAQ,EAAE,WAAW,IAAA,YAAgB,6BAAA,CAAA;AACzD,YAAA;AAED,UAAA,OAAA,CAAQ,IAAA,CAAK,aAAA,CAAc,UAAA,CAAW,IAAI,CAAA;AAC1C,UAAA,OAAA,CAAQ,SAAS,WAAA,CAAY,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,MAAM,UAAU,CAAA;AAAA,QAClE;AAAA,MACD;AAEA,MAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,OAAA,CAAQ,IAAA,CAAK,MAAM,OAAO,CAAA;AAAA,IAC1C;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AACD","file":"command.registry.js","sourcesContent":["import { Collection, SlashCommandSubcommandBuilder } from \"discord.js\";\nimport { BaseRegistry, AnyCommand } from \"../../shared/typings/index.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport Subcommand from \"../commands/subcommand.base.js\";\n\n/**\n * Registry to load and get all commands.\n *\n * @export\n * @class CommandRegistry\n * @typedef {CommandRegistry}\n * @extends {BaseRegistry<AnyCommand>}\n */\nexport default class CommandRegistry extends BaseRegistry<AnyCommand> {\n\tprotected items = new Collection<string, AnyCommand>();\n\n\t/**\n\t * Load all commands and their subcommands\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"commands\" })]\n\t * @returns {unknown}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"commands\" })) {\n\t\tif (!(await exists(directory))) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\t\t\tif (!entry.isDirectory()) continue;\n\n\t\t\tconst indexFile = join(fullPath, \"index.ts\");\n\t\t\tconst indexJs = join(fullPath, \"index.js\");\n\n\t\t\tlet commandFile = \"\";\n\t\t\tif (await exists(indexFile)) commandFile = indexFile;\n\t\t\telse if (await exists(indexJs)) commandFile = indexJs;\n\t\t\telse continue;\n\n\t\t\tconst command = await this.importFile<AnyCommand>(commandFile);\n\t\t\tif (!command) continue;\n\t\t\tif (!command.metadata.active) continue;\n\n\t\t\tif (command.isSlashCommand()) {\n\t\t\t\tconst subcommandFiles = (await fs.readdir(fullPath)).filter(\n\t\t\t\t\tfile =>\n\t\t\t\t\t\t(file.endsWith(\".ts\") || file.endsWith(\".js\")) &&\n\t\t\t\t\t\t!file.startsWith(\"index.\") &&\n\t\t\t\t\t\t!file.endsWith(\".d.ts\")\n\t\t\t\t);\n\n\t\t\t\tfor (const file of subcommandFiles) {\n\t\t\t\t\tconst subcommand = await this.importFile<Subcommand>(join(fullPath, file));\n\t\t\t\t\tif (!subcommand) continue;\n\t\t\t\t\tif (!subcommand.data.name || !(subcommand.data instanceof SlashCommandSubcommandBuilder))\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tcommand.data.addSubcommand(subcommand.data);\n\t\t\t\t\tcommand.metadata.subcommands.set(subcommand.data.name, subcommand);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.items.set(command.data.name, command);\n\t\t}\n\n\t\treturn this;\n\t}\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var discord_js = require('discord.js');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var index_js = require('../../shared/typings/index.js');
|
|
5
|
+
var functions_js = require('../../shared/utility/functions.js');
|
|
6
6
|
var fs = require('fs');
|
|
7
7
|
var node_path = require('node:path');
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/component.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join","deconstructCustomId"],"mappings":";;;;;;;;AAeA,MAAO,0BAAwCA,qBAAA,CAAwB;AAAA,EAC5D,KAAA,GAAQ,IAAIC,qBAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,YAAA,EAAc,CAAA,EAAkB;AAC3F,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,cAAA,GAAA,CAAkB,MAAMD,WAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QACnD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,cAAA,EAAgB;AAClC,QAAA,MAAM,YAAY,MAAM,IAAA,CAAK,WAAsBC,cAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACvE,QAAA,IAAI,CAAC,SAAA,EAAW;AAEhB,QAAA,MAAM,EAAE,IAAA,EAAK,GAAIC,4BAAA,CAAoB,SAAA,CAAU,SAAS,QAAQ,CAAA;AAChE,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,IAAA,EAAM,SAAS,CAAA;AAAA,MAC/B;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AACD","file":"component.registry.cjs","sourcesContent":["import { Collection } from \"discord.js\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/component.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join","deconstructCustomId"],"mappings":";;;;;;;;AAeA,MAAO,0BAAwCA,qBAAA,CAAwB;AAAA,EAC5D,KAAA,GAAQ,IAAIC,qBAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,YAAA,EAAc,CAAA,EAAkB;AAC3F,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,cAAA,GAAA,CAAkB,MAAMD,WAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QACnD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,cAAA,EAAgB;AAClC,QAAA,MAAM,YAAY,MAAM,IAAA,CAAK,WAAsBC,cAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACvE,QAAA,IAAI,CAAC,SAAA,EAAW;AAEhB,QAAA,MAAM,EAAE,IAAA,EAAK,GAAIC,4BAAA,CAAoB,SAAA,CAAU,SAAS,QAAQ,CAAA;AAChE,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,IAAA,EAAM,SAAS,CAAA;AAAA,MAC/B;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AACD","file":"component.registry.cjs","sourcesContent":["import { Collection } from \"discord.js\";\nimport { BaseRegistry, deconstructCustomId } from \"../../shared/typings/index.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport Component from \"../components/component.base.js\";\n\n/**\n * Registry to load and get all components.\n *\n * @export\n * @class ComponentRegistry\n * @typedef {ComponentRegistry}\n * @extends {BaseRegistry<Component>}\n */\nexport default class ComponentRegistry extends BaseRegistry<Component> {\n\tprotected items = new Collection<string, Component>();\n\n\t/**\n\t * Load all components.\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"components\" })]\n\t * @returns {Promise<this>}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"components\" })): Promise<this> {\n\t\tif (!(await exists(directory))) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\t\t\tif (!entry.isDirectory()) continue;\n\n\t\t\tconst componentFiles = (await fs.readdir(fullPath)).filter(\n\t\t\t\tfile =>\n\t\t\t\t\t(file.endsWith(\".ts\") || file.endsWith(\".js\")) &&\n\t\t\t\t\t!file.startsWith(\"index.\") &&\n\t\t\t\t\t!file.endsWith(\".d.ts\")\n\t\t\t);\n\n\t\t\tfor (const file of componentFiles) {\n\t\t\t\tconst component = await this.importFile<Component>(join(fullPath, file));\n\t\t\t\tif (!component) continue;\n\n\t\t\t\tconst { data } = deconstructCustomId(component.metadata.customId);\n\t\t\t\tthis.items.set(data, component);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Collection } from 'discord.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { BaseRegistry, deconstructCustomId } from '../../shared/typings/index.js';
|
|
3
|
+
import { getCorePath, exists } from '../../shared/utility/functions.js';
|
|
4
4
|
import { promises } from 'fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/component.registry.ts"],"names":["fs"],"mappings":";;;;;;AAeA,MAAO,0BAAwC,YAAA,CAAwB;AAAA,EAC5D,KAAA,GAAQ,IAAI,UAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,YAAA,EAAc,CAAA,EAAkB;AAC3F,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,cAAA,GAAA,CAAkB,MAAMA,QAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QACnD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,cAAA,EAAgB;AAClC,QAAA,MAAM,YAAY,MAAM,IAAA,CAAK,WAAsB,IAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACvE,QAAA,IAAI,CAAC,SAAA,EAAW;AAEhB,QAAA,MAAM,EAAE,IAAA,EAAK,GAAI,mBAAA,CAAoB,SAAA,CAAU,SAAS,QAAQ,CAAA;AAChE,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,IAAA,EAAM,SAAS,CAAA;AAAA,MAC/B;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AACD","file":"component.registry.js","sourcesContent":["import { Collection } from \"discord.js\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/component.registry.ts"],"names":["fs"],"mappings":";;;;;;AAeA,MAAO,0BAAwC,YAAA,CAAwB;AAAA,EAC5D,KAAA,GAAQ,IAAI,UAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,YAAA,EAAc,CAAA,EAAkB;AAC3F,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,cAAA,GAAA,CAAkB,MAAMA,QAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QACnD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,cAAA,EAAgB;AAClC,QAAA,MAAM,YAAY,MAAM,IAAA,CAAK,WAAsB,IAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACvE,QAAA,IAAI,CAAC,SAAA,EAAW;AAEhB,QAAA,MAAM,EAAE,IAAA,EAAK,GAAI,mBAAA,CAAoB,SAAA,CAAU,SAAS,QAAQ,CAAA;AAChE,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,IAAA,EAAM,SAAS,CAAA;AAAA,MAC/B;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AACD","file":"component.registry.js","sourcesContent":["import { Collection } from \"discord.js\";\nimport { BaseRegistry, deconstructCustomId } from \"../../shared/typings/index.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport Component from \"../components/component.base.js\";\n\n/**\n * Registry to load and get all components.\n *\n * @export\n * @class ComponentRegistry\n * @typedef {ComponentRegistry}\n * @extends {BaseRegistry<Component>}\n */\nexport default class ComponentRegistry extends BaseRegistry<Component> {\n\tprotected items = new Collection<string, Component>();\n\n\t/**\n\t * Load all components.\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"components\" })]\n\t * @returns {Promise<this>}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"components\" })): Promise<this> {\n\t\tif (!(await exists(directory))) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\t\t\tif (!entry.isDirectory()) continue;\n\n\t\t\tconst componentFiles = (await fs.readdir(fullPath)).filter(\n\t\t\t\tfile =>\n\t\t\t\t\t(file.endsWith(\".ts\") || file.endsWith(\".js\")) &&\n\t\t\t\t\t!file.startsWith(\"index.\") &&\n\t\t\t\t\t!file.endsWith(\".d.ts\")\n\t\t\t);\n\n\t\t\tfor (const file of componentFiles) {\n\t\t\t\tconst component = await this.importFile<Component>(join(fullPath, file));\n\t\t\t\tif (!component) continue;\n\n\t\t\t\tconst { data } = deconstructCustomId(component.metadata.customId);\n\t\t\t\tthis.items.set(data, component);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var discord_js = require('discord.js');
|
|
4
|
-
var functions_js = require('
|
|
5
|
-
var index_js = require('
|
|
4
|
+
var functions_js = require('../../shared/utility/functions.js');
|
|
5
|
+
var index_js = require('../../shared/typings/index.js');
|
|
6
6
|
var fs = require('fs');
|
|
7
7
|
var node_path = require('node:path');
|
|
8
8
|
var interactionCreate = require('../events/interactionCreate.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/event.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join","interactionCreate"],"mappings":";;;;;;;;;;;;;AAgBA,MAAO,sBAAoCA,qBAAA,CAAoB;AAAA,EACpD,KAAA,GAAQ,IAAIC,qBAAA,EAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,GAAI,OAAO,IAAA;AAEvC,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AACnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAE3C,MAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACxB,QAAA,MAAM,IAAA,CAAK,KAAK,QAAQ,CAAA;AACxB,QAAA;AAAA,MACD;AAEA,MAAA,IAAI,MAAM,MAAA,EAAO,IAAK,MAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,EAAG;AACjD,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,UAAA,CAAkB,QAAQ,CAAA;AACnD,QAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,KAAA,CAAM,IAAA,EAAM,KAAK,CAAA;AAAA,MACjC;AAAA,IACD;AAEA,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAIC,kCAAA,CAAkB,IAAA,EAAMA,kCAA0B,CAAA;AACjE,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACxC,MAAA,MAAM,OAAA,GAAU,IAAI,IAAA,KACnB,KAAK,MAAM,OAAA,CAAQ,MAAA,EAAQ,GAAG,IAAI,CAAA;AAEnC,MAAA,IAAI,MAAM,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,MAAM,OAAO,CAAA;AAAA,WAC1C,MAAA,CAAO,EAAA,CAAG,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,IACnC;AAAA,EACD;AACD","file":"event.registry.cjs","sourcesContent":["import { ClientEvents, Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/event.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join","interactionCreate"],"mappings":";;;;;;;;;;;;;AAgBA,MAAO,sBAAoCA,qBAAA,CAAoB;AAAA,EACpD,KAAA,GAAQ,IAAIC,qBAAA,EAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,GAAI,OAAO,IAAA;AAEvC,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AACnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAE3C,MAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACxB,QAAA,MAAM,IAAA,CAAK,KAAK,QAAQ,CAAA;AACxB,QAAA;AAAA,MACD;AAEA,MAAA,IAAI,MAAM,MAAA,EAAO,IAAK,MAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,EAAG;AACjD,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,UAAA,CAAkB,QAAQ,CAAA;AACnD,QAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,KAAA,CAAM,IAAA,EAAM,KAAK,CAAA;AAAA,MACjC;AAAA,IACD;AAEA,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAIC,kCAAA,CAAkB,IAAA,EAAMA,kCAA0B,CAAA;AACjE,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACxC,MAAA,MAAM,OAAA,GAAU,IAAI,IAAA,KACnB,KAAK,MAAM,OAAA,CAAQ,MAAA,EAAQ,GAAG,IAAI,CAAA;AAEnC,MAAA,IAAI,MAAM,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,MAAM,OAAO,CAAA;AAAA,WAC1C,MAAA,CAAO,EAAA,CAAG,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,IACnC;AAAA,EACD;AACD","file":"event.registry.cjs","sourcesContent":["import { ClientEvents, Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { BaseRegistry, Event } from \"../../shared/typings/index.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport TriviousClient from \"../client/trivious.client.js\";\nimport interactionCreate from \"../events/interactionCreate.js\";\n\n/**\n * Registry to load, get and bind events.\n *\n * @export\n * @class EventRegistry\n * @typedef {EventRegistry}\n * @extends {BaseRegistry<Event>}\n */\nexport default class EventRegistry extends BaseRegistry<Event> {\n\tprotected items = new Collection<string, Event>();\n\n\t/**\n\t * Load all events.\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"events\" })]\n\t * @returns {Promise<this>}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"events\" })): Promise<this> {\n\t\tif (!(await exists(directory))) return this;\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\n\t\t\tif (entry.isDirectory()) {\n\t\t\t\tawait this.load(fullPath);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (entry.isFile() && entry.name.endsWith(\".js\")) {\n\t\t\t\tconst event = await this.importFile<Event>(fullPath);\n\t\t\t\tif (!event) continue;\n\n\t\t\t\tthis.items.set(event.name, event);\n\t\t\t}\n\t\t}\n\n\t\tthis.items.set(interactionCreate.name, interactionCreate as Event);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Bind loaded events to their client events respectively.\n\t *\n\t * @param {TriviousClient} client\n\t */\n\tbind(client: TriviousClient) {\n\t\tfor (const event of this.items.values()) {\n\t\t\tconst handler = (...args: ClientEvents[typeof event.name]) =>\n\t\t\t\tvoid event.execute(client, ...args);\n\n\t\t\tif (event.once) client.once(event.name, handler);\n\t\t\telse client.on(event.name, handler);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Collection } from 'discord.js';
|
|
2
|
-
import { getCorePath, exists } from '
|
|
3
|
-
import { BaseRegistry } from '
|
|
2
|
+
import { getCorePath, exists } from '../../shared/utility/functions.js';
|
|
3
|
+
import { BaseRegistry } from '../../shared/typings/index.js';
|
|
4
4
|
import { promises } from 'fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import interactionCreate from '../events/interactionCreate.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/event.registry.ts"],"names":["fs"],"mappings":";;;;;;;AAgBA,MAAO,sBAAoC,YAAA,CAAoB;AAAA,EACpD,KAAA,GAAQ,IAAI,UAAA,EAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,GAAI,OAAO,IAAA;AAEvC,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AACnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAE3C,MAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACxB,QAAA,MAAM,IAAA,CAAK,KAAK,QAAQ,CAAA;AACxB,QAAA;AAAA,MACD;AAEA,MAAA,IAAI,MAAM,MAAA,EAAO,IAAK,MAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,EAAG;AACjD,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,UAAA,CAAkB,QAAQ,CAAA;AACnD,QAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,KAAA,CAAM,IAAA,EAAM,KAAK,CAAA;AAAA,MACjC;AAAA,IACD;AAEA,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,iBAAA,CAAkB,IAAA,EAAM,iBAA0B,CAAA;AACjE,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACxC,MAAA,MAAM,OAAA,GAAU,IAAI,IAAA,KACnB,KAAK,MAAM,OAAA,CAAQ,MAAA,EAAQ,GAAG,IAAI,CAAA;AAEnC,MAAA,IAAI,MAAM,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,MAAM,OAAO,CAAA;AAAA,WAC1C,MAAA,CAAO,EAAA,CAAG,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,IACnC;AAAA,EACD;AACD","file":"event.registry.js","sourcesContent":["import { ClientEvents, Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/event.registry.ts"],"names":["fs"],"mappings":";;;;;;;AAgBA,MAAO,sBAAoC,YAAA,CAAoB;AAAA,EACpD,KAAA,GAAQ,IAAI,UAAA,EAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,GAAI,OAAO,IAAA;AAEvC,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AACnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAE3C,MAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACxB,QAAA,MAAM,IAAA,CAAK,KAAK,QAAQ,CAAA;AACxB,QAAA;AAAA,MACD;AAEA,MAAA,IAAI,MAAM,MAAA,EAAO,IAAK,MAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,EAAG;AACjD,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,UAAA,CAAkB,QAAQ,CAAA;AACnD,QAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,KAAA,CAAM,IAAA,EAAM,KAAK,CAAA;AAAA,MACjC;AAAA,IACD;AAEA,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,iBAAA,CAAkB,IAAA,EAAM,iBAA0B,CAAA;AACjE,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACxC,MAAA,MAAM,OAAA,GAAU,IAAI,IAAA,KACnB,KAAK,MAAM,OAAA,CAAQ,MAAA,EAAQ,GAAG,IAAI,CAAA;AAEnC,MAAA,IAAI,MAAM,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,MAAM,OAAO,CAAA;AAAA,WAC1C,MAAA,CAAO,EAAA,CAAG,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,IACnC;AAAA,EACD;AACD","file":"event.registry.js","sourcesContent":["import { ClientEvents, Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { BaseRegistry, Event } from \"../../shared/typings/index.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport TriviousClient from \"../client/trivious.client.js\";\nimport interactionCreate from \"../events/interactionCreate.js\";\n\n/**\n * Registry to load, get and bind events.\n *\n * @export\n * @class EventRegistry\n * @typedef {EventRegistry}\n * @extends {BaseRegistry<Event>}\n */\nexport default class EventRegistry extends BaseRegistry<Event> {\n\tprotected items = new Collection<string, Event>();\n\n\t/**\n\t * Load all events.\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"events\" })]\n\t * @returns {Promise<this>}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"events\" })): Promise<this> {\n\t\tif (!(await exists(directory))) return this;\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\n\t\t\tif (entry.isDirectory()) {\n\t\t\t\tawait this.load(fullPath);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (entry.isFile() && entry.name.endsWith(\".js\")) {\n\t\t\t\tconst event = await this.importFile<Event>(fullPath);\n\t\t\t\tif (!event) continue;\n\n\t\t\t\tthis.items.set(event.name, event);\n\t\t\t}\n\t\t}\n\n\t\tthis.items.set(interactionCreate.name, interactionCreate as Event);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Bind loaded events to their client events respectively.\n\t *\n\t * @param {TriviousClient} client\n\t */\n\tbind(client: TriviousClient) {\n\t\tfor (const event of this.items.values()) {\n\t\t\tconst handler = (...args: ClientEvents[typeof event.name]) =>\n\t\t\t\tvoid event.execute(client, ...args);\n\n\t\t\tif (event.once) client.once(event.name, handler);\n\t\t\telse client.on(event.name, handler);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var functions_js = require('
|
|
3
|
+
var functions_js = require('../../shared/utility/functions.js');
|
|
4
4
|
var CommandRegistry = require('./command.registry.js');
|
|
5
5
|
var ComponentRegistry = require('./component.registry.js');
|
|
6
6
|
var EventRegistry = require('./event.registry.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/index.ts"],"names":["CommandRegistry","ComponentRegistry","EventRegistry","ModuleRegistry","resolveUserPath","path"],"mappings":";;;;;;;;;;;;;;;;;AAcO,MAAM,aAAa,OAAO;AAAA,EAChC,QAAA,EAAU,IAAIA,gCAAA,EAAgB;AAAA,EAC9B,UAAA,EAAY,IAAIC,kCAAA,EAAkB;AAAA,EAClC,MAAA,EAAQ,IAAIC,8BAAA,EAAc;AAAA,EAC1B,OAAA,EAAS,IAAIC,+BAAA,EAAe;AAAA,EAE5B,MAAM,QAAQ,OAAA,EAAgC;AAC7C,IAAA,MAAM,YAAY,OAAA,CAAQ,SAAA;AAC1B,IAAA,MAAM,WAAW,OAAA,CAAQ,QAAA;AAEzB,IAAA,MAAM,QAAQ,GAAA,CAAI;AAAA,MACjB,KAAK,QAAA,CAAS,IAAA;AAAA,QACb,QAAA,GACGC,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,UAAU,CAAC,CAAA,GAC/C,SAAA,EAAW,YAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,YAAY,CAAA,GACtC;AAAA,OACL;AAAA,MACA,KAAK,UAAA,CAAW,IAAA;AAAA,QACf,QAAA,GACGA,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,YAAY,CAAC,CAAA,GACjD,SAAA,EAAW,cAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,cAAc,CAAA,GACxC;AAAA,OACL;AAAA,MACA,KAAK,MAAA,CAAO,IAAA;AAAA,QACX,QAAA,GACGA,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,QAAQ,CAAC,CAAA,GAC7C,SAAA,EAAW,UAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,UAAU,CAAA,GACpC;AAAA,OACL;AAAA,MACA,KAAK,OAAA,CAAQ,IAAA;AAAA,QACZ,QAAA,GACGA,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,SAAS,CAAC,CAAA,GAC9C,SAAA,EAAW,WAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,WAAW,CAAA,GACrC;AAAA;AACL,KACA,CAAA;AAAA,EACF,CAAA;AAAA,EAEA,KAAK,MAAA,EAAwB;AAC5B,IAAA,IAAA,CAAK,MAAA,CAAO,KAAK,MAAM,CAAA;AACvB,IAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,EACzB;AACD,CAAA","file":"index.cjs","sourcesContent":["import { TriviousClientOptions } from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/index.ts"],"names":["CommandRegistry","ComponentRegistry","EventRegistry","ModuleRegistry","resolveUserPath","path"],"mappings":";;;;;;;;;;;;;;;;;AAcO,MAAM,aAAa,OAAO;AAAA,EAChC,QAAA,EAAU,IAAIA,gCAAA,EAAgB;AAAA,EAC9B,UAAA,EAAY,IAAIC,kCAAA,EAAkB;AAAA,EAClC,MAAA,EAAQ,IAAIC,8BAAA,EAAc;AAAA,EAC1B,OAAA,EAAS,IAAIC,+BAAA,EAAe;AAAA,EAE5B,MAAM,QAAQ,OAAA,EAAgC;AAC7C,IAAA,MAAM,YAAY,OAAA,CAAQ,SAAA;AAC1B,IAAA,MAAM,WAAW,OAAA,CAAQ,QAAA;AAEzB,IAAA,MAAM,QAAQ,GAAA,CAAI;AAAA,MACjB,KAAK,QAAA,CAAS,IAAA;AAAA,QACb,QAAA,GACGC,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,UAAU,CAAC,CAAA,GAC/C,SAAA,EAAW,YAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,YAAY,CAAA,GACtC;AAAA,OACL;AAAA,MACA,KAAK,UAAA,CAAW,IAAA;AAAA,QACf,QAAA,GACGA,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,YAAY,CAAC,CAAA,GACjD,SAAA,EAAW,cAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,cAAc,CAAA,GACxC;AAAA,OACL;AAAA,MACA,KAAK,MAAA,CAAO,IAAA;AAAA,QACX,QAAA,GACGA,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,QAAQ,CAAC,CAAA,GAC7C,SAAA,EAAW,UAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,UAAU,CAAA,GACpC;AAAA,OACL;AAAA,MACA,KAAK,OAAA,CAAQ,IAAA;AAAA,QACZ,QAAA,GACGA,4BAAA,CAAgBC,qBAAA,CAAK,IAAA,CAAK,QAAA,EAAU,SAAS,CAAC,CAAA,GAC9C,SAAA,EAAW,WAAA,GACVD,4BAAA,CAAgB,SAAA,CAAU,WAAW,CAAA,GACrC;AAAA;AACL,KACA,CAAA;AAAA,EACF,CAAA;AAAA,EAEA,KAAK,MAAA,EAAwB;AAC5B,IAAA,IAAA,CAAK,MAAA,CAAO,KAAK,MAAM,CAAA;AACvB,IAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,EACzB;AACD,CAAA","file":"index.cjs","sourcesContent":["import { TriviousClientOptions } from \"../../shared/typings/client.js\";\nimport { resolveUserPath } from \"../../shared/utility/functions.js\";\nimport TriviousClient from \"../client/trivious.client.js\";\nimport CommandRegistry from \"./command.registry.js\";\nimport ComponentRegistry from \"./component.registry.js\";\nimport EventRegistry from \"./event.registry.js\";\nimport ModuleRegistry from \"./module.registry.js\";\nimport path from \"node:path\";\n\n/**\n * Create new registries.\n *\n * @returns {{ commands: CommandRegistry; components: ComponentRegistry; events: EventRegistry; modules: any; loadAll(options: TriviousClientOptions): any; bind(client: TriviousClient): void; }}\n */\nexport const registries = () => ({\n\tcommands: new CommandRegistry(),\n\tcomponents: new ComponentRegistry(),\n\tevents: new EventRegistry(),\n\tmodules: new ModuleRegistry(),\n\n\tasync loadAll(options: TriviousClientOptions) {\n\t\tconst corePaths = options.corePaths;\n\t\tconst corePath = options.corePath;\n\n\t\tawait Promise.all([\n\t\t\tthis.commands.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"commands\"))\n\t\t\t\t\t: corePaths?.commandsPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.commandsPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.components.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"components\"))\n\t\t\t\t\t: corePaths?.componentsPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.componentsPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.events.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"events\"))\n\t\t\t\t\t: corePaths?.eventsPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.eventsPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.modules.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"modules\"))\n\t\t\t\t\t: corePaths?.modulesPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.modulesPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t]);\n\t},\n\n\tbind(client: TriviousClient) {\n\t\tthis.events.bind(client);\n\t\tthis.modules.bind(client);\n\t},\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as CommandRegistry, a as ComponentRegistry, E as EventRegistry, M as ModuleRegistry, b as TriviousClientOptions, T as TriviousClient } from '../../index-
|
|
1
|
+
import { C as CommandRegistry, a as ComponentRegistry, E as EventRegistry, M as ModuleRegistry, b as TriviousClientOptions, T as TriviousClient } from '../../index-CU2Xl9Xo.cjs';
|
|
2
2
|
import '../../shared/typings/registry.cjs';
|
|
3
3
|
import 'discord.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as CommandRegistry, a as ComponentRegistry, E as EventRegistry, M as ModuleRegistry, b as TriviousClientOptions, T as TriviousClient } from '../../index-
|
|
1
|
+
import { C as CommandRegistry, a as ComponentRegistry, E as EventRegistry, M as ModuleRegistry, b as TriviousClientOptions, T as TriviousClient } from '../../index-BPaYmWRO.js';
|
|
2
2
|
import '../../shared/typings/registry.js';
|
|
3
3
|
import 'discord.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveUserPath } from '
|
|
1
|
+
import { resolveUserPath } from '../../shared/utility/functions.js';
|
|
2
2
|
import CommandRegistry from './command.registry.js';
|
|
3
3
|
import ComponentRegistry from './component.registry.js';
|
|
4
4
|
import EventRegistry from './event.registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/index.ts"],"names":[],"mappings":";;;;;;;AAcO,MAAM,aAAa,OAAO;AAAA,EAChC,QAAA,EAAU,IAAI,eAAA,EAAgB;AAAA,EAC9B,UAAA,EAAY,IAAI,iBAAA,EAAkB;AAAA,EAClC,MAAA,EAAQ,IAAI,aAAA,EAAc;AAAA,EAC1B,OAAA,EAAS,IAAI,cAAA,EAAe;AAAA,EAE5B,MAAM,QAAQ,OAAA,EAAgC;AAC7C,IAAA,MAAM,YAAY,OAAA,CAAQ,SAAA;AAC1B,IAAA,MAAM,WAAW,OAAA,CAAQ,QAAA;AAEzB,IAAA,MAAM,QAAQ,GAAA,CAAI;AAAA,MACjB,KAAK,QAAA,CAAS,IAAA;AAAA,QACb,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,UAAU,CAAC,CAAA,GAC/C,SAAA,EAAW,YAAA,GACV,eAAA,CAAgB,SAAA,CAAU,YAAY,CAAA,GACtC;AAAA,OACL;AAAA,MACA,KAAK,UAAA,CAAW,IAAA;AAAA,QACf,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,YAAY,CAAC,CAAA,GACjD,SAAA,EAAW,cAAA,GACV,eAAA,CAAgB,SAAA,CAAU,cAAc,CAAA,GACxC;AAAA,OACL;AAAA,MACA,KAAK,MAAA,CAAO,IAAA;AAAA,QACX,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,QAAQ,CAAC,CAAA,GAC7C,SAAA,EAAW,UAAA,GACV,eAAA,CAAgB,SAAA,CAAU,UAAU,CAAA,GACpC;AAAA,OACL;AAAA,MACA,KAAK,OAAA,CAAQ,IAAA;AAAA,QACZ,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,SAAS,CAAC,CAAA,GAC9C,SAAA,EAAW,WAAA,GACV,eAAA,CAAgB,SAAA,CAAU,WAAW,CAAA,GACrC;AAAA;AACL,KACA,CAAA;AAAA,EACF,CAAA;AAAA,EAEA,KAAK,MAAA,EAAwB;AAC5B,IAAA,IAAA,CAAK,MAAA,CAAO,KAAK,MAAM,CAAA;AACvB,IAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,EACzB;AACD,CAAA","file":"index.js","sourcesContent":["import { TriviousClientOptions } from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/index.ts"],"names":[],"mappings":";;;;;;;AAcO,MAAM,aAAa,OAAO;AAAA,EAChC,QAAA,EAAU,IAAI,eAAA,EAAgB;AAAA,EAC9B,UAAA,EAAY,IAAI,iBAAA,EAAkB;AAAA,EAClC,MAAA,EAAQ,IAAI,aAAA,EAAc;AAAA,EAC1B,OAAA,EAAS,IAAI,cAAA,EAAe;AAAA,EAE5B,MAAM,QAAQ,OAAA,EAAgC;AAC7C,IAAA,MAAM,YAAY,OAAA,CAAQ,SAAA;AAC1B,IAAA,MAAM,WAAW,OAAA,CAAQ,QAAA;AAEzB,IAAA,MAAM,QAAQ,GAAA,CAAI;AAAA,MACjB,KAAK,QAAA,CAAS,IAAA;AAAA,QACb,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,UAAU,CAAC,CAAA,GAC/C,SAAA,EAAW,YAAA,GACV,eAAA,CAAgB,SAAA,CAAU,YAAY,CAAA,GACtC;AAAA,OACL;AAAA,MACA,KAAK,UAAA,CAAW,IAAA;AAAA,QACf,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,YAAY,CAAC,CAAA,GACjD,SAAA,EAAW,cAAA,GACV,eAAA,CAAgB,SAAA,CAAU,cAAc,CAAA,GACxC;AAAA,OACL;AAAA,MACA,KAAK,MAAA,CAAO,IAAA;AAAA,QACX,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,QAAQ,CAAC,CAAA,GAC7C,SAAA,EAAW,UAAA,GACV,eAAA,CAAgB,SAAA,CAAU,UAAU,CAAA,GACpC;AAAA,OACL;AAAA,MACA,KAAK,OAAA,CAAQ,IAAA;AAAA,QACZ,QAAA,GACG,eAAA,CAAgB,IAAA,CAAK,IAAA,CAAK,QAAA,EAAU,SAAS,CAAC,CAAA,GAC9C,SAAA,EAAW,WAAA,GACV,eAAA,CAAgB,SAAA,CAAU,WAAW,CAAA,GACrC;AAAA;AACL,KACA,CAAA;AAAA,EACF,CAAA;AAAA,EAEA,KAAK,MAAA,EAAwB;AAC5B,IAAA,IAAA,CAAK,MAAA,CAAO,KAAK,MAAM,CAAA;AACvB,IAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,EACzB;AACD,CAAA","file":"index.js","sourcesContent":["import { TriviousClientOptions } from \"../../shared/typings/client.js\";\nimport { resolveUserPath } from \"../../shared/utility/functions.js\";\nimport TriviousClient from \"../client/trivious.client.js\";\nimport CommandRegistry from \"./command.registry.js\";\nimport ComponentRegistry from \"./component.registry.js\";\nimport EventRegistry from \"./event.registry.js\";\nimport ModuleRegistry from \"./module.registry.js\";\nimport path from \"node:path\";\n\n/**\n * Create new registries.\n *\n * @returns {{ commands: CommandRegistry; components: ComponentRegistry; events: EventRegistry; modules: any; loadAll(options: TriviousClientOptions): any; bind(client: TriviousClient): void; }}\n */\nexport const registries = () => ({\n\tcommands: new CommandRegistry(),\n\tcomponents: new ComponentRegistry(),\n\tevents: new EventRegistry(),\n\tmodules: new ModuleRegistry(),\n\n\tasync loadAll(options: TriviousClientOptions) {\n\t\tconst corePaths = options.corePaths;\n\t\tconst corePath = options.corePath;\n\n\t\tawait Promise.all([\n\t\t\tthis.commands.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"commands\"))\n\t\t\t\t\t: corePaths?.commandsPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.commandsPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.components.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"components\"))\n\t\t\t\t\t: corePaths?.componentsPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.componentsPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.events.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"events\"))\n\t\t\t\t\t: corePaths?.eventsPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.eventsPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.modules.load(\n\t\t\t\tcorePath\n\t\t\t\t\t? resolveUserPath(path.join(corePath, \"modules\"))\n\t\t\t\t\t: corePaths?.modulesPath\n\t\t\t\t\t\t? resolveUserPath(corePaths.modulesPath)\n\t\t\t\t\t\t: undefined\n\t\t\t),\n\t\t]);\n\t},\n\n\tbind(client: TriviousClient) {\n\t\tthis.events.bind(client);\n\t\tthis.modules.bind(client);\n\t},\n});\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var discord_js = require('discord.js');
|
|
4
|
-
var functions_js = require('
|
|
5
|
-
var index_js = require('
|
|
4
|
+
var functions_js = require('../../shared/utility/functions.js');
|
|
5
|
+
var index_js = require('../../shared/typings/index.js');
|
|
6
6
|
var fs = require('fs');
|
|
7
7
|
var node_path = require('node:path');
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/module.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join"],"mappings":";;;;;;;;AAeA,MAAO,uBAAqCA,qBAAA,CAAqB;AAAA,EACtD,KAAA,GAAQ,IAAIC,qBAAA,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASjD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,WAAA,GAAA,CAAe,MAAMD,WAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QAChD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,WAAA,EAAa;AAC/B,QAAA,MAAM,cAAc,MAAM,IAAA,CAAK,WAAmBC,cAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACtE,QAAA,IAAI,CAAC,WAAA,IAAe,CAAC,WAAA,CAAY,MAAA,EAAQ;AAEzC,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,WAAA,CAAY,IAAA,EAAM,WAAW,CAAA;AAAA,MAC7C;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,GAAA,IAAO,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACtC,MAAA,KAAA,MAAW,CAAC,WAAW,OAAO,CAAA,IAAK,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAO,CAAA,EAAG;AAC/D,QAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AAEnC,QAAA,MAAM,QAAA,GAAW,IAAI,IAAA,KAAoB;AACxC,UAAA,KAAM,OAAA,CAAgE,MAAA,EAAQ,GAAG,IAAI,CAAA;AAAA,QACtF,CAAA;AAEA,QAAC,MAAA,CAAO,EAAA,CAAW,SAAA,EAAW,QAAQ,CAAA;AAAA,MACvC;AAAA,IACD;AAAA,EACD;AACD","file":"module.registry.cjs","sourcesContent":["import { Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/module.registry.ts"],"names":["BaseRegistry","Collection","getCorePath","exists","fs","join"],"mappings":";;;;;;;;AAeA,MAAO,uBAAqCA,qBAAA,CAAqB;AAAA,EACtD,KAAA,GAAQ,IAAIC,qBAAA,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASjD,MAAM,KAAK,SAAA,GAAoBC,wBAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAMC,mBAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMC,WAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,WAAA,GAAA,CAAe,MAAMD,WAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QAChD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,WAAA,EAAa;AAC/B,QAAA,MAAM,cAAc,MAAM,IAAA,CAAK,WAAmBC,cAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACtE,QAAA,IAAI,CAAC,WAAA,IAAe,CAAC,WAAA,CAAY,MAAA,EAAQ;AAEzC,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,WAAA,CAAY,IAAA,EAAM,WAAW,CAAA;AAAA,MAC7C;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,GAAA,IAAO,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACtC,MAAA,KAAA,MAAW,CAAC,WAAW,OAAO,CAAA,IAAK,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAO,CAAA,EAAG;AAC/D,QAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AAEnC,QAAA,MAAM,QAAA,GAAW,IAAI,IAAA,KAAoB;AACxC,UAAA,KAAM,OAAA,CAAgE,MAAA,EAAQ,GAAG,IAAI,CAAA;AAAA,QACtF,CAAA;AAEA,QAAC,MAAA,CAAO,EAAA,CAAW,SAAA,EAAW,QAAQ,CAAA;AAAA,MACvC;AAAA,IACD;AAAA,EACD;AACD","file":"module.registry.cjs","sourcesContent":["import { Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { BaseRegistry, Module } from \"../../shared/typings/index.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport TriviousClient from \"../client/trivious.client.js\";\n\n/**\n * Registry to load, get and bind modules.\n *\n * @export\n * @class ModuleRegistry\n * @typedef {ModuleRegistry}\n * @extends {BaseRegistry<Module>}\n */\nexport default class ModuleRegistry extends BaseRegistry<Module> {\n\tprotected items = new Collection<string, Module>();\n\n\t/**\n\t * Load all modules.\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"module\" })]\n\t * @returns {Promise<this>}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"module\" })): Promise<this> {\n\t\tif (!(await exists(directory))) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\t\t\tif (!entry.isDirectory()) continue;\n\n\t\t\tconst moduleFiles = (await fs.readdir(fullPath)).filter(\n\t\t\t\tfile =>\n\t\t\t\t\t(file.endsWith(\".ts\") || file.endsWith(\".js\")) &&\n\t\t\t\t\t!file.startsWith(\"index.\") &&\n\t\t\t\t\t!file.endsWith(\".d.ts\")\n\t\t\t);\n\n\t\t\tfor (const file of moduleFiles) {\n\t\t\t\tconst moduleEvent = await this.importFile<Module>(join(fullPath, file));\n\t\t\t\tif (!moduleEvent || !moduleEvent.events) continue;\n\n\t\t\t\tthis.items.set(moduleEvent.name, moduleEvent);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Bind all loaded modules to their client event respectively.\n\t *\n\t * @param {TriviousClient} client\n\t */\n\tbind(client: TriviousClient) {\n\t\tfor (const mod of this.items.values()) {\n\t\t\tfor (const [eventName, handler] of Object.entries(mod.events!)) {\n\t\t\t\tif (typeof handler !== \"function\") continue;\n\n\t\t\t\tconst listener = (...args: unknown[]) => {\n\t\t\t\t\tvoid (handler as (client: TriviousClient, ...args: unknown[]) => any)(client, ...args);\n\t\t\t\t};\n\n\t\t\t\t(client.on as any)(eventName, listener);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Collection } from 'discord.js';
|
|
2
|
-
import { getCorePath, exists } from '
|
|
3
|
-
import { BaseRegistry } from '
|
|
2
|
+
import { getCorePath, exists } from '../../shared/utility/functions.js';
|
|
3
|
+
import { BaseRegistry } from '../../shared/typings/index.js';
|
|
4
4
|
import { promises } from 'fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/registry/module.registry.ts"],"names":["fs"],"mappings":";;;;;;AAeA,MAAO,uBAAqC,YAAA,CAAqB;AAAA,EACtD,KAAA,GAAQ,IAAI,UAAA,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASjD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,WAAA,GAAA,CAAe,MAAMA,QAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QAChD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,WAAA,EAAa;AAC/B,QAAA,MAAM,cAAc,MAAM,IAAA,CAAK,WAAmB,IAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACtE,QAAA,IAAI,CAAC,WAAA,IAAe,CAAC,WAAA,CAAY,MAAA,EAAQ;AAEzC,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,WAAA,CAAY,IAAA,EAAM,WAAW,CAAA;AAAA,MAC7C;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,GAAA,IAAO,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACtC,MAAA,KAAA,MAAW,CAAC,WAAW,OAAO,CAAA,IAAK,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAO,CAAA,EAAG;AAC/D,QAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AAEnC,QAAA,MAAM,QAAA,GAAW,IAAI,IAAA,KAAoB;AACxC,UAAA,KAAM,OAAA,CAAgE,MAAA,EAAQ,GAAG,IAAI,CAAA;AAAA,QACtF,CAAA;AAEA,QAAC,MAAA,CAAO,EAAA,CAAW,SAAA,EAAW,QAAQ,CAAA;AAAA,MACvC;AAAA,IACD;AAAA,EACD;AACD","file":"module.registry.js","sourcesContent":["import { Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/core/registry/module.registry.ts"],"names":["fs"],"mappings":";;;;;;AAeA,MAAO,uBAAqC,YAAA,CAAqB;AAAA,EACtD,KAAA,GAAQ,IAAI,UAAA,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASjD,MAAM,KAAK,SAAA,GAAoB,WAAA,CAAY,EAAE,aAAA,EAAe,QAAA,EAAU,CAAA,EAAkB;AACvF,IAAA,IAAI,CAAE,MAAM,MAAA,CAAO,SAAS,CAAA,EAAI;AAC/B,MAAA,OAAO,IAAA;AAAA,IACR;AAEA,IAAA,MAAM,OAAA,GAAU,MAAMA,QAAA,CAAG,OAAA,CAAQ,WAAW,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnE,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC5B,MAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,EAAW,KAAA,CAAM,IAAI,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,WAAA,EAAY,EAAG;AAE1B,MAAA,MAAM,WAAA,GAAA,CAAe,MAAMA,QAAA,CAAG,OAAA,CAAQ,QAAQ,CAAA,EAAG,MAAA;AAAA,QAChD,WACE,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,IAAK,KAAK,QAAA,CAAS,KAAK,CAAA,KAC5C,CAAC,KAAK,UAAA,CAAW,QAAQ,KACzB,CAAC,IAAA,CAAK,SAAS,OAAO;AAAA,OACxB;AAEA,MAAA,KAAA,MAAW,QAAQ,WAAA,EAAa;AAC/B,QAAA,MAAM,cAAc,MAAM,IAAA,CAAK,WAAmB,IAAA,CAAK,QAAA,EAAU,IAAI,CAAC,CAAA;AACtE,QAAA,IAAI,CAAC,WAAA,IAAe,CAAC,WAAA,CAAY,MAAA,EAAQ;AAEzC,QAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,WAAA,CAAY,IAAA,EAAM,WAAW,CAAA;AAAA,MAC7C;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAA,EAAwB;AAC5B,IAAA,KAAA,MAAW,GAAA,IAAO,IAAA,CAAK,KAAA,CAAM,MAAA,EAAO,EAAG;AACtC,MAAA,KAAA,MAAW,CAAC,WAAW,OAAO,CAAA,IAAK,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAO,CAAA,EAAG;AAC/D,QAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AAEnC,QAAA,MAAM,QAAA,GAAW,IAAI,IAAA,KAAoB;AACxC,UAAA,KAAM,OAAA,CAAgE,MAAA,EAAQ,GAAG,IAAI,CAAA;AAAA,QACtF,CAAA;AAEA,QAAC,MAAA,CAAO,EAAA,CAAW,SAAA,EAAW,QAAQ,CAAA;AAAA,MACvC;AAAA,IACD;AAAA,EACD;AACD","file":"module.registry.js","sourcesContent":["import { Collection } from \"discord.js\";\nimport { exists, getCorePath } from \"../../shared/utility/functions.js\";\nimport { BaseRegistry, Module } from \"../../shared/typings/index.js\";\nimport { promises as fs } from \"fs\";\nimport { join } from \"node:path\";\nimport TriviousClient from \"../client/trivious.client.js\";\n\n/**\n * Registry to load, get and bind modules.\n *\n * @export\n * @class ModuleRegistry\n * @typedef {ModuleRegistry}\n * @extends {BaseRegistry<Module>}\n */\nexport default class ModuleRegistry extends BaseRegistry<Module> {\n\tprotected items = new Collection<string, Module>();\n\n\t/**\n\t * Load all modules.\n\t *\n\t * @async\n\t * @param {string} [directory=getCorePath({ coreDirectory: \"module\" })]\n\t * @returns {Promise<this>}\n\t */\n\tasync load(directory: string = getCorePath({ coreDirectory: \"module\" })): Promise<this> {\n\t\tif (!(await exists(directory))) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst entries = await fs.readdir(directory, { withFileTypes: true });\n\n\t\tfor (const entry of entries) {\n\t\t\tconst fullPath = join(directory, entry.name);\n\t\t\tif (!entry.isDirectory()) continue;\n\n\t\t\tconst moduleFiles = (await fs.readdir(fullPath)).filter(\n\t\t\t\tfile =>\n\t\t\t\t\t(file.endsWith(\".ts\") || file.endsWith(\".js\")) &&\n\t\t\t\t\t!file.startsWith(\"index.\") &&\n\t\t\t\t\t!file.endsWith(\".d.ts\")\n\t\t\t);\n\n\t\t\tfor (const file of moduleFiles) {\n\t\t\t\tconst moduleEvent = await this.importFile<Module>(join(fullPath, file));\n\t\t\t\tif (!moduleEvent || !moduleEvent.events) continue;\n\n\t\t\t\tthis.items.set(moduleEvent.name, moduleEvent);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Bind all loaded modules to their client event respectively.\n\t *\n\t * @param {TriviousClient} client\n\t */\n\tbind(client: TriviousClient) {\n\t\tfor (const mod of this.items.values()) {\n\t\t\tfor (const [eventName, handler] of Object.entries(mod.events!)) {\n\t\t\t\tif (typeof handler !== \"function\") continue;\n\n\t\t\t\tconst listener = (...args: unknown[]) => {\n\t\t\t\t\tvoid (handler as (client: TriviousClient, ...args: unknown[]) => any)(client, ...args);\n\t\t\t\t};\n\n\t\t\t\t(client.on as any)(eventName, listener);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|