dfx 0.5.3 → 0.7.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.
@@ -12,6 +12,14 @@ export interface SubCommandContext {
12
12
  readonly command: Discord.ApplicationCommandInteractionDataOption;
13
13
  }
14
14
  export declare const SubCommandContext: import("../common.js").Tag<SubCommandContext>;
15
+ export declare const getCommand: import("../common.js").Effect<import("../types.js").ApplicationCommandDatum, never, import("../types.js").ApplicationCommandDatum>;
16
+ export declare class ResolvedDataNotFound {
17
+ readonly data: Discord.ApplicationCommandDatum;
18
+ readonly name: string;
19
+ readonly _tag = "ResolvedDataNotFound";
20
+ constructor(data: Discord.ApplicationCommandDatum, name: string);
21
+ }
22
+ export declare const getResolved: <A>(name: string, f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => A) => import("../common.js").Effect<import("../types.js").ApplicationCommandDatum, ResolvedDataNotFound, A>;
15
23
  export declare const focusedOptionValue: import("../common.js").Effect<FocusedOptionContext, never, string>;
16
24
  export declare const commandOptionsMap: import("../common.js").Effect<import("../types.js").ApplicationCommandDatum, never, Record<string, string | undefined>>;
17
25
  export declare const handleSubCommands: <NER extends Record<string, import("../common.js").Effect<any, any, InteractionResponse>>>(commands: NER) => import("../common.js").Effect<import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction | Exclude<[NER[keyof NER]] extends [{
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAKtD,eAAO,MAAM,kBAAkB,+DAA6B,CAAA;AAC5D,eAAO,MAAM,yBAAyB,2EAAyC,CAAA;AAC/E,eAAO,MAAM,uBAAuB,yEAAuC,CAAA;AAC3E,eAAO,MAAM,kBAAkB,oEAAkC,CAAA;AAEjE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,uCAAuC,CAAA;CACxE;AACD,eAAO,MAAM,oBAAoB,kDAA8B,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,uCAAuC,CAAA;CAClE;AACD,eAAO,MAAM,iBAAiB,+CAA2B,CAAA;AAEzD,eAAO,MAAM,kBAAkB,oEAE9B,CAAA;AAED,eAAO,MAAM,iBAAiB,yHAE7B,CAAA;AAED,eAAO,MAAM,iBAAiB;;gBAOM,KAAK;;;;gBAQe,KAAK;;oCAsB1D,CAAA;AAEH,eAAO,MAAM,aAAa,wHAEzB,CAAA;AAED,eAAO,MAAM,oBAAoB,6FAA0C,CAAA;AAE3E,eAAO,MAAM,WAAW,kHAEvB,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAKtD,eAAO,MAAM,kBAAkB,+DAA6B,CAAA;AAC5D,eAAO,MAAM,yBAAyB,2EAAyC,CAAA;AAC/E,eAAO,MAAM,uBAAuB,yEAAuC,CAAA;AAC3E,eAAO,MAAM,kBAAkB,oEAAkC,CAAA;AAEjE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,uCAAuC,CAAA;CACxE;AACD,eAAO,MAAM,oBAAoB,kDAA8B,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,uCAAuC,CAAA;CAClE;AACD,eAAO,MAAM,iBAAiB,+CAA2B,CAAA;AAEzD,eAAO,MAAM,UAAU,oIAA4C,CAAA;AAEnE,qBAAa,oBAAoB;IAG7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,uBAAuB;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHvB,QAAQ,CAAC,IAAI,0BAAyB;gBAE3B,IAAI,EAAE,OAAO,CAAC,uBAAuB,EACrC,IAAI,EAAE,MAAM;CAExB;AAED,eAAO,MAAM,WAAW,YAChB,MAAM,UACJ,QAAQ,SAAS,QAAQ,QAAQ,aAAa,gHAUrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,oEAE9B,CAAA;AAED,eAAO,MAAM,iBAAiB,yHAE7B,CAAA;AAED,eAAO,MAAM,iBAAiB;;gBAOM,KAAK;;;;gBAQe,KAAK;;oCAsB1D,CAAA;AAEH,eAAO,MAAM,aAAa,wHAEzB,CAAA;AAED,eAAO,MAAM,oBAAoB,6FAA0C,CAAA;AAE3E,eAAO,MAAM,WAAW,kHAEvB,CAAA"}
@@ -11,6 +11,17 @@ export const MessageComponentContext = tsplus_module_1.Tag();
11
11
  export const ModalSubmitContext = tsplus_module_1.Tag();
12
12
  export const FocusedOptionContext = tsplus_module_1.Tag();
13
13
  export const SubCommandContext = tsplus_module_1.Tag();
14
+ export const getCommand = tsplus_module_2.service(ApplicationCommandContext);
15
+ export class ResolvedDataNotFound {
16
+ data;
17
+ name;
18
+ _tag = "ResolvedDataNotFound";
19
+ constructor(data, name) {
20
+ this.data = data;
21
+ this.name = name;
22
+ }
23
+ }
24
+ export const getResolved = (name, f) => tsplus_module_2.serviceWithEffect(ApplicationCommandContext)((a) => tsplus_module_3.match(() => tsplus_module_2.fail(new ResolvedDataNotFound(a, name)), tsplus_module_2.succeed)(tsplus_module_1.IxHelpers.resolveOptionValue(name, f)(a)));
14
25
  export const focusedOptionValue = tsplus_module_2.serviceWith(FocusedOptionContext)((a) => a.focusedOption.value ?? "");
15
26
  export const commandOptionsMap = tsplus_module_2.serviceWith(ApplicationCommandContext)(optionsMap);
16
27
  export const handleSubCommands = (commands) => tsplus_module_2.flatMap(({ interaction, data }) => tsplus_module_4.pipe(tsplus_module_1.IxHelpers.allSubCommands(data), Arr.findFirst((a) => !!commands[a.name]), (o) => tsplus_module_3.toEither(() => new InteractionNotFound(interaction))(o), tsplus_module_2.fromEither, (a) => tsplus_module_2.flatMap((command) => tsplus_module_4.pipe(commands[command.name], tsplus_module_2.provideService(SubCommandContext)({ command })))(a)))(tsplus_module_2.struct({
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":";;;;AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAA,GAAG,EAAuB,CAAA;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAA,GAAG,EAAmC,CAAA;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAA,GAAG,EAAiC,CAAA;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAA,GAAG,EAA4B,CAAA;AAKjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAA,GAAG,EAAwB,CAAA;AAK/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAA,GAAG,EAAqB,CAAA;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAAmB,oBAAoB,CAAC,CACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CACnC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAAmB,yBAAyB,CAAC,CAC5E,UAAU,CACX,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAG/B,QAAa,EAgBb,EAAE,CACF,wBAGW,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CACnC,gBAAA,IAAI,CACF,gBAAA,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAC9B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACxC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAW,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAArD,CAAC,CAAqD,8BAE7D,CAAC,CAAC,EAAE,EAAE,CACJ,wBAAU,CAAC,OAAO,EAAE,EAAE,CACpB,gBAAA,IAAI,CACF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EACtB,+BAAsB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CACtD,EAJH,CAAC,CAKA,CACJ,EAhBH,uBAAc;IACZ,WAAW,EAAE,wBAAe,kBAAkB,CAAC;IAC/C,IAAI,EAAE,wBAAe,yBAAyB,CAAC;CAChD,CAAC,CAcD,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,4BAAmB,iBAAiB,CAAC,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACjB,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAkB,gBAAA,SAAS,CAAC,UAAU,EAAtC,aAAa,CAA0B,CAAA;AAE3E,MAAM,CAAC,MAAM,WAAW,GAAG,4BAAmB,kBAAkB,CAAC,CAC/D,gBAAA,SAAS,CAAC,aAAa,CACxB,CAAA"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Config, Ix } from "dfx/common";
2
+ export * as Discord from "./types.js";
2
3
  export * as Config from "./DiscordConfig/index.js";
3
4
  export * as DiscordWS from "./DiscordGateway/DiscordWS/index.js";
4
5
  export * as Gateway from "./DiscordGateway/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAErC,eAAO,MAAM,aAAa,wKACgD,CAAA;AAE1E,eAAO,MAAM,QAAQ,0QAAuC,CAAA;AAE5D,eAAO,MAAM,WAAW,qYAEI,CAAA;AAE5B,eAAO,MAAM,OAAO,0bAAyB,CAAA;AAE7C,eAAO,MAAM,SAAS,WAAY,OAAO,QAAQ,sdAMhD,CAAA;AAED,eAAO,MAAM,gBAAgB,WACnB,OAAO,QAAQ,GAAG,GAAG,aAAa,0VAS3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAErC,eAAO,MAAM,aAAa,wKACgD,CAAA;AAE1E,eAAO,MAAM,QAAQ,0QAAuC,CAAA;AAE5D,eAAO,MAAM,WAAW,qYAEI,CAAA;AAE5B,eAAO,MAAM,OAAO,0bAAyB,CAAA;AAE7C,eAAO,MAAM,SAAS,WAAY,OAAO,QAAQ,sdAMhD,CAAA;AAED,eAAO,MAAM,gBAAgB,WACnB,OAAO,QAAQ,GAAG,GAAG,aAAa,0VAS3C,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as tsplus_module_1 from "dfx/common";
2
2
  import * as tsplus_module_2 from "@effect/io/Layer";
3
+ export * as Discord from "./types.js";
3
4
  export * as Config from "./DiscordConfig/index.js";
4
5
  export * as DiscordWS from "./DiscordGateway/DiscordWS/index.js";
5
6
  export * as Gateway from "./DiscordGateway/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,CAAC,MAAM,aAAa,qCACkB,gBAAA,cAAc,CAAC,eAAe,EAAxE,gBAAA,cAAc,CAAC,wBAAwB,CAAiC,CAAA;AAE1E,MAAM,CAAC,MAAM,QAAQ,qCAAmB,gBAAA,IAAI,CAAC,eAAe,EAApC,aAAa,CAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,WAAW,qCAEtB,gBAAA,OAAO,CAAC,kBAAkB,wBADQ,gBAAA,GAAG,CAAC,sBAAsB,EAA5D,gBAAA,UAAU,CAAC,oBAAoB,EACL,CAAA;AAE5B,MAAM,CAAC,MAAM,OAAO,qCAAc,WAAW,EAAtB,QAAQ,CAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAuB,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,gBAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,OAAO,qCAA0B,OAAO,wBAApB,UAAU,EAApB,OAAO,EAAuB,CAAA;IAE9C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAA0C,EAC1C,KAAK,GAAG,KAAK,EACb,EAAE;IACF,MAAM,WAAW,GAAG,gBAAA,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,gBAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,OAAO,qCAAwC,QAAQ,wBAAtB,WAAW,wBAAxB,UAAU,EAApB,OAAO,GAAsC,CAAA;IAE7D,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,CAAC,MAAM,aAAa,qCACkB,gBAAA,cAAc,CAAC,eAAe,EAAxE,gBAAA,cAAc,CAAC,wBAAwB,CAAiC,CAAA;AAE1E,MAAM,CAAC,MAAM,QAAQ,qCAAmB,gBAAA,IAAI,CAAC,eAAe,EAApC,aAAa,CAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,WAAW,qCAEtB,gBAAA,OAAO,CAAC,kBAAkB,wBADQ,gBAAA,GAAG,CAAC,sBAAsB,EAA5D,gBAAA,UAAU,CAAC,oBAAoB,EACL,CAAA;AAE5B,MAAM,CAAC,MAAM,OAAO,qCAAc,WAAW,EAAtB,QAAQ,CAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAuB,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,gBAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,OAAO,qCAA0B,OAAO,wBAApB,UAAU,EAApB,OAAO,EAAuB,CAAA;IAE9C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAA0C,EAC1C,KAAK,GAAG,KAAK,EACb,EAAE;IACF,MAAM,WAAW,GAAG,gBAAA,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,gBAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,OAAO,qCAAwC,QAAQ,wBAAtB,WAAW,wBAAxB,UAAU,EAApB,OAAO,GAAsC,CAAA;IAE7D,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.5.3",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -46,5 +46,5 @@
46
46
  "@fp-ts/data": "^0.0.19"
47
47
  }
48
48
  },
49
- "gitHead": "f22c997ca2db9f7f6b4949c7208ba1b2739b515e"
49
+ "gitHead": "1366d5ba1c26342374f85d64796e68df9700cb2e"
50
50
  }
@@ -18,6 +18,30 @@ export interface SubCommandContext {
18
18
  }
19
19
  export const SubCommandContext = Tag<SubCommandContext>()
20
20
 
21
+ export const getCommand = Effect.service(ApplicationCommandContext)
22
+
23
+ export class ResolvedDataNotFound {
24
+ readonly _tag = "ResolvedDataNotFound"
25
+ constructor(
26
+ readonly data: Discord.ApplicationCommandDatum,
27
+ readonly name: string,
28
+ ) {}
29
+ }
30
+
31
+ export const getResolved = <A>(
32
+ name: string,
33
+ f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => A,
34
+ ) =>
35
+ Effect.serviceWithEffect(ApplicationCommandContext)((a) =>
36
+ IxHelpers.resolveOptionValue(
37
+ name,
38
+ f,
39
+ )(a).match(
40
+ () => Effect.fail(new ResolvedDataNotFound(a, name)),
41
+ Effect.succeed,
42
+ ),
43
+ )
44
+
21
45
  export const focusedOptionValue = Effect.serviceWith(FocusedOptionContext)(
22
46
  (a) => a.focusedOption.value ?? "",
23
47
  )
package/src/index.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export * as Discord from "./types.js"
2
+
1
3
  export * as Config from "./DiscordConfig/index.js"
2
4
  export * as DiscordWS from "./DiscordGateway/DiscordWS/index.js"
3
5
  export * as Gateway from "./DiscordGateway/index.js"