dfx 0.110.2 → 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/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 -88
- package/Interactions/definitions.d.ts.map +1 -1
- package/Interactions/definitions.js.map +1 -1
- package/Interactions/utils.d.ts +1 -1
- package/Interactions/utils.d.ts.map +1 -1
- package/Interactions/utils.js +2 -14
- package/Interactions/utils.js.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 -14
- package/mjs/Interactions/utils.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +2 -2
- package/src/Interactions/commandHelper.ts +236 -0
- package/src/Interactions/context.ts +3 -72
- package/src/Interactions/definitions.ts +1 -185
- package/src/Interactions/utils.ts +3 -18
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -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,90 +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
|
-
readonly target: CommandTypeMap<A, {
|
|
46
|
-
[Discord.ApplicationCommandType.CHAT_INPUT]: Discord.ApplicationCommand;
|
|
47
|
-
[Discord.ApplicationCommandType.MESSAGE]: Discord.Message;
|
|
48
|
-
[Discord.ApplicationCommandType.USER]: Discord.User;
|
|
49
|
-
[Discord.ApplicationCommandType.PRIMARY_ENTRY_POINT]: undefined;
|
|
50
|
-
}>;
|
|
51
|
-
resolve: <T>(name: AllResolvables<A>["name"], f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined) => Effect.Effect<T, NoSuchElementException, DiscordInteraction>;
|
|
52
|
-
option: (name: AllCommandOptions<A>["name"]) => Effect.Effect<Option.Option<Discord.ApplicationCommandInteractionDataOption>, never, DiscordApplicationCommand>;
|
|
53
|
-
optionValue: <N extends AllRequiredCommandOptions<A>["name"]>(name: N) => Effect.Effect<CommandValue<A, N>, never, DiscordApplicationCommand>;
|
|
54
|
-
optionValueOptional: <N extends AllCommandOptions<A>["name"]>(name: N) => Effect.Effect<Option.Option<CommandValue<A, N>>, never, DiscordApplicationCommand>;
|
|
55
|
-
subCommands: <NER extends SubCommandNames<A> extends never ? never : Record<SubCommandNames<A>, Effect.Effect<Discord.InteractionResponse, any, any>>>(commands: NER) => Effect.Effect<Discord.InteractionResponse, [
|
|
56
|
-
NER[keyof NER]
|
|
57
|
-
] extends [
|
|
58
|
-
{
|
|
59
|
-
[Effect.EffectTypeId]: {
|
|
60
|
-
_E: (_: never) => infer E;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
] ? E : never, Exclude<[
|
|
64
|
-
NER[keyof NER]
|
|
65
|
-
] extends [
|
|
66
|
-
{
|
|
67
|
-
[Effect.EffectTypeId]: {
|
|
68
|
-
_R: (_: never) => infer R;
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
] ? R : never, SubCommandContext> | DiscordInteraction | DiscordApplicationCommand>;
|
|
72
|
-
}
|
|
73
43
|
export type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect.Effect<Discord.InteractionResponse, E, R>;
|
|
74
|
-
interface CommandOption {
|
|
75
|
-
readonly type: any;
|
|
76
|
-
readonly name: string;
|
|
77
|
-
readonly options?: ReadonlyArray<CommandOption>;
|
|
78
|
-
}
|
|
79
|
-
type SubCommands<A> = A extends {
|
|
80
|
-
readonly type: Discord.ApplicationCommandOptionType.SUB_COMMAND;
|
|
81
|
-
readonly options?: ReadonlyArray<CommandOption>;
|
|
82
|
-
} ? A : A extends {
|
|
83
|
-
readonly options: ReadonlyArray<CommandOption>;
|
|
84
|
-
} ? SubCommands<A["options"][number]> : never;
|
|
85
|
-
type SubCommandNames<A> = Option<SubCommands<A>>["name"];
|
|
86
|
-
type CommandOptionType = Exclude<Discord.ApplicationCommandOptionType, Discord.ApplicationCommandOptionType.SUB_COMMAND | Discord.ApplicationCommandOptionType.SUB_COMMAND_GROUP>;
|
|
87
|
-
type CommandOptions<A> = OptionsWithLiteral<A, {
|
|
88
|
-
readonly type: CommandOptionType;
|
|
89
|
-
}>;
|
|
90
|
-
type SubCommandOptions<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
91
|
-
readonly type: CommandOptionType;
|
|
92
|
-
}>;
|
|
93
|
-
type AllCommandOptions<A> = CommandOptions<A> | SubCommandOptions<A>;
|
|
94
|
-
type CommandWithName<A, N> = Extract<AllCommandOptions<A>, {
|
|
95
|
-
readonly name: N;
|
|
96
|
-
}>;
|
|
97
|
-
type OptionTypeValue = {
|
|
98
|
-
[Discord.ApplicationCommandOptionType.BOOLEAN]: boolean;
|
|
99
|
-
[Discord.ApplicationCommandOptionType.INTEGER]: number;
|
|
100
|
-
[Discord.ApplicationCommandOptionType.NUMBER]: number;
|
|
101
|
-
};
|
|
102
|
-
type CommandValue<A, N> = CommandWithName<A, N>["type"] extends keyof OptionTypeValue ? OptionTypeValue[CommandWithName<A, N>["type"]] : string;
|
|
103
|
-
type CommandTypeMap<A, Options extends Record<Discord.ApplicationCommandType, any>> = A extends {
|
|
104
|
-
readonly type: infer T;
|
|
105
|
-
} ? T extends keyof Options ? Options[T] : never : Options[Discord.ApplicationCommandType.CHAT_INPUT];
|
|
106
|
-
type RequiredCommandOptions<A> = OptionsWithLiteral<A, {
|
|
107
|
-
readonly type: CommandOptionType;
|
|
108
|
-
readonly required: true;
|
|
109
|
-
}>;
|
|
110
|
-
type RequiredSubCommandOptions<A> = Extract<SubCommandOptions<A>, {
|
|
111
|
-
readonly required: true;
|
|
112
|
-
}>;
|
|
113
|
-
type AllRequiredCommandOptions<A> = RequiredCommandOptions<A> | RequiredSubCommandOptions<A>;
|
|
114
|
-
type ResolvableType = Discord.ApplicationCommandOptionType.ROLE | Discord.ApplicationCommandOptionType.USER | Discord.ApplicationCommandOptionType.MENTIONABLE | Discord.ApplicationCommandOptionType.CHANNEL;
|
|
115
|
-
type Resolvables<A> = OptionsWithLiteral<A, {
|
|
116
|
-
readonly type: ResolvableType;
|
|
117
|
-
}>;
|
|
118
|
-
type SubCommandResolvables<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
119
|
-
readonly type: ResolvableType;
|
|
120
|
-
}>;
|
|
121
|
-
type AllResolvables<A> = Resolvables<A> | SubCommandResolvables<A>;
|
|
122
|
-
type StringLiteral<T> = T extends string ? string extends T ? never : T : never;
|
|
123
|
-
type Option<A> = A extends {
|
|
124
|
-
readonly name: infer N;
|
|
125
|
-
} ? N extends StringLiteral<N> ? A : never : never;
|
|
126
|
-
type OptionsWithLiteral<A, T> = A extends {
|
|
127
|
-
readonly options: ReadonlyArray<CommandOption>;
|
|
128
|
-
} ? Extract<A["options"][number], Option<A["options"][number]> & T> : never;
|
|
129
|
-
export {};
|
|
130
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":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAClC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtB,qBAAa,wBAAwB,CAAC,CAAC,EAAE,CAAC;IAGtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oCAAoC;IAC9D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAHvC,QAAQ,CAAC,IAAI,8BAA6B;gBAE/B,OAAO,EAAE,OAAO,CAAC,oCAAoC,EACrD,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAExC;AAED,eAAO,MAAM,MAAM,GACjB,CAAC,EACD,CAAC,QACK,CAAC,SAAS,OAAO,CAAC,oCAAoC,WAEnD,CAAC,UACF,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oGAKC,CAAA;AAElC,qBAAa,uBAAuB,CAAC,CAAC,EAAE,CAAC;IAGrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,mCAAmC;IAC7D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAHvC,QAAQ,CAAC,IAAI,6BAA4B;gBAE9B,OAAO,EAAE,OAAO,CAAC,mCAAmC,EACpD,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAExC;AAED,eAAO,MAAM,KAAK,GAChB,CAAC,EACD,CAAC,QACK,CAAC,SAAS,OAAO,CAAC,mCAAmC,WAElD,CAAC,UACF,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,mGAKC,CAAA;AAElC,qBAAa,gBAAgB,CAAC,CAAC,EAAE,CAAC;IAG9B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IAHnE,QAAQ,CAAC,IAAI,sBAAqB;gBAEvB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACxC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;CAEpE;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,QAC7B,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,UAC3B,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,0FAKnC,CAAA;AAExB,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC;IAGzB,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IAHnE,QAAQ,CAAC,IAAI,iBAAgB;gBAElB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACxC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;CAEpE;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,QACxB,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,UAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,gFAKlC,CAAA;AAExB,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC;IAG1B,QAAQ,CAAC,SAAS,EAAE,CAClB,IAAI,EAAE,OAAO,CAAC,uBAAuB,EACrC,aAAa,EAAE,OAAO,CAAC,uCAAuC,KAC3D,OAAO;IACZ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IANnE,QAAQ,CAAC,IAAI,kBAAiB;gBAEnB,SAAS,EAAE,CAClB,IAAI,EAAE,OAAO,CAAC,uBAAuB,EACrC,aAAa,EAAE,OAAO,CAAC,uCAAuC,KAC3D,OAAO,EACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;CAEpE;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,QACzB,CACJ,IAAI,EAAE,OAAO,CAAC,uBAAuB,EACrC,aAAa,EAAE,OAAO,CAAC,uCAAuC,KAC3D,OAAO,UACJ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,+GAWlC,CAAA;AAGxB,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,IACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,GAChD,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAE7B,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CACtC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,KAChB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
|
@@ -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":[]}
|
package/Interactions/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Chunk from "effect/Chunk";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import type * as D from "dfx/Interactions/definitions";
|
|
4
|
-
import * as Discord from "dfx/types";
|
|
4
|
+
import type * as Discord from "dfx/types";
|
|
5
5
|
export type DefinitionFlattened<R, E, TE, A> = D.InteractionDefinition<R, E> extends infer D ? {
|
|
6
6
|
[K in keyof D]: K extends "handle" ? (_: Discord.Interaction) => Effect.Effect<A, TE, R> : D[K];
|
|
7
7
|
} : never;
|
|
@@ -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"}
|
package/Interactions/utils.js
CHANGED
|
@@ -6,25 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.splitDefinitions = exports.flattenDefinitions = void 0;
|
|
7
7
|
var Chunk = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Chunk"));
|
|
8
8
|
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
9
|
-
var Ctx = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/Interactions/context"));
|
|
10
|
-
var Discord = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/types"));
|
|
11
9
|
var Array = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
|
|
12
|
-
var
|
|
10
|
+
var _commandHelper = /*#__PURE__*/require("./commandHelper");
|
|
13
11
|
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); }
|
|
14
12
|
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; }
|
|
15
|
-
const context = {
|
|
16
|
-
resolve: Ctx.resolved,
|
|
17
|
-
option: Ctx.option,
|
|
18
|
-
optionValue: Ctx.optionValue,
|
|
19
|
-
optionValueOptional: Ctx.optionValueOptional,
|
|
20
|
-
subCommands: Ctx.handleSubCommands
|
|
21
|
-
};
|
|
22
13
|
const flattenDefinitions = (definitions, handleResponse) => Array.map(Chunk.toReadonlyArray(definitions), ([definition, transform]) => ({
|
|
23
14
|
...definition,
|
|
24
|
-
handle: Effect.isEffect(definition.handle) ? i => Effect.scoped(transform(Effect.flatMap(definition.handle, _ => handleResponse(i, _)))) : i => Effect.scoped(transform(Effect.flatMap(definition.handle(
|
|
25
|
-
...context,
|
|
26
|
-
target: i.type === Discord.InteractionType.APPLICATION_COMMAND ? Helpers.target(i.data) : undefined
|
|
27
|
-
}), _ => handleResponse(i, _))))
|
|
15
|
+
handle: Effect.isEffect(definition.handle) ? i => Effect.scoped(transform(Effect.flatMap(definition.handle, _ => handleResponse(i, _)))) : i => Effect.scoped(transform(Effect.flatMap(definition.handle(new _commandHelper.CommandHelper(i)), _ => handleResponse(i, _))))
|
|
28
16
|
}));
|
|
29
17
|
exports.flattenDefinitions = flattenDefinitions;
|
|
30
18
|
const splitDefinitions = definitions => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["Chunk","_interopRequireWildcard","require","Effect","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["Chunk","_interopRequireWildcard","require","Effect","Array","_commandHelper","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","flattenDefinitions","definitions","handleResponse","map","toReadonlyArray","definition","transform","handle","isEffect","scoped","flatMap","_","CommandHelper","exports","splitDefinitions","grouped","reduce","Autocomplete","GlobalApplicationCommand","GuildApplicationCommand","MessageComponent","ModalSubmit","Commands","acc","d","_tag","push","command","name"],"sources":["../src/Interactions/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as Option from "effect/Option";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { SubCommandContext, SubCommandNotFound } from "dfx/Interactions/context";
|
|
4
|
+
import * as Helpers from "dfx/Helpers/interactions";
|
|
5
|
+
import * as Arr from "effect/Array";
|
|
6
|
+
export class CommandHelper {
|
|
7
|
+
interaction;
|
|
8
|
+
constructor(interaction) {
|
|
9
|
+
this.interaction = interaction;
|
|
10
|
+
this.target = Helpers.target(interaction.data);
|
|
11
|
+
this.data = interaction.data;
|
|
12
|
+
}
|
|
13
|
+
data;
|
|
14
|
+
target;
|
|
15
|
+
resolve(name, f) {
|
|
16
|
+
return Helpers.resolveOptionValue(name, f)(this.interaction);
|
|
17
|
+
}
|
|
18
|
+
resolvedValues(f) {
|
|
19
|
+
return Helpers.resolveValues(f)(this.interaction);
|
|
20
|
+
}
|
|
21
|
+
option(name) {
|
|
22
|
+
return Helpers.getOption(name)(this.data);
|
|
23
|
+
}
|
|
24
|
+
optionValue(name) {
|
|
25
|
+
return Option.getOrThrow(this.optionValueOptional(name));
|
|
26
|
+
}
|
|
27
|
+
optionValueOptional(name) {
|
|
28
|
+
return Option.map(this.option(name), _ => _.value);
|
|
29
|
+
}
|
|
30
|
+
optionValueOrElse(name, orElse) {
|
|
31
|
+
return Option.getOrElse(this.option(name), orElse);
|
|
32
|
+
}
|
|
33
|
+
subCommands(commands) {
|
|
34
|
+
const commands_ = commands;
|
|
35
|
+
return Effect.mapError(Arr.findFirst(Helpers.allSubCommands(this.data), _ => !!commands_[_.name]), () => new SubCommandNotFound({
|
|
36
|
+
data: this.data
|
|
37
|
+
})).pipe(Effect.flatMap(command => Effect.provideService(commands_[command.name], SubCommandContext, {
|
|
38
|
+
command
|
|
39
|
+
})));
|
|
40
|
+
}
|
|
41
|
+
get optionsMap() {
|
|
42
|
+
return Helpers.optionsMap(this.data);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=commandHelper.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandHelper.mjs","names":["Option","Effect","SubCommandContext","SubCommandNotFound","Helpers","Arr","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","pipe","flatMap","command","provideService","optionsMap"],"sources":["../../src/Interactions/commandHelper.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SACEC,iBAAiB,EACjBC,kBAAkB,QAGb,0BAA0B;AAEjC,OAAO,KAAKC,OAAO,MAAM,0BAA0B;AACnD,OAAO,KAAKC,GAAG,MAAM,cAAc;AAGnC,OAAM,MAAOC,aAAa;EACHC,WAAA;EAArBC,YAAqBD,WAAgC;IAAhC,KAAAA,WAAW,GAAXA,WAAW;IAC9B,IAAI,CAACE,MAAM,GAAGL,OAAO,CAACK,MAAM,CAACF,WAAW,CAACG,IAAW,CAAQ;IAC5D,IAAI,CAACA,IAAI,GAAGH,WAAW,CAACG,IAAW;EACrC;EACSA,IAAI;EACJD,MAAM;EAWfE,OAAOA,CACLC,IAA+B,EAC/BC,CAAwE;IAExE,OAAOT,OAAO,CAACU,kBAAkB,CAACF,IAAI,EAAEC,CAAC,CAAC,CAAC,IAAI,CAACN,WAAW,CAAC;EAC9D;EAEAQ,cAAcA,CACZF,CAAwE;IAExE,OAAOT,OAAO,CAACY,aAAa,CAACH,CAAC,CAAC,CAAC,IAAI,CAACN,WAAW,CAAC;EACnD;EAEAU,MAAMA,CACJL,IAAkC;IAElC,OAAOR,OAAO,CAACc,SAAS,CAACN,IAAI,CAAC,CAAC,IAAI,CAACF,IAAI,CAAC;EAC3C;EAEAS,WAAWA,CACTP,IAAO;IAEP,OAAOZ,MAAM,CAACoB,UAAU,CAAC,IAAI,CAACC,mBAAmB,CAACT,IAAI,CAAC,CAAC;EAC1D;EAEAS,mBAAmBA,CACjBT,IAAO;IAEP,OAAOZ,MAAM,CAACsB,GAAG,CAAC,IAAI,CAACL,MAAM,CAACL,IAAI,CAAC,EAAEW,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAQ;EAC3D;EAEAC,iBAAiBA,CACfb,IAAO,EACPc,MAAoB;IAEpB,OAAO1B,MAAM,CAAC2B,SAAS,CAAC,IAAI,CAACV,MAAM,CAACL,IAAI,CAAC,EAAEc,MAAM,CAAQ;EAC3D;EAEAE,WAAWA,CAQTC,QAAa;IAmBb,MAAMC,SAAS,GAAGD,QAA+B;IACjD,OAAO5B,MAAM,CAAC8B,QAAQ,CACpB1B,GAAG,CAAC2B,SAAS,CACX5B,OAAO,CAAC6B,cAAc,CAAC,IAAI,CAACvB,IAAI,CAAC,EACjCa,CAAC,IAAI,CAAC,CAACO,SAAS,CAACP,CAAC,CAACX,IAAI,CAAC,CACzB,EACD,MAAM,IAAIT,kBAAkB,CAAC;MAAEO,IAAI,EAAE,IAAI,CAACA;IAAI,CAAE,CAAC,CAClD,CAACwB,IAAI,CACJjC,MAAM,CAACkC,OAAO,CAACC,OAAO,IACpBnC,MAAM,CAACoC,cAAc,CAACP,SAAS,CAACM,OAAO,CAACxB,IAAI,CAAC,EAAEV,iBAAiB,EAAE;MAChEkC;KACD,CAAC,CACH,CACK;EACV;EAEA,IAAIE,UAAUA,CAAA;IACZ,OAAOlC,OAAO,CAACkC,UAAU,CAAC,IAAI,CAAC5B,IAAI,CAAC;EACtC","ignoreList":[]}
|