dfx 0.110.1 → 0.111.0
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/DiscordGateway/Shard.d.ts +1 -1
- package/DiscordGateway/Sharder.d.ts +1 -1
- package/Helpers/interactions.d.ts +4 -0
- package/Helpers/interactions.d.ts.map +1 -1
- package/Helpers/interactions.js +13 -2
- package/Helpers/interactions.js.map +1 -1
- package/Interactions/commandHelper.d.ts +99 -0
- package/Interactions/commandHelper.d.ts.map +1 -0
- package/Interactions/commandHelper.js +54 -0
- package/Interactions/commandHelper.js.map +1 -0
- package/Interactions/context.d.ts +4 -18
- package/Interactions/context.d.ts.map +1 -1
- package/Interactions/context.js +1 -19
- package/Interactions/context.js.map +1 -1
- package/Interactions/definitions.d.ts +2 -79
- package/Interactions/definitions.d.ts.map +1 -1
- package/Interactions/definitions.js.map +1 -1
- package/Interactions/utils.d.ts.map +1 -1
- package/Interactions/utils.js +2 -9
- package/Interactions/utils.js.map +1 -1
- package/mjs/Helpers/interactions.mjs +10 -0
- package/mjs/Helpers/interactions.mjs.map +1 -1
- package/mjs/Interactions/commandHelper.mjs +45 -0
- package/mjs/Interactions/commandHelper.mjs.map +1 -0
- package/mjs/Interactions/context.mjs +0 -14
- package/mjs/Interactions/context.mjs.map +1 -1
- package/mjs/Interactions/definitions.mjs.map +1 -1
- package/mjs/Interactions/utils.mjs +2 -9
- package/mjs/Interactions/utils.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +2 -2
- package/src/Helpers/interactions.ts +22 -0
- package/src/Interactions/commandHelper.ts +236 -0
- package/src/Interactions/context.ts +3 -72
- package/src/Interactions/definitions.ts +1 -166
- package/src/Interactions/utils.ts +2 -10
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -8,7 +8,7 @@ export declare const make: Effect.Effect<{
|
|
|
8
8
|
readonly connect: (shard: [id: number, count: number]) => Effect.Effect<{
|
|
9
9
|
readonly id: [id: number, count: number];
|
|
10
10
|
}, never, import("effect/Scope").Scope | import("@effect/platform/Socket").WebSocketConstructor>;
|
|
11
|
-
}, never, DiscordConfig | RateLimiter | import("dfx/DiscordGateway/Messaging").Messsaging |
|
|
11
|
+
}, never, DiscordConfig | RateLimiter | DiscordWS | import("dfx/DiscordGateway/Messaging").Messsaging | ShardStateStore>;
|
|
12
12
|
type ShardService = Effect.Effect.Success<typeof make>;
|
|
13
13
|
export interface Shard {
|
|
14
14
|
readonly _: unique symbol;
|
|
@@ -10,5 +10,5 @@ export interface Sharder {
|
|
|
10
10
|
export declare const Sharder: import("effect/Context").Tag<Sharder, {
|
|
11
11
|
readonly shards: Effect.Effect<HashSet.HashSet<RunningShard>, never, never>;
|
|
12
12
|
}>;
|
|
13
|
-
export declare const SharderLive: Layer.Layer<Sharder, never, DiscordConfig | import("@effect/platform/HttpClient").HttpClient | import("dfx/RateLimit").RateLimitStore |
|
|
13
|
+
export declare const SharderLive: Layer.Layer<Sharder, never, DiscordConfig | import("@effect/platform/HttpClient").HttpClient | import("dfx/RateLimit").RateLimitStore | import("./DiscordWS").DiscordWSCodec | import("@effect/platform/Socket").WebSocketConstructor | import("./Shard/StateStore").ShardStateStore | ShardStore>;
|
|
14
14
|
//# sourceMappingURL=Sharder.d.ts.map
|
|
@@ -5,6 +5,10 @@ import * as Option from "effect/Option";
|
|
|
5
5
|
* Option find a sub-command within the interaction options.
|
|
6
6
|
*/
|
|
7
7
|
export declare const allSubCommands: (interaction: Discord.ApplicationCommandDatum) => Discord.ApplicationCommandInteractionDataOption[];
|
|
8
|
+
/**
|
|
9
|
+
* Get the target for the application command data.
|
|
10
|
+
*/
|
|
11
|
+
export declare const target: (interaction: Discord.ApplicationCommandDatum) => Discord.ApplicationCommandDatum | Discord.User | Discord.Message;
|
|
8
12
|
/**
|
|
9
13
|
* Option find a sub-command within the interaction options.
|
|
10
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../src/Helpers/interactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAGpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAiB,OAAO,CAAC,uBAAuB,sDAMxE,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,SAClB,MAAM,mBAAmB,OAAO,CAAC,uBAAuB,mEAQ5D,CAAA;AAEL;;GAEG;AACH,eAAO,MAAM,YAAY,SAChB,MAAM,SAAS,OAAO,CAAC,uBAAuB,YACb,CAAA;AAE1C;;GAEG;AACH,eAAO,MAAM,iBAAiB,SACrB,MAAM,SAAS,OAAO,CAAC,uBAAuB,qEACY,CAAA;AAEnE;;GAEG;AACH,eAAO,MAAM,iBAAiB,SACtB,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,KACrD,KAAK,CAAC,OAAO,CAAC,uCAAuC,CAavD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,YAClB,KAAK,CAAC,OAAO,CAAC,uCAAuC,CAAC,gDAK9D,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,SACf,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,gDACV,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,SAAS,SACb,MAAM,YAAY,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,mEACX,CAAA;AAEhE;;GAEG;AACH,eAAO,MAAM,aAAa,SAClB,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,mEACY,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,WAAW,SACf,MAAM,YAAY,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,0BACZ,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,QAAQ,SAAU,OAAO,CAAC,WAAW,yCAI/C,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC5B,CAAC,QACM,MAAM,KACT,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,CAAC,GAAG,SAAS,SAEtE,OAAO,CAAC,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAatC,CAAA;AAEL;;GAEG;AACH,eAAO,MAAM,aAAa,GACvB,CAAC,KACG,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,CAAC,GAAG,SAAS,SAEtE,OAAO,CAAC,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAYrD,CAAA;AAUL;;GAEG;AACH,eAAO,MAAM,UAAU,MAClB,OAAO,CAAC,gBAAgB,KAC1B,KAAK,CAAC,OAAO,CAAC,SAAS,CAGzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAAU,OAAO,CAAC,gBAAgB,wBACQ,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAa,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,gDAIlE,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,SAAU,OAAO,CAAC,gBAAgB,gDACrB,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,YAAY,OAAQ,MAAM,YAAY,OAAO,CAAC,gBAAgB,qCAIxE,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,OACpB,MAAM,YAAY,OAAO,CAAC,gBAAgB,0BAI5C,CAAA;AAEL,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,2BAA2B,CAAA;IACjE,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAA;CACzC,GACD;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,cAAc,CAAA;IACpD,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAA;CACzC,GACD;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAA;IAC3C,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAA;CACvC,GACD;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,uBAAuB,CAAA;CAC9D,GACD;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,oCAAoC,CAAA;CAC3E,GACD;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,uCAAuC,CAAA;IAC7E,IAAI,EAAE,OAAO,CAAC,+BAA+B,CAAA;CAC9C,GACD;IACE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAA;CACtD,CAAA;AAEL,eAAO,MAAM,QAAQ,MAAO,mBAAmB,wBAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../src/Helpers/interactions.ts"],"names":[],"mappings":"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"}
|
package/Helpers/interactions.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.transformOptions = exports.transformComponents = exports.subCommandOptions = exports.response = exports.resolved = exports.resolveValues = exports.resolveOptionValue = exports.optionsWithNested = exports.optionsMap = exports.optionValue = exports.isSubCommand = exports.getOption = exports.getComponent = exports.focusedOption = exports.findSubCommand = exports.componentsWithValue = exports.componentsMap = exports.components = exports.componentValue = exports.allSubCommands = void 0;
|
|
6
|
+
exports.transformOptions = exports.transformComponents = exports.target = exports.subCommandOptions = exports.response = exports.resolved = exports.resolveValues = exports.resolveOptionValue = exports.optionsWithNested = exports.optionsMap = exports.optionValue = exports.isSubCommand = exports.getOption = exports.getComponent = exports.focusedOption = exports.findSubCommand = exports.componentsWithValue = exports.componentsMap = exports.components = exports.componentValue = exports.allSubCommands = void 0;
|
|
7
7
|
var Discord = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/types"));
|
|
8
8
|
var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
|
|
9
9
|
var _Function = /*#__PURE__*/require("effect/Function");
|
|
@@ -16,9 +16,20 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
16
16
|
*/
|
|
17
17
|
const allSubCommands = interaction => (0, _Function.pipe)(optionsWithNested(interaction), Arr.filter(o => o.type === Discord.ApplicationCommandOptionType.SUB_COMMAND));
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Get the target for the application command data.
|
|
20
20
|
*/
|
|
21
21
|
exports.allSubCommands = allSubCommands;
|
|
22
|
+
const target = interaction => targetTypes[interaction.type](interaction);
|
|
23
|
+
exports.target = target;
|
|
24
|
+
const targetTypes = {
|
|
25
|
+
[Discord.ApplicationCommandType.USER]: data => data.resolved.users[data.target_id],
|
|
26
|
+
[Discord.ApplicationCommandType.MESSAGE]: data => data.resolved.messages[data.target_id],
|
|
27
|
+
[Discord.ApplicationCommandType.CHAT_INPUT]: data => data,
|
|
28
|
+
[Discord.ApplicationCommandType.PRIMARY_ENTRY_POINT]: data => data
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Option find a sub-command within the interaction options.
|
|
32
|
+
*/
|
|
22
33
|
const findSubCommand = name => interaction => (0, _Function.pipe)(optionsWithNested(interaction), Arr.findFirst(o => o.type === Discord.ApplicationCommandOptionType.SUB_COMMAND && o.name === name));
|
|
23
34
|
/**
|
|
24
35
|
* If the sub-command exists return `true`, else `false`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","names":["Discord","_interopRequireWildcard","require","Arr","_Function","HashMap","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","allSubCommands","interaction","pipe","optionsWithNested","filter","o","type","ApplicationCommandOptionType","SUB_COMMAND","exports","findSubCommand","name","findFirst","isSubCommand","_","isSome","subCommandOptions","flatMapNullable","options","
|
|
1
|
+
{"version":3,"file":"interactions.js","names":["Discord","_interopRequireWildcard","require","Arr","_Function","HashMap","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","allSubCommands","interaction","pipe","optionsWithNested","filter","o","type","ApplicationCommandOptionType","SUB_COMMAND","exports","target","targetTypes","ApplicationCommandType","USER","data","resolved","users","target_id","MESSAGE","messages","CHAT_INPUT","PRIMARY_ENTRY_POINT","findSubCommand","name","findFirst","isSubCommand","_","isSome","subCommandOptions","flatMapNullable","options","optsFromOption","opt","fromNullable","map","opts","flatMap","match","onNone","onSome","identity","getOrElse","transformOptions","reduce","option","value","empty","optionsMap","getOption","focusedOption","focused","optionValue","resolveOptionValue","f","Do","bind","id","resolveValues","values","getSomes","extractComponents","c","components","componentsWithValue","undefined","transformComponents","custom_id","componentsMap","getComponent","componentValue","response"],"sources":["../src/Helpers/interactions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as Option from "effect/Option";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { SubCommandContext, type DiscordApplicationCommand, type DiscordInteraction } from "dfx/Interactions/context";
|
|
4
|
+
import type * as Discord from "dfx/types";
|
|
5
|
+
import type { HashMap } from "effect/HashMap";
|
|
6
|
+
export declare class CommandHelper<A> {
|
|
7
|
+
readonly interaction: Discord.Interaction;
|
|
8
|
+
constructor(interaction: Discord.Interaction);
|
|
9
|
+
readonly data: Discord.ApplicationCommandDatum;
|
|
10
|
+
readonly target: CommandTypeMap<A, {
|
|
11
|
+
[Discord.ApplicationCommandType
|
|
12
|
+
.CHAT_INPUT]: Discord.ApplicationCommandDatum;
|
|
13
|
+
[Discord.ApplicationCommandType.MESSAGE]: Discord.Message;
|
|
14
|
+
[Discord.ApplicationCommandType.USER]: Discord.User;
|
|
15
|
+
[Discord.ApplicationCommandType.PRIMARY_ENTRY_POINT]: undefined;
|
|
16
|
+
}>;
|
|
17
|
+
resolve<T>(name: AllResolvables<A>["name"], f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined): Option.Option<T>;
|
|
18
|
+
resolvedValues<T>(f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined): Option.Option<ReadonlyArray<T>>;
|
|
19
|
+
option(name: AllCommandOptions<A>["name"]): Option.Option<Discord.ApplicationCommandInteractionDataOption>;
|
|
20
|
+
optionValue<N extends AllRequiredCommandOptions<A>["name"]>(name: N): CommandValue<A, N>;
|
|
21
|
+
optionValueOptional<N extends AllCommandOptions<A>["name"]>(name: N): Option.Option<CommandValue<A, N>>;
|
|
22
|
+
optionValueOrElse<N extends AllCommandOptions<A>["name"], const OrElse>(name: N, orElse: () => OrElse): Option.Option<CommandValue<A, N>>;
|
|
23
|
+
subCommands<NER extends SubCommandNames<A> extends never ? never : Record<SubCommandNames<A>, Effect.Effect<Discord.InteractionResponse, any, any>>>(commands: NER): Effect.Effect<Discord.InteractionResponse, [
|
|
24
|
+
NER[keyof NER]
|
|
25
|
+
] extends [
|
|
26
|
+
{
|
|
27
|
+
[Effect.EffectTypeId]: {
|
|
28
|
+
_E: (_: never) => infer E;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
] ? E : never, Exclude<[
|
|
32
|
+
NER[keyof NER]
|
|
33
|
+
] extends [
|
|
34
|
+
{
|
|
35
|
+
[Effect.EffectTypeId]: {
|
|
36
|
+
_R: (_: never) => infer R;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
] ? R : never, SubCommandContext> | DiscordInteraction | DiscordApplicationCommand>;
|
|
40
|
+
get optionsMap(): HashMap<string, string | undefined>;
|
|
41
|
+
}
|
|
42
|
+
export type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect.Effect<Discord.InteractionResponse, E, R>;
|
|
43
|
+
interface CommandOption {
|
|
44
|
+
readonly type: any;
|
|
45
|
+
readonly name: string;
|
|
46
|
+
readonly options?: ReadonlyArray<CommandOption>;
|
|
47
|
+
}
|
|
48
|
+
type CommandTypeMap<A, Options extends Record<Discord.ApplicationCommandType, any>> = A extends {
|
|
49
|
+
readonly type: infer T;
|
|
50
|
+
} ? T extends keyof Options ? Options[T] : never : Options[Discord.ApplicationCommandType.CHAT_INPUT];
|
|
51
|
+
type SubCommands<A> = A extends {
|
|
52
|
+
readonly type: Discord.ApplicationCommandOptionType.SUB_COMMAND;
|
|
53
|
+
readonly options?: ReadonlyArray<CommandOption>;
|
|
54
|
+
} ? A : A extends {
|
|
55
|
+
readonly options: ReadonlyArray<CommandOption>;
|
|
56
|
+
} ? SubCommands<A["options"][number]> : never;
|
|
57
|
+
type SubCommandNames<A> = Option<SubCommands<A>>["name"];
|
|
58
|
+
type CommandOptionType = Exclude<Discord.ApplicationCommandOptionType, Discord.ApplicationCommandOptionType.SUB_COMMAND | Discord.ApplicationCommandOptionType.SUB_COMMAND_GROUP>;
|
|
59
|
+
type CommandOptions<A> = OptionsWithLiteral<A, {
|
|
60
|
+
readonly type: CommandOptionType;
|
|
61
|
+
}>;
|
|
62
|
+
type SubCommandOptions<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
63
|
+
readonly type: CommandOptionType;
|
|
64
|
+
}>;
|
|
65
|
+
type AllCommandOptions<A> = CommandOptions<A> | SubCommandOptions<A>;
|
|
66
|
+
type CommandWithName<A, N> = Extract<AllCommandOptions<A>, {
|
|
67
|
+
readonly name: N;
|
|
68
|
+
}>;
|
|
69
|
+
type OptionTypeValue = {
|
|
70
|
+
[Discord.ApplicationCommandOptionType.BOOLEAN]: boolean;
|
|
71
|
+
[Discord.ApplicationCommandOptionType.INTEGER]: number;
|
|
72
|
+
[Discord.ApplicationCommandOptionType.NUMBER]: number;
|
|
73
|
+
};
|
|
74
|
+
type CommandValue<A, N> = CommandWithName<A, N>["type"] extends keyof OptionTypeValue ? OptionTypeValue[CommandWithName<A, N>["type"]] : string;
|
|
75
|
+
type RequiredCommandOptions<A> = OptionsWithLiteral<A, {
|
|
76
|
+
readonly type: CommandOptionType;
|
|
77
|
+
readonly required: true;
|
|
78
|
+
}>;
|
|
79
|
+
type RequiredSubCommandOptions<A> = Extract<SubCommandOptions<A>, {
|
|
80
|
+
readonly required: true;
|
|
81
|
+
}>;
|
|
82
|
+
type AllRequiredCommandOptions<A> = RequiredCommandOptions<A> | RequiredSubCommandOptions<A>;
|
|
83
|
+
type ResolvableType = Discord.ApplicationCommandOptionType.ROLE | Discord.ApplicationCommandOptionType.USER | Discord.ApplicationCommandOptionType.MENTIONABLE | Discord.ApplicationCommandOptionType.CHANNEL;
|
|
84
|
+
type Resolvables<A> = OptionsWithLiteral<A, {
|
|
85
|
+
readonly type: ResolvableType;
|
|
86
|
+
}>;
|
|
87
|
+
type SubCommandResolvables<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
88
|
+
readonly type: ResolvableType;
|
|
89
|
+
}>;
|
|
90
|
+
type AllResolvables<A> = Resolvables<A> | SubCommandResolvables<A>;
|
|
91
|
+
type StringLiteral<T> = T extends string ? string extends T ? never : T : never;
|
|
92
|
+
type Option<A> = A extends {
|
|
93
|
+
readonly name: infer N;
|
|
94
|
+
} ? N extends StringLiteral<N> ? A : never : never;
|
|
95
|
+
type OptionsWithLiteral<A, T> = A extends {
|
|
96
|
+
readonly options: ReadonlyArray<CommandOption>;
|
|
97
|
+
} ? Extract<A["options"][number], Option<A["options"][number]> & T> : never;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=commandHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandHelper.d.ts","sourceRoot":"","sources":["../src/Interactions/commandHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CommandHelper = void 0;
|
|
7
|
+
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
8
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
9
|
+
var _context = /*#__PURE__*/require("dfx/Interactions/context");
|
|
10
|
+
var Helpers = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/Helpers/interactions"));
|
|
11
|
+
var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
class CommandHelper {
|
|
15
|
+
interaction;
|
|
16
|
+
constructor(interaction) {
|
|
17
|
+
this.interaction = interaction;
|
|
18
|
+
this.target = Helpers.target(interaction.data);
|
|
19
|
+
this.data = interaction.data;
|
|
20
|
+
}
|
|
21
|
+
data;
|
|
22
|
+
target;
|
|
23
|
+
resolve(name, f) {
|
|
24
|
+
return Helpers.resolveOptionValue(name, f)(this.interaction);
|
|
25
|
+
}
|
|
26
|
+
resolvedValues(f) {
|
|
27
|
+
return Helpers.resolveValues(f)(this.interaction);
|
|
28
|
+
}
|
|
29
|
+
option(name) {
|
|
30
|
+
return Helpers.getOption(name)(this.data);
|
|
31
|
+
}
|
|
32
|
+
optionValue(name) {
|
|
33
|
+
return Option.getOrThrow(this.optionValueOptional(name));
|
|
34
|
+
}
|
|
35
|
+
optionValueOptional(name) {
|
|
36
|
+
return Option.map(this.option(name), _ => _.value);
|
|
37
|
+
}
|
|
38
|
+
optionValueOrElse(name, orElse) {
|
|
39
|
+
return Option.getOrElse(this.option(name), orElse);
|
|
40
|
+
}
|
|
41
|
+
subCommands(commands) {
|
|
42
|
+
const commands_ = commands;
|
|
43
|
+
return Effect.mapError(Arr.findFirst(Helpers.allSubCommands(this.data), _ => !!commands_[_.name]), () => new _context.SubCommandNotFound({
|
|
44
|
+
data: this.data
|
|
45
|
+
})).pipe(Effect.flatMap(command => Effect.provideService(commands_[command.name], _context.SubCommandContext, {
|
|
46
|
+
command
|
|
47
|
+
})));
|
|
48
|
+
}
|
|
49
|
+
get optionsMap() {
|
|
50
|
+
return Helpers.optionsMap(this.data);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.CommandHelper = CommandHelper;
|
|
54
|
+
//# sourceMappingURL=commandHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandHelper.js","names":["Option","_interopRequireWildcard","require","Effect","_context","Helpers","Arr","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CommandHelper","interaction","constructor","target","data","resolve","name","f","resolveOptionValue","resolvedValues","resolveValues","option","getOption","optionValue","getOrThrow","optionValueOptional","map","_","value","optionValueOrElse","orElse","getOrElse","subCommands","commands","commands_","mapError","findFirst","allSubCommands","SubCommandNotFound","pipe","flatMap","command","provideService","SubCommandContext","optionsMap","exports"],"sources":["../src/Interactions/commandHelper.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,8 +2,7 @@ import { InteractionsErrorTypeId } from "dfx/Interactions/error";
|
|
|
2
2
|
import type * as Discord from "dfx/types";
|
|
3
3
|
import type { NoSuchElementException } from "effect/Cause";
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
|
-
import
|
|
6
|
-
import * as Option from "effect/Option";
|
|
5
|
+
import * as Types from "effect/Types";
|
|
7
6
|
export interface DiscordInteraction {
|
|
8
7
|
readonly _: unique symbol;
|
|
9
8
|
}
|
|
@@ -34,35 +33,22 @@ export declare const SubCommandContext: import("effect/Context").Tag<DiscordSubC
|
|
|
34
33
|
export declare const resolvedValues: <A>(f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => A | undefined) => Effect.Effect<ReadonlyArray<A>, NoSuchElementException, DiscordInteraction>;
|
|
35
34
|
export declare const resolved: <A>(name: string, f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => A | undefined) => Effect.Effect<A, NoSuchElementException, DiscordInteraction>;
|
|
36
35
|
export declare const focusedOptionValue: Effect.Effect<string, never, DiscordFocusedOption>;
|
|
37
|
-
declare const SubCommandNotFound_base: new <A extends Record<string, any>>(args:
|
|
36
|
+
declare const SubCommandNotFound_base: new <A extends Record<string, any>>(args: Types.Simplify<A>) => import("effect/Cause").YieldableError & Record<typeof InteractionsErrorTypeId, typeof InteractionsErrorTypeId> & {
|
|
38
37
|
readonly _tag: "SubCommandNotFound";
|
|
39
38
|
} & Readonly<A>;
|
|
40
39
|
export declare class SubCommandNotFound extends SubCommandNotFound_base<{
|
|
41
40
|
data: Discord.ApplicationCommandDatum;
|
|
42
41
|
}> {
|
|
43
42
|
}
|
|
44
|
-
export declare const handleSubCommands: <NER extends Record<string, Effect.Effect<Discord.InteractionResponse, any, any>>>(commands: NER) => Effect.Effect<Discord.InteractionResponse, ([NER[keyof NER]] extends [{
|
|
45
|
-
[Effect.EffectTypeId]: {
|
|
46
|
-
_E: (_: never) => infer E;
|
|
47
|
-
};
|
|
48
|
-
}] ? E : never) | SubCommandNotFound, Exclude<[NER[keyof NER]] extends [{
|
|
49
|
-
[Effect.EffectTypeId]: {
|
|
50
|
-
_R: (_: never) => infer R;
|
|
51
|
-
};
|
|
52
|
-
}] ? R : never, SubCommandContext> | Discord.Interaction | Discord.ApplicationCommandDatum>;
|
|
53
43
|
export declare const currentSubCommand: Effect.Effect<Discord.ApplicationCommandInteractionDataOption, never, DiscordSubCommand>;
|
|
54
|
-
export declare const optionsMap: Effect.Effect<HashMap.HashMap<string, string | undefined>, never, DiscordApplicationCommand>;
|
|
55
44
|
export declare class RequiredOptionNotFound {
|
|
56
45
|
readonly data: Discord.ApplicationCommandDatum | Discord.ApplicationCommandInteractionDataOption;
|
|
57
46
|
readonly name: string;
|
|
58
47
|
readonly _tag = "RequiredOptionNotFound";
|
|
59
48
|
constructor(data: Discord.ApplicationCommandDatum | Discord.ApplicationCommandInteractionDataOption, name: string);
|
|
60
49
|
}
|
|
61
|
-
export declare const
|
|
62
|
-
export declare const
|
|
63
|
-
export declare const optionValueOptional: (name: string) => Effect.Effect<Option.Option<string>, never, DiscordApplicationCommand>;
|
|
64
|
-
export declare const modalValues: Effect.Effect<HashMap.HashMap<string, string | undefined>, never, DiscordModalSubmit>;
|
|
65
|
-
export declare const modalValueOption: (name: string) => Effect.Effect<Option.Option<string>, never, DiscordModalSubmit>;
|
|
50
|
+
export declare const modalValues: Effect.Effect<import("effect/HashMap").HashMap<string, string | undefined>, never, DiscordModalSubmit>;
|
|
51
|
+
export declare const modalValueOption: (name: string) => Effect.Effect<import("effect/Option").Option<string>, never, DiscordModalSubmit>;
|
|
66
52
|
export declare const modalValue: (name: string) => Effect.Effect<string, NoSuchElementException, DiscordModalSubmit>;
|
|
67
53
|
export {};
|
|
68
54
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/Interactions/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/Interactions/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,WAAW,uEAEvB,CAAA;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,kBAAkB,0FAGS,CAAA;AAExC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,oBAAoB,sFAGS,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,eAAe,4EAGS,CAAA;AAErC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,oBAAoB,qGAGS,CAAA;AAE1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,uCAAuC,CAAA;CAClE;AACD,eAAO,MAAM,iBAAiB,oEAGS,CAAA;AAEvC,eAAO,MAAM,cAAc,GAAI,CAAC,KAC3B,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,CAAC,GAAG,SAAS,KACvE,MAAM,CAAC,MAAM,CACd,aAAa,CAAC,CAAC,CAAC,EAChB,sBAAsB,EACtB,kBAAkB,CACkD,CAAA;AAEtE,eAAO,MAAM,QAAQ,GAAI,CAAC,QAClB,MAAM,KACT,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,CAAC,GAAG,SAAS,KACvE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,sBAAsB,EAAE,kBAAkB,CACgB,CAAA;AAE9E,eAAO,MAAM,kBAAkB,oDAG9B,CAAA;;;;AAED,qBAAa,kBAAmB,SAAQ,wBAGtC;IACA,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAA;CACtC,CAAC;CAAG;AAEL,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAC3C,OAAO,CAAC,uCAAuC,EAC/C,KAAK,EACL,iBAAiB,CAC8B,CAAA;AAEjD,qBAAa,sBAAsB;IAG/B,QAAQ,CAAC,IAAI,EACT,OAAO,CAAC,uBAAuB,GAC/B,OAAO,CAAC,uCAAuC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM;IALvB,QAAQ,CAAC,IAAI,4BAA2B;gBAE7B,IAAI,EACT,OAAO,CAAC,uBAAuB,GAC/B,OAAO,CAAC,uCAAuC,EAC1C,IAAI,EAAE,MAAM;CAExB;AAED,eAAO,MAAM,WAAW,wGAAuD,CAAA;AAE/E,eAAO,MAAM,gBAAgB,SAAU,MAAM,qFACgB,CAAA;AAE7D,eAAO,MAAM,UAAU,SACf,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,kBAAkB,CACY,CAAA"}
|
package/Interactions/context.js
CHANGED
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.resolvedValues = exports.resolved = exports.
|
|
6
|
+
exports.resolvedValues = exports.resolved = exports.modalValues = exports.modalValueOption = exports.modalValue = exports.focusedOptionValue = exports.currentSubCommand = exports.SubCommandNotFound = exports.SubCommandContext = exports.RequiredOptionNotFound = exports.ModalSubmitData = exports.MessageComponentData = exports.Interaction = exports.FocusedOptionContext = exports.ApplicationCommand = void 0;
|
|
7
7
|
var _Error = /*#__PURE__*/require("@effect/platform/Error");
|
|
8
8
|
var IxHelpers = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/Helpers/interactions"));
|
|
9
9
|
var _error = /*#__PURE__*/require("dfx/Interactions/error");
|
|
10
10
|
var _Context = /*#__PURE__*/require("effect/Context");
|
|
11
11
|
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
12
|
-
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
13
|
-
var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
|
|
14
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
14
|
const Interaction = exports.Interaction = /*#__PURE__*/(0, _Context.GenericTag)("dfx/Interactions/Interaction");
|
|
@@ -26,14 +24,7 @@ exports.resolved = resolved;
|
|
|
26
24
|
const focusedOptionValue = exports.focusedOptionValue = /*#__PURE__*/Effect.map(FocusedOptionContext, _ => _.value ?? "");
|
|
27
25
|
class SubCommandNotFound extends /*#__PURE__*/(0, _Error.TypeIdError)(_error.InteractionsErrorTypeId, "SubCommandNotFound") {}
|
|
28
26
|
exports.SubCommandNotFound = SubCommandNotFound;
|
|
29
|
-
const handleSubCommands = commands => ApplicationCommand.pipe(Effect.flatMap(data => Effect.mapError(Arr.findFirst(IxHelpers.allSubCommands(data), _ => !!commands[_.name]), () => new SubCommandNotFound({
|
|
30
|
-
data
|
|
31
|
-
}))), Effect.flatMap(command => Effect.provideService(commands[command.name], SubCommandContext, {
|
|
32
|
-
command
|
|
33
|
-
})));
|
|
34
|
-
exports.handleSubCommands = handleSubCommands;
|
|
35
27
|
const currentSubCommand = exports.currentSubCommand = /*#__PURE__*/Effect.map(SubCommandContext, _ => _.command);
|
|
36
|
-
const optionsMap = exports.optionsMap = /*#__PURE__*/Effect.map(ApplicationCommand, IxHelpers.optionsMap);
|
|
37
28
|
class RequiredOptionNotFound {
|
|
38
29
|
data;
|
|
39
30
|
name;
|
|
@@ -44,15 +35,6 @@ class RequiredOptionNotFound {
|
|
|
44
35
|
}
|
|
45
36
|
}
|
|
46
37
|
exports.RequiredOptionNotFound = RequiredOptionNotFound;
|
|
47
|
-
const option = name => Effect.map(ApplicationCommand, IxHelpers.getOption(name));
|
|
48
|
-
exports.option = option;
|
|
49
|
-
const optionValue = name => Effect.flatMap(option(name), _ => Option.match(Option.flatMapNullable(_, a => a.value), {
|
|
50
|
-
onNone: () => Effect.flatMap(ApplicationCommand, data => Effect.fail(new RequiredOptionNotFound(data, name))),
|
|
51
|
-
onSome: Effect.succeed
|
|
52
|
-
}));
|
|
53
|
-
exports.optionValue = optionValue;
|
|
54
|
-
const optionValueOptional = name => Effect.map(option(name), Option.flatMapNullable(o => o.value));
|
|
55
|
-
exports.optionValueOptional = optionValueOptional;
|
|
56
38
|
const modalValues = exports.modalValues = /*#__PURE__*/Effect.map(ModalSubmitData, IxHelpers.componentsMap);
|
|
57
39
|
const modalValueOption = name => Effect.map(ModalSubmitData, IxHelpers.componentValue(name));
|
|
58
40
|
exports.modalValueOption = modalValueOption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["_Error","require","IxHelpers","_interopRequireWildcard","_error","_Context","Effect","
|
|
1
|
+
{"version":3,"file":"context.js","names":["_Error","require","IxHelpers","_interopRequireWildcard","_error","_Context","Effect","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Interaction","exports","GenericTag","ApplicationCommand","MessageComponentData","ModalSubmitData","FocusedOptionContext","SubCommandContext","resolvedValues","f","flatMap","ix","resolveValues","resolved","name","resolveOptionValue","focusedOptionValue","map","_","value","SubCommandNotFound","TypeIdError","InteractionsErrorTypeId","currentSubCommand","command","RequiredOptionNotFound","data","_tag","constructor","modalValues","componentsMap","modalValueOption","componentValue","modalValue"],"sources":["../src/Interactions/context.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type * as Option from "effect/Option";
|
|
2
1
|
import type * as Effect from "effect/Effect";
|
|
3
|
-
import type { DiscordApplicationCommand, DiscordFocusedOption, DiscordInteraction, DiscordMessageComponent, DiscordModalSubmit
|
|
2
|
+
import type { DiscordApplicationCommand, DiscordFocusedOption, DiscordInteraction, DiscordMessageComponent, DiscordModalSubmit } from "dfx/Interactions/context";
|
|
4
3
|
import type * as Discord from "dfx/types";
|
|
5
|
-
import type { NoSuchElementException } from "effect/Cause";
|
|
6
4
|
import type { Scope } from "effect/Scope";
|
|
5
|
+
import type { CommandHelper } from "./commandHelper";
|
|
7
6
|
export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
|
|
8
7
|
export declare class GlobalApplicationCommand<R, E> {
|
|
9
8
|
readonly command: Discord.CreateGlobalApplicationCommandParams;
|
|
@@ -41,81 +40,5 @@ export declare class Autocomplete<R, E> {
|
|
|
41
40
|
}
|
|
42
41
|
export declare const autocomplete: <R, E>(pred: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>) => Autocomplete<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand | DiscordFocusedOption>, E>;
|
|
43
42
|
export type CommandHandler<R, E, A = any> = Effect.Effect<Discord.InteractionResponse, E, R> | CommandHandlerFn<R, E, A>;
|
|
44
|
-
export interface CommandHelper<A> {
|
|
45
|
-
resolve: <T>(name: AllResolvables<A>["name"], f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined) => Effect.Effect<T, NoSuchElementException, DiscordInteraction>;
|
|
46
|
-
option: (name: AllCommandOptions<A>["name"]) => Effect.Effect<Option.Option<Discord.ApplicationCommandInteractionDataOption>, never, DiscordApplicationCommand>;
|
|
47
|
-
optionValue: <N extends AllRequiredCommandOptions<A>["name"]>(name: N) => Effect.Effect<CommandValue<A, N>, never, DiscordApplicationCommand>;
|
|
48
|
-
optionValueOptional: <N extends AllCommandOptions<A>["name"]>(name: N) => Effect.Effect<Option.Option<CommandValue<A, N>>, never, DiscordApplicationCommand>;
|
|
49
|
-
subCommands: <NER extends SubCommandNames<A> extends never ? never : Record<SubCommandNames<A>, Effect.Effect<Discord.InteractionResponse, any, any>>>(commands: NER) => Effect.Effect<Discord.InteractionResponse, [
|
|
50
|
-
NER[keyof NER]
|
|
51
|
-
] extends [
|
|
52
|
-
{
|
|
53
|
-
[Effect.EffectTypeId]: {
|
|
54
|
-
_E: (_: never) => infer E;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
] ? E : never, Exclude<[
|
|
58
|
-
NER[keyof NER]
|
|
59
|
-
] extends [
|
|
60
|
-
{
|
|
61
|
-
[Effect.EffectTypeId]: {
|
|
62
|
-
_R: (_: never) => infer R;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
] ? R : never, SubCommandContext> | DiscordInteraction | DiscordApplicationCommand>;
|
|
66
|
-
}
|
|
67
43
|
export type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect.Effect<Discord.InteractionResponse, E, R>;
|
|
68
|
-
interface CommandOption {
|
|
69
|
-
readonly type: any;
|
|
70
|
-
readonly name: string;
|
|
71
|
-
readonly options?: ReadonlyArray<CommandOption>;
|
|
72
|
-
}
|
|
73
|
-
type SubCommands<A> = A extends {
|
|
74
|
-
readonly type: Discord.ApplicationCommandOptionType.SUB_COMMAND;
|
|
75
|
-
readonly options?: ReadonlyArray<CommandOption>;
|
|
76
|
-
} ? A : A extends {
|
|
77
|
-
readonly options: ReadonlyArray<CommandOption>;
|
|
78
|
-
} ? SubCommands<A["options"][number]> : never;
|
|
79
|
-
type SubCommandNames<A> = Option<SubCommands<A>>["name"];
|
|
80
|
-
type CommandOptionType = Exclude<Discord.ApplicationCommandOptionType, Discord.ApplicationCommandOptionType.SUB_COMMAND | Discord.ApplicationCommandOptionType.SUB_COMMAND_GROUP>;
|
|
81
|
-
type CommandOptions<A> = OptionsWithLiteral<A, {
|
|
82
|
-
readonly type: CommandOptionType;
|
|
83
|
-
}>;
|
|
84
|
-
type SubCommandOptions<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
85
|
-
readonly type: CommandOptionType;
|
|
86
|
-
}>;
|
|
87
|
-
type AllCommandOptions<A> = CommandOptions<A> | SubCommandOptions<A>;
|
|
88
|
-
type CommandWithName<A, N> = Extract<AllCommandOptions<A>, {
|
|
89
|
-
readonly name: N;
|
|
90
|
-
}>;
|
|
91
|
-
type OptionTypeValue = {
|
|
92
|
-
[Discord.ApplicationCommandOptionType.BOOLEAN]: boolean;
|
|
93
|
-
[Discord.ApplicationCommandOptionType.INTEGER]: number;
|
|
94
|
-
[Discord.ApplicationCommandOptionType.NUMBER]: number;
|
|
95
|
-
};
|
|
96
|
-
type CommandValue<A, N> = CommandWithName<A, N>["type"] extends keyof OptionTypeValue ? OptionTypeValue[CommandWithName<A, N>["type"]] : string;
|
|
97
|
-
type RequiredCommandOptions<A> = OptionsWithLiteral<A, {
|
|
98
|
-
readonly type: CommandOptionType;
|
|
99
|
-
readonly required: true;
|
|
100
|
-
}>;
|
|
101
|
-
type RequiredSubCommandOptions<A> = Extract<SubCommandOptions<A>, {
|
|
102
|
-
readonly required: true;
|
|
103
|
-
}>;
|
|
104
|
-
type AllRequiredCommandOptions<A> = RequiredCommandOptions<A> | RequiredSubCommandOptions<A>;
|
|
105
|
-
type ResolvableType = Discord.ApplicationCommandOptionType.ROLE | Discord.ApplicationCommandOptionType.USER | Discord.ApplicationCommandOptionType.MENTIONABLE | Discord.ApplicationCommandOptionType.CHANNEL;
|
|
106
|
-
type Resolvables<A> = OptionsWithLiteral<A, {
|
|
107
|
-
readonly type: ResolvableType;
|
|
108
|
-
}>;
|
|
109
|
-
type SubCommandResolvables<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
110
|
-
readonly type: ResolvableType;
|
|
111
|
-
}>;
|
|
112
|
-
type AllResolvables<A> = Resolvables<A> | SubCommandResolvables<A>;
|
|
113
|
-
type StringLiteral<T> = T extends string ? string extends T ? never : T : never;
|
|
114
|
-
type Option<A> = A extends {
|
|
115
|
-
readonly name: infer N;
|
|
116
|
-
} ? N extends StringLiteral<N> ? A : never : never;
|
|
117
|
-
type OptionsWithLiteral<A, T> = A extends {
|
|
118
|
-
readonly options: ReadonlyArray<CommandOption>;
|
|
119
|
-
} ? Extract<A["options"][number], Option<A["options"][number]> & T> : never;
|
|
120
|
-
export {};
|
|
121
44
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/Interactions/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/Interactions/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","names":["GlobalApplicationCommand","command","handle","_tag","constructor","exports","global","GuildApplicationCommand","guild","MessageComponent","predicate","messageComponent","pred","ModalSubmit","modalSubmit","Autocomplete","autocomplete"],"sources":["../src/Interactions/definitions.ts"],"sourcesContent":[null],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"definitions.js","names":["GlobalApplicationCommand","command","handle","_tag","constructor","exports","global","GuildApplicationCommand","guild","MessageComponent","predicate","messageComponent","pred","ModalSubmit","modalSubmit","Autocomplete","autocomplete"],"sources":["../src/Interactions/definitions.ts"],"sourcesContent":[null],"mappings":";;;;;;AAmBM,MAAOA,wBAAwB;EAGxBC,OAAA;EACAC,MAAA;EAHFC,IAAI,GAAG,0BAA0B;EAC1CC,YACWH,OAAqD,EACrDC,MAA4B;IAD5B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAEM,MAAMM,MAAM,GAAGA,CAKpBL,OAAU,EACVC,MAA+B,KAE/B,IAAIF,wBAAwB,CAG1BC,OAAc,EAAEC,MAAa,CAAC;AAAAG,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAE5B,MAAOC,uBAAuB;EAGvBN,OAAA;EACAC,MAAA;EAHFC,IAAI,GAAG,yBAAyB;EACzCC,YACWH,OAAoD,EACpDC,MAA4B;IAD5B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AAEM,MAAMC,KAAK,GAAGA,CAKnBP,OAAU,EACVC,MAA+B,KAE/B,IAAIK,uBAAuB,CAGzBN,OAAc,EAAEC,MAAa,CAAC;AAAAG,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAE5B,MAAOC,gBAAgB;EAGhBC,SAAA;EACAR,MAAA;EAHFC,IAAI,GAAG,kBAAkB;EAClCC,YACWM,SAAwC,EACxCR,MAAwD;IADxD,KAAAQ,SAAS,GAATA,SAAS;IACT,KAAAR,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAI,gBAAA,GAAAA,gBAAA;AAEM,MAAME,gBAAgB,GAAGA,CAC9BC,IAAmC,EACnCV,MAAyD,KAEzD,IAAIO,gBAAgB,CAGlBG,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AAElB,MAAOE,WAAW;EAGXH,SAAA;EACAR,MAAA;EAHFC,IAAI,GAAG,aAAa;EAC7BC,YACWM,SAAwC,EACxCR,MAAwD;IADxD,KAAAQ,SAAS,GAATA,SAAS;IACT,KAAAR,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAQ,WAAA,GAAAA,WAAA;AAEM,MAAMC,WAAW,GAAGA,CACzBF,IAAmC,EACnCV,MAAwD,KAExD,IAAIW,WAAW,CAGbD,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAS,WAAA,GAAAA,WAAA;AAElB,MAAOC,YAAY;EAGZL,SAAA;EAIAR,MAAA;EANFC,IAAI,GAAG,cAAc;EAC9BC,YACWM,SAGG,EACHR,MAAwD;IAJxD,KAAAQ,SAAS,GAATA,SAAS;IAIT,KAAAR,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAU,YAAA,GAAAA,YAAA;AAEM,MAAMC,YAAY,GAAGA,CAC1BJ,IAGY,EACZV,MAAwD,KAExD,IAAIa,YAAY,CASdH,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAW,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/Interactions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/Interactions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,CAAC,MAAM,8BAA8B,CAAA;AACtD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAIzC,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IACzC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GACzC;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,GAC9B,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACnD,CAAC,CAAC,CAAC,CAAC;CACT,GACD,KAAK,CAAA;AAEX,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAC3D,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAChC;IAAE,IAAI,EAAE,0BAA0B,GAAG,yBAAyB,CAAA;CAAE,CACjE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAClC,KAAK,CAAC,KAAK,CACtB,SAAS,CACP,OAAO,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACrE,CACF,kBACe,CACd,EAAE,EAAE,OAAO,CAAC,WAAW,EACvB,CAAC,EAAE,OAAO,CAAC,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAKjB,OAAO,CAAC,WAAW;;aAlB0B,QACzD,oCAEgC;;gBAepB,OAAO,CAAC,WAAW;;aAAb,QAAS,mCAE1B;;gBAFW,OAAO,CAAC,WAAW;;;;gBAAnB,OAAO,CAAC,WAAW;;;;gBAAnB,OAAO,CAAC,WAAW;;sBAoD3B,QACF,uBAID,iBAAsB,QAAS,uCAAuC;IAnClE,CAAA;AAEL,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,eAC7B,aAAa,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;;;0BA3CL,QACzD,oCAEgC;6BAVhB,OAAO,CAAC,WAAW;;;;0BAyBjB,QAAS,mCAE1B;6BA3Be,OAAO,CAAC,WAAW;;;;;6BAAnB,OAAO,CAAC,WAAW;;;;;6BAAnB,OAAO,CAAC,WAAW;;;;mCA6E/B,QACF,uBAID,iBAAsB,QAAS,uCAAuC;6BAlFvD,OAAO,CAAC,WAAW;;;uBAkEV,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;CAe/E,CAAA"}
|