xernerx 4.4.10 → 4.4.12
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/{types → dist}/build/ContextCommandBuilder.d.ts +2 -2
- package/{types → dist}/build/MessageCommandBuilder.d.ts +2 -2
- package/{types → dist}/client/XernerxClient.d.ts +1 -1
- package/dist/client/XernerxShardClient.js +31 -0
- package/dist/client/XernerxShardClient.js.map +1 -0
- package/dist/functions/delay.d.ts +2 -0
- package/dist/functions/delay.d.ts.map +1 -0
- package/dist/functions/delay.js +4 -0
- package/dist/functions/delay.js.map +1 -0
- package/dist/functions/sendWebhook.d.ts +3 -0
- package/dist/functions/sendWebhook.d.ts.map +1 -0
- package/dist/functions/sendWebhook.js +14 -0
- package/dist/functions/sendWebhook.js.map +1 -0
- package/{types → dist}/main.d.ts +3 -0
- package/{types → dist}/main.d.ts.map +1 -1
- package/dist/main.js +3 -0
- package/dist/main.js.map +1 -13
- package/dist/tools/XernerxError.d.ts +7 -0
- package/dist/tools/XernerxError.d.ts.map +1 -0
- package/dist/tools/XernerxError.js +11 -0
- package/dist/tools/XernerxError.js.map +1 -0
- package/dist/types/extenders.js +2 -0
- package/dist/types/extenders.js.map +1 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/{types → dist}/validators/inhibitorValidations.d.ts +1 -1
- package/dist/validators/inhibitorValidations.js +35 -0
- package/dist/validators/inhibitorValidations.js.map +1 -0
- package/package.json +1 -1
- /package/{types → dist}/build/ContextCommandBuilder.d.ts.map +0 -0
- /package/{types → dist}/build/EventBuilder.d.ts +0 -0
- /package/{types → dist}/build/EventBuilder.d.ts.map +0 -0
- /package/{types → dist}/build/InhibitorBuilder.d.ts +0 -0
- /package/{types → dist}/build/InhibitorBuilder.d.ts.map +0 -0
- /package/{types → dist}/build/MessageCommandBuilder.d.ts.map +0 -0
- /package/{types → dist}/build/SlashCommandBuilder.d.ts +0 -0
- /package/{types → dist}/build/SlashCommandBuilder.d.ts.map +0 -0
- /package/{types → dist}/client/XernerxClient.d.ts.map +0 -0
- /package/{types → dist}/client/XernerxShardClient.d.ts +0 -0
- /package/{types → dist}/client/XernerxShardClient.d.ts.map +0 -0
- /package/{types → dist}/functions/deploy.d.ts +0 -0
- /package/{types → dist}/functions/deploy.d.ts.map +0 -0
- /package/{types → dist}/functions/isOwner.d.ts +0 -0
- /package/{types → dist}/functions/isOwner.d.ts.map +0 -0
- /package/{types → dist}/functions/isVoter.d.ts +0 -0
- /package/{types → dist}/functions/isVoter.d.ts.map +0 -0
- /package/{types → dist}/functions/load.d.ts +0 -0
- /package/{types → dist}/functions/load.d.ts.map +0 -0
- /package/{types → dist}/functions/reload.d.ts +0 -0
- /package/{types → dist}/functions/reload.d.ts.map +0 -0
- /package/{types → dist}/functions/setPresence.d.ts +0 -0
- /package/{types → dist}/functions/setPresence.d.ts.map +0 -0
- /package/{types → dist}/functions/xernerxUser.d.ts +0 -0
- /package/{types → dist}/functions/xernerxUser.d.ts.map +0 -0
- /package/{types → dist}/handlers/CommandHandler.d.ts +0 -0
- /package/{types → dist}/handlers/CommandHandler.d.ts.map +0 -0
- /package/{types → dist}/handlers/EventHandler.d.ts +0 -0
- /package/{types → dist}/handlers/EventHandler.d.ts.map +0 -0
- /package/{types → dist}/handlers/ExtensionHandler.d.ts +0 -0
- /package/{types → dist}/handlers/ExtensionHandler.d.ts.map +0 -0
- /package/{types → dist}/handlers/Handler.d.ts +0 -0
- /package/{types → dist}/handlers/Handler.d.ts.map +0 -0
- /package/{types → dist}/handlers/InhibitorHandler.d.ts +0 -0
- /package/{types → dist}/handlers/InhibitorHandler.d.ts.map +0 -0
- /package/{types → dist}/handlers/WebhookHandler.d.ts +0 -0
- /package/{types → dist}/handlers/WebhookHandler.d.ts.map +0 -0
- /package/{types → dist}/models/Arguments.d.ts +0 -0
- /package/{types → dist}/models/Arguments.d.ts.map +0 -0
- /package/{types → dist}/tools/XernerxLog.d.ts +0 -0
- /package/{types → dist}/tools/XernerxLog.d.ts.map +0 -0
- /package/{types → dist}/types/extenders.d.ts +0 -0
- /package/{types → dist}/types/extenders.d.ts.map +0 -0
- /package/{types → dist}/types/interfaces.d.ts +0 -0
- /package/{types → dist}/types/interfaces.d.ts.map +0 -0
- /package/{types → dist}/types/types.d.ts +0 -0
- /package/{types → dist}/types/types.d.ts.map +0 -0
- /package/{types → dist}/utils/ClientUtil.d.ts +0 -0
- /package/{types → dist}/utils/ClientUtil.d.ts.map +0 -0
- /package/{types → dist}/utils/InteractionUtil.d.ts +0 -0
- /package/{types → dist}/utils/InteractionUtil.d.ts.map +0 -0
- /package/{types → dist}/utils/MessageUtil.d.ts +0 -0
- /package/{types → dist}/utils/MessageUtil.d.ts.map +0 -0
- /package/{types → dist}/utils/Util.d.ts +0 -0
- /package/{types → dist}/utils/Util.d.ts.map +0 -0
- /package/{types → dist}/validators/commandValidation.d.ts +0 -0
- /package/{types → dist}/validators/commandValidation.d.ts.map +0 -0
- /package/{types → dist}/validators/inhibitorValidations.d.ts.map +0 -0
|
@@ -25,8 +25,8 @@ export default class ContextCommandBuilder {
|
|
|
25
25
|
guilds?: string[] | undefined;
|
|
26
26
|
} | undefined;
|
|
27
27
|
readonly permissions: {
|
|
28
|
-
user?: string[] | import("../
|
|
29
|
-
client?: string[] | import("../
|
|
28
|
+
user?: string[] | import("../main.js").PermissionNames[] | undefined;
|
|
29
|
+
client?: string[] | import("../main.js").PermissionNames[] | undefined;
|
|
30
30
|
dm?: boolean | undefined;
|
|
31
31
|
} | undefined;
|
|
32
32
|
readonly defer: {
|
|
@@ -28,8 +28,8 @@ export default class MessageCommandBuilder {
|
|
|
28
28
|
guilds?: string[] | undefined;
|
|
29
29
|
} | undefined;
|
|
30
30
|
readonly permissions: {
|
|
31
|
-
user?: string[] | import("../
|
|
32
|
-
client?: string[] | import("../
|
|
31
|
+
user?: string[] | import("../main.js").PermissionNames[] | undefined;
|
|
32
|
+
client?: string[] | import("../main.js").PermissionNames[] | undefined;
|
|
33
33
|
dm?: boolean | undefined;
|
|
34
34
|
} | undefined;
|
|
35
35
|
readonly fileType: 'MessageCommand';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ShardingManager } from 'discord.js';
|
|
2
|
+
import XernerxLog from '../tools/XernerxLog.js';
|
|
3
|
+
export default class XernerxShardClient extends ShardingManager {
|
|
4
|
+
constructor(file, discordOptions, xernerxOptions) {
|
|
5
|
+
super(file, discordOptions);
|
|
6
|
+
this.stats = { guildCount: 0, userCount: 0, shardCount: 0 };
|
|
7
|
+
this.user = null;
|
|
8
|
+
this.on('shardCreate', async (shard) => {
|
|
9
|
+
shard.on('ready', async () => {
|
|
10
|
+
const guilds = (await shard.fetchClientValue('guilds.cache'));
|
|
11
|
+
const guildCount = guilds.length;
|
|
12
|
+
const userCount = guilds.map((guild) => guild.memberCount).length ? guilds.map((guild) => guild.memberCount).reduce((a, b) => (a += b)) : 0;
|
|
13
|
+
this.stats.guildCount += Number(guildCount);
|
|
14
|
+
this.stats.userCount += Number(userCount);
|
|
15
|
+
this.stats.shardCount++;
|
|
16
|
+
this.user = (await shard.fetchClientValue('user'));
|
|
17
|
+
});
|
|
18
|
+
new XernerxLog({ settings: xernerxOptions }).info(`Launching shard ${shard.id} for ${this.user?.tag}!`);
|
|
19
|
+
});
|
|
20
|
+
this.spawn().then(async (shards) => {
|
|
21
|
+
const collector = setInterval(() => {
|
|
22
|
+
const index = shards.size - 1;
|
|
23
|
+
if (shards.get(index)?.ready) {
|
|
24
|
+
new XernerxLog({ settings: xernerxOptions }).info(`Launched all ${this.stats.shardCount} shards for ${this.user?.tag}, watching ${this.stats.guildCount} guilds, and ${this.stats.userCount} users!`);
|
|
25
|
+
clearInterval(collector);
|
|
26
|
+
}
|
|
27
|
+
}, 1000);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=XernerxShardClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA6C,MAAM,YAAY,CAAC;AACxF,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAQhD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAI3D,YAAY,IAAY,EAAE,cAAsC,EAAE,cAA+B;QAC7F,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAE5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBACzB,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAiB,CAAC;gBAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE5I,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE5C,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;gBAE1C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAExB,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAe,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAW,CAAC,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAE9B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;oBAC1B,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAW,CAAC,CAAC,IAAI,CACtD,gBAAgB,IAAI,CAAC,KAAK,CAAC,UAAU,eAAe,IAAI,CAAC,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,UAAU,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,CACrJ,CAAC;oBAEF,aAAa,CAAC,SAAS,CAAC,CAAC;iBAC5B;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;CACJ","sourcesContent":["import { ShardingManager, ShardingManagerOptions, Guild, ClientUser } from 'discord.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\ninterface XernerxOptions {\n log?: {\n ready?: boolean;\n };\n}\n\nexport default class XernerxShardClient extends ShardingManager {\n public declare readonly stats;\n public declare user: ClientUser | null;\n\n constructor(file: string, discordOptions: ShardingManagerOptions, xernerxOptions?: XernerxOptions) {\n super(file, discordOptions);\n\n this.stats = { guildCount: 0, userCount: 0, shardCount: 0 };\n\n this.user = null;\n\n this.on('shardCreate', async (shard) => {\n shard.on('ready', async () => {\n const guilds = (await shard.fetchClientValue('guilds.cache')) as Array<Guild>;\n const guildCount = guilds.length;\n const userCount = guilds.map((guild) => guild.memberCount).length ? guilds.map((guild) => guild.memberCount).reduce((a, b) => (a += b)) : 0;\n\n this.stats.guildCount += Number(guildCount);\n\n this.stats.userCount += Number(userCount);\n\n this.stats.shardCount++;\n\n this.user = (await shard.fetchClientValue('user')) as ClientUser;\n });\n\n new XernerxLog({ settings: xernerxOptions } as never).info(`Launching shard ${shard.id} for ${this.user?.tag}!`);\n });\n\n this.spawn().then(async (shards) => {\n const collector = setInterval(() => {\n const index = shards.size - 1;\n\n if (shards.get(index)?.ready) {\n new XernerxLog({ settings: xernerxOptions } as never).info(\n `Launched all ${this.stats.shardCount} shards for ${this.user?.tag}, watching ${this.stats.guildCount} guilds, and ${this.stats.userCount} users!`\n );\n\n clearInterval(collector);\n }\n }, 1000);\n });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../src/functions/delay.ts"],"names":[],"mappings":"AAAA,wBAA8B,KAAK,CAAC,IAAI,EAAE,MAAM,oBAE/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../src/functions/delay.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY;IAC5C,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC","sourcesContent":["export default async function delay(time: number) {\n return await new Promise((resolve) => setTimeout(resolve, time));\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendWebhook.d.ts","sourceRoot":"","sources":["../../src/functions/sendWebhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAA8B,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,gBAcvE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default async function sendWebhook(url, body) {
|
|
2
|
+
const response = await fetch(url, {
|
|
3
|
+
method: 'POST',
|
|
4
|
+
headers: {
|
|
5
|
+
'Content-Type': 'application/json',
|
|
6
|
+
},
|
|
7
|
+
body: JSON.stringify(body),
|
|
8
|
+
});
|
|
9
|
+
if (response.status === 204)
|
|
10
|
+
return true;
|
|
11
|
+
const data = await response.json();
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sendWebhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendWebhook.js","sourceRoot":"","sources":["../../src/functions/sendWebhook.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CAAC,GAAQ,EAAE,IAAoB;IACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import { MessagePayload } from 'discord.js';\n\nexport default async function sendWebhook(url: URL, body: MessagePayload) {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n });\n\n if (response.status === 204) return true;\n\n const data = await response.json();\n\n return data;\n}\n"]}
|
package/{types → dist}/main.d.ts
RENAMED
|
@@ -9,6 +9,9 @@ import XernerxLog from './tools/XernerxLog.js';
|
|
|
9
9
|
export * from 'discord.js';
|
|
10
10
|
export * from 'dumfunctions';
|
|
11
11
|
import ExtensionBuilder from 'xernerx-extension-builder';
|
|
12
|
+
export * from './types/types.js';
|
|
13
|
+
export * from './types/extenders.js';
|
|
14
|
+
export * from './types/interfaces.js';
|
|
12
15
|
import Discord from 'discord.js';
|
|
13
16
|
declare const version: any;
|
|
14
17
|
export default XernerxClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,QAAA,MAAM,OAAO,KAAoF,CAAC;AAElG,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,QAAA,MAAM,OAAO,KAAoF,CAAC;AAElG,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -10,6 +10,9 @@ import XernerxLog from './tools/XernerxLog.js';
|
|
|
10
10
|
export * from 'discord.js';
|
|
11
11
|
export * from 'dumfunctions';
|
|
12
12
|
import ExtensionBuilder from 'xernerx-extension-builder';
|
|
13
|
+
export * from './types/types.js';
|
|
14
|
+
export * from './types/extenders.js';
|
|
15
|
+
export * from './types/interfaces.js';
|
|
13
16
|
import Discord from 'discord.js';
|
|
14
17
|
const version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;
|
|
15
18
|
export default XernerxClient;
|
package/dist/main.js.map
CHANGED
|
@@ -1,13 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"file": "main.js",
|
|
4
|
-
"sourceRoot": "",
|
|
5
|
-
"sources": [
|
|
6
|
-
"../src/main.ts"
|
|
7
|
-
],
|
|
8
|
-
"names": [],
|
|
9
|
-
"mappings": "AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElG,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC",
|
|
10
|
-
"sourcesContent": [
|
|
11
|
-
"import * as fs from 'fs';\n\nimport XernerxClient from './client/XernerxClient.js';\nimport XernerxShardClient from './client/XernerxShardClient.js';\nimport MessageCommandBuilder from './build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from './build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from './build/ContextCommandBuilder.js';\nimport EventBuilder from './build/EventBuilder.js';\nimport InhibitorBuilder from './build/InhibitorBuilder.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport ExtensionBuilder from 'xernerx-extension-builder';\n\nimport Discord from 'discord.js';\n\nconst version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;\n\nexport default XernerxClient;\n\nexport {\n /**\n ** Clients\n */\n XernerxClient,\n XernerxShardClient,\n\n /**\n ** Builders\n */\n MessageCommandBuilder,\n SlashCommandBuilder,\n ContextCommandBuilder,\n EventBuilder,\n InhibitorBuilder,\n ExtensionBuilder,\n\n /**\n ** Imported exports\n */\n Discord,\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"
|
|
12
|
-
]
|
|
13
|
-
}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElG,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC","sourcesContent":["import * as fs from 'fs';\n\nimport XernerxClient from './client/XernerxClient.js';\nimport XernerxShardClient from './client/XernerxShardClient.js';\nimport MessageCommandBuilder from './build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from './build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from './build/ContextCommandBuilder.js';\nimport EventBuilder from './build/EventBuilder.js';\nimport InhibitorBuilder from './build/InhibitorBuilder.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport ExtensionBuilder from 'xernerx-extension-builder';\n\nexport * from './types/types.js';\nexport * from './types/extenders.js';\nexport * from './types/interfaces.js';\n\nimport Discord from 'discord.js';\n\nconst version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;\n\nexport default XernerxClient;\n\nexport {\n /**\n ** Clients\n */\n XernerxClient,\n XernerxShardClient,\n\n /**\n ** Builders\n */\n MessageCommandBuilder,\n SlashCommandBuilder,\n ContextCommandBuilder,\n EventBuilder,\n InhibitorBuilder,\n ExtensionBuilder,\n\n /**\n ** Imported exports\n */\n Discord,\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxError.d.ts","sourceRoot":"","sources":["../../src/tools/XernerxError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,YAAY;IACtB,IAAI,SAAC;IACL,OAAO,gBAAC;IACR,KAAK,iBAAC;gBAED,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;CAOxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxError.js","sourceRoot":"","sources":["../../src/tools/XernerxError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,YAAY;IACtB,IAAI,CAAC;IACL,OAAO,CAAC;IACR,KAAK,CAAC;IAEb,YAAY,OAAgB,EAAE,KAAuB;QACjD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;QAE/B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAC5C,CAAC;CACJ","sourcesContent":["export default class XernerxError {\n public name;\n public message;\n public stack;\n\n constructor(message?: string, error?: Error | unknown) {\n this.name = 'XernerxError';\n\n this.message = message || null;\n\n this.stack = error || new Error().stack;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extenders.js","sourceRoot":"","sources":["../../src/types/extenders.ts"],"names":[],"mappings":"","sourcesContent":["import { ChatInputCommandInteraction, DMChannel, Guild, GuildChannel, GuildMember, Message, MessageContextMenuCommandInteraction, User, UserContextMenuCommandInteraction } from 'discord.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport MessageUtil from '../utils/MessageUtil.js';\n\nexport interface XernerxUser extends User {\n owner: boolean;\n voted: boolean | null;\n}\n\nexport interface XernerxMember extends GuildMember {\n username: string;\n}\n\nexport interface XernerxGuild extends Guild {}\n\nexport interface XernerxGuildChannel extends GuildChannel {}\n\nexport interface XernerxDMChannel extends DMChannel {}\n\ninterface XernerxCommand {}\n\nexport interface XernerxMessage extends Message, XernerxCommand {\n user: XernerxUser;\n util: MessageUtil;\n}\n\nexport interface XernerxSlashInteraction extends ChatInputCommandInteraction, XernerxCommand {\n util: InteractionUtil;\n}\n\nexport interface XernerxUserContextInteraction extends UserContextMenuCommandInteraction, XernerxCommand {\n util: InteractionUtil;\n}\n\nexport interface XernerxMessageContextInteraction extends MessageContextMenuCommandInteraction, XernerxCommand {\n util: InteractionUtil;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n SlashCommandBooleanOption,\n SlashCommandChannelOption,\n SlashCommandIntegerOption,\n SlashCommandMentionableOption,\n SlashCommandNumberOption,\n SlashCommandRoleOption,\n SlashCommandStringOption,\n SlashCommandUserOption,\n} from 'discord.js';\nimport { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from './extenders.js';\n\nexport type FileType = 'MessageCommand' | 'SlashCommand' | 'ContextCommand' | 'Event' | 'Inhibitor';\n\nexport type Locales =\n | 'en-US'\n | 'en-GB'\n | 'bg'\n | 'zh-CN'\n | 'zh-TW'\n | 'hr'\n | 'cs'\n | 'da'\n | 'nl'\n | 'fi'\n | 'fr'\n | 'de'\n | 'el'\n | 'hi'\n | 'hu'\n | 'it'\n | 'ja'\n | 'ko'\n | 'lt'\n | 'no'\n | 'pl'\n | 'pt-BR'\n | 'ro'\n | 'ru'\n | 'es-ES'\n | 'sv-SE'\n | 'th'\n | 'tr'\n | 'uk'\n | 'vi';\n\nexport type SlashCommandArgumentType = 'attachment' | 'boolean' | 'channel' | 'integer' | 'mentionable' | 'number' | 'role' | 'string' | 'user';\n\nexport type SlashCommandOptionChoices = SlashCommandStringOption | SlashCommandNumberOption | SlashCommandIntegerOption;\n\nexport type SlashCommandOption = SlashCommandOptionChoices | SlashCommandBooleanOption | SlashCommandUserOption | SlashCommandChannelOption | SlashCommandRoleOption | SlashCommandMentionableOption;\n\nexport type MessageCommandArgumentType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'confirm'\n | 'channel'\n | 'guild'\n | 'integer'\n | 'mentionable'\n | 'role'\n | 'user'\n | 'message'\n | 'member'\n | 'list'\n | 'option'\n | 'rest';\n\nexport type DiscordEventType =\n | 'applicationCommandPermissionsUpdate'\n | 'autoModerationActionExecution'\n | 'autoModerationRuleCreate'\n | 'autoModerationRuleDelete'\n | 'autoModerationRuleUpdate'\n | 'ready'\n | 'guildCreate'\n | 'guildDelete'\n | 'guildUpdate'\n | 'guildUnavailable'\n | 'guildMemberAdd'\n | 'guildMemberRemove'\n | 'guildMemberUpdate'\n | 'guildMemberAvailable'\n | 'guildMembersChunk'\n | 'guildIntegrationsUpdate'\n | 'roleCreate'\n | 'roleDelete'\n | 'inviteCreate'\n | 'inviteDelete'\n | 'roleUpdate'\n | 'emojiCreate'\n | 'emojiDelete'\n | 'emojiUpdate'\n | 'guildBanAdd'\n | 'guildBanRemove'\n | 'channelCreate'\n | 'channelDelete'\n | 'channelUpdate'\n | 'channelPinsUpdate'\n | 'messageCreate'\n | 'messageDelete'\n | 'messageUpdate'\n | 'messageDeleteBulk'\n | 'messageReactionAdd'\n | 'messageReactionRemove'\n | 'messageReactionRemoveAll'\n | 'messageReactionRemoveEmoji'\n | 'threadCreate'\n | 'threadDelete'\n | 'threadUpdate'\n | 'threadListSync'\n | 'threadMemberUpdate'\n | 'threadMembersUpdate'\n | 'userUpdate'\n | 'presenceUpdate'\n | 'voiceServerUpdate'\n | 'voiceStateUpdate'\n | 'typingStart'\n | 'webhookUpdate'\n | 'interactionCreate'\n | 'error'\n | 'warn'\n | 'debug'\n | 'cacheSweep'\n | 'shardDisconnect'\n | 'shardError'\n | 'shardReconnecting'\n | 'shardReady'\n | 'shardResume'\n | 'invalidated'\n | 'raw'\n | 'stageInstanceCreate'\n | 'stageInstanceUpdate'\n | 'stageInstanceDelete'\n | 'stickerCreate'\n | 'stickerDelete'\n | 'stickerUpdate'\n | 'guildScheduledEventCreate'\n | 'guildScheduledEventUpdate'\n | 'guildScheduledEventDelete'\n | 'guildScheduledEventUserAdd'\n | 'guildScheduledEventUserRemove';\n\nexport type EventType = DiscordEventType | 'webhookCreate' | 'webhookError' | 'commandBlock' | 'commandError' | 'commandStart' | 'commandFinish' | 'commandCooldown';\n\nexport type XernerxInteraction = XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction;\n\nexport type PermissionNames =\n | 'create instant invite'\n | 'kick members'\n | 'ban members'\n | 'administrator'\n | 'manage channels'\n | 'manage guild'\n | 'add reactions'\n | 'view audit log'\n | 'priority speaker'\n | 'stream'\n | 'view channel'\n | 'send messages'\n | 'send tts messages'\n | 'manage messages'\n | 'embed links'\n | 'attach files'\n | 'read message history'\n | 'mention everyone'\n | 'use external emojis'\n | 'view guild insights'\n | 'connect'\n | 'speak'\n | 'mute members'\n | 'deafen members'\n | 'move members'\n | 'use vad'\n | 'change nickname'\n | 'manage nicknames'\n | 'manage roles'\n | 'manage webhooks'\n | 'manage emojis and stickers'\n | 'use application commands'\n | 'request to speak'\n | 'manage events'\n | 'manage threads'\n | 'create public threads'\n | 'create private threads'\n | 'use external stickers'\n | 'send messages in threads'\n | 'start embedded activities'\n | 'moderate members';\n\nexport type InhibitorType = 'message' | 'interaction' | 'command' | 'channel' | 'user' | 'member' | 'guild' | 'contextCommand' | 'messageCommand' | 'slashCommand';\n"]}
|
|
@@ -2,5 +2,5 @@ import { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } fro
|
|
|
2
2
|
import { XernerxMessage } from '../types/extenders.js';
|
|
3
3
|
import { InhibitorType, XernerxInteraction } from '../types/types.js';
|
|
4
4
|
export declare function inhibitorValidation(event: XernerxMessage | XernerxInteraction, cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder): Promise<boolean>;
|
|
5
|
-
export declare function inhibitorArguments(event: XernerxMessage | XernerxInteraction, cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null, type: InhibitorType):
|
|
5
|
+
export declare function inhibitorArguments(event: XernerxMessage | XernerxInteraction, cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null, type: InhibitorType): import("discord.js").Guild | import("discord.js").GuildMember | import("discord.js").TextBasedChannel | import("discord.js").User | SlashCommandBuilder | ContextCommandBuilder | MessageCommandBuilder | import("../main.js").APIInteractionGuildMember | null;
|
|
6
6
|
//# sourceMappingURL=inhibitorValidations.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export async function inhibitorValidation(event, cmd) {
|
|
2
|
+
const client = event.client;
|
|
3
|
+
const inhibits = [];
|
|
4
|
+
for (const [name, inhibitor] of client.inhibitors) {
|
|
5
|
+
if (Boolean(await inhibitor.check(event, await inhibitorArguments(event, cmd || null, inhibitor.type)))) {
|
|
6
|
+
inhibits.push(name);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return !!inhibits.length;
|
|
10
|
+
}
|
|
11
|
+
export function inhibitorArguments(event, cmd, type) {
|
|
12
|
+
switch (type) {
|
|
13
|
+
case 'channel':
|
|
14
|
+
return event.channel || null;
|
|
15
|
+
case 'command':
|
|
16
|
+
return cmd;
|
|
17
|
+
case 'contextCommand':
|
|
18
|
+
return cmd;
|
|
19
|
+
case 'guild':
|
|
20
|
+
return event.guild || null;
|
|
21
|
+
case 'interaction':
|
|
22
|
+
return null;
|
|
23
|
+
case 'member':
|
|
24
|
+
return event.member || null;
|
|
25
|
+
case 'message':
|
|
26
|
+
return null;
|
|
27
|
+
case 'messageCommand':
|
|
28
|
+
return cmd;
|
|
29
|
+
case 'slashCommand':
|
|
30
|
+
return cmd;
|
|
31
|
+
case 'user':
|
|
32
|
+
return event.user;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=inhibitorValidations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inhibitorValidations.js","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA0C,EAAE,GAAyE;IAC3J,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAE7C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/C,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;KACJ;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA0C,EAAE,GAA+E,EAAE,IAAmB;IAC/K,QAAQ,IAAI,EAAE;QACV,KAAK,SAAS;YACV,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QACjC,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QACf,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,OAAO;YACR,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC/B,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAChC,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAChB,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,cAAc;YACf,OAAO,GAAG,CAAC;QACf,KAAK,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC;KACzB;AACL,CAAC","sourcesContent":["import XernerxClient, { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } from '../main.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport { InhibitorType, XernerxInteraction } from '../types/types.js';\n\nexport async function inhibitorValidation(event: XernerxMessage | XernerxInteraction, cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder) {\n const client = event.client as XernerxClient;\n\n const inhibits = [];\n\n for (const [name, inhibitor] of client.inhibitors) {\n if (Boolean(await inhibitor.check(event, await inhibitorArguments(event, cmd || null, inhibitor.type)))) {\n inhibits.push(name);\n }\n }\n\n return !!inhibits.length;\n}\n\nexport function inhibitorArguments(event: XernerxMessage | XernerxInteraction, cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null, type: InhibitorType) {\n switch (type) {\n case 'channel':\n return event.channel || null;\n case 'command':\n return cmd;\n case 'contextCommand':\n return cmd;\n case 'guild':\n return event.guild || null;\n case 'interaction':\n return null;\n case 'member':\n return event.member || null;\n case 'message':\n return null;\n case 'messageCommand':\n return cmd;\n case 'slashCommand':\n return cmd;\n case 'user':\n return event.user;\n }\n}\n"]}
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|