trivious 1.3.20 → 1.3.22
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/index.cjs +1445 -67
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +973 -3
- package/dist/index.d.ts +973 -3
- package/dist/index.js +1434 -10
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/core/client/trivious.client.cjs +0 -90
- package/dist/core/client/trivious.client.cjs.map +0 -1
- package/dist/core/client/trivious.client.d.cts +0 -3
- package/dist/core/client/trivious.client.d.ts +0 -3
- package/dist/core/client/trivious.client.js +0 -88
- package/dist/core/client/trivious.client.js.map +0 -1
- package/dist/core/commands/command.base.cjs +0 -224
- package/dist/core/commands/command.base.cjs.map +0 -1
- package/dist/core/commands/command.base.d.cts +0 -3
- package/dist/core/commands/command.base.d.ts +0 -3
- package/dist/core/commands/command.base.js +0 -214
- package/dist/core/commands/command.base.js.map +0 -1
- package/dist/core/commands/contextcommand.base.cjs +0 -98
- package/dist/core/commands/contextcommand.base.cjs.map +0 -1
- package/dist/core/commands/contextcommand.base.d.cts +0 -3
- package/dist/core/commands/contextcommand.base.d.ts +0 -3
- package/dist/core/commands/contextcommand.base.js +0 -93
- package/dist/core/commands/contextcommand.base.js.map +0 -1
- package/dist/core/commands/subcommand.base.cjs +0 -96
- package/dist/core/commands/subcommand.base.cjs.map +0 -1
- package/dist/core/commands/subcommand.base.d.cts +0 -3
- package/dist/core/commands/subcommand.base.d.ts +0 -3
- package/dist/core/commands/subcommand.base.js +0 -91
- package/dist/core/commands/subcommand.base.js.map +0 -1
- package/dist/core/components/component.base.cjs +0 -111
- package/dist/core/components/component.base.cjs.map +0 -1
- package/dist/core/components/component.base.d.cts +0 -3
- package/dist/core/components/component.base.d.ts +0 -3
- package/dist/core/components/component.base.js +0 -106
- package/dist/core/components/component.base.js.map +0 -1
- package/dist/core/events/interactionCreate.cjs +0 -68
- package/dist/core/events/interactionCreate.cjs.map +0 -1
- package/dist/core/events/interactionCreate.d.cts +0 -10
- package/dist/core/events/interactionCreate.d.ts +0 -10
- package/dist/core/events/interactionCreate.js +0 -66
- package/dist/core/events/interactionCreate.js.map +0 -1
- package/dist/core/registry/command.registry.cjs +0 -56
- package/dist/core/registry/command.registry.cjs.map +0 -1
- package/dist/core/registry/command.registry.d.cts +0 -3
- package/dist/core/registry/command.registry.d.ts +0 -3
- package/dist/core/registry/command.registry.js +0 -54
- package/dist/core/registry/command.registry.js.map +0 -1
- package/dist/core/registry/component.registry.cjs +0 -42
- package/dist/core/registry/component.registry.cjs.map +0 -1
- package/dist/core/registry/component.registry.d.cts +0 -3
- package/dist/core/registry/component.registry.d.ts +0 -3
- package/dist/core/registry/component.registry.js +0 -40
- package/dist/core/registry/component.registry.js.map +0 -1
- package/dist/core/registry/event.registry.cjs +0 -57
- package/dist/core/registry/event.registry.cjs.map +0 -1
- package/dist/core/registry/event.registry.d.cts +0 -3
- package/dist/core/registry/event.registry.d.ts +0 -3
- package/dist/core/registry/event.registry.js +0 -51
- package/dist/core/registry/event.registry.js.map +0 -1
- package/dist/core/registry/index.cjs +0 -49
- package/dist/core/registry/index.cjs.map +0 -1
- package/dist/core/registry/index.d.cts +0 -19
- package/dist/core/registry/index.d.ts +0 -19
- package/dist/core/registry/index.js +0 -39
- package/dist/core/registry/index.js.map +0 -1
- package/dist/core/registry/module.registry.cjs +0 -57
- package/dist/core/registry/module.registry.cjs.map +0 -1
- package/dist/core/registry/module.registry.d.cts +0 -3
- package/dist/core/registry/module.registry.d.ts +0 -3
- package/dist/core/registry/module.registry.js +0 -55
- package/dist/core/registry/module.registry.js.map +0 -1
- package/dist/index-BPaYmWRO.d.ts +0 -927
- package/dist/index-CU2Xl9Xo.d.cts +0 -927
- package/dist/shared/typings/client.cjs +0 -4
- package/dist/shared/typings/client.cjs.map +0 -1
- package/dist/shared/typings/client.d.cts +0 -3
- package/dist/shared/typings/client.d.ts +0 -3
- package/dist/shared/typings/client.js +0 -3
- package/dist/shared/typings/client.js.map +0 -1
- package/dist/shared/typings/commands.cjs +0 -4
- package/dist/shared/typings/commands.cjs.map +0 -1
- package/dist/shared/typings/commands.d.cts +0 -3
- package/dist/shared/typings/commands.d.ts +0 -3
- package/dist/shared/typings/commands.js +0 -3
- package/dist/shared/typings/commands.js.map +0 -1
- package/dist/shared/typings/components.cjs +0 -22
- package/dist/shared/typings/components.cjs.map +0 -1
- package/dist/shared/typings/components.d.cts +0 -3
- package/dist/shared/typings/components.d.ts +0 -3
- package/dist/shared/typings/components.js +0 -19
- package/dist/shared/typings/components.js.map +0 -1
- package/dist/shared/typings/events.cjs +0 -4
- package/dist/shared/typings/events.cjs.map +0 -1
- package/dist/shared/typings/events.d.cts +0 -3
- package/dist/shared/typings/events.d.ts +0 -3
- package/dist/shared/typings/events.js +0 -3
- package/dist/shared/typings/events.js.map +0 -1
- package/dist/shared/typings/index.cjs +0 -56
- package/dist/shared/typings/index.cjs.map +0 -1
- package/dist/shared/typings/index.d.cts +0 -3
- package/dist/shared/typings/index.d.ts +0 -3
- package/dist/shared/typings/index.js +0 -9
- package/dist/shared/typings/index.js.map +0 -1
- package/dist/shared/typings/module.cjs +0 -4
- package/dist/shared/typings/module.cjs.map +0 -1
- package/dist/shared/typings/module.d.cts +0 -3
- package/dist/shared/typings/module.d.ts +0 -3
- package/dist/shared/typings/module.js +0 -3
- package/dist/shared/typings/module.js.map +0 -1
- package/dist/shared/typings/permissions.cjs +0 -22
- package/dist/shared/typings/permissions.cjs.map +0 -1
- package/dist/shared/typings/permissions.d.cts +0 -3
- package/dist/shared/typings/permissions.d.ts +0 -3
- package/dist/shared/typings/permissions.js +0 -19
- package/dist/shared/typings/permissions.js.map +0 -1
- package/dist/shared/typings/registry.cjs +0 -63
- package/dist/shared/typings/registry.cjs.map +0 -1
- package/dist/shared/typings/registry.d.cts +0 -51
- package/dist/shared/typings/registry.d.ts +0 -51
- package/dist/shared/typings/registry.js +0 -61
- package/dist/shared/typings/registry.js.map +0 -1
- package/dist/shared/utility/functions.cjs +0 -81
- package/dist/shared/utility/functions.cjs.map +0 -1
- package/dist/shared/utility/functions.d.cts +0 -56
- package/dist/shared/utility/functions.d.ts +0 -56
- package/dist/shared/utility/functions.js +0 -74
- package/dist/shared/utility/functions.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"client.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"client.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"commands.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"commands.js"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var ComponentType = /* @__PURE__ */ ((ComponentType2) => {
|
|
4
|
-
ComponentType2["Button"] = "button";
|
|
5
|
-
ComponentType2["SelectMenu"] = "select";
|
|
6
|
-
ComponentType2["Modal"] = "modal";
|
|
7
|
-
return ComponentType2;
|
|
8
|
-
})(ComponentType || {});
|
|
9
|
-
const deconstructCustomId = (customId) => {
|
|
10
|
-
const [componentType, dataTags] = customId.split(":");
|
|
11
|
-
const [data, ...tags] = dataTags.split(".");
|
|
12
|
-
return {
|
|
13
|
-
componentType,
|
|
14
|
-
data,
|
|
15
|
-
tags
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
exports.ComponentType = ComponentType;
|
|
20
|
-
exports.deconstructCustomId = deconstructCustomId;
|
|
21
|
-
//# sourceMappingURL=components.cjs.map
|
|
22
|
-
//# sourceMappingURL=components.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/typings/components.ts"],"names":["ComponentType"],"mappings":";;AA+BO,IAAK,aAAA,qBAAAA,cAAAA,KAAL;AACN,EAAAA,eAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,eAAA,YAAA,CAAA,GAAa,QAAA;AACb,EAAAA,eAAA,OAAA,CAAA,GAAQ,OAAA;AAHG,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;AAwCL,MAAM,mBAAA,GAAsB,CAAC,QAAA,KAAqB;AACxD,EAAA,MAAM,CAAC,aAAA,EAAe,QAAQ,CAAA,GAAI,QAAA,CAAS,MAAM,GAAG,CAAA;AACpD,EAAA,MAAM,CAAC,IAAA,EAAM,GAAG,IAAI,CAAA,GAAI,QAAA,CAAS,MAAM,GAAG,CAAA;AAE1C,EAAA,OAAO;AAAA,IACN,aAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACD;AACD","file":"components.cjs","sourcesContent":["import {\n\tAnySelectMenuInteraction,\n\tButtonInteraction,\n\tCacheType,\n\tModalSubmitInteraction,\n} from \"discord.js\";\nimport { PermissionLevel } from \"./permissions.js\";\n\n/**\n * Tags for component customIds.\n *\n * @export\n * @typedef {ComponentCustomIdTag}\n */\nexport type ComponentCustomIdTag = \"awaited\";\n/**\n * Interaction types for components.\n *\n * @export\n * @typedef {ComponentInteraction}\n */\nexport type ComponentInteraction =\n\t| AnySelectMenuInteraction<CacheType>\n\t| ButtonInteraction<CacheType>\n\t| ModalSubmitInteraction<CacheType>;\n/**\n * What type of component is the componenty.\n *\n * @export\n * @enum {number}\n */\nexport enum ComponentType {\n\tButton = \"button\",\n\tSelectMenu = \"select\",\n\tModal = \"modal\",\n}\n\n/**\n * Metadata for Components.\n *\n * @export\n * @interface ComponentMetadata\n * @typedef {ComponentMetadata}\n */\nexport interface ComponentMetadata {\n\t/**\n\t * The customId of the component.\n\t *\n\t * @type {string}\n\t */\n\tcustomId: string;\n\t/**\n\t * The permission level required to use the component.\n\t *\n\t * @type {PermissionLevel}\n\t */\n\tpermission: PermissionLevel;\n\t/**\n\t * Whether the interaction reply is ephemeral.\n\t *\n\t * @type {boolean}\n\t */\n\tephemeralReply: boolean;\n}\n\n/**\n * Deconstruct a component customId into its parts.\n *\n * @param {string} customId\n * @returns {{ componentType: ComponentType; data: string; tags: {}; }}\n */\nexport const deconstructCustomId = (customId: string) => {\n\tconst [componentType, dataTags] = customId.split(\":\") as [ComponentType, string];\n\tconst [data, ...tags] = dataTags.split(\".\") as [string, ...ComponentCustomIdTag[]];\n\n\treturn {\n\t\tcomponentType,\n\t\tdata,\n\t\ttags,\n\t};\n};\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var ComponentType = /* @__PURE__ */ ((ComponentType2) => {
|
|
2
|
-
ComponentType2["Button"] = "button";
|
|
3
|
-
ComponentType2["SelectMenu"] = "select";
|
|
4
|
-
ComponentType2["Modal"] = "modal";
|
|
5
|
-
return ComponentType2;
|
|
6
|
-
})(ComponentType || {});
|
|
7
|
-
const deconstructCustomId = (customId) => {
|
|
8
|
-
const [componentType, dataTags] = customId.split(":");
|
|
9
|
-
const [data, ...tags] = dataTags.split(".");
|
|
10
|
-
return {
|
|
11
|
-
componentType,
|
|
12
|
-
data,
|
|
13
|
-
tags
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { ComponentType, deconstructCustomId };
|
|
18
|
-
//# sourceMappingURL=components.js.map
|
|
19
|
-
//# sourceMappingURL=components.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/typings/components.ts"],"names":["ComponentType"],"mappings":"AA+BO,IAAK,aAAA,qBAAAA,cAAAA,KAAL;AACN,EAAAA,eAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,eAAA,YAAA,CAAA,GAAa,QAAA;AACb,EAAAA,eAAA,OAAA,CAAA,GAAQ,OAAA;AAHG,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;AAwCL,MAAM,mBAAA,GAAsB,CAAC,QAAA,KAAqB;AACxD,EAAA,MAAM,CAAC,aAAA,EAAe,QAAQ,CAAA,GAAI,QAAA,CAAS,MAAM,GAAG,CAAA;AACpD,EAAA,MAAM,CAAC,IAAA,EAAM,GAAG,IAAI,CAAA,GAAI,QAAA,CAAS,MAAM,GAAG,CAAA;AAE1C,EAAA,OAAO;AAAA,IACN,aAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACD;AACD","file":"components.js","sourcesContent":["import {\n\tAnySelectMenuInteraction,\n\tButtonInteraction,\n\tCacheType,\n\tModalSubmitInteraction,\n} from \"discord.js\";\nimport { PermissionLevel } from \"./permissions.js\";\n\n/**\n * Tags for component customIds.\n *\n * @export\n * @typedef {ComponentCustomIdTag}\n */\nexport type ComponentCustomIdTag = \"awaited\";\n/**\n * Interaction types for components.\n *\n * @export\n * @typedef {ComponentInteraction}\n */\nexport type ComponentInteraction =\n\t| AnySelectMenuInteraction<CacheType>\n\t| ButtonInteraction<CacheType>\n\t| ModalSubmitInteraction<CacheType>;\n/**\n * What type of component is the componenty.\n *\n * @export\n * @enum {number}\n */\nexport enum ComponentType {\n\tButton = \"button\",\n\tSelectMenu = \"select\",\n\tModal = \"modal\",\n}\n\n/**\n * Metadata for Components.\n *\n * @export\n * @interface ComponentMetadata\n * @typedef {ComponentMetadata}\n */\nexport interface ComponentMetadata {\n\t/**\n\t * The customId of the component.\n\t *\n\t * @type {string}\n\t */\n\tcustomId: string;\n\t/**\n\t * The permission level required to use the component.\n\t *\n\t * @type {PermissionLevel}\n\t */\n\tpermission: PermissionLevel;\n\t/**\n\t * Whether the interaction reply is ephemeral.\n\t *\n\t * @type {boolean}\n\t */\n\tephemeralReply: boolean;\n}\n\n/**\n * Deconstruct a component customId into its parts.\n *\n * @param {string} customId\n * @returns {{ componentType: ComponentType; data: string; tags: {}; }}\n */\nexport const deconstructCustomId = (customId: string) => {\n\tconst [componentType, dataTags] = customId.split(\":\") as [ComponentType, string];\n\tconst [data, ...tags] = dataTags.split(\".\") as [string, ...ComponentCustomIdTag[]];\n\n\treturn {\n\t\tcomponentType,\n\t\tdata,\n\t\ttags,\n\t};\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"events.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"events.js"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var permissions_js = require('./permissions.js');
|
|
4
|
-
var registry_js = require('./registry.js');
|
|
5
|
-
var components_js = require('./components.js');
|
|
6
|
-
var commands_js = require('./commands.js');
|
|
7
|
-
var client_js = require('./client.js');
|
|
8
|
-
var events_js = require('./events.js');
|
|
9
|
-
var module_js = require('./module.js');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Object.keys(permissions_js).forEach(function (k) {
|
|
14
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return permissions_js[k]; }
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
Object.keys(registry_js).forEach(function (k) {
|
|
20
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
get: function () { return registry_js[k]; }
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
Object.keys(components_js).forEach(function (k) {
|
|
26
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
get: function () { return components_js[k]; }
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
Object.keys(commands_js).forEach(function (k) {
|
|
32
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function () { return commands_js[k]; }
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
Object.keys(client_js).forEach(function (k) {
|
|
38
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
39
|
-
enumerable: true,
|
|
40
|
-
get: function () { return client_js[k]; }
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
Object.keys(events_js).forEach(function (k) {
|
|
44
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
45
|
-
enumerable: true,
|
|
46
|
-
get: function () { return events_js[k]; }
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
Object.keys(module_js).forEach(function (k) {
|
|
50
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
51
|
-
enumerable: true,
|
|
52
|
-
get: function () { return module_js[k]; }
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=index.cjs.map
|
|
56
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs","sourcesContent":[]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { A as AnyCommand, o as CommandInteraction, p as CommandMetadata, c as ComponentCustomIdTag, d as ComponentInteraction, f as ComponentMetadata, e as ComponentType, r as ContextMenuMetadata, s as Event, t as Module, P as PermissionLevel, q as SubcommandMetadata, b as TriviousClientOptions, h as deconstructCustomId, g as getPermissionLevel } from '../../index-CU2Xl9Xo.cjs';
|
|
2
|
-
export { BaseRegistry } from './registry.cjs';
|
|
3
|
-
import 'discord.js';
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { A as AnyCommand, o as CommandInteraction, p as CommandMetadata, c as ComponentCustomIdTag, d as ComponentInteraction, f as ComponentMetadata, e as ComponentType, r as ContextMenuMetadata, s as Event, t as Module, P as PermissionLevel, q as SubcommandMetadata, b as TriviousClientOptions, h as deconstructCustomId, g as getPermissionLevel } from '../../index-BPaYmWRO.js';
|
|
2
|
-
export { BaseRegistry } from './registry.js';
|
|
3
|
-
import 'discord.js';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './permissions.js';
|
|
2
|
-
export * from './registry.js';
|
|
3
|
-
export * from './components.js';
|
|
4
|
-
export * from './commands.js';
|
|
5
|
-
export * from './client.js';
|
|
6
|
-
export * from './events.js';
|
|
7
|
-
export * from './module.js';
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"module.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"module.js"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var PermissionLevel = /* @__PURE__ */ ((PermissionLevel2) => {
|
|
4
|
-
PermissionLevel2[PermissionLevel2["USER"] = 0] = "USER";
|
|
5
|
-
PermissionLevel2[PermissionLevel2["GUILD_STAFF"] = 1] = "GUILD_STAFF";
|
|
6
|
-
PermissionLevel2[PermissionLevel2["GUILD_MODERATOR"] = 2] = "GUILD_MODERATOR";
|
|
7
|
-
PermissionLevel2[PermissionLevel2["GUILD_ADMINISTRATOR"] = 3] = "GUILD_ADMINISTRATOR";
|
|
8
|
-
PermissionLevel2[PermissionLevel2["GUILD_OWNER"] = 4] = "GUILD_OWNER";
|
|
9
|
-
PermissionLevel2[PermissionLevel2["BOT_OWNER"] = 5] = "BOT_OWNER";
|
|
10
|
-
return PermissionLevel2;
|
|
11
|
-
})(PermissionLevel || {});
|
|
12
|
-
const getPermissionLevel = (client, member) => {
|
|
13
|
-
const highestRole = member.roles.highest;
|
|
14
|
-
if (member.user.id === member.guild.ownerId) return 4 /* GUILD_OWNER */;
|
|
15
|
-
const rolePermissions = client.rolePermissions;
|
|
16
|
-
return rolePermissions[highestRole.name] ?? 0 /* USER */;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
exports.PermissionLevel = PermissionLevel;
|
|
20
|
-
exports.getPermissionLevel = getPermissionLevel;
|
|
21
|
-
//# sourceMappingURL=permissions.cjs.map
|
|
22
|
-
//# sourceMappingURL=permissions.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/typings/permissions.ts"],"names":["PermissionLevel"],"mappings":";;AASO,IAAK,eAAA,qBAAAA,gBAAAA,KAAL;AACN,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,yBAAsB,CAAA,CAAA,GAAtB,qBAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AANW,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAeL,MAAM,kBAAA,GAAqB,CAAC,MAAA,EAAwB,MAAA,KAAwB;AAClF,EAAA,MAAM,WAAA,GAAc,OAAO,KAAA,CAAM,OAAA;AACjC,EAAA,IAAI,OAAO,IAAA,CAAK,EAAA,KAAO,MAAA,CAAO,KAAA,CAAM,SAAS,OAAO,CAAA;AAEpD,EAAA,MAAM,kBAAkB,MAAA,CAAO,eAAA;AAC/B,EAAA,OAAO,eAAA,CAAgB,WAAA,CAAY,IAAI,CAAA,IAAK,CAAA;AAC7C","file":"permissions.cjs","sourcesContent":["import { GuildMember } from \"discord.js\";\nimport TriviousClient from \"../../core/client/trivious.client.js\";\n\n/**\n * User permission level enums\n *\n * @export\n * @enum {number}\n */\nexport enum PermissionLevel {\n\tUSER = 0,\n\tGUILD_STAFF = 1,\n\tGUILD_MODERATOR = 2,\n\tGUILD_ADMINISTRATOR = 3,\n\tGUILD_OWNER = 4,\n\tBOT_OWNER = 5,\n}\n\n/**\n * Get the permission level of a user.\n *\n * @param {GuildMember} member\n * @returns {*}\n */\nexport const getPermissionLevel = (client: TriviousClient, member: GuildMember) => {\n\tconst highestRole = member.roles.highest;\n\tif (member.user.id === member.guild.ownerId) return PermissionLevel.GUILD_OWNER;\n\n\tconst rolePermissions = client.rolePermissions;\n\treturn rolePermissions[highestRole.name] ?? PermissionLevel.USER;\n};\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var PermissionLevel = /* @__PURE__ */ ((PermissionLevel2) => {
|
|
2
|
-
PermissionLevel2[PermissionLevel2["USER"] = 0] = "USER";
|
|
3
|
-
PermissionLevel2[PermissionLevel2["GUILD_STAFF"] = 1] = "GUILD_STAFF";
|
|
4
|
-
PermissionLevel2[PermissionLevel2["GUILD_MODERATOR"] = 2] = "GUILD_MODERATOR";
|
|
5
|
-
PermissionLevel2[PermissionLevel2["GUILD_ADMINISTRATOR"] = 3] = "GUILD_ADMINISTRATOR";
|
|
6
|
-
PermissionLevel2[PermissionLevel2["GUILD_OWNER"] = 4] = "GUILD_OWNER";
|
|
7
|
-
PermissionLevel2[PermissionLevel2["BOT_OWNER"] = 5] = "BOT_OWNER";
|
|
8
|
-
return PermissionLevel2;
|
|
9
|
-
})(PermissionLevel || {});
|
|
10
|
-
const getPermissionLevel = (client, member) => {
|
|
11
|
-
const highestRole = member.roles.highest;
|
|
12
|
-
if (member.user.id === member.guild.ownerId) return 4 /* GUILD_OWNER */;
|
|
13
|
-
const rolePermissions = client.rolePermissions;
|
|
14
|
-
return rolePermissions[highestRole.name] ?? 0 /* USER */;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { PermissionLevel, getPermissionLevel };
|
|
18
|
-
//# sourceMappingURL=permissions.js.map
|
|
19
|
-
//# sourceMappingURL=permissions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/typings/permissions.ts"],"names":["PermissionLevel"],"mappings":"AASO,IAAK,eAAA,qBAAAA,gBAAAA,KAAL;AACN,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,yBAAsB,CAAA,CAAA,GAAtB,qBAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AANW,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAeL,MAAM,kBAAA,GAAqB,CAAC,MAAA,EAAwB,MAAA,KAAwB;AAClF,EAAA,MAAM,WAAA,GAAc,OAAO,KAAA,CAAM,OAAA;AACjC,EAAA,IAAI,OAAO,IAAA,CAAK,EAAA,KAAO,MAAA,CAAO,KAAA,CAAM,SAAS,OAAO,CAAA;AAEpD,EAAA,MAAM,kBAAkB,MAAA,CAAO,eAAA;AAC/B,EAAA,OAAO,eAAA,CAAgB,WAAA,CAAY,IAAI,CAAA,IAAK,CAAA;AAC7C","file":"permissions.js","sourcesContent":["import { GuildMember } from \"discord.js\";\nimport TriviousClient from \"../../core/client/trivious.client.js\";\n\n/**\n * User permission level enums\n *\n * @export\n * @enum {number}\n */\nexport enum PermissionLevel {\n\tUSER = 0,\n\tGUILD_STAFF = 1,\n\tGUILD_MODERATOR = 2,\n\tGUILD_ADMINISTRATOR = 3,\n\tGUILD_OWNER = 4,\n\tBOT_OWNER = 5,\n}\n\n/**\n * Get the permission level of a user.\n *\n * @param {GuildMember} member\n * @returns {*}\n */\nexport const getPermissionLevel = (client: TriviousClient, member: GuildMember) => {\n\tconst highestRole = member.roles.highest;\n\tif (member.user.id === member.guild.ownerId) return PermissionLevel.GUILD_OWNER;\n\n\tconst rolePermissions = client.rolePermissions;\n\treturn rolePermissions[highestRole.name] ?? PermissionLevel.USER;\n};\n"]}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var url = require('url');
|
|
4
|
-
|
|
5
|
-
class BaseRegistry {
|
|
6
|
-
/**
|
|
7
|
-
* Get all of loaded T
|
|
8
|
-
*
|
|
9
|
-
* @returns {Collection<string, T>}
|
|
10
|
-
*/
|
|
11
|
-
get() {
|
|
12
|
-
return this.items;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Import a file from a path to be loaded.
|
|
16
|
-
*
|
|
17
|
-
* @protected
|
|
18
|
-
* @async
|
|
19
|
-
* @template T
|
|
20
|
-
* @param {string} filePath
|
|
21
|
-
* @returns {Promise<T | null>}
|
|
22
|
-
*/
|
|
23
|
-
async importFile(filePath) {
|
|
24
|
-
try {
|
|
25
|
-
const { default: file } = await import(url.pathToFileURL(filePath).href);
|
|
26
|
-
const imports = file.default ?? file;
|
|
27
|
-
if (!imports) return null;
|
|
28
|
-
if (typeof imports === "function" && imports.prototype) {
|
|
29
|
-
return new imports();
|
|
30
|
-
}
|
|
31
|
-
if (typeof imports === "object") {
|
|
32
|
-
if (Object.keys(imports).length === 0) return null;
|
|
33
|
-
return imports;
|
|
34
|
-
}
|
|
35
|
-
console.error(`Invalid export in ${filePath}: expected class or object`);
|
|
36
|
-
return null;
|
|
37
|
-
} catch (error) {
|
|
38
|
-
console.error("Failed to import:", filePath, error);
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Clear file path cache.
|
|
44
|
-
* Does not run in production environment.
|
|
45
|
-
*
|
|
46
|
-
* @protected
|
|
47
|
-
* @async
|
|
48
|
-
* @param {string} filePath
|
|
49
|
-
* @returns {*}
|
|
50
|
-
*/
|
|
51
|
-
async clearCache(filePath) {
|
|
52
|
-
if (process.env.NODE_ENV === "production") return;
|
|
53
|
-
try {
|
|
54
|
-
const resvoled = require.resolve(filePath);
|
|
55
|
-
delete require.cache[resvoled];
|
|
56
|
-
} catch {
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
exports.BaseRegistry = BaseRegistry;
|
|
62
|
-
//# sourceMappingURL=registry.cjs.map
|
|
63
|
-
//# sourceMappingURL=registry.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/typings/registry.ts"],"names":["pathToFileURL"],"mappings":";;;;AAYO,MAAe,YAAA,CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBrC,GAAA,GAAM;AACL,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAgB,WAAc,QAAA,EAAqC;AAClE,IAAA,IAAI;AACH,MAAA,MAAM,EAAE,SAAS,IAAA,EAAK,GAAI,MAAM,OAAOA,iBAAA,CAAc,QAAQ,CAAA,CAAE,IAAA,CAAA;AAC/D,MAAA,MAAM,OAAA,GAAU,KAAK,OAAA,IAAW,IAAA;AAEhC,MAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,MAAA,IAAI,OAAO,OAAA,KAAY,UAAA,IAAc,OAAA,CAAQ,SAAA,EAAW;AACvD,QAAA,OAAO,IAAI,OAAA,EAAQ;AAAA,MACpB;AAEA,MAAA,IAAI,OAAO,YAAY,QAAA,EAAU;AAChC,QAAA,IAAI,OAAO,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,KAAW,GAAG,OAAO,IAAA;AAC9C,QAAA,OAAO,OAAA;AAAA,MACR;AAEA,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,kBAAA,EAAqB,QAAQ,CAAA,0BAAA,CAA4B,CAAA;AACvE,MAAA,OAAO,IAAA;AAAA,IACR,SAAS,KAAA,EAAY;AACpB,MAAA,OAAA,CAAQ,KAAA,CAAM,mBAAA,EAAqB,QAAA,EAAU,KAAK,CAAA;AAClD,MAAA,OAAO,IAAA;AAAA,IACR;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAgB,WAAW,QAAA,EAAkB;AAC5C,IAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AAC3C,IAAA,IAAI;AACH,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AACzC,MAAA,OAAO,OAAA,CAAQ,MAAM,QAAQ,CAAA;AAAA,IAC9B,CAAA,CAAA,MAAQ;AAAA,IAAC;AAAA,EACV;AACD","file":"registry.cjs","sourcesContent":["import { Collection } from \"discord.js\";\nimport { pathToFileURL } from \"url\";\n\n/**\n * Base registry for loading, getting and binding core events and functions.\n *\n * @export\n * @abstract\n * @class BaseRegistry\n * @typedef {BaseRegistry}\n * @template T\n */\nexport abstract class BaseRegistry<T> {\n\tprotected abstract items: Collection<string, T>;\n\t/**\n\t * Load all of T\n\t *\n\t * @protected\n\t * @abstract\n\t * @param {string} directory\n\t * @returns {Promise<this>}\n\t */\n\tprotected abstract load(directory: string): Promise<this>;\n\n\t/**\n\t * Get all of loaded T\n\t *\n\t * @returns {Collection<string, T>}\n\t */\n\tget() {\n\t\treturn this.items;\n\t}\n\n\t/**\n\t * Import a file from a path to be loaded.\n\t *\n\t * @protected\n\t * @async\n\t * @template T\n\t * @param {string} filePath\n\t * @returns {Promise<T | null>}\n\t */\n\tprotected async importFile<T>(filePath: string): Promise<T | null> {\n\t\ttry {\n\t\t\tconst { default: file } = await import(pathToFileURL(filePath).href);\n\t\t\tconst imports = file.default ?? file;\n\n\t\t\tif (!imports) return null;\n\n\t\t\tif (typeof imports === \"function\" && imports.prototype) {\n\t\t\t\treturn new imports();\n\t\t\t}\n\n\t\t\tif (typeof imports === \"object\") {\n\t\t\t\tif (Object.keys(imports).length === 0) return null;\n\t\t\t\treturn imports as T;\n\t\t\t}\n\n\t\t\tconsole.error(`Invalid export in ${filePath}: expected class or object`);\n\t\t\treturn null;\n\t\t} catch (error: any) {\n\t\t\tconsole.error(\"Failed to import:\", filePath, error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Clear file path cache.\n\t * Does not run in production environment.\n\t *\n\t * @protected\n\t * @async\n\t * @param {string} filePath\n\t * @returns {*}\n\t */\n\tprotected async clearCache(filePath: string) {\n\t\tif (process.env.NODE_ENV === \"production\") return;\n\t\ttry {\n\t\t\tconst resvoled = require.resolve(filePath);\n\t\t\tdelete require.cache[resvoled];\n\t\t} catch {}\n\t}\n}\n"]}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Collection } from 'discord.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Base registry for loading, getting and binding core events and functions.
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
|
-
* @abstract
|
|
8
|
-
* @class BaseRegistry
|
|
9
|
-
* @typedef {BaseRegistry}
|
|
10
|
-
* @template T
|
|
11
|
-
*/
|
|
12
|
-
declare abstract class BaseRegistry<T> {
|
|
13
|
-
protected abstract items: Collection<string, T>;
|
|
14
|
-
/**
|
|
15
|
-
* Load all of T
|
|
16
|
-
*
|
|
17
|
-
* @protected
|
|
18
|
-
* @abstract
|
|
19
|
-
* @param {string} directory
|
|
20
|
-
* @returns {Promise<this>}
|
|
21
|
-
*/
|
|
22
|
-
protected abstract load(directory: string): Promise<this>;
|
|
23
|
-
/**
|
|
24
|
-
* Get all of loaded T
|
|
25
|
-
*
|
|
26
|
-
* @returns {Collection<string, T>}
|
|
27
|
-
*/
|
|
28
|
-
get(): Collection<string, T>;
|
|
29
|
-
/**
|
|
30
|
-
* Import a file from a path to be loaded.
|
|
31
|
-
*
|
|
32
|
-
* @protected
|
|
33
|
-
* @async
|
|
34
|
-
* @template T
|
|
35
|
-
* @param {string} filePath
|
|
36
|
-
* @returns {Promise<T | null>}
|
|
37
|
-
*/
|
|
38
|
-
protected importFile<T>(filePath: string): Promise<T | null>;
|
|
39
|
-
/**
|
|
40
|
-
* Clear file path cache.
|
|
41
|
-
* Does not run in production environment.
|
|
42
|
-
*
|
|
43
|
-
* @protected
|
|
44
|
-
* @async
|
|
45
|
-
* @param {string} filePath
|
|
46
|
-
* @returns {*}
|
|
47
|
-
*/
|
|
48
|
-
protected clearCache(filePath: string): Promise<void>;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { BaseRegistry };
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Collection } from 'discord.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Base registry for loading, getting and binding core events and functions.
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
|
-
* @abstract
|
|
8
|
-
* @class BaseRegistry
|
|
9
|
-
* @typedef {BaseRegistry}
|
|
10
|
-
* @template T
|
|
11
|
-
*/
|
|
12
|
-
declare abstract class BaseRegistry<T> {
|
|
13
|
-
protected abstract items: Collection<string, T>;
|
|
14
|
-
/**
|
|
15
|
-
* Load all of T
|
|
16
|
-
*
|
|
17
|
-
* @protected
|
|
18
|
-
* @abstract
|
|
19
|
-
* @param {string} directory
|
|
20
|
-
* @returns {Promise<this>}
|
|
21
|
-
*/
|
|
22
|
-
protected abstract load(directory: string): Promise<this>;
|
|
23
|
-
/**
|
|
24
|
-
* Get all of loaded T
|
|
25
|
-
*
|
|
26
|
-
* @returns {Collection<string, T>}
|
|
27
|
-
*/
|
|
28
|
-
get(): Collection<string, T>;
|
|
29
|
-
/**
|
|
30
|
-
* Import a file from a path to be loaded.
|
|
31
|
-
*
|
|
32
|
-
* @protected
|
|
33
|
-
* @async
|
|
34
|
-
* @template T
|
|
35
|
-
* @param {string} filePath
|
|
36
|
-
* @returns {Promise<T | null>}
|
|
37
|
-
*/
|
|
38
|
-
protected importFile<T>(filePath: string): Promise<T | null>;
|
|
39
|
-
/**
|
|
40
|
-
* Clear file path cache.
|
|
41
|
-
* Does not run in production environment.
|
|
42
|
-
*
|
|
43
|
-
* @protected
|
|
44
|
-
* @async
|
|
45
|
-
* @param {string} filePath
|
|
46
|
-
* @returns {*}
|
|
47
|
-
*/
|
|
48
|
-
protected clearCache(filePath: string): Promise<void>;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { BaseRegistry };
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { pathToFileURL } from 'url';
|
|
2
|
-
|
|
3
|
-
class BaseRegistry {
|
|
4
|
-
/**
|
|
5
|
-
* Get all of loaded T
|
|
6
|
-
*
|
|
7
|
-
* @returns {Collection<string, T>}
|
|
8
|
-
*/
|
|
9
|
-
get() {
|
|
10
|
-
return this.items;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Import a file from a path to be loaded.
|
|
14
|
-
*
|
|
15
|
-
* @protected
|
|
16
|
-
* @async
|
|
17
|
-
* @template T
|
|
18
|
-
* @param {string} filePath
|
|
19
|
-
* @returns {Promise<T | null>}
|
|
20
|
-
*/
|
|
21
|
-
async importFile(filePath) {
|
|
22
|
-
try {
|
|
23
|
-
const { default: file } = await import(pathToFileURL(filePath).href);
|
|
24
|
-
const imports = file.default ?? file;
|
|
25
|
-
if (!imports) return null;
|
|
26
|
-
if (typeof imports === "function" && imports.prototype) {
|
|
27
|
-
return new imports();
|
|
28
|
-
}
|
|
29
|
-
if (typeof imports === "object") {
|
|
30
|
-
if (Object.keys(imports).length === 0) return null;
|
|
31
|
-
return imports;
|
|
32
|
-
}
|
|
33
|
-
console.error(`Invalid export in ${filePath}: expected class or object`);
|
|
34
|
-
return null;
|
|
35
|
-
} catch (error) {
|
|
36
|
-
console.error("Failed to import:", filePath, error);
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Clear file path cache.
|
|
42
|
-
* Does not run in production environment.
|
|
43
|
-
*
|
|
44
|
-
* @protected
|
|
45
|
-
* @async
|
|
46
|
-
* @param {string} filePath
|
|
47
|
-
* @returns {*}
|
|
48
|
-
*/
|
|
49
|
-
async clearCache(filePath) {
|
|
50
|
-
if (process.env.NODE_ENV === "production") return;
|
|
51
|
-
try {
|
|
52
|
-
const resvoled = require.resolve(filePath);
|
|
53
|
-
delete require.cache[resvoled];
|
|
54
|
-
} catch {
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export { BaseRegistry };
|
|
60
|
-
//# sourceMappingURL=registry.js.map
|
|
61
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/typings/registry.ts"],"names":[],"mappings":";;AAYO,MAAe,YAAA,CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBrC,GAAA,GAAM;AACL,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAgB,WAAc,QAAA,EAAqC;AAClE,IAAA,IAAI;AACH,MAAA,MAAM,EAAE,SAAS,IAAA,EAAK,GAAI,MAAM,OAAO,aAAA,CAAc,QAAQ,CAAA,CAAE,IAAA,CAAA;AAC/D,MAAA,MAAM,OAAA,GAAU,KAAK,OAAA,IAAW,IAAA;AAEhC,MAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,MAAA,IAAI,OAAO,OAAA,KAAY,UAAA,IAAc,OAAA,CAAQ,SAAA,EAAW;AACvD,QAAA,OAAO,IAAI,OAAA,EAAQ;AAAA,MACpB;AAEA,MAAA,IAAI,OAAO,YAAY,QAAA,EAAU;AAChC,QAAA,IAAI,OAAO,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,KAAW,GAAG,OAAO,IAAA;AAC9C,QAAA,OAAO,OAAA;AAAA,MACR;AAEA,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,kBAAA,EAAqB,QAAQ,CAAA,0BAAA,CAA4B,CAAA;AACvE,MAAA,OAAO,IAAA;AAAA,IACR,SAAS,KAAA,EAAY;AACpB,MAAA,OAAA,CAAQ,KAAA,CAAM,mBAAA,EAAqB,QAAA,EAAU,KAAK,CAAA;AAClD,MAAA,OAAO,IAAA;AAAA,IACR;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAgB,WAAW,QAAA,EAAkB;AAC5C,IAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AAC3C,IAAA,IAAI;AACH,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AACzC,MAAA,OAAO,OAAA,CAAQ,MAAM,QAAQ,CAAA;AAAA,IAC9B,CAAA,CAAA,MAAQ;AAAA,IAAC;AAAA,EACV;AACD","file":"registry.js","sourcesContent":["import { Collection } from \"discord.js\";\nimport { pathToFileURL } from \"url\";\n\n/**\n * Base registry for loading, getting and binding core events and functions.\n *\n * @export\n * @abstract\n * @class BaseRegistry\n * @typedef {BaseRegistry}\n * @template T\n */\nexport abstract class BaseRegistry<T> {\n\tprotected abstract items: Collection<string, T>;\n\t/**\n\t * Load all of T\n\t *\n\t * @protected\n\t * @abstract\n\t * @param {string} directory\n\t * @returns {Promise<this>}\n\t */\n\tprotected abstract load(directory: string): Promise<this>;\n\n\t/**\n\t * Get all of loaded T\n\t *\n\t * @returns {Collection<string, T>}\n\t */\n\tget() {\n\t\treturn this.items;\n\t}\n\n\t/**\n\t * Import a file from a path to be loaded.\n\t *\n\t * @protected\n\t * @async\n\t * @template T\n\t * @param {string} filePath\n\t * @returns {Promise<T | null>}\n\t */\n\tprotected async importFile<T>(filePath: string): Promise<T | null> {\n\t\ttry {\n\t\t\tconst { default: file } = await import(pathToFileURL(filePath).href);\n\t\t\tconst imports = file.default ?? file;\n\n\t\t\tif (!imports) return null;\n\n\t\t\tif (typeof imports === \"function\" && imports.prototype) {\n\t\t\t\treturn new imports();\n\t\t\t}\n\n\t\t\tif (typeof imports === \"object\") {\n\t\t\t\tif (Object.keys(imports).length === 0) return null;\n\t\t\t\treturn imports as T;\n\t\t\t}\n\n\t\t\tconsole.error(`Invalid export in ${filePath}: expected class or object`);\n\t\t\treturn null;\n\t\t} catch (error: any) {\n\t\t\tconsole.error(\"Failed to import:\", filePath, error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Clear file path cache.\n\t * Does not run in production environment.\n\t *\n\t * @protected\n\t * @async\n\t * @param {string} filePath\n\t * @returns {*}\n\t */\n\tprotected async clearCache(filePath: string) {\n\t\tif (process.env.NODE_ENV === \"production\") return;\n\t\ttry {\n\t\t\tconst resvoled = require.resolve(filePath);\n\t\t\tdelete require.cache[resvoled];\n\t\t} catch {}\n\t}\n}\n"]}
|