dfx 0.6.0 → 0.7.1

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 | undefined) => 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,4HAUrD,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.6.0",
3
+ "version": "0.7.1",
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": "bdecaca811af7c66275b3093f7c0cc26a3991a19"
49
+ "gitHead": "deffff918c754ffa55bb0a42d8e0d47dfc62f309"
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 | undefined,
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
  )