dfx 0.5.0 → 0.5.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.
@@ -6,7 +6,7 @@ export declare class FetchError {
6
6
  export declare class StatusCodeError {
7
7
  readonly response: Response;
8
8
  readonly _tag = "StatusCodeError";
9
- get code(): number;
9
+ readonly code: number;
10
10
  constructor(response: Response);
11
11
  }
12
12
  export declare const request: (url: URL | string, init?: RequestInit) => import("../common.js").Effect<never, FetchError | StatusCodeError, Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Http/index.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IAET,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,gBAAe;gBACP,MAAM,EAAE,OAAO;CACrC;AAED,qBAAa,eAAe;IAKd,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAJvC,QAAQ,CAAC,IAAI,qBAAoB;IACjC,IAAI,IAAI,WAEP;gBACoB,QAAQ,EAAE,QAAQ;CACxC;AAED,eAAO,MAAM,OAAO,QAAS,GAAG,GAAG,MAAM,SAAQ,WAAW,iFAkBzD,CAAA;AAEH,qBAAa,cAAc;IAEb,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,oBAAmB;gBACX,MAAM,EAAE,OAAO;CACrC;AAED,eAAO,MAAM,IAAI,mBAAoB,QAAQ,4DAI1C,CAAA;AAEH,qBAAa,SAAS;IAER,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,eAAc;gBACN,MAAM,EAAE,OAAO;CACrC;AAED,eAAO,MAAM,IAAI,MAAO,QAAQ,0DAI7B,CAAA;AAEH,eAAO,MAAM,eAAe,qBACrB,GAAG,GAAG,MAAM,SACX,WAAW;;;;;EAOd,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Http/index.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IAET,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,gBAAe;gBACP,MAAM,EAAE,OAAO;CACrC;AAED,qBAAa,eAAe;IAGd,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAFvC,QAAQ,CAAC,IAAI,qBAAoB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBACA,QAAQ,EAAE,QAAQ;CAGxC;AAED,eAAO,MAAM,OAAO,QAAS,GAAG,GAAG,MAAM,SAAQ,WAAW,iFAkBzD,CAAA;AAEH,qBAAa,cAAc;IAEb,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,oBAAmB;gBACX,MAAM,EAAE,OAAO;CACrC;AAED,eAAO,MAAM,IAAI,mBAAoB,QAAQ,4DAI1C,CAAA;AAEH,qBAAa,SAAS;IAER,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,eAAc;gBACN,MAAM,EAAE,OAAO;CACrC;AAED,eAAO,MAAM,IAAI,MAAO,QAAQ,0DAI7B,CAAA;AAEH,eAAO,MAAM,eAAe,qBACrB,GAAG,GAAG,MAAM,SACX,WAAW;;;;;EAOd,CAAA"}
@@ -10,11 +10,10 @@ export class FetchError {
10
10
  export class StatusCodeError {
11
11
  response;
12
12
  _tag = "StatusCodeError";
13
- get code() {
14
- return this.response.status;
15
- }
13
+ code;
16
14
  constructor(response) {
17
15
  this.response = response;
16
+ this.code = response.status;
18
17
  }
19
18
  }
20
19
  export const request = (url, init = {}) => tsplus_module_1.filterOrElseWith((r) => r.status < 300, (r) => tsplus_module_1.fail(new StatusCodeError(r)))(tsplus_module_1.asyncInterrupt((resume) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Http/index.ts"],"names":[],"mappings":";;AAAA,MAAM,OAAO,UAAU;IAEA;IADZ,IAAI,GAAG,YAAY,CAAA;IAC5B,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,OAAO,eAAe;IAKL;IAJZ,IAAI,GAAG,iBAAiB,CAAA;IACjC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IACD,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;CAC5C;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAiB,EAAE,OAAoB,EAAE,EAAE,EAAE,CACnE,iCAeE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAY,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,EAhB5C,+BAAmD,CAAC,MAAM,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,KAAK,CAAC,GAAG,EAAE;QACT,GAAG,IAAI;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;SACC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,wBAAe,CAAC,CAAC,CAAC,CAAC;SACtC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAY,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvD,OAAO,qBACL,qBAAY,GAAG,EAAE;QACf,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAGD,CAAA;AAEH,MAAM,OAAO,cAAc;IAEJ;IADZ,IAAI,GAAG,gBAAgB,CAAA;IAChC,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAc,CAAW,EAAE,EAAE,CAC/C,gCACE,GAAe,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CACvC,CAAA;AAEH,MAAM,OAAO,SAAS;IAEC;IADZ,IAAI,GAAG,WAAW,CAAA;IAC3B,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,EAAE,CAClC,gCACE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAClC,CAAA;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAiB,EACjB,OAAoB,EAAE,EACtB,EAAE,CACF,oBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpC,QAAQ;IACR,IAAI,EAAE,IAAI,CAAI,QAAQ,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,wBAAe,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;CAC5C,CAAC,EALF,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAKf,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Http/index.ts"],"names":[],"mappings":";;AAAA,MAAM,OAAO,UAAU;IAEA;IADZ,IAAI,GAAG,YAAY,CAAA;IAC5B,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,OAAO,eAAe;IAGL;IAFZ,IAAI,GAAG,iBAAiB,CAAA;IACxB,IAAI,CAAQ;IACrB,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QACrC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAiB,EAAE,OAAoB,EAAE,EAAE,EAAE,CACnE,iCAeE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAY,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,EAhB5C,+BAAmD,CAAC,MAAM,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,KAAK,CAAC,GAAG,EAAE;QACT,GAAG,IAAI;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;SACC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,wBAAe,CAAC,CAAC,CAAC,CAAC;SACtC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAY,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvD,OAAO,qBACL,qBAAY,GAAG,EAAE;QACf,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAGD,CAAA;AAEH,MAAM,OAAO,cAAc;IAEJ;IADZ,IAAI,GAAG,gBAAgB,CAAA;IAChC,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAc,CAAW,EAAE,EAAE,CAC/C,gCACE,GAAe,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CACvC,CAAA;AAEH,MAAM,OAAO,SAAS;IAEC;IADZ,IAAI,GAAG,WAAW,CAAA;IAC3B,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,EAAE,CAClC,gCACE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAClC,CAAA;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAiB,EACjB,OAAoB,EAAE,EACtB,EAAE,CACF,oBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpC,QAAQ;IACR,IAAI,EAAE,IAAI,CAAI,QAAQ,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,wBAAe,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;CAC5C,CAAC,EALF,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAKf,CAAA"}
@@ -16,6 +16,11 @@ export type InteractionResponse = {
16
16
  type: Discord.InteractionCallbackType.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT;
17
17
  data: Discord.InteractionCallbackAutocomplete;
18
18
  };
19
+ type EnforceDescription<T> = T extends {
20
+ type: Exclude<Discord.ApplicationCommandType, 1>;
21
+ } ? T : T extends {
22
+ description: string;
23
+ } ? T : "description is missing";
19
24
  export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
20
25
  export declare class GlobalApplicationCommand<R, E> {
21
26
  readonly command: Discord.CreateGlobalApplicationCommandParams;
@@ -23,14 +28,14 @@ export declare class GlobalApplicationCommand<R, E> {
23
28
  readonly _tag = "GlobalApplicationCommand";
24
29
  constructor(command: Discord.CreateGlobalApplicationCommandParams, handle: Effect<R, E, InteractionResponse>);
25
30
  }
26
- export declare const global: <R, E>(command: Discord.CreateGlobalApplicationCommandParams, handle: import("../common.js").Effect<R, E, InteractionResponse>) => GlobalApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
31
+ export declare const global: <R, E, A extends import("../types.js").CreateGlobalApplicationCommandParams>(command: EnforceDescription<A>, handle: import("../common.js").Effect<R, E, InteractionResponse>) => GlobalApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
27
32
  export declare class GuildApplicationCommand<R, E> {
28
33
  readonly command: Discord.CreateGuildApplicationCommandParams;
29
34
  readonly handle: Effect<R, E, InteractionResponse>;
30
35
  readonly _tag = "GuildApplicationCommand";
31
36
  constructor(command: Discord.CreateGuildApplicationCommandParams, handle: Effect<R, E, InteractionResponse>);
32
37
  }
33
- export declare const guild: <R, E>(command: Discord.CreateGuildApplicationCommandParams, handle: import("../common.js").Effect<R, E, import("../types.js").InteractionResponse>) => GuildApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
38
+ export declare const guild: <R, E, A extends import("../types.js").CreateGuildApplicationCommandParams>(command: EnforceDescription<A>, handle: import("../common.js").Effect<R, E, InteractionResponse>) => GuildApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
34
39
  export declare class MessageComponent<R, E> {
35
40
  readonly predicate: (customId: string) => Effect<R, E, boolean>;
36
41
  readonly handle: Effect<R, E, InteractionResponse>;
@@ -52,4 +57,5 @@ export declare class Autocomplete<R, E> {
52
57
  constructor(predicate: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R, E, boolean>, handle: Effect<R, E, InteractionResponse>);
53
58
  }
54
59
  export declare const autocomplete: <R1, R2, E1, E2>(pred: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, InteractionResponse>) => Autocomplete<Exclude<R1, import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption | import("../types.js").Interaction> | Exclude<R2, import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption | import("../types.js").Interaction>, E1 | E2>;
60
+ export {};
55
61
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":";AA+BA,MAAM,OAAO,wBAAwB;IAGxB;IACA;IAHF,IAAI,GAAG,0BAA0B,CAAA;IAC1C,YACW,OAAqD,EACrD,MAAyC;QADzC,YAAO,GAAP,OAAO,CAA8C;QACrD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,OAAqD,EACrD,MAAyC,EACzC,EAAE,CACF,IAAI,wBAAwB,CAG1B,OAAO,EAAE,MAAa,CAAC,CAAA;AAE3B,MAAM,OAAO,uBAAuB;IAGvB;IACA;IAHF,IAAI,GAAG,yBAAyB,CAAA;IACzC,YACW,OAAoD,EACpD,MAAyC;QADzC,YAAO,GAAP,OAAO,CAA6C;QACpD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,OAAoD,EACpD,MAAiD,EACjD,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,MAAyC;QADzC,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAmD,EACnD,MAA2C,EAC3C,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,MAAyC;QADzC,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAmD,EACnD,MAA2C,EAC3C,EAAE,CACF,IAAI,WAAW,CAGb,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,YAAY;IAGZ;IAGA;IALF,IAAI,GAAG,cAAc,CAAA;IAC9B,YACW,SAEiB,EACjB,MAAyC;QAHzC,cAAS,GAAT,SAAS,CAEQ;QACjB,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAE4B,EAC5B,MAA2C,EAC3C,EAAE,CACF,IAAI,YAAY,CAQd,IAAW,EAAE,MAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":";AAuCA,MAAM,OAAO,wBAAwB;IAGxB;IACA;IAHF,IAAI,GAAG,0BAA0B,CAAA;IAC1C,YACW,OAAqD,EACrD,MAAyC;QADzC,YAAO,GAAP,OAAO,CAA8C;QACrD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAKpB,OAA8B,EAC9B,MAAyC,EACzC,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,MAAyC;QADzC,YAAO,GAAP,OAAO,CAA6C;QACpD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAKnB,OAA8B,EAC9B,MAAyC,EACzC,EAAE,CACF,IAAI,uBAAuB,CAGzB,OAAc,EAAE,MAAa,CAAC,CAAA;AAElC,MAAM,OAAO,gBAAgB;IAGhB;IACA;IAHF,IAAI,GAAG,kBAAkB,CAAA;IAClC,YACW,SAAsD,EACtD,MAAyC;QADzC,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAmD,EACnD,MAA2C,EAC3C,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,MAAyC;QADzC,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAmD,EACnD,MAA2C,EAC3C,EAAE,CACF,IAAI,WAAW,CAGb,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,YAAY;IAGZ;IAGA;IALF,IAAI,GAAG,cAAc,CAAA;IAC9B,YACW,SAEiB,EACjB,MAAyC;QAHzC,cAAS,GAAT,SAAS,CAEQ;QACjB,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAE4B,EAC5B,MAA2C,EAC3C,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.5.0",
3
+ "version": "0.5.2",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -25,9 +25,7 @@
25
25
  "devDependencies": {
26
26
  "@tim-smart/discord-api-docs-parser": "^0.4.1",
27
27
  "@types/ws": "^8.5.3",
28
- "dotenv": "^16.0.3",
29
28
  "lerna": "^4.0.0",
30
- "ts-node": "^10.9.1",
31
29
  "typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer/compiler/typescript.tgz"
32
30
  },
33
31
  "dependencies": {
@@ -48,5 +46,5 @@
48
46
  "@fp-ts/data": "^0.0.19"
49
47
  }
50
48
  },
51
- "gitHead": "3ebb11fd6cbb85b0098c2a7fb7548000e3e1b229"
49
+ "gitHead": "eae688a8f1a9b7bdc8d996adfb56c2dc74e18fb8"
52
50
  }
package/src/Http/index.ts CHANGED
@@ -5,10 +5,10 @@ export class FetchError {
5
5
 
6
6
  export class StatusCodeError {
7
7
  readonly _tag = "StatusCodeError"
8
- get code() {
9
- return this.response.status
8
+ readonly code: number
9
+ constructor(readonly response: Response) {
10
+ this.code = response.status
10
11
  }
11
- constructor(readonly response: Response) {}
12
12
  }
13
13
 
14
14
  export const request = (url: URL | string, init: RequestInit = {}) =>
@@ -22,6 +22,14 @@ export type InteractionResponse =
22
22
  data: Discord.InteractionCallbackAutocomplete
23
23
  }
24
24
 
25
+ type EnforceDescription<T> = T extends {
26
+ type: Exclude<Discord.ApplicationCommandType, 1>
27
+ }
28
+ ? T
29
+ : T extends { description: string }
30
+ ? T
31
+ : "description is missing"
32
+
25
33
  export type InteractionDefinition<R, E> =
26
34
  | GlobalApplicationCommand<R, E>
27
35
  | GuildApplicationCommand<R, E>
@@ -37,14 +45,18 @@ export class GlobalApplicationCommand<R, E> {
37
45
  ) {}
38
46
  }
39
47
 
40
- export const global = <R, E>(
41
- command: Discord.CreateGlobalApplicationCommandParams,
48
+ export const global = <
49
+ R,
50
+ E,
51
+ A extends Discord.CreateGlobalApplicationCommandParams,
52
+ >(
53
+ command: EnforceDescription<A>,
42
54
  handle: Effect<R, E, InteractionResponse>,
43
55
  ) =>
44
56
  new GlobalApplicationCommand<
45
57
  Exclude<R, Discord.Interaction | Discord.ApplicationCommandDatum>,
46
58
  E
47
- >(command, handle as any)
59
+ >(command as any, handle as any)
48
60
 
49
61
  export class GuildApplicationCommand<R, E> {
50
62
  readonly _tag = "GuildApplicationCommand"
@@ -54,14 +66,18 @@ export class GuildApplicationCommand<R, E> {
54
66
  ) {}
55
67
  }
56
68
 
57
- export const guild = <R, E>(
58
- command: Discord.CreateGuildApplicationCommandParams,
59
- handle: Effect<R, E, Discord.InteractionResponse>,
69
+ export const guild = <
70
+ R,
71
+ E,
72
+ A extends Discord.CreateGuildApplicationCommandParams,
73
+ >(
74
+ command: EnforceDescription<A>,
75
+ handle: Effect<R, E, InteractionResponse>,
60
76
  ) =>
61
77
  new GuildApplicationCommand<
62
78
  Exclude<R, Discord.Interaction | Discord.ApplicationCommandDatum>,
63
79
  E
64
- >(command, handle as any)
80
+ >(command as any, handle as any)
65
81
 
66
82
  export class MessageComponent<R, E> {
67
83
  readonly _tag = "MessageComponent"
package/dist/example.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":""}
package/dist/example.js DELETED
@@ -1,47 +0,0 @@
1
- import * as tsplus_module_1 from "dfx/common";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
3
- import * as tsplus_module_3 from "@effect/io/Exit";
4
- import * as tsplus_module_4 from "@effect/io/Cause";
5
- import { Ix, makeLayer } from "dfx";
6
- import Dotenv from "dotenv";
7
- Dotenv.config();
8
- const LiveEnv = makeLayer({
9
- token: process.env.DISCORD_BOT_TOKEN,
10
- });
11
- const hello = Ix.guild({
12
- name: "hello",
13
- description: "Eh yo",
14
- options: [
15
- {
16
- type: tsplus_module_1.Discord.ApplicationCommandOptionType.SUB_COMMAND,
17
- name: "one",
18
- description: "The first sub command",
19
- },
20
- {
21
- type: tsplus_module_1.Discord.ApplicationCommandOptionType.SUB_COMMAND,
22
- name: "two",
23
- description: "The second sub command",
24
- },
25
- ],
26
- }, Ix.handleSubCommands({
27
- one: tsplus_module_2.succeed({
28
- type: 4,
29
- data: {
30
- content: "One",
31
- },
32
- }),
33
- two: tsplus_module_2.map((a) => ({
34
- type: 4,
35
- data: {
36
- content: a.name,
37
- },
38
- }))(Ix.getSubCommand),
39
- }));
40
- tsplus_module_2.unsafeRunPromiseExit(tsplus_module_2.provideLayer(LiveEnv)(Ix.builder
41
- .add(hello)
42
- .runGateway())).then((exit) => {
43
- if (tsplus_module_3.isFailure(exit)) {
44
- console.error(tsplus_module_4.pretty()(tsplus_module_2.unsafeRunSync(tsplus_module_2.cause(exit))));
45
- }
46
- });
47
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAM,OAAO,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAkB;CACtC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CACpB;IACE,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,gBAAA,OAAO,CAAC,4BAA4B,CAAC,WAAW;YACtD,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,uBAAuB;SACrC;QACD;YACE,IAAI,EAAE,gBAAA,OAAO,CAAC,4BAA4B,CAAC,WAAW;YACtD,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,wBAAwB;SACtC;KACF;CACF,EACD,EAAE,CAAC,iBAAiB,CAAC;IACnB,GAAG,EAAE,wBAAe;QAClB,IAAI,EAAE,CAAC;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;SACf;KACF,CAAC;IAEF,GAAG,EAAE,oBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,CAAC;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC,CAAC,IAAI;SAChB;KACF,CAAC,EALG,EAAE,CAAC,aAAa,CAKlB;CACJ,CAAC,CACH,CAAA;AAED,qCAAA,6BAGgB,OAAO,EAHvB,EAAE,CAAC,OAAO;KACP,GAAG,CAAC,KAAK,CAAC;KACV,UAAU,EAAE,CACS,EACA,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;IAClC,8BAAI,IAAI,GAAY;QAClB,OAAO,CAAC,KAAK,CAAC,6EAAA,IAAI,GAA6B,CAAC,CAAA;KACjD;AACH,CAAC,CAAC,CAAA"}
package/src/example.ts DELETED
@@ -1,52 +0,0 @@
1
- import { Ix, makeLayer } from "dfx"
2
- import Dotenv from "dotenv"
3
-
4
- Dotenv.config()
5
-
6
- const LiveEnv = makeLayer({
7
- token: process.env.DISCORD_BOT_TOKEN!,
8
- })
9
-
10
- const hello = Ix.guild(
11
- {
12
- name: "hello",
13
- description: "Eh yo",
14
- options: [
15
- {
16
- type: Discord.ApplicationCommandOptionType.SUB_COMMAND,
17
- name: "one",
18
- description: "The first sub command",
19
- },
20
- {
21
- type: Discord.ApplicationCommandOptionType.SUB_COMMAND,
22
- name: "two",
23
- description: "The second sub command",
24
- },
25
- ],
26
- },
27
- Ix.handleSubCommands({
28
- one: Effect.succeed({
29
- type: 4,
30
- data: {
31
- content: "One",
32
- },
33
- }),
34
-
35
- two: Ix.getSubCommand.map((a) => ({
36
- type: 4,
37
- data: {
38
- content: a.name,
39
- },
40
- })),
41
- }),
42
- )
43
-
44
- Ix.builder
45
- .add(hello)
46
- .runGateway()
47
- .provideLayer(LiveEnv)
48
- .unsafeRunPromiseExit.then((exit) => {
49
- if (exit.isFailure) {
50
- console.error(exit.cause.unsafeRunSync.pretty())
51
- }
52
- })