@raspberryvarg/bot-kit 1.0.1 → 1.0.3
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/container.d.ts +8 -6
- package/dist/core/container.d.ts.map +1 -1
- package/dist/core/container.js +5 -0
- package/dist/core/container.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/token.d.ts +25 -0
- package/dist/core/token.d.ts.map +1 -0
- package/dist/core/token.js +7 -0
- package/dist/core/token.js.map +1 -0
- package/dist/discord/command.d.ts +24 -8
- package/dist/discord/command.d.ts.map +1 -1
- package/dist/discord/command.js +7 -0
- package/dist/discord/command.js.map +1 -1
- package/dist/discord/load.d.ts.map +1 -1
- package/dist/discord/load.js +7 -2
- package/dist/discord/load.js.map +1 -1
- package/dist/discord/registry.d.ts +1 -1
- package/dist/discord/registry.d.ts.map +1 -1
- package/dist/discord/registry.js +2 -1
- package/dist/discord/registry.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/util/serializableOr.d.ts +11 -0
- package/dist/util/serializableOr.d.ts.map +1 -0
- package/dist/util/serializableOr.js +7 -0
- package/dist/util/serializableOr.js.map +1 -0
- package/package.json +1 -1
package/dist/core/container.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
type Token<T> = ((abstract new (...args: unknown[]) => T) & Injectable) | string | symbol;
|
|
5
|
-
type Factory<T> = (container: Container) => T;
|
|
1
|
+
import type { Token } from './token.js';
|
|
2
|
+
type ImplFactory<T> = (container: Container) => T;
|
|
6
3
|
declare class Container {
|
|
7
4
|
private registry;
|
|
8
5
|
private instances;
|
|
9
|
-
register<T>(token: Token<T>, factory:
|
|
6
|
+
register<T>(token: Token<T>, factory: ImplFactory<T>): void;
|
|
10
7
|
resolve<T>(token: Token<T>): T;
|
|
11
8
|
}
|
|
12
9
|
export declare const container: Container;
|
|
10
|
+
/**
|
|
11
|
+
* Inject a registered dependency.
|
|
12
|
+
*
|
|
13
|
+
* @throws {Error} If the dependency is not registered.
|
|
14
|
+
*/
|
|
13
15
|
export declare function inject<T>(token: Token<T>): T;
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;AAElD,cAAM,SAAS;IACb,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,SAAS,CAAsC;IAEvD,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,QAyBnD;IAED,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAoB7B;CACF;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAE5C"}
|
package/dist/core/container.js
CHANGED
|
@@ -44,6 +44,11 @@ class Container {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
export const container = new Container();
|
|
47
|
+
/**
|
|
48
|
+
* Inject a registered dependency.
|
|
49
|
+
*
|
|
50
|
+
* @throws {Error} If the dependency is not registered.
|
|
51
|
+
*/
|
|
47
52
|
export function inject(token) {
|
|
48
53
|
return container.resolve(token);
|
|
49
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAIrD,MAAM,SAAS;IACL,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAC3D,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEvD,QAAQ,CAAI,KAAe,EAAE,OAAuB;QAClD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM;YACN,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,OAAO,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,OAAO,CAAC,8CAA8C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAI,KAAe;QACxB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,oDAAoD;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAM,CAAC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpC,oDAAoD;QACpD,OAAO,QAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAI,KAAe;IACvC,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { inject, container } from './container.js';
|
|
2
|
-
export { bootstrap } from './bootstrap.js';
|
|
3
1
|
export * from './config.js';
|
|
2
|
+
export * from './token.js';
|
|
3
|
+
export { bootstrap } from './bootstrap.js';
|
|
4
|
+
export { inject, container } from './container.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { inject, container } from './container.js';
|
|
2
|
-
export { bootstrap } from './bootstrap.js';
|
|
3
1
|
export * from './config.js';
|
|
2
|
+
export * from './token.js';
|
|
3
|
+
export { bootstrap } from './bootstrap.js';
|
|
4
|
+
export { inject, container } from './container.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Any object that can be used as a dependency injection token.
|
|
3
|
+
*/
|
|
4
|
+
export interface Injectable {
|
|
5
|
+
readonly token: symbol | string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Type-safe injection token.
|
|
9
|
+
*/
|
|
10
|
+
export interface InjectionToken<T> extends Injectable {
|
|
11
|
+
readonly __type?: T;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Injection token based on a constructor instance.
|
|
15
|
+
*/
|
|
16
|
+
export type ConstructorInjectionToken<T> = (abstract new (...args: unknown[]) => T) & Injectable;
|
|
17
|
+
/**
|
|
18
|
+
* All valid tokens for dependency injection.
|
|
19
|
+
*/
|
|
20
|
+
export type Token<T> = ConstructorInjectionToken<T> | InjectionToken<T> | string | symbol;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a type-safe injection token.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createToken<T>(token: symbol | string): InjectionToken<T>;
|
|
25
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/core/token.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,UAAU;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;AAEjG;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1F;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAExE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/core/token.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAsB;IACnD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1,29 +1,45 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AutocompleteInteraction, type Awaitable, type ChatInputCommandInteraction, type ContextMenuCommandInteraction, type RESTPostAPIChatInputApplicationCommandsJSONBody, type RESTPostAPIContextMenuApplicationCommandsJSONBody } from 'discord.js';
|
|
2
|
+
import type { SerializableOr } from '../util/serializableOr.js';
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
+
* Valid data for slash commands.
|
|
5
|
+
*/
|
|
6
|
+
export type SlashCommandData = SerializableOr<RESTPostAPIChatInputApplicationCommandsJSONBody>;
|
|
7
|
+
/**
|
|
8
|
+
* Valid data for context menu commands.
|
|
9
|
+
*/
|
|
10
|
+
export type ContextMenuCommandData = SerializableOr<RESTPostAPIContextMenuApplicationCommandsJSONBody>;
|
|
11
|
+
/**
|
|
12
|
+
* Slash command handler definition.
|
|
4
13
|
*/
|
|
5
14
|
export interface SlashCommandHandler {
|
|
6
15
|
__router_isSlashCommandHandler: true;
|
|
7
|
-
data:
|
|
8
|
-
execute: (interaction: ChatInputCommandInteraction) =>
|
|
9
|
-
autocomplete?: (interaction: AutocompleteInteraction) =>
|
|
16
|
+
data: SlashCommandData;
|
|
17
|
+
execute: (interaction: ChatInputCommandInteraction) => Awaitable<void>;
|
|
18
|
+
autocomplete?: (interaction: AutocompleteInteraction) => Awaitable<void>;
|
|
10
19
|
}
|
|
11
20
|
/**
|
|
12
21
|
* Creates a slash command handler definition.
|
|
13
22
|
*/
|
|
14
23
|
export declare function defineSlashCommand(definition: Omit<SlashCommandHandler, '__router_isSlashCommandHandler'>): SlashCommandHandler;
|
|
24
|
+
/**
|
|
25
|
+
* Returns true if the value is a slash command handler created with {@link defineSlashCommand}.
|
|
26
|
+
*/
|
|
15
27
|
export declare function isSlashCommandHandler(value: unknown): value is SlashCommandHandler;
|
|
16
28
|
/**
|
|
17
|
-
*
|
|
29
|
+
* Context menu command handler definition.
|
|
18
30
|
*/
|
|
19
31
|
export interface ContextMenuCommandHandler {
|
|
20
32
|
__router_isContextMenuCommandHandler: true;
|
|
21
|
-
data:
|
|
22
|
-
execute: (interaction: ContextMenuCommandInteraction) =>
|
|
33
|
+
data: ContextMenuCommandData;
|
|
34
|
+
execute: (interaction: ContextMenuCommandInteraction) => Awaitable<void>;
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
37
|
* Creates a context menu command handler definition.
|
|
26
38
|
*/
|
|
27
39
|
export declare function defineContextMenuCommand(definition: Omit<ContextMenuCommandHandler, '__router_isContextMenuCommandHandler'>): ContextMenuCommandHandler;
|
|
40
|
+
/**
|
|
41
|
+
* Returns true if the value is a context menu command handler created with
|
|
42
|
+
* {@link defineContextMenuCommand}.
|
|
43
|
+
*/
|
|
28
44
|
export declare function isContextMenuCommandHandler(value: unknown): value is ContextMenuCommandHandler;
|
|
29
45
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/discord/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/discord/command.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,+CAA+C,EACpD,KAAK,iDAAiD,EACvD,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,+CAA+C,CAAC,CAAC;AAE/F;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAChC,cAAc,CAAC,iDAAiD,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B,EAAE,IAAI,CAAC;IACrC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,CAAC,WAAW,EAAE,2BAA2B,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;IACvE,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,gCAAgC,CAAC,GACtE,mBAAmB,CAKrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,oCAAoC,EAAE,IAAI,CAAC;IAC3C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,CAAC,WAAW,EAAE,6BAA6B,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,IAAI,CAAC,yBAAyB,EAAE,sCAAsC,CAAC,GAClF,yBAAyB,CAK3B;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAI9F"}
|
package/dist/discord/command.js
CHANGED
|
@@ -7,6 +7,9 @@ export function defineSlashCommand(definition) {
|
|
|
7
7
|
__router_isSlashCommandHandler: true,
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if the value is a slash command handler created with {@link defineSlashCommand}.
|
|
12
|
+
*/
|
|
10
13
|
export function isSlashCommandHandler(value) {
|
|
11
14
|
return value != null && typeof value === 'object' && '__router_isSlashCommandHandler' in value;
|
|
12
15
|
}
|
|
@@ -19,6 +22,10 @@ export function defineContextMenuCommand(definition) {
|
|
|
19
22
|
__router_isContextMenuCommandHandler: true,
|
|
20
23
|
};
|
|
21
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns true if the value is a context menu command handler created with
|
|
27
|
+
* {@link defineContextMenuCommand}.
|
|
28
|
+
*/
|
|
22
29
|
export function isContextMenuCommandHandler(value) {
|
|
23
30
|
return (value != null && typeof value === 'object' && '__router_isContextMenuCommandHandler' in value);
|
|
24
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/discord/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/discord/command.ts"],"names":[],"mappings":"AAgCA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAuE;IAEvE,OAAO;QACL,GAAG,UAAU;QACb,8BAA8B,EAAE,IAAI;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,gCAAgC,IAAI,KAAK,CAAC;AACjG,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAmF;IAEnF,OAAO;QACL,GAAG,UAAU;QACb,oCAAoC,EAAE,IAAI;KAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,OAAO,CACL,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,sCAAsC,IAAI,KAAK,CAC9F,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/discord/load.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/discord/load.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AASzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBA0C7E"}
|
package/dist/discord/load.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as path from 'node:path';
|
|
2
2
|
import * as bun from 'bun';
|
|
3
3
|
import { coreLog } from '../internal/coreLog.js';
|
|
4
|
+
import { resolveSerializableOr } from '../util/serializableOr.js';
|
|
4
5
|
import { isContextMenuCommandHandler, isSlashCommandHandler } from './command.js';
|
|
5
6
|
import { isEventHandler } from './event.js';
|
|
6
7
|
import * as registry from './registry.js';
|
|
@@ -12,10 +13,14 @@ export async function loadAllInteractions(config, client) {
|
|
|
12
13
|
await Promise.allSettled(config.paths.map((p) => loadFolder(p, (module) => {
|
|
13
14
|
for (const exported of Object.values(module)) {
|
|
14
15
|
if (isSlashCommandHandler(exported)) {
|
|
15
|
-
|
|
16
|
+
const data = resolveSerializableOr(exported.data);
|
|
17
|
+
exported.data = data;
|
|
18
|
+
registry.slashCommands.set(data.name, exported);
|
|
16
19
|
}
|
|
17
20
|
else if (isContextMenuCommandHandler(exported)) {
|
|
18
|
-
|
|
21
|
+
const data = resolveSerializableOr(exported.data);
|
|
22
|
+
exported.data = data;
|
|
23
|
+
registry.contextMenuCommands.set(data.name, exported);
|
|
19
24
|
}
|
|
20
25
|
else if (isEventHandler(exported)) {
|
|
21
26
|
const { event, once, execute } = exported;
|
package/dist/discord/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/discord/load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/discord/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection, type RESTPostAPIChatInputApplicationCommandsJSONBody, type RESTPostAPIContextMenuApplicationCommandsJSONBody } from 'discord.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type ContextMenuCommandHandler, type SlashCommandHandler } from './command.js';
|
|
3
3
|
import type { EventHandler } from './event.js';
|
|
4
4
|
export declare const slashCommands: Collection<string, SlashCommandHandler>;
|
|
5
5
|
export declare const contextMenuCommands: Collection<string, ContextMenuCommandHandler>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/discord/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,+CAA+C,EACpD,KAAK,iDAAiD,EACvD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/discord/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,+CAA+C,EACpD,KAAK,iDAAiD,EACvD,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqB/C,eAAO,MAAM,aAAa,yCAEqB,CAAC;AAEhD,eAAO,MAAM,mBAAmB,+CAEqB,CAAC;AAEtD,eAAO,MAAM,MAAM,2EACwE,CAAC;AAE5F,MAAM,MAAM,8BAA8B,GACtC,iDAAiD,GACjD,+CAA+C,CAAC;AAEpD,wBAAgB,oBAAoB,IAAI,aAAa,CAAC,8BAA8B,CAAC,CAKpF"}
|
package/dist/discord/registry.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Collection, } from 'discord.js';
|
|
2
2
|
import { coreLog } from '../internal/coreLog.js';
|
|
3
|
+
import { resolveSerializableOr } from '../util/serializableOr.js';
|
|
3
4
|
const isDev = process.env.NODE_ENV === 'development';
|
|
4
5
|
const hmr = globalThis;
|
|
5
6
|
if (isDev && !hmr.hotReloadCommandRegistry) {
|
|
@@ -19,6 +20,6 @@ export function gatherCommandsToJson() {
|
|
|
19
20
|
return [
|
|
20
21
|
...slashCommands.map((handler) => handler.data),
|
|
21
22
|
...contextMenuCommands.map((handler) => handler.data),
|
|
22
|
-
].map((
|
|
23
|
+
].map((serializableOr) => resolveSerializableOr(serializableOr));
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/discord/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAGX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/discord/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAGX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAErD,MAAM,GAAG,GAAG,UAMX,CAAC;AAEF,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACpD,GAAG,CAAC,wBAAwB,GAAG;QAC7B,aAAa,EAAE,IAAI,UAAU,EAAE;QAC/B,mBAAmB,EAAE,IAAI,UAAU,EAAE;QACrC,MAAM,EAAE,IAAI,UAAU,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,KAAK,IAAI,GAAG,CAAC,wBAAyB,CAAC,aAAa,CAAC;IACtD,IAAI,UAAU,EAA+B,CAAC;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,KAAK,IAAI,GAAG,CAAC,wBAAyB,CAAC,mBAAmB,CAAC;IAC5D,IAAI,UAAU,EAAqC,CAAC;AAEtD,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,KAAK,IAAI,GAAG,CAAC,wBAAyB,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,EAAwB,CAAC;AAM5F,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACtD,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data that can be serialized to JSON (or already the target serialized value).
|
|
3
|
+
*/
|
|
4
|
+
export type SerializableOr<T extends NonNullable<unknown>> = {
|
|
5
|
+
toJSON: () => T;
|
|
6
|
+
} | T;
|
|
7
|
+
/**
|
|
8
|
+
* Resolves a serializable to its target value, returning itself if already resolved.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveSerializableOr<T extends NonNullable<unknown>>(serializableOr: SerializableOr<T>): T;
|
|
11
|
+
//# sourceMappingURL=serializableOr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializableOr.d.ts","sourceRoot":"","sources":["../../src/util/serializableOr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC;AAErF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,EAClE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,GAChC,CAAC,CAEH"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a serializable to its target value, returning itself if already resolved.
|
|
3
|
+
*/
|
|
4
|
+
export function resolveSerializableOr(serializableOr) {
|
|
5
|
+
return 'toJSON' in serializableOr ? serializableOr.toJSON() : serializableOr;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=serializableOr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializableOr.js","sourceRoot":"","sources":["../../src/util/serializableOr.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAiC;IAEjC,OAAO,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;AAC/E,CAAC"}
|