dfx 0.15.0 → 0.15.2
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/Helpers/interactions.js +1 -1
- package/Helpers/interactions.js.map +1 -1
- package/Interactions/context.d.ts +4 -2
- package/Interactions/context.js +4 -2
- package/Interactions/context.js.map +1 -1
- package/Interactions/definitions.d.ts +52 -10
- package/Interactions/definitions.js +2 -0
- package/Interactions/definitions.js.map +1 -1
- package/Interactions/handlers.js +13 -1
- package/Interactions/handlers.js.map +1 -1
- package/package.json +3 -2
package/Helpers/interactions.js
CHANGED
|
@@ -60,7 +60,7 @@ export const resolveOptionValue = (name, f) => (a) => tsplus_module_3.flatMap(da
|
|
|
60
60
|
/**
|
|
61
61
|
* Try find matching option values from the interaction.
|
|
62
62
|
*/
|
|
63
|
-
export const resolveValues = (f) => (a) => tsplus_module_3.flatMap(values => tsplus_module_3.flatMap(r => tsplus_module_3.productAll(values.map((a) => tsplus_module_3.fromNullable(f(a
|
|
63
|
+
export const resolveValues = (f) => (a) => tsplus_module_3.flatMap(values => tsplus_module_3.flatMap(r => tsplus_module_3.productAll(values.map((a) => tsplus_module_3.fromNullable(f(a, r)))))(resolved(a)))(tsplus_module_3.flatMapNullable((a) => a.values)(tsplus_module_3.fromNullable(a.data)));
|
|
64
64
|
const extractComponents = (c) => {
|
|
65
65
|
if ("components" in c) {
|
|
66
66
|
return [...c.components, ...c.components.flatMap(extractComponents)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/Helpers/interactions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/Helpers/interactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,8 +45,10 @@ export declare class RequiredOptionNotFound {
|
|
|
45
45
|
constructor(data: Discord.ApplicationCommandDatum | Discord.ApplicationCommandInteractionDataOption, name: string);
|
|
46
46
|
}
|
|
47
47
|
export declare const findOption: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, never, import("../global.js").Maybe<import("../types.js").ApplicationCommandInteractionDataOption>>;
|
|
48
|
-
export declare const
|
|
48
|
+
export declare const optionValue: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, RequiredOptionNotFound, string>;
|
|
49
|
+
export declare const optionValueOptional: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, never, import("../global.js").Maybe<string>>;
|
|
49
50
|
export declare const subCommandOptionsMap: Effect<SubCommandContext, never, Record<string, string | undefined>>;
|
|
50
51
|
export declare const findSubCommandOption: (name: string) => Effect<SubCommandContext, never, import("../global.js").Maybe<import("../types.js").ApplicationCommandInteractionDataOption>>;
|
|
51
|
-
export declare const
|
|
52
|
+
export declare const subCommandOptionValue: (name: string) => Effect<SubCommandContext, RequiredOptionNotFound, string>;
|
|
53
|
+
export declare const subCommandOptionValueOptional: (name: string) => Effect<SubCommandContext, RequiredOptionNotFound, string>;
|
|
52
54
|
export declare const modalValues: Effect<import("../types.js").ModalSubmitDatum, never, Record<string, string | undefined>>;
|
package/Interactions/context.js
CHANGED
|
@@ -44,9 +44,11 @@ export class RequiredOptionNotFound {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
export const findOption = (name) => tsplus_module_2.serviceWith(ApplicationCommandContext)(IxHelpers.getOption(name));
|
|
47
|
-
export const
|
|
47
|
+
export const optionValue = (name) => tsplus_module_2.flatMap((o) => tsplus_module_3.match(() => tsplus_module_2.flatMap((data) => tsplus_module_2.fail(new RequiredOptionNotFound(data, name)))(getCommand), tsplus_module_2.succeed)(tsplus_module_3.flatMapNullable((a) => a.value)(o)))(findOption(name));
|
|
48
|
+
export const optionValueOptional = (name) => tsplus_module_2.map((o) => tsplus_module_3.flatMapNullable((a) => a.value)(o))(findOption(name));
|
|
48
49
|
export const subCommandOptionsMap = tsplus_module_2.map(IxHelpers.optionsMap)(getSubCommand);
|
|
49
50
|
export const findSubCommandOption = (name) => tsplus_module_2.serviceWith(SubCommandContext)(({ command }) => IxHelpers.getOption(name)(command));
|
|
50
|
-
export const
|
|
51
|
+
export const subCommandOptionValue = (name) => tsplus_module_2.flatMap((o) => tsplus_module_3.match(() => tsplus_module_2.flatMap((data) => tsplus_module_2.fail(new RequiredOptionNotFound(data, name)))(getSubCommand), tsplus_module_2.succeed)(tsplus_module_3.flatMapNullable((a) => a.value)(o)))(findSubCommandOption(name));
|
|
52
|
+
export const subCommandOptionValueOptional = (name) => tsplus_module_2.flatMap((o) => tsplus_module_3.match(() => tsplus_module_2.flatMap((data) => tsplus_module_2.fail(new RequiredOptionNotFound(data, name)))(getSubCommand), tsplus_module_2.succeed)(tsplus_module_3.flatMapNullable((a) => a.value)(o)))(findSubCommandOption(name));
|
|
51
53
|
export const modalValues = tsplus_module_2.serviceWith(ModalSubmitContext)(IxHelpers.componentsMap);
|
|
52
54
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Discord } from "dfx";
|
|
2
|
-
import {
|
|
2
|
+
import { Maybe } from "@fp-ts/data/Option";
|
|
3
|
+
import { Effect, EffectTypeId } from "@effect/io/Effect";
|
|
4
|
+
import { RequiredOptionNotFound, ResolvedDataNotFound, SubCommandContext, SubCommandNotFound } from "./context.js";
|
|
5
|
+
import type { F } from "ts-toolbelt";
|
|
3
6
|
type DescriptionMissing<A> = A extends {
|
|
4
7
|
type: Exclude<Discord.ApplicationCommandType, 1>;
|
|
5
8
|
} ? false : A extends {
|
|
@@ -8,37 +11,76 @@ type DescriptionMissing<A> = A extends {
|
|
|
8
11
|
export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
|
|
9
12
|
export declare class GlobalApplicationCommand<R, E> {
|
|
10
13
|
readonly command: Discord.CreateGlobalApplicationCommandParams;
|
|
11
|
-
readonly handle:
|
|
14
|
+
readonly handle: CommandHandler<R, E>;
|
|
12
15
|
readonly _tag = "GlobalApplicationCommand";
|
|
13
|
-
constructor(command: Discord.CreateGlobalApplicationCommandParams, handle:
|
|
16
|
+
constructor(command: Discord.CreateGlobalApplicationCommandParams, handle: CommandHandler<R, E>);
|
|
14
17
|
}
|
|
15
|
-
export declare const global: <R, E, A extends import("../types.js").CreateGlobalApplicationCommandParams>(command: A
|
|
18
|
+
export declare const global: <R, E, A extends import("../types.js").CreateGlobalApplicationCommandParams>(command: F.Narrow<A>, handle: DescriptionMissing<A> extends true ? "command description is missing" : CommandHandler<R, E, A>) => GlobalApplicationCommand<Exclude<R, import("../types.js").Interaction | import("../types.js").ApplicationCommandDatum>, E>;
|
|
16
19
|
export declare class GuildApplicationCommand<R, E> {
|
|
17
20
|
readonly command: Discord.CreateGuildApplicationCommandParams;
|
|
18
|
-
readonly handle:
|
|
21
|
+
readonly handle: CommandHandler<R, E>;
|
|
19
22
|
readonly _tag = "GuildApplicationCommand";
|
|
20
|
-
constructor(command: Discord.CreateGuildApplicationCommandParams, handle:
|
|
23
|
+
constructor(command: Discord.CreateGuildApplicationCommandParams, handle: CommandHandler<R, E>);
|
|
21
24
|
}
|
|
22
|
-
export declare const guild: <R, E, A extends import("../types.js").CreateGuildApplicationCommandParams>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" :
|
|
25
|
+
export declare const guild: <R, E, A extends import("../types.js").CreateGuildApplicationCommandParams>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : CommandHandler<R, E, A>) => GuildApplicationCommand<Exclude<R, import("../types.js").Interaction | import("../types.js").ApplicationCommandDatum>, E>;
|
|
23
26
|
export declare class MessageComponent<R, E> {
|
|
24
27
|
readonly predicate: (customId: string) => Effect<R, E, boolean>;
|
|
25
28
|
readonly handle: Effect<R, E, Discord.InteractionResponse>;
|
|
26
29
|
readonly _tag = "MessageComponent";
|
|
27
30
|
constructor(predicate: (customId: string) => Effect<R, E, boolean>, handle: Effect<R, E, Discord.InteractionResponse>);
|
|
28
31
|
}
|
|
29
|
-
export declare const messageComponent: <R1, R2, E1, E2>(pred: (customId: string) =>
|
|
32
|
+
export declare const messageComponent: <R1, R2, E1, E2>(pred: (customId: string) => Effect<R1, E1, boolean>, handle: CommandHandler<R2, E2, import("../types.js").InteractionResponse>) => MessageComponent<Exclude<R1, import("../types.js").Interaction | import("../types.js").MessageComponentDatum> | Exclude<R2, import("../types.js").Interaction | import("../types.js").MessageComponentDatum>, E1 | E2>;
|
|
30
33
|
export declare class ModalSubmit<R, E> {
|
|
31
34
|
readonly predicate: (customId: string) => Effect<R, E, boolean>;
|
|
32
35
|
readonly handle: Effect<R, E, Discord.InteractionResponse>;
|
|
33
36
|
readonly _tag = "ModalSubmit";
|
|
34
37
|
constructor(predicate: (customId: string) => Effect<R, E, boolean>, handle: Effect<R, E, Discord.InteractionResponse>);
|
|
35
38
|
}
|
|
36
|
-
export declare const modalSubmit: <R1, R2, E1, E2>(pred: (customId: string) =>
|
|
39
|
+
export declare const modalSubmit: <R1, R2, E1, E2>(pred: (customId: string) => Effect<R1, E1, boolean>, handle: Effect<R2, E2, import("../types.js").InteractionResponse>) => ModalSubmit<Exclude<R1, import("../types.js").Interaction | import("../types.js").ModalSubmitDatum> | Exclude<R2, import("../types.js").Interaction | import("../types.js").ModalSubmitDatum>, E1 | E2>;
|
|
37
40
|
export declare class Autocomplete<R, E> {
|
|
38
41
|
readonly predicate: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R, E, boolean>;
|
|
39
42
|
readonly handle: Effect<R, E, Discord.InteractionResponse>;
|
|
40
43
|
readonly _tag = "Autocomplete";
|
|
41
44
|
constructor(predicate: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R, E, boolean>, handle: Effect<R, E, Discord.InteractionResponse>);
|
|
42
45
|
}
|
|
43
|
-
export declare const autocomplete: <R1, R2, E1, E2>(pred: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) =>
|
|
46
|
+
export declare const autocomplete: <R1, R2, E1, E2>(pred: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R1, E1, boolean>, handle: Effect<R2, E2, import("../types.js").InteractionResponse>) => Autocomplete<Exclude<R1, import("../types.js").Interaction | import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption> | Exclude<R2, import("../types.js").Interaction | import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption>, E1 | E2>;
|
|
47
|
+
type CommandHandler<R, E, A = any> = Effect<R, E, Discord.InteractionResponse> | CommandHandlerFn<R, E, A>;
|
|
48
|
+
export interface CommandHelper<A> {
|
|
49
|
+
resolve: <T>(name: Resolvables<A>["name"], f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined) => Effect<Discord.Interaction, ResolvedDataNotFound, T>;
|
|
50
|
+
option: (name: CommandOptions<A>["name"]) => Effect<Discord.ApplicationCommandDatum, never, Maybe<Discord.ApplicationCommandInteractionDataOption>>;
|
|
51
|
+
optionValue: (name: CommandOptions<A>["name"]) => Effect<Discord.ApplicationCommandDatum, RequiredOptionNotFound, string>;
|
|
52
|
+
optionValueOptional: (name: CommandOptions<A>["name"]) => Effect<Discord.ApplicationCommandDatum, never, Maybe<string>>;
|
|
53
|
+
subCommandOption: (name: SubCommandOptions<A>["name"]) => Effect<SubCommandContext, never, Maybe<Discord.ApplicationCommandInteractionDataOption>>;
|
|
54
|
+
subCommandOptionValue: (name: SubCommandOptions<A>["name"]) => Effect<SubCommandContext, RequiredOptionNotFound, string>;
|
|
55
|
+
subCommandOptionValueOptional: (name: SubCommandOptions<A>["name"]) => Effect<SubCommandContext, never, Maybe<string>>;
|
|
56
|
+
subCommands: <NER extends Record<SubCommands<A>["name"], Effect<any, any, Discord.InteractionResponse>>>(commands: NER) => Effect<Exclude<[
|
|
57
|
+
NER[keyof NER]
|
|
58
|
+
] extends [
|
|
59
|
+
{
|
|
60
|
+
[EffectTypeId]: {
|
|
61
|
+
_R: (_: never) => infer R;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
] ? R : never, SubCommandContext> | Discord.Interaction | Discord.ApplicationCommandDatum, ([NER[keyof NER]] extends [
|
|
65
|
+
{
|
|
66
|
+
[EffectTypeId]: {
|
|
67
|
+
_E: (_: never) => infer E;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
] ? E : never) | SubCommandNotFound, Discord.InteractionResponse>;
|
|
71
|
+
}
|
|
72
|
+
type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect<R, E, Discord.InteractionResponse>;
|
|
73
|
+
type ExtractOptions<A, T> = A extends {
|
|
74
|
+
name: string;
|
|
75
|
+
type: T;
|
|
76
|
+
options?: Discord.ApplicationCommandOption[];
|
|
77
|
+
} ? A | (A extends {
|
|
78
|
+
options: Discord.ApplicationCommandOption[];
|
|
79
|
+
} ? ExtractOptions<A["options"][number], T> : never) : A extends {
|
|
80
|
+
options: Discord.ApplicationCommandOption[];
|
|
81
|
+
} ? ExtractOptions<A["options"][number], T> : never;
|
|
82
|
+
type CommandOptions<A> = ExtractOptions<A, Exclude<Discord.ApplicationCommandOptionType, Discord.ApplicationCommandOptionType.SUB_COMMAND | Discord.ApplicationCommandOptionType.SUB_COMMAND_GROUP>>;
|
|
83
|
+
type SubCommands<A> = ExtractOptions<A, Discord.ApplicationCommandOptionType.SUB_COMMAND>;
|
|
84
|
+
type SubCommandOptions<A> = Exclude<SubCommands<A>["options"], undefined>[number];
|
|
85
|
+
type Resolvables<A> = ExtractOptions<A, Discord.ApplicationCommandOptionType.ROLE | Discord.ApplicationCommandOptionType.USER | Discord.ApplicationCommandOptionType.MENTIONABLE | Discord.ApplicationCommandOptionType.CHANNEL>;
|
|
44
86
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":";AAAA,OAAO,EAAU,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAwBxD,MAAM,OAAO,wBAAwB;IAGxB;IACA;IAHF,IAAI,GAAG,0BAA0B,CAAA;IAC1C,YACW,OAAqD,EACrD,MAA4B;QAD5B,YAAO,GAAP,OAAO,CAA8C;QACrD,WAAM,GAAN,MAAM,CAAsB;IACpC,CAAC;CACL;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAKpB,OAAoB,EACpB,MAE2B,EAC3B,EAAE,CACF,IAAI,wBAAwB,CAG1B,OAAc,EAAE,MAAa,CAAC,CAAA;AAElC,MAAM,OAAO,uBAAuB;IAGvB;IACA;IAHF,IAAI,GAAG,yBAAyB,CAAA;IACzC,YACW,OAAoD,EACpD,MAA4B;QAD5B,YAAO,GAAP,OAAO,CAA6C;QACpD,WAAM,GAAN,MAAM,CAAsB;IACpC,CAAC;CACL;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAKnB,OAAU,EACV,MAE2B,EAC3B,EAAE,CACF,IAAI,uBAAuB,CAGzB,OAAO,EAAE,MAAa,CAAC,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IAGhB;IACA;IAHF,IAAI,GAAG,kBAAkB,CAAA;IAClC,YACW,SAAsD,EACtD,MAAiD;QADjD,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAA2C;IACzD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAmD,EACnD,MAA2D,EAC3D,EAAE,CACF,IAAI,gBAAgB,CAGlB,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,WAAW;IAGX;IACA;IAHF,IAAI,GAAG,aAAa,CAAA;IAC7B,YACW,SAAsD,EACtD,MAAiD;QADjD,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAA2C;IACzD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAmD,EACnD,MAAmD,EACnD,EAAE,CACF,IAAI,WAAW,CAGb,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,YAAY;IAGZ;IAIA;IANF,IAAI,GAAG,cAAc,CAAA;IAC9B,YACW,SAGiB,EACjB,MAAiD;QAJjD,cAAS,GAAT,SAAS,CAGQ;QACjB,WAAM,GAAN,MAAM,CAA2C;IACzD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAG4B,EAC5B,MAAmD,EACnD,EAAE,CACF,IAAI,YAAY,CAQd,IAAW,EAAE,MAAa,CAAC,CAAA"}
|
package/Interactions/handlers.js
CHANGED
|
@@ -13,6 +13,16 @@ export class DefinitionNotFound {
|
|
|
13
13
|
this.interaction = interaction;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
+
const context = {
|
|
17
|
+
resolve: Ctx.getResolved,
|
|
18
|
+
option: Ctx.findOption,
|
|
19
|
+
optionValue: Ctx.optionValue,
|
|
20
|
+
optionValueOptional: Ctx.optionValueOptional,
|
|
21
|
+
subCommandOption: Ctx.findSubCommandOption,
|
|
22
|
+
subCommandOptionValue: Ctx.subCommandOptionValue,
|
|
23
|
+
subCommandOptionValueOptional: Ctx.subCommandOptionValueOptional,
|
|
24
|
+
subCommands: Ctx.handleSubCommands,
|
|
25
|
+
};
|
|
16
26
|
export const handlers = (definitions) => {
|
|
17
27
|
const { Commands, Autocomplete, MessageComponent, ModalSubmit } = splitDefinitions(definitions);
|
|
18
28
|
return {
|
|
@@ -21,7 +31,9 @@ export const handlers = (definitions) => {
|
|
|
21
31
|
}),
|
|
22
32
|
[tsplus_module_1.Discord.InteractionType.APPLICATION_COMMAND]: (i) => {
|
|
23
33
|
const data = i.data;
|
|
24
|
-
return tsplus_module_4.pipe(tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), (command) =>
|
|
34
|
+
return tsplus_module_4.pipe(tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), (command) => tsplus_module_2.isEffect(command.handle)
|
|
35
|
+
? command.handle
|
|
36
|
+
: command.handle(context))(tsplus_module_3.fromNullable(Commands[data.name])), (a) => a, tsplus_module_2.provideService(Ctx.ApplicationCommandContext)(data));
|
|
25
37
|
},
|
|
26
38
|
[tsplus_module_1.Discord.InteractionType.MODAL_SUBMIT]: (i) => {
|
|
27
39
|
const data = i.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AAEnC,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,OAAO,kBAAkB;IAER;IADZ,IAAI,GAAG,oBAAoB,CAAA;IACpC,YAAqB,WAAgC;QAAhC,gBAAW,GAAX,WAAW,CAAqB;IAAG,CAAC;CAC1D;AAQD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,WAA4C,EAI5C,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAC7D,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAE/B,OAAO;QACL,CAAC,gBAAA,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CACnC,wBAAe;YACb,IAAI,EAAE,gBAAA,OAAO,CAAC,uBAAuB,CAAC,IAAI;SACpC,CAAC;QAEX,CAAC,gBAAA,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAuC,CAAA;YAEtD,OAAO,gBAAA,IAAI,CACT,sBACE,GAAG,EAAE,CAAC,qBAAY,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAkB,EAC7D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"@tim-smart/discord-api-docs-parser": "^0.4.1",
|
|
26
26
|
"@types/ws": "^8.5.3",
|
|
27
27
|
"lerna": "^6.1.0",
|
|
28
|
+
"ts-toolbelt": "^9.6.0",
|
|
28
29
|
"typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer/compiler/typescript.tgz"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
@@ -47,5 +48,5 @@
|
|
|
47
48
|
"@fp-ts/data": "^0.0.20"
|
|
48
49
|
}
|
|
49
50
|
},
|
|
50
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "9f27f7407977f6effc3705beba3078716e5cea7e"
|
|
51
52
|
}
|