dfx 0.21.1 → 0.21.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.
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Discord, Effect, Option } from "dfx/_common";
|
|
2
|
-
import tb from "ts-toolbelt";
|
|
3
2
|
import { FocusedOptionContext, ResolvedDataNotFound, SubCommandContext } from "./context.js";
|
|
4
3
|
type DescriptionMissing<A> = A extends {
|
|
5
4
|
type: Exclude<Discord.ApplicationCommandType, 1>;
|
|
6
5
|
} ? false : A extends {
|
|
7
|
-
description: string;
|
|
6
|
+
readonly description: string;
|
|
8
7
|
} ? false : true;
|
|
9
8
|
export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
|
|
10
9
|
export declare class GlobalApplicationCommand<R, E> {
|
|
@@ -13,14 +12,14 @@ export declare class GlobalApplicationCommand<R, E> {
|
|
|
13
12
|
readonly _tag = "GlobalApplicationCommand";
|
|
14
13
|
constructor(command: Discord.CreateGlobalApplicationCommandParams, handle: CommandHandler<R, E>);
|
|
15
14
|
}
|
|
16
|
-
export declare const global: <R, E, A extends Discord.CreateGlobalApplicationCommandParams
|
|
15
|
+
export declare const global: <R, E, A extends DeepReadonlyObject<Discord.CreateGlobalApplicationCommandParams>>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : CommandHandler<R, E, A>) => GlobalApplicationCommand<Exclude<R, Discord.Interaction | Discord.ApplicationCommandDatum>, E>;
|
|
17
16
|
export declare class GuildApplicationCommand<R, E> {
|
|
18
17
|
readonly command: Discord.CreateGuildApplicationCommandParams;
|
|
19
18
|
readonly handle: CommandHandler<R, E>;
|
|
20
19
|
readonly _tag = "GuildApplicationCommand";
|
|
21
20
|
constructor(command: Discord.CreateGuildApplicationCommandParams, handle: CommandHandler<R, E>);
|
|
22
21
|
}
|
|
23
|
-
export declare const guild: <R, E, A extends Discord.CreateGuildApplicationCommandParams
|
|
22
|
+
export declare const guild: <R, E, A extends DeepReadonlyObject<Discord.CreateGuildApplicationCommandParams>>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : CommandHandler<R, E, A>) => GuildApplicationCommand<Exclude<R, Discord.Interaction | Discord.ApplicationCommandDatum>, E>;
|
|
24
23
|
export declare class MessageComponent<R, E> {
|
|
25
24
|
readonly predicate: (customId: string) => Effect.Effect<R, E, boolean>;
|
|
26
25
|
readonly handle: Effect.Effect<R, E, Discord.InteractionResponse>;
|
|
@@ -42,6 +41,12 @@ export declare class Autocomplete<R, E> {
|
|
|
42
41
|
constructor(predicate: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect.Effect<R, E, boolean>, handle: Effect.Effect<R, E, Discord.InteractionResponse>);
|
|
43
42
|
}
|
|
44
43
|
export declare const autocomplete: <R1, R2, E1, E2>(pred: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect.Effect<R1, E1, boolean>, handle: Effect.Effect<R2, E2, Discord.InteractionResponse>) => Autocomplete<Exclude<R1, Discord.Interaction | Discord.ApplicationCommandDatum | FocusedOptionContext> | Exclude<R2, Discord.Interaction | Discord.ApplicationCommandDatum | FocusedOptionContext>, E1 | E2>;
|
|
44
|
+
type DeepReadonly<T> = T extends (infer R)[] ? DeepReadonlyArray<R> : T extends Function ? T : T extends object ? DeepReadonlyObject<T> : T;
|
|
45
|
+
interface DeepReadonlyArray<T> extends ReadonlyArray<DeepReadonly<T>> {
|
|
46
|
+
}
|
|
47
|
+
type DeepReadonlyObject<T> = {
|
|
48
|
+
readonly [P in keyof T]: DeepReadonly<T[P]>;
|
|
49
|
+
};
|
|
45
50
|
type CommandHandler<R, E, A = any> = Effect.Effect<R, E, Discord.InteractionResponse> | CommandHandlerFn<R, E, A>;
|
|
46
51
|
export interface CommandHelper<A> {
|
|
47
52
|
resolve: <T>(name: AllResolvables<A>["name"], f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined) => Effect.Effect<Discord.Interaction, ResolvedDataNotFound, T>;
|
|
@@ -67,23 +72,23 @@ export interface CommandHelper<A> {
|
|
|
67
72
|
] ? E : never, Discord.InteractionResponse>;
|
|
68
73
|
}
|
|
69
74
|
type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect.Effect<R, E, Discord.InteractionResponse>;
|
|
70
|
-
type SubCommands<A> = A extends {
|
|
75
|
+
type SubCommands<A> = A extends DeepReadonly<{
|
|
71
76
|
type: Discord.ApplicationCommandOptionType.SUB_COMMAND;
|
|
72
77
|
options?: Discord.ApplicationCommandOption[];
|
|
73
|
-
} ? A : A extends {
|
|
78
|
+
}> ? A : A extends DeepReadonly<{
|
|
74
79
|
options: Discord.ApplicationCommandOption[];
|
|
75
|
-
} ? SubCommands<A["options"][number]> : never;
|
|
80
|
+
}> ? SubCommands<A["options"][number]> : never;
|
|
76
81
|
type SubCommandNames<A> = Option<SubCommands<A>>["name"];
|
|
77
82
|
type CommandOptionType = Exclude<Discord.ApplicationCommandOptionType, Discord.ApplicationCommandOptionType.SUB_COMMAND | Discord.ApplicationCommandOptionType.SUB_COMMAND_GROUP>;
|
|
78
83
|
type CommandOptions<A> = OptionsWithLiteral<A, {
|
|
79
|
-
type: CommandOptionType;
|
|
84
|
+
readonly type: CommandOptionType;
|
|
80
85
|
}>;
|
|
81
86
|
type SubCommandOptions<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
82
|
-
type: CommandOptionType;
|
|
87
|
+
readonly type: CommandOptionType;
|
|
83
88
|
}>;
|
|
84
89
|
type AllCommandOptions<A> = CommandOptions<A> | SubCommandOptions<A>;
|
|
85
90
|
type CommandWithName<A, N> = Extract<AllCommandOptions<A>, {
|
|
86
|
-
name: N;
|
|
91
|
+
readonly name: N;
|
|
87
92
|
}>;
|
|
88
93
|
type OptionTypeValue = {
|
|
89
94
|
[Discord.ApplicationCommandOptionType.BOOLEAN]: boolean;
|
|
@@ -92,26 +97,26 @@ type OptionTypeValue = {
|
|
|
92
97
|
};
|
|
93
98
|
type CommandValue<A, N> = CommandWithName<A, N>["type"] extends keyof OptionTypeValue ? OptionTypeValue[CommandWithName<A, N>["type"]] : string;
|
|
94
99
|
type RequiredCommandOptions<A> = OptionsWithLiteral<A, {
|
|
95
|
-
type: CommandOptionType;
|
|
96
|
-
required: true;
|
|
100
|
+
readonly type: CommandOptionType;
|
|
101
|
+
readonly required: true;
|
|
97
102
|
}>;
|
|
98
103
|
type RequiredSubCommandOptions<A> = Extract<SubCommandOptions<A>, {
|
|
99
|
-
required: true;
|
|
104
|
+
readonly required: true;
|
|
100
105
|
}>;
|
|
101
106
|
type AllRequiredCommandOptions<A> = RequiredCommandOptions<A> | RequiredSubCommandOptions<A>;
|
|
102
107
|
type ResolvableType = Discord.ApplicationCommandOptionType.ROLE | Discord.ApplicationCommandOptionType.USER | Discord.ApplicationCommandOptionType.MENTIONABLE | Discord.ApplicationCommandOptionType.CHANNEL;
|
|
103
108
|
type Resolvables<A> = OptionsWithLiteral<A, {
|
|
104
|
-
type: ResolvableType;
|
|
109
|
+
readonly type: ResolvableType;
|
|
105
110
|
}>;
|
|
106
111
|
type SubCommandResolvables<A> = Extract<Option<Exclude<SubCommands<A>["options"], undefined>[number]>, {
|
|
107
|
-
type: ResolvableType;
|
|
112
|
+
readonly type: ResolvableType;
|
|
108
113
|
}>;
|
|
109
114
|
type AllResolvables<A> = Resolvables<A> | SubCommandResolvables<A>;
|
|
110
115
|
type StringLiteral<T> = T extends string ? string extends T ? never : T : never;
|
|
111
116
|
type Option<A> = A extends {
|
|
112
|
-
name: infer N;
|
|
117
|
+
readonly name: infer N;
|
|
113
118
|
} ? N extends StringLiteral<N> ? A : never : never;
|
|
114
|
-
type OptionsWithLiteral<A, T> = A extends {
|
|
119
|
+
type OptionsWithLiteral<A, T> = A extends DeepReadonly<{
|
|
115
120
|
options: Discord.ApplicationCommandOption[];
|
|
116
|
-
} ? Extract<A["options"][number], Option<A["options"][number]> & T> : never;
|
|
121
|
+
}> ? Extract<A["options"][number], Option<A["options"][number]> & T> : never;
|
|
117
122
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,aAAa,CAAA;AAsBrD,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,OAAU,EACV,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,OAAc,EAAE,MAAa,CAAC,CAAA;AAElC,MAAM,OAAO,gBAAgB;IAGhB;IACA;IAHF,IAAI,GAAG,kBAAkB,CAAA;IAClC,YACW,SAA6D,EAC7D,MAAwD;QADxD,cAAS,GAAT,SAAS,CAAoD;QAC7D,WAAM,GAAN,MAAM,CAAkD;IAChE,CAAC;CACL;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAA0D,EAC1D,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,SAA6D,EAC7D,MAAwD;QADxD,cAAS,GAAT,SAAS,CAAoD;QAC7D,WAAM,GAAN,MAAM,CAAkD;IAChE,CAAC;CACL;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAA0D,EAC1D,MAA0D,EAC1D,EAAE,CACF,IAAI,WAAW,CAGb,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,YAAY;IAGZ;IAIA;IANF,IAAI,GAAG,cAAc,CAAA;IAC9B,YACW,SAGwB,EACxB,MAAwD;QAJxD,cAAS,GAAT,SAAS,CAGe;QACxB,WAAM,GAAN,MAAM,CAAkD;IAChE,CAAC;CACL;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAGmC,EACnC,MAA0D,EAC1D,EAAE,CACF,IAAI,YAAY,CAQd,IAAW,EAAE,MAAa,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
"@effect/io": "~0.0.41",
|
|
34
34
|
"@effect/stream": "~0.0.3",
|
|
35
35
|
"@fp-ts/data": "~0.0.30",
|
|
36
|
-
"ts-toolbelt": "^9.6.0",
|
|
37
36
|
"tweetnacl": "^1.0.3"
|
|
38
37
|
},
|
|
39
38
|
"optionalDependencies": {
|
|
@@ -43,5 +42,5 @@
|
|
|
43
42
|
"ws": "^8.11.0"
|
|
44
43
|
},
|
|
45
44
|
"sideEffects": false,
|
|
46
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "4250ee61326a05b5636ccc3f8ae3b8291dcc1033"
|
|
47
46
|
}
|