dfx 0.61.1 → 0.61.3

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.
@@ -20,7 +20,7 @@ export interface DiscordWSCodec {
20
20
  }
21
21
  export declare const DiscordWSCodec: Tag<DiscordWSCodec, DiscordWSCodec>;
22
22
  export declare const LiveJsonDiscordWSCodec: Layer.Layer<never, never, DiscordWSCodec>;
23
- declare const make: Effect.Effect<DiscordWSCodec | WS, never, {
23
+ declare const make: Effect.Effect<WS | DiscordWSCodec, never, {
24
24
  readonly connect: ({ onConnecting, outbound, url, version, }: OpenOpts) => Effect.Effect<never, never, {
25
25
  readonly run: Effect.Effect<never, import("dfx/DiscordGateway/WS").WebSocketError | import("dfx/DiscordGateway/WS").WebSocketCloseError, void>;
26
26
  readonly take: Effect.Effect<never, never, Discord.GatewayPayload<any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAErC,OAAO,KAAK,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAG9D,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAsBzC,eAAO,MAAM,IAAI,WACP,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QACvC,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,UACnC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAC5B,UAAU,OAAO,KAAK,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,sCA+BlE,CAAA"}
1
+ {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAErC,OAAO,KAAK,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAG9D,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAmBzC,eAAO,MAAM,IAAI,WACP,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QACvC,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,UACnC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAC5B,UAAU,OAAO,KAAK,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,sCA6BlE,CAAA"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.send = void 0;
7
- var _Duration = /*#__PURE__*/require("@effect/data/Duration");
7
+ var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Duration"));
8
8
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
9
9
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
10
  var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Queue"));
@@ -15,16 +15,15 @@ var _WS = /*#__PURE__*/require("dfx/DiscordGateway/WS");
15
15
  var EffectU = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/utils/Effect"));
16
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- const payload = (ref, seqRef) => Ref.get(seqRef).pipe(Effect.map(o => SendEvents.heartbeat(Option.getOrNull(o))), Effect.tap(() => Ref.set(ref, false)));
19
- const payloadOrReconnect = (ref, seqRef) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(ref, seqRef) : Effect.succeed(_WS.Reconnect));
20
- const send = (hellos, acks, seqRef, send) => Effect.gen(function* (_) {
21
- const ackedRef = yield* _(Ref.make(true));
22
- const heartbeats = EffectU.foreverSwitch(Queue.take(hellos).pipe(Effect.tap(() => Ref.set(ackedRef, true))), p => payloadOrReconnect(ackedRef, seqRef).pipe(Effect.tap(send), Effect.schedule(Schedule.duration((0, _Duration.millis)(p.d.heartbeat_interval * Math.random())).pipe(Schedule.andThen(Schedule.fixed((0, _Duration.millis)(p.d.heartbeat_interval)))))));
23
- const run = Queue.take(acks).pipe(Effect.tap(() => Ref.set(ackedRef, true)), Effect.forever);
24
- return yield* _(Effect.all([run, heartbeats], {
18
+ const payload = seqRef => Effect.map(Ref.get(seqRef), seq => SendEvents.heartbeat(Option.getOrNull(seq)));
19
+ const payloadOrReconnect = (ref, seqRef) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(seqRef) : Effect.succeed(_WS.Reconnect));
20
+ const send = (hellos, acks, seqRef, send) => Effect.flatMap(Ref.make(true), ackedRef => {
21
+ const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, seqRef).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
22
+ const run = Queue.take(acks).pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
23
+ return Effect.all([run, heartbeats], {
25
24
  concurrency: "unbounded",
26
25
  discard: true
27
- }));
26
+ });
28
27
  });
29
28
  exports.send = send;
30
29
  //# sourceMappingURL=heartbeats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.js","names":["_Duration","require","Option","_interopRequireWildcard","Effect","Queue","Ref","Schedule","SendEvents","_WS","EffectU","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","payload","ref","seqRef","pipe","map","o","heartbeat","getOrNull","tap","payloadOrReconnect","flatMap","acked","succeed","Reconnect","send","hellos","acks","gen","_","ackedRef","make","heartbeats","foreverSwitch","take","p","schedule","duration","millis","d","heartbeat_interval","Math","random","andThen","fixed","run","forever","all","concurrency","discard","exports"],"sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,SAAA,gBAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,MAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,KAAA,gBAAAF,uBAAA,eAAAF,OAAA;AACA,IAAAK,GAAA,gBAAAH,uBAAA,eAAAF,OAAA;AACA,IAAAM,QAAA,gBAAAJ,uBAAA,eAAAF,OAAA;AAEA,IAAAO,UAAA,gBAAAL,uBAAA,eAAAF,OAAA;AACA,IAAAQ,GAAA,gBAAAR,OAAA;AAEA,IAAAS,OAAA,gBAAAP,uBAAA,eAAAF,OAAA;AAA2C,SAAAU,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAT,wBAAAa,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE3C,MAAMW,OAAO,GAAGA,CACdC,GAAqB,EACrBC,MAAsC,KAEtC7B,GAAG,CAACe,GAAG,CAACc,MAAM,CAAC,CAACC,IAAI,CAClBhC,MAAM,CAACiC,GAAG,CAACC,CAAC,IAAI9B,UAAU,CAAC+B,SAAS,CAACrC,MAAM,CAACsC,SAAS,CAACF,CAAC,CAAC,CAAC,CAAC,EAC1DlC,MAAM,CAACqC,GAAG,CAAC,MAAMnC,GAAG,CAAC0B,GAAG,CAACE,GAAG,EAAE,KAAK,CAAC,CAAC,CACtC;AAEH,MAAMQ,kBAAkB,GAAGA,CACzBR,GAAqB,EACrBC,MAAsC,KAEtC/B,MAAM,CAACuC,OAAO,CACZrC,GAAG,CAACe,GAAG,CAACa,GAAG,CAAC,EACXU,KAAK,IACJA,KAAK,GAAGX,OAAO,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAG/B,MAAM,CAACyC,OAAO,CAACC,aAAS,CAAC,CAC3D;AAEI,MAAMC,IAAI,GAAGA,CAClBC,MAA6C,EAC7CC,IAA2C,EAC3Cd,MAAsC,EACtCY,IAAoE,KAEpE3C,MAAM,CAAC8C,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAAC7C,GAAG,CAAC+C,IAAI,CAAC,IAAI,CAAC,CAAC;EAEzC,MAAMC,UAAU,GAAG5C,OAAO,CAAC6C,aAAa,CACtClD,KAAK,CAACmD,IAAI,CAACR,MAAM,CAAC,CAACZ,IAAI,CAAChC,MAAM,CAACqC,GAAG,CAAC,MAAMnC,GAAG,CAAC0B,GAAG,CAACoB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAClEK,CAAC,IACCf,kBAAkB,CAACU,QAAQ,EAAEjB,MAAM,CAAC,CAACC,IAAI,CACvChC,MAAM,CAACqC,GAAG,CAACM,IAAI,CAAC,EAChB3C,MAAM,CAACsD,QAAQ,CACbnD,QAAQ,CAACoD,QAAQ,CACf,IAAAC,gBAAM,EAACH,CAAC,CAACI,CAAE,CAACC,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAC,CAChD,CAAC5B,IAAI,CACJ7B,QAAQ,CAAC0D,OAAO,CAAC1D,QAAQ,CAAC2D,KAAK,CAAC,IAAAN,gBAAM,EAACH,CAAC,CAACI,CAAE,CAACC,kBAAkB,CAAC,CAAC,CAAC,CAClE,CACF,CACF,CACJ;EAED,MAAMK,GAAG,GAAG9D,KAAK,CAACmD,IAAI,CAACP,IAAI,CAAC,CAACb,IAAI,CAC/BhC,MAAM,CAACqC,GAAG,CAAC,MAAMnC,GAAG,CAAC0B,GAAG,CAACoB,QAAQ,EAAE,IAAI,CAAC,CAAC,EACzChD,MAAM,CAACgE,OAAO,CACf;EAED,OAAO,OAAOjB,CAAC,CACb/C,MAAM,CAACiE,GAAG,CAAC,CAACF,GAAG,EAAEb,UAAU,CAAC,EAAE;IAC5BgB,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC,CACH;AACH,CAAC,CAAC;AAAAC,OAAA,CAAAzB,IAAA,GAAAA,IAAA"}
1
+ {"version":3,"file":"heartbeats.js","names":["Duration","_interopRequireWildcard","require","Option","Effect","Queue","Ref","Schedule","SendEvents","_WS","EffectU","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","payload","seqRef","map","seq","heartbeat","getOrNull","payloadOrReconnect","ref","flatMap","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard","exports"],"sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -9,7 +9,7 @@ import { DiscordWS } from "dfx/DiscordGateway/DiscordWS";
9
9
  import { Log } from "dfx/Log";
10
10
  import { RateLimiter } from "dfx/RateLimit";
11
11
  import * as Discord from "dfx/types";
12
- export declare const make: Effect.Effect<RateLimiter | Log | DiscordConfig | DiscordWS, never, {
12
+ export declare const make: Effect.Effect<DiscordConfig | RateLimiter | Log | DiscordWS, never, {
13
13
  readonly connect: (shard: [id: number, count: number], hub: Hub.Hub<Discord.GatewayPayload<Discord.ReceiveEvent>>, sendQueue: Queue.Dequeue<Discord.GatewayPayload<Discord.SendEvent>>) => Effect.Effect<never, never, {
14
14
  readonly id: [id: number, count: number];
15
15
  readonly send: (p: Message) => Effect.Effect<never, never, boolean>;
@@ -19,7 +19,7 @@ export declare const make: Effect.Effect<RateLimiter | Log | DiscordConfig | Dis
19
19
  export interface Shard extends Effect.Effect.Success<typeof make> {
20
20
  }
21
21
  export declare const Shard: Tag<Shard, Shard>;
22
- export declare const LiveShard: Layer.Layer<import("dfx/RateLimit").RateLimitStore | Log | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec | DiscordConfig, never, Shard>;
22
+ export declare const LiveShard: Layer.Layer<DiscordConfig | import("dfx/RateLimit").RateLimitStore | Log | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec, never, Shard>;
23
23
  export interface RunningShard extends Effect.Effect.Success<ReturnType<Shard["connect"]>> {
24
24
  }
25
25
  //# sourceMappingURL=Shard.d.ts.map
@@ -12,13 +12,13 @@ import type { WebSocketCloseError, WebSocketError } from "dfx/DiscordGateway/WS"
12
12
  import { DiscordREST } from "dfx/DiscordREST";
13
13
  import { RateLimiter } from "dfx/RateLimit";
14
14
  import type * as Discord from "dfx/types";
15
- declare const make: Effect.Effect<DiscordREST | RateLimiter | ShardStore | DiscordConfig | Shard, never, {
15
+ declare const make: Effect.Effect<DiscordConfig | RateLimiter | DiscordREST | ShardStore | Shard, never, {
16
16
  readonly shards: Effect.Effect<never, never, HashSet.HashSet<RunningShard>>;
17
17
  readonly run: (hub: Hub.Hub<Discord.GatewayPayload<Discord.ReceiveEvent>>, sendQueue: Queue.Dequeue<Discord.GatewayPayload<Discord.SendEvent>>) => Effect.Effect<never, WebSocketError | WebSocketCloseError, never>;
18
18
  }>;
19
19
  export interface Sharder extends Effect.Effect.Success<typeof make> {
20
20
  }
21
21
  export declare const Sharder: Tag<Sharder, Sharder>;
22
- export declare const LiveSharder: Layer.Layer<DiscordREST | import("dfx/RateLimit").RateLimitStore | import("../Log").Log | ShardStore | import("./DiscordWS").DiscordWSCodec | DiscordConfig, never, Sharder>;
22
+ export declare const LiveSharder: Layer.Layer<DiscordConfig | import("../Log").Log | import("dfx/RateLimit").RateLimitStore | DiscordREST | ShardStore | import("./DiscordWS").DiscordWSCodec, never, Sharder>;
23
23
  export {};
24
24
  //# sourceMappingURL=Sharder.d.ts.map
@@ -20,7 +20,7 @@ var _DiscordREST = /*#__PURE__*/require("dfx/DiscordREST");
20
20
  var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
21
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
- const claimRepeatPolicy = /*#__PURE__*/Schedule.fixed("3 minutes").pipe( /*#__PURE__*/Schedule.whileInput(_ => _._tag === "None"), Schedule.passthrough);
23
+ const claimRepeatPolicy = /*#__PURE__*/Schedule.spaced("3 minutes").pipe( /*#__PURE__*/Schedule.whileInput(_ => _._tag === "None"), Schedule.passthrough);
24
24
  const make = /*#__PURE__*/Effect.gen(function* (_) {
25
25
  const store = yield* _(_ShardStore.ShardStore);
26
26
  const rest = yield* _(_DiscordREST.DiscordREST);
@@ -1 +1 @@
1
- {"version":3,"file":"Sharder.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","HashSet","Deferred","Effect","Layer","Ref","Schedule","_DiscordConfig","_Shard","_ShardStore","_DiscordREST","_RateLimit","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","claimRepeatPolicy","fixed","pipe","whileInput","_","_tag","passthrough","make","gen","store","ShardStore","rest","DiscordREST","gateway","config","DiscordConfig","limiter","RateLimiter","shard","Shard","currentShards","empty","takeConfig","totalCount","currentCount","claimId","sharderCount","repeat","map","value","getAndUpdate","flatMap","id","getGatewayBot","r","json","catchAll","succeed","url","shards","session_start_limit","total","remaining","reset_after","max_concurrency","run","hub","sendQueue","deferred","take","shardCount","spawner","concurrency","tap","maybeWait","millis","identifyRateLimit","c","connect","acquireUseRelease","update","add","remove","catchAllCause","failCause","fork","forever","spawners","range","all","discard","await","Sharder","Tag","exports","LiveSharder","provide","merge","LiveRateLimiter","LiveShard","effect"],"sources":["../src/DiscordGateway/Sharder.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Sharder.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","HashSet","Deferred","Effect","Layer","Ref","Schedule","_DiscordConfig","_Shard","_ShardStore","_DiscordREST","_RateLimit","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","claimRepeatPolicy","spaced","pipe","whileInput","_","_tag","passthrough","make","gen","store","ShardStore","rest","DiscordREST","gateway","config","DiscordConfig","limiter","RateLimiter","shard","Shard","currentShards","empty","takeConfig","totalCount","currentCount","claimId","sharderCount","repeat","map","value","getAndUpdate","flatMap","id","getGatewayBot","r","json","catchAll","succeed","url","shards","session_start_limit","total","remaining","reset_after","max_concurrency","run","hub","sendQueue","deferred","take","shardCount","spawner","concurrency","tap","maybeWait","millis","identifyRateLimit","c","connect","acquireUseRelease","update","add","remove","catchAllCause","failCause","fork","forever","spawners","range","all","discard","await","Sharder","Tag","exports","LiveSharder","provide","merge","LiveRateLimiter","LiveShard","effect"],"sources":["../src/DiscordGateway/Sharder.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -17,5 +17,5 @@ export interface DiscordGateway {
17
17
  }
18
18
  export declare const DiscordGateway: Tag<DiscordGateway, DiscordGateway>;
19
19
  export declare const make: Effect.Effect<Sharder, never, DiscordGateway>;
20
- export declare const LiveDiscordGateway: Layer.Layer<import("./DiscordREST").DiscordREST | import("./RateLimit").RateLimitStore | import("./Log").Log | import("./DiscordGateway/ShardStore").ShardStore | import("./DiscordGateway/DiscordWS").DiscordWSCodec | import("./DiscordConfig").DiscordConfig, never, DiscordGateway>;
20
+ export declare const LiveDiscordGateway: Layer.Layer<import("./DiscordConfig").DiscordConfig | import("./Log").Log | import("./RateLimit").RateLimitStore | import("./DiscordREST").DiscordREST | import("./DiscordGateway/ShardStore").ShardStore | import("./DiscordGateway/DiscordWS").DiscordWSCodec, never, DiscordGateway>;
21
21
  //# sourceMappingURL=DiscordGateway.d.ts.map
@@ -16,7 +16,7 @@ export interface RunOpts {
16
16
  /**
17
17
  * @tsplus pipeable dfx/InteractionBuilder runGateway
18
18
  */
19
- export declare const run: <R, R2, E, TE, E2>(postHandler: (effect: Effect.Effect<Discord.Interaction | DiscordREST | R, DiscordRESTError | TE | DefinitionNotFound, void>) => Effect.Effect<R2, E2, void>, { sync }?: RunOpts) => (ix: InteractionBuilder<R, E, TE>) => Effect.Effect<DiscordREST | DiscordGateway | Exclude<R2, Discord.Interaction>, DiscordRESTError | Http.error.ResponseError | E2, never>;
19
+ export declare const run: <R, R2, E, TE, E2>(postHandler: (effect: Effect.Effect<DiscordREST | R | Discord.Interaction, DiscordRESTError | TE | DefinitionNotFound, void>) => Effect.Effect<R2, E2, void>, { sync }?: RunOpts) => (ix: InteractionBuilder<R, E, TE>) => Effect.Effect<DiscordREST | DiscordGateway | Exclude<R2, Discord.Interaction>, DiscordRESTError | Http.error.ResponseError | E2, never>;
20
20
  export interface InteractionsRegistry {
21
21
  readonly register: <E>(ix: InteractionBuilder<never, E, never>) => Effect.Effect<never, never, void>;
22
22
  readonly run: <R, E>(onError: (_: Cause<DiscordRESTError | DefinitionNotFound>) => Effect.Effect<R, E, void>, opts?: RunOpts) => Effect.Effect<DiscordREST | DiscordGateway | Exclude<R, Discord.Interaction>, DiscordRESTError | Http.error.ResponseError | E, never>;
package/gateway.d.ts CHANGED
@@ -16,6 +16,6 @@ export { DiscordGateway, LiveDiscordGateway } from "dfx/DiscordGateway";
16
16
  export { InteractionsRegistry, InteractionsRegistryLive, run as runIx, } from "dfx/Interactions/gateway";
17
17
  export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore, WS };
18
18
  export declare const MemoryRateLimit: Layer.Layer<Log.Log, never, RateLimiter>;
19
- export declare const MemoryBot: Layer.Layer<Log.Log | DiscordConfig.DiscordConfig, never, DiscordREST | InteractionsRegistry | DiscordGateway | RateLimiter>;
19
+ export declare const MemoryBot: Layer.Layer<DiscordConfig.DiscordConfig | Log.Log, never, RateLimiter | DiscordREST | InteractionsRegistry | DiscordGateway>;
20
20
  export declare const gatewayLayer: (config: Config.Config.Wrap<DiscordConfig.MakeOpts>) => Layer.Layer<never, ConfigError.ConfigError, RateLimiter | Log.Log | InteractionsRegistry | DiscordREST | DiscordGateway | DiscordConfig.DiscordConfig>;
21
21
  //# sourceMappingURL=gateway.d.ts.map
@@ -1,4 +1,4 @@
1
- import { millis } from "@effect/data/Duration";
1
+ import * as Duration from "@effect/data/Duration";
2
2
  import * as Option from "@effect/data/Option";
3
3
  import * as Effect from "@effect/io/Effect";
4
4
  import * as Queue from "@effect/io/Queue";
@@ -7,15 +7,14 @@ import * as Schedule from "@effect/io/Schedule";
7
7
  import * as SendEvents from "dfx/DiscordGateway/Shard/sendEvents";
8
8
  import { Reconnect } from "dfx/DiscordGateway/WS";
9
9
  import * as EffectU from "dfx/utils/Effect";
10
- const payload = (ref, seqRef) => Ref.get(seqRef).pipe(Effect.map(o => SendEvents.heartbeat(Option.getOrNull(o))), Effect.tap(() => Ref.set(ref, false)));
11
- const payloadOrReconnect = (ref, seqRef) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(ref, seqRef) : Effect.succeed(Reconnect));
12
- export const send = (hellos, acks, seqRef, send) => Effect.gen(function* (_) {
13
- const ackedRef = yield* _(Ref.make(true));
14
- const heartbeats = EffectU.foreverSwitch(Queue.take(hellos).pipe(Effect.tap(() => Ref.set(ackedRef, true))), p => payloadOrReconnect(ackedRef, seqRef).pipe(Effect.tap(send), Effect.schedule(Schedule.duration(millis(p.d.heartbeat_interval * Math.random())).pipe(Schedule.andThen(Schedule.fixed(millis(p.d.heartbeat_interval)))))));
15
- const run = Queue.take(acks).pipe(Effect.tap(() => Ref.set(ackedRef, true)), Effect.forever);
16
- return yield* _(Effect.all([run, heartbeats], {
10
+ const payload = seqRef => Effect.map(Ref.get(seqRef), seq => SendEvents.heartbeat(Option.getOrNull(seq)));
11
+ const payloadOrReconnect = (ref, seqRef) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(seqRef) : Effect.succeed(Reconnect));
12
+ export const send = (hellos, acks, seqRef, send) => Effect.flatMap(Ref.make(true), ackedRef => {
13
+ const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, seqRef).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
14
+ const run = Queue.take(acks).pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
15
+ return Effect.all([run, heartbeats], {
17
16
  concurrency: "unbounded",
18
17
  discard: true
19
- }));
18
+ });
20
19
  });
21
20
  //# sourceMappingURL=heartbeats.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.mjs","names":["millis","Option","Effect","Queue","Ref","Schedule","SendEvents","Reconnect","EffectU","payload","ref","seqRef","get","pipe","map","o","heartbeat","getOrNull","tap","set","payloadOrReconnect","flatMap","acked","succeed","send","hellos","acks","gen","_","ackedRef","make","heartbeats","foreverSwitch","take","p","schedule","duration","d","heartbeat_interval","Math","random","andThen","fixed","run","forever","all","concurrency","discard"],"sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,GAAG,MAAM,gBAAgB;AACrC,OAAO,KAAKC,QAAQ,MAAM,qBAAqB;AAE/C,OAAO,KAAKC,UAAU,MAAM,qCAAqC;AACjE,SAASC,SAAS,QAAQ,uBAAuB;AAEjD,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAE3C,MAAMC,OAAO,GAAGA,CACdC,GAAqB,EACrBC,MAAsC,KAEtCP,GAAG,CAACQ,GAAG,CAACD,MAAM,CAAC,CAACE,IAAI,CAClBX,MAAM,CAACY,GAAG,CAACC,CAAC,IAAIT,UAAU,CAACU,SAAS,CAACf,MAAM,CAACgB,SAAS,CAACF,CAAC,CAAC,CAAC,CAAC,EAC1Db,MAAM,CAACgB,GAAG,CAAC,MAAMd,GAAG,CAACe,GAAG,CAACT,GAAG,EAAE,KAAK,CAAC,CAAC,CACtC;AAEH,MAAMU,kBAAkB,GAAGA,CACzBV,GAAqB,EACrBC,MAAsC,KAEtCT,MAAM,CAACmB,OAAO,CACZjB,GAAG,CAACQ,GAAG,CAACF,GAAG,CAAC,EACXY,KAAK,IACJA,KAAK,GAAGb,OAAO,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGT,MAAM,CAACqB,OAAO,CAAChB,SAAS,CAAC,CAC3D;AAEH,OAAO,MAAMiB,IAAI,GAAGA,CAClBC,MAA6C,EAC7CC,IAA2C,EAC3Cf,MAAsC,EACtCa,IAAoE,KAEpEtB,MAAM,CAACyB,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAACxB,GAAG,CAAC0B,IAAI,CAAC,IAAI,CAAC,CAAC;EAEzC,MAAMC,UAAU,GAAGvB,OAAO,CAACwB,aAAa,CACtC7B,KAAK,CAAC8B,IAAI,CAACR,MAAM,CAAC,CAACZ,IAAI,CAACX,MAAM,CAACgB,GAAG,CAAC,MAAMd,GAAG,CAACe,GAAG,CAACU,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAClEK,CAAC,IACCd,kBAAkB,CAACS,QAAQ,EAAElB,MAAM,CAAC,CAACE,IAAI,CACvCX,MAAM,CAACgB,GAAG,CAACM,IAAI,CAAC,EAChBtB,MAAM,CAACiC,QAAQ,CACb9B,QAAQ,CAAC+B,QAAQ,CACfpC,MAAM,CAACkC,CAAC,CAACG,CAAE,CAACC,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAC,CAChD,CAAC3B,IAAI,CACJR,QAAQ,CAACoC,OAAO,CAACpC,QAAQ,CAACqC,KAAK,CAAC1C,MAAM,CAACkC,CAAC,CAACG,CAAE,CAACC,kBAAkB,CAAC,CAAC,CAAC,CAClE,CACF,CACF,CACJ;EAED,MAAMK,GAAG,GAAGxC,KAAK,CAAC8B,IAAI,CAACP,IAAI,CAAC,CAACb,IAAI,CAC/BX,MAAM,CAACgB,GAAG,CAAC,MAAMd,GAAG,CAACe,GAAG,CAACU,QAAQ,EAAE,IAAI,CAAC,CAAC,EACzC3B,MAAM,CAAC0C,OAAO,CACf;EAED,OAAO,OAAOhB,CAAC,CACb1B,MAAM,CAAC2C,GAAG,CAAC,CAACF,GAAG,EAAEZ,UAAU,CAAC,EAAE;IAC5Be,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC,CACH;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"heartbeats.mjs","names":["Duration","Option","Effect","Queue","Ref","Schedule","SendEvents","Reconnect","EffectU","payload","seqRef","map","get","seq","heartbeat","getOrNull","payloadOrReconnect","ref","flatMap","acked","succeed","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","set","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard"],"sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,uBAAuB;AACjD,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,GAAG,MAAM,gBAAgB;AACrC,OAAO,KAAKC,QAAQ,MAAM,qBAAqB;AAE/C,OAAO,KAAKC,UAAU,MAAM,qCAAqC;AACjE,SAASC,SAAS,QAAQ,uBAAuB;AAEjD,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAE3C,MAAMC,OAAO,GAAIC,MAAsC,IACrDR,MAAM,CAACS,GAAG,CACRP,GAAG,CAACQ,GAAG,CAACF,MAAM,CAAC,EACfG,GAAG,IAAIP,UAAU,CAACQ,SAAS,CAACb,MAAM,CAACc,SAAS,CAACF,GAAG,CAAC,CAAC,CACnD;AAEH,MAAMG,kBAAkB,GAAGA,CACzBC,GAAqB,EACrBP,MAAsC,KAEtCR,MAAM,CAACgB,OAAO,CACZd,GAAG,CAACQ,GAAG,CAACK,GAAG,CAAC,EACXE,KAAK,IACJA,KAAK,GAAGV,OAAO,CAACC,MAAM,CAAC,GAAGR,MAAM,CAACkB,OAAO,CAACb,SAAS,CAAC,CACtD;AAEH,OAAO,MAAMc,IAAI,GAAGA,CAClBC,MAA6C,EAC7CC,IAA2C,EAC3Cb,MAAsC,EACtCW,IAAoE,KAEpEnB,MAAM,CAACgB,OAAO,CAACd,GAAG,CAACoB,IAAI,CAAC,IAAI,CAAC,EAAEC,QAAQ,IAAG;EACxC,MAAMC,UAAU,GAAGlB,OAAO,CAACmB,aAAa,CACtCzB,MAAM,CAAC0B,OAAO,CAACzB,KAAK,CAAC0B,IAAI,CAACP,MAAM,CAAC,EAAElB,GAAG,CAAC0B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EAC3DM,CAAC,IACCf,kBAAkB,CAACS,QAAQ,EAAEf,MAAM,CAAC,CAACsB,IAAI,CACvC9B,MAAM,CAAC0B,OAAO,CAACxB,GAAG,CAAC0B,GAAG,CAACL,QAAQ,EAAE,KAAK,CAAC,CAAC,EACxCvB,MAAM,CAAC+B,GAAG,CAACZ,IAAI,CAAC,EAChBnB,MAAM,CAACgC,QAAQ,CACb7B,QAAQ,CAAC8B,OAAO,CACd9B,QAAQ,CAAC+B,QAAQ,CACfpC,QAAQ,CAACqC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAC,CACzD,EACDpC,QAAQ,CAACqC,MAAM,CAAC1C,QAAQ,CAACqC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,CAAC,CAAC,CAC1D,CACF,CACF,CACJ;EAED,MAAMI,GAAG,GAAGxC,KAAK,CAAC0B,IAAI,CAACN,IAAI,CAAC,CAACS,IAAI,CAC/B9B,MAAM,CAAC0B,OAAO,CAACxB,GAAG,CAAC0B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EACvCvB,MAAM,CAAC0C,OAAO,CACf;EAED,OAAO1C,MAAM,CAAC2C,GAAG,CAAC,CAACF,GAAG,EAAEjB,UAAU,CAAC,EAAE;IACnCoB,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC"}
@@ -12,7 +12,7 @@ import { LiveShard, Shard } from "dfx/DiscordGateway/Shard";
12
12
  import { ShardStore } from "dfx/DiscordGateway/ShardStore";
13
13
  import { DiscordREST } from "dfx/DiscordREST";
14
14
  import { LiveRateLimiter, RateLimiter } from "dfx/RateLimit";
15
- const claimRepeatPolicy = /*#__PURE__*/Schedule.fixed("3 minutes").pipe( /*#__PURE__*/Schedule.whileInput(_ => _._tag === "None"), Schedule.passthrough);
15
+ const claimRepeatPolicy = /*#__PURE__*/Schedule.spaced("3 minutes").pipe( /*#__PURE__*/Schedule.whileInput(_ => _._tag === "None"), Schedule.passthrough);
16
16
  const make = /*#__PURE__*/Effect.gen(function* (_) {
17
17
  const store = yield* _(ShardStore);
18
18
  const rest = yield* _(DiscordREST);
@@ -1 +1 @@
1
- {"version":3,"file":"Sharder.mjs","names":["Chunk","Tag","Duration","HashSet","Deferred","Effect","Layer","Ref","Schedule","DiscordConfig","LiveShard","Shard","ShardStore","DiscordREST","LiveRateLimiter","RateLimiter","claimRepeatPolicy","fixed","pipe","whileInput","_","_tag","passthrough","make","gen","store","rest","gateway","config","limiter","shard","currentShards","empty","takeConfig","totalCount","currentCount","claimId","sharderCount","repeat","map","value","getAndUpdate","flatMap","id","getGatewayBot","r","json","catchAll","succeed","url","shards","session_start_limit","total","remaining","reset_after","max_concurrency","run","hub","sendQueue","deferred","take","shardCount","spawner","concurrency","tap","maybeWait","millis","identifyRateLimit","c","connect","acquireUseRelease","update","add","remove","catchAllCause","failCause","fork","forever","spawners","range","all","discard","await","get","Sharder","LiveSharder","provide","merge","effect"],"sources":["../../src/DiscordGateway/Sharder.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Sharder.mjs","names":["Chunk","Tag","Duration","HashSet","Deferred","Effect","Layer","Ref","Schedule","DiscordConfig","LiveShard","Shard","ShardStore","DiscordREST","LiveRateLimiter","RateLimiter","claimRepeatPolicy","spaced","pipe","whileInput","_","_tag","passthrough","make","gen","store","rest","gateway","config","limiter","shard","currentShards","empty","takeConfig","totalCount","currentCount","claimId","sharderCount","repeat","map","value","getAndUpdate","flatMap","id","getGatewayBot","r","json","catchAll","succeed","url","shards","session_start_limit","total","remaining","reset_after","max_concurrency","run","hub","sendQueue","deferred","take","shardCount","spawner","concurrency","tap","maybeWait","millis","identifyRateLimit","c","connect","acquireUseRelease","update","add","remove","catchAllCause","failCause","fork","forever","spawners","range","all","discard","await","get","Sharder","LiveSharder","provide","merge","effect"],"sources":["../../src/DiscordGateway/Sharder.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,28 +1,20 @@
1
- import * as Option from "@effect/data/Option";
2
1
  import * as Deferred from "@effect/io/Deferred";
3
2
  import * as Effect from "@effect/io/Effect";
4
- import * as Fiber from "@effect/io/Fiber";
5
3
  import * as Hub from "@effect/io/Hub";
6
4
  import * as Queue from "@effect/io/Queue";
7
- import * as Ref from "@effect/io/Ref";
5
+ import * as ScopedRef from "@effect/io/ScopedRef";
8
6
  export const subscribeForEachPar = (self, effect) => Effect.flatMap(Deferred.make(), deferred => {
9
- const run = Hub.subscribe(self).pipe(Effect.flatMap(queue => Queue.take(queue).pipe(Effect.flatMap(_ => effect(_).pipe(Effect.catchAllCause(_ => Deferred.failCause(deferred, _)), Effect.fork)), Effect.forever)), Effect.scoped);
7
+ const run = Hub.subscribe(self).pipe(Effect.flatMap(queue => Queue.take(queue).pipe(Effect.flatMap(_ => effect(_).pipe(Effect.catchAllCause(_ => Deferred.failCause(deferred, _)), Effect.forkScoped)), Effect.forever)), Effect.scoped);
10
8
  return Effect.all([run, Deferred.await(deferred)], {
11
9
  concurrency: "unbounded",
12
10
  discard: true
13
- }).pipe(Effect.forever);
11
+ });
14
12
  });
15
- /**
16
- * @tsplus fluent effect/io/Effect foreverSwitch
17
- */
18
- export const foreverSwitch = (self, f) => Effect.flatMap(Effect.all([Deferred.make(), Ref.make(Option.none())]), ([causeDeferred, fiberRef]) => {
19
- const run = Effect.flatMap(self, _ => f(_).pipe(Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.fork)).pipe(Effect.flatMap(fiber => Ref.getAndSet(fiberRef, Option.some(fiber))), Effect.tap(_ => Option.match(_, {
20
- onNone: () => Effect.unit,
21
- onSome: fiber => Fiber.interrupt(fiber)
22
- })), Effect.forever);
13
+ export const foreverSwitch = (self, f) => Effect.all([Deferred.make(), ScopedRef.fromAcquire(Effect.fork(Effect.unit))]).pipe(Effect.flatMap(([causeDeferred, fiberRef]) => {
14
+ const run = self.pipe(Effect.flatMap(_ => ScopedRef.set(fiberRef, f(_).pipe(Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.forkScoped))), Effect.forever);
23
15
  return Effect.all([run, Deferred.await(causeDeferred)], {
24
16
  concurrency: "unbounded",
25
17
  discard: true
26
- }).pipe(Effect.forever);
27
- });
18
+ });
19
+ }), Effect.scoped);
28
20
  //# sourceMappingURL=Effect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.mjs","names":["Option","Deferred","Effect","Fiber","Hub","Queue","Ref","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","pipe","queue","take","_","catchAllCause","failCause","fork","forever","scoped","all","await","concurrency","discard","foreverSwitch","f","none","causeDeferred","fiberRef","tapErrorCause","fiber","getAndSet","some","tap","match","onNone","unit","onSome","interrupt"],"sources":["../../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Effect.mjs","names":["Deferred","Effect","Hub","Queue","ScopedRef","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","pipe","queue","take","_","catchAllCause","failCause","forkScoped","forever","scoped","all","await","concurrency","discard","foreverSwitch","f","fromAcquire","fork","unit","causeDeferred","fiberRef","set","tapErrorCause"],"sources":["../../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,qBAAqB;AAC/C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,GAAG,MAAM,gBAAgB;AACrC,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AAEjD,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,IAAgB,EAChBC,MAAwC,KAExCN,MAAM,CAACO,OAAO,CAACR,QAAQ,CAACS,IAAI,EAAY,EAAEC,QAAQ,IAAG;EACnD,MAAMC,GAAG,GAAGT,GAAG,CAACU,SAAS,CAACN,IAAI,CAAC,CAACO,IAAI,CAClCZ,MAAM,CAACO,OAAO,CAACM,KAAK,IAClBX,KAAK,CAACY,IAAI,CAACD,KAAK,CAAC,CAACD,IAAI,CACpBZ,MAAM,CAACO,OAAO,CAACQ,CAAC,IACdT,MAAM,CAACS,CAAC,CAAC,CAACH,IAAI,CACZZ,MAAM,CAACgB,aAAa,CAACD,CAAC,IAAIhB,QAAQ,CAACkB,SAAS,CAACR,QAAQ,EAAEM,CAAC,CAAC,CAAC,EAC1Df,MAAM,CAACkB,UAAU,CAClB,CACF,EACDlB,MAAM,CAACmB,OAAO,CACf,CACF,EACDnB,MAAM,CAACoB,MAAM,CACd;EAED,OAAOpB,MAAM,CAACqB,GAAG,CAAC,CAACX,GAAG,EAAEX,QAAQ,CAACuB,KAAK,CAACb,QAAQ,CAAC,CAAC,EAAE;IACjDc,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAA+B;AAClC,CAAC,CAAC;AAEJ,OAAO,MAAMC,aAAa,GAAGA,CAC3BpB,IAA4B,EAC5BqB,CAAqC,KAErC1B,MAAM,CAACqB,GAAG,CAAC,CACTtB,QAAQ,CAACS,IAAI,EAAa,EAC1BL,SAAS,CAACwB,WAAW,CACnB3B,MAAM,CAAC4B,IAAI,CAAC5B,MAAM,CAAC6B,IAAI,CAAC,CACzB,CACF,CAAC,CAACjB,IAAI,CACLZ,MAAM,CAACO,OAAO,CACZ,CAAC,CAACuB,aAAa,EAAEC,QAAQ,CAAC,KAAI;EAC5B,MAAMrB,GAAG,GAAGL,IAAI,CAACO,IAAI,CACnBZ,MAAM,CAACO,OAAO,CAACQ,CAAC,IACdZ,SAAS,CAAC6B,GAAG,CACXD,QAAQ,EACRL,CAAC,CAACX,CAAC,CAAC,CAACH,IAAI,CACPZ,MAAM,CAACiC,aAAa,CAAClB,CAAC,IAAIhB,QAAQ,CAACkB,SAAS,CAACa,aAAa,EAAEf,CAAC,CAAC,CAAC,EAC/Df,MAAM,CAACkB,UAAU,CAClB,CACF,CACF,EACDlB,MAAM,CAACmB,OAAO,CACf;EAED,OAAOnB,MAAM,CAACqB,GAAG,CAAC,CAACX,GAAG,EAAEX,QAAQ,CAACuB,KAAK,CAACQ,aAAa,CAAC,CAAC,EAAE;IACtDP,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAyC;AAC5C,CAAC,CACF,EACDxB,MAAM,CAACoB,MAAM,CACd"}
package/mjs/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const LIB_VERSION = "0.61.1";
1
+ export const LIB_VERSION = "0.61.3";
2
2
  //# sourceMappingURL=version.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.61.1",
3
+ "version": "0.61.3",
4
4
  "description": "Effect-TS discord library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -49,6 +49,6 @@
49
49
  "discord-verify": "^1.2.0",
50
50
  "utf-8-validate": "^6.0.3"
51
51
  },
52
- "gitHead": "b95ee2fb2af9eb2e523f8717970d49aebebafaf6",
52
+ "gitHead": "9132c4d987f23b0c7d89e2d5ce37e535fb075ff2",
53
53
  "main": "./index.js"
54
54
  }
@@ -1,4 +1,4 @@
1
- import { millis } from "@effect/data/Duration"
1
+ import * as Duration from "@effect/data/Duration"
2
2
  import * as Option from "@effect/data/Option"
3
3
  import * as Effect from "@effect/io/Effect"
4
4
  import * as Queue from "@effect/io/Queue"
@@ -10,13 +10,10 @@ import { Reconnect } from "dfx/DiscordGateway/WS"
10
10
  import type * as Discord from "dfx/types"
11
11
  import * as EffectU from "dfx/utils/Effect"
12
12
 
13
- const payload = (
14
- ref: Ref.Ref<boolean>,
15
- seqRef: Ref.Ref<Option.Option<number>>,
16
- ) =>
17
- Ref.get(seqRef).pipe(
18
- Effect.map(o => SendEvents.heartbeat(Option.getOrNull(o))),
19
- Effect.tap(() => Ref.set(ref, false)),
13
+ const payload = (seqRef: Ref.Ref<Option.Option<number>>) =>
14
+ Effect.map(
15
+ Ref.get(seqRef),
16
+ seq => SendEvents.heartbeat(Option.getOrNull(seq)),
20
17
  )
21
18
 
22
19
  const payloadOrReconnect = (
@@ -26,7 +23,7 @@ const payloadOrReconnect = (
26
23
  Effect.flatMap(
27
24
  Ref.get(ref),
28
25
  (acked): Effect.Effect<never, never, DiscordWS.Message> =>
29
- acked ? payload(ref, seqRef) : Effect.succeed(Reconnect),
26
+ acked ? payload(seqRef) : Effect.succeed(Reconnect),
30
27
  )
31
28
 
32
29
  export const send = (
@@ -35,33 +32,31 @@ export const send = (
35
32
  seqRef: Ref.Ref<Option.Option<number>>,
36
33
  send: (p: DiscordWS.Message) => Effect.Effect<never, never, boolean>,
37
34
  ) =>
38
- Effect.gen(function*(_) {
39
- const ackedRef = yield* _(Ref.make(true))
40
-
35
+ Effect.flatMap(Ref.make(true), ackedRef => {
41
36
  const heartbeats = EffectU.foreverSwitch(
42
- Queue.take(hellos).pipe(Effect.tap(() => Ref.set(ackedRef, true))),
37
+ Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)),
43
38
  p =>
44
39
  payloadOrReconnect(ackedRef, seqRef).pipe(
40
+ Effect.zipLeft(Ref.set(ackedRef, false)),
45
41
  Effect.tap(send),
46
42
  Effect.schedule(
47
- Schedule.duration(
48
- millis(p.d!.heartbeat_interval * Math.random()),
49
- ).pipe(
50
- Schedule.andThen(Schedule.fixed(millis(p.d!.heartbeat_interval))),
43
+ Schedule.andThen(
44
+ Schedule.duration(
45
+ Duration.millis(p.d!.heartbeat_interval * Math.random()),
46
+ ),
47
+ Schedule.spaced(Duration.millis(p.d!.heartbeat_interval)),
51
48
  ),
52
49
  ),
53
50
  ),
54
51
  )
55
52
 
56
53
  const run = Queue.take(acks).pipe(
57
- Effect.tap(() => Ref.set(ackedRef, true)),
54
+ Effect.zipLeft(Ref.set(ackedRef, true)),
58
55
  Effect.forever,
59
56
  )
60
57
 
61
- return yield* _(
62
- Effect.all([run, heartbeats], {
63
- concurrency: "unbounded",
64
- discard: true,
65
- }),
66
- )
58
+ return Effect.all([run, heartbeats], {
59
+ concurrency: "unbounded",
60
+ discard: true,
61
+ })
67
62
  })
@@ -19,7 +19,7 @@ import { DiscordREST } from "dfx/DiscordREST"
19
19
  import { LiveRateLimiter, RateLimiter } from "dfx/RateLimit"
20
20
  import type * as Discord from "dfx/types"
21
21
 
22
- const claimRepeatPolicy = Schedule.fixed("3 minutes").pipe(
22
+ const claimRepeatPolicy = Schedule.spaced("3 minutes").pipe(
23
23
  Schedule.whileInput((_: Option.Option<number>) => _._tag === "None"),
24
24
  Schedule.passthrough,
25
25
  ) as Schedule.Schedule<never, Option.Option<number>, Option.Some<number>>
@@ -1,10 +1,9 @@
1
- import * as Option from "@effect/data/Option"
2
1
  import * as Deferred from "@effect/io/Deferred"
3
2
  import * as Effect from "@effect/io/Effect"
4
- import * as Fiber from "@effect/io/Fiber"
3
+ import type * as Fiber from "@effect/io/Fiber"
5
4
  import * as Hub from "@effect/io/Hub"
6
5
  import * as Queue from "@effect/io/Queue"
7
- import * as Ref from "@effect/io/Ref"
6
+ import * as ScopedRef from "@effect/io/ScopedRef"
8
7
 
9
8
  export const subscribeForEachPar = <R, E, A, X>(
10
9
  self: Hub.Hub<A>,
@@ -17,7 +16,7 @@ export const subscribeForEachPar = <R, E, A, X>(
17
16
  Effect.flatMap(_ =>
18
17
  effect(_).pipe(
19
18
  Effect.catchAllCause(_ => Deferred.failCause(deferred, _)),
20
- Effect.fork,
19
+ Effect.forkScoped,
21
20
  )
22
21
  ),
23
22
  Effect.forever,
@@ -29,40 +28,39 @@ export const subscribeForEachPar = <R, E, A, X>(
29
28
  return Effect.all([run, Deferred.await(deferred)], {
30
29
  concurrency: "unbounded",
31
30
  discard: true,
32
- }).pipe(Effect.forever)
31
+ }) as Effect.Effect<R, E, never>
33
32
  })
34
33
 
35
- /**
36
- * @tsplus fluent effect/io/Effect foreverSwitch
37
- */
38
34
  export const foreverSwitch = <R, E, A, R1, E1, X>(
39
35
  self: Effect.Effect<R, E, A>,
40
36
  f: (_: A) => Effect.Effect<R1, E1, X>,
41
37
  ): Effect.Effect<R | R1, E | E1, never> =>
42
- Effect.flatMap(
43
- Effect.all([
44
- Deferred.make<E1, never>(),
45
- Ref.make<Option.Option<Fiber.RuntimeFiber<E1, X>>>(Option.none()),
46
- ]),
47
- ([causeDeferred, fiberRef]) => {
48
- const run = Effect.flatMap(self, _ =>
49
- f(_).pipe(
50
- Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)),
51
- Effect.fork,
52
- )).pipe(
53
- Effect.flatMap(fiber => Ref.getAndSet(fiberRef, Option.some(fiber))),
54
- Effect.tap(_ =>
55
- Option.match(_, {
56
- onNone: () => Effect.unit,
57
- onSome: fiber => Fiber.interrupt(fiber),
58
- })
38
+ Effect.all([
39
+ Deferred.make<E1, never>(),
40
+ ScopedRef.fromAcquire<R1, never, Fiber.RuntimeFiber<unknown, unknown>>(
41
+ Effect.fork(Effect.unit),
42
+ ),
43
+ ]).pipe(
44
+ Effect.flatMap(
45
+ ([causeDeferred, fiberRef]) => {
46
+ const run = self.pipe(
47
+ Effect.flatMap(_ =>
48
+ ScopedRef.set(
49
+ fiberRef,
50
+ f(_).pipe(
51
+ Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)),
52
+ Effect.forkScoped,
53
+ ),
54
+ )
59
55
  ),
60
56
  Effect.forever,
61
57
  )
62
58
 
63
- return Effect.all([run, Deferred.await(causeDeferred)], {
64
- concurrency: "unbounded",
65
- discard: true,
66
- }).pipe(Effect.forever)
67
- },
59
+ return Effect.all([run, Deferred.await(causeDeferred)], {
60
+ concurrency: "unbounded",
61
+ discard: true,
62
+ }) as Effect.Effect<R | R1, E | E1, never>
63
+ },
64
+ ),
65
+ Effect.scoped,
68
66
  )
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const LIB_VERSION = "0.61.1";
1
+ export const LIB_VERSION = "0.61.3";
package/utils/Effect.d.ts CHANGED
@@ -1,8 +1,5 @@
1
1
  import * as Effect from "@effect/io/Effect";
2
2
  import * as Hub from "@effect/io/Hub";
3
3
  export declare const subscribeForEachPar: <R, E, A, X>(self: Hub.Hub<A>, effect: (_: A) => Effect.Effect<R, E, X>) => Effect.Effect<R, E, never>;
4
- /**
5
- * @tsplus fluent effect/io/Effect foreverSwitch
6
- */
7
4
  export declare const foreverSwitch: <R, E, A, R1, E1, X>(self: Effect.Effect<R, E, A>, f: (_: A) => Effect.Effect<R1, E1, X>) => Effect.Effect<R | R1, E | E1, never>;
8
5
  //# sourceMappingURL=Effect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/utils/Effect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAIrC,eAAO,MAAM,mBAAmB,wGAwB5B,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,aAAa,mIA8BvB,CAAA"}
1
+ {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/utils/Effect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAIrC,eAAO,MAAM,mBAAmB,wGAwB5B,CAAA;AAEJ,eAAO,MAAM,aAAa,mIAgCvB,CAAA"}
package/utils/Effect.js CHANGED
@@ -4,35 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.subscribeForEachPar = exports.foreverSwitch = void 0;
7
- var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
8
7
  var Deferred = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Deferred"));
9
8
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
- var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Fiber"));
11
9
  var Hub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Hub"));
12
10
  var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Queue"));
13
- var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Ref"));
11
+ var ScopedRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/ScopedRef"));
14
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
14
  const subscribeForEachPar = (self, effect) => Effect.flatMap(Deferred.make(), deferred => {
17
- const run = Hub.subscribe(self).pipe(Effect.flatMap(queue => Queue.take(queue).pipe(Effect.flatMap(_ => effect(_).pipe(Effect.catchAllCause(_ => Deferred.failCause(deferred, _)), Effect.fork)), Effect.forever)), Effect.scoped);
15
+ const run = Hub.subscribe(self).pipe(Effect.flatMap(queue => Queue.take(queue).pipe(Effect.flatMap(_ => effect(_).pipe(Effect.catchAllCause(_ => Deferred.failCause(deferred, _)), Effect.forkScoped)), Effect.forever)), Effect.scoped);
18
16
  return Effect.all([run, Deferred.await(deferred)], {
19
17
  concurrency: "unbounded",
20
18
  discard: true
21
- }).pipe(Effect.forever);
19
+ });
22
20
  });
23
- /**
24
- * @tsplus fluent effect/io/Effect foreverSwitch
25
- */
26
21
  exports.subscribeForEachPar = subscribeForEachPar;
27
- const foreverSwitch = (self, f) => Effect.flatMap(Effect.all([Deferred.make(), Ref.make(Option.none())]), ([causeDeferred, fiberRef]) => {
28
- const run = Effect.flatMap(self, _ => f(_).pipe(Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.fork)).pipe(Effect.flatMap(fiber => Ref.getAndSet(fiberRef, Option.some(fiber))), Effect.tap(_ => Option.match(_, {
29
- onNone: () => Effect.unit,
30
- onSome: fiber => Fiber.interrupt(fiber)
31
- })), Effect.forever);
22
+ const foreverSwitch = (self, f) => Effect.all([Deferred.make(), ScopedRef.fromAcquire(Effect.fork(Effect.unit))]).pipe(Effect.flatMap(([causeDeferred, fiberRef]) => {
23
+ const run = self.pipe(Effect.flatMap(_ => ScopedRef.set(fiberRef, f(_).pipe(Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.forkScoped))), Effect.forever);
32
24
  return Effect.all([run, Deferred.await(causeDeferred)], {
33
25
  concurrency: "unbounded",
34
26
  discard: true
35
- }).pipe(Effect.forever);
36
- });
27
+ });
28
+ }), Effect.scoped);
37
29
  exports.foreverSwitch = foreverSwitch;
38
30
  //# sourceMappingURL=Effect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.js","names":["Option","_interopRequireWildcard","require","Deferred","Effect","Fiber","Hub","Queue","Ref","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","pipe","queue","take","_","catchAllCause","failCause","fork","forever","scoped","all","await","concurrency","discard","exports","foreverSwitch","f","none","causeDeferred","fiberRef","tapErrorCause","fiber","getAndSet","some","tap","match","onNone","unit","onSome","interrupt"],"sources":["../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Effect.js","names":["Deferred","_interopRequireWildcard","require","Effect","Hub","Queue","ScopedRef","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","pipe","queue","take","_","catchAllCause","failCause","forkScoped","forever","scoped","all","await","concurrency","discard","exports","foreverSwitch","f","fromAcquire","fork","unit","causeDeferred","fiberRef","tapErrorCause"],"sources":["../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"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"}
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const LIB_VERSION = "0.61.1";
1
+ export declare const LIB_VERSION = "0.61.3";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LIB_VERSION = void 0;
7
- const LIB_VERSION = "0.61.1";
7
+ const LIB_VERSION = "0.61.3";
8
8
  exports.LIB_VERSION = LIB_VERSION;
9
9
  //# sourceMappingURL=version.js.map
package/webhooks.d.ts CHANGED
@@ -8,7 +8,7 @@ import * as Log from "dfx/Log";
8
8
  import type { RateLimiter } from "dfx/RateLimit";
9
9
  export { BadWebhookSignature, makeConfigLayer, makeHandler, makeSimpleHandler, WebhookConfig, WebhookParseError, } from "dfx/Interactions/webhook";
10
10
  export declare const MemoryRateLimit: Layer.Layer<Log.Log, never, RateLimiter>;
11
- export declare const MemoryREST: Layer.Layer<Log.Log | DiscordConfig.DiscordConfig, never, DiscordREST>;
11
+ export declare const MemoryREST: Layer.Layer<DiscordConfig.DiscordConfig | Log.Log, never, DiscordREST>;
12
12
  export declare const webhookLayer: (options: DiscordConfig.MakeOpts & MakeConfigOpts) => Layer.Layer<never, ConfigError.ConfigError, RateLimiter | DiscordREST | WebhookConfig>;
13
13
  export declare const webhookLayerConfig: (config: Config.Config.Wrap<DiscordConfig.MakeOpts & MakeConfigOpts>) => Layer.Layer<never, ConfigError.ConfigError, RateLimiter | DiscordREST | WebhookConfig>;
14
14
  //# sourceMappingURL=webhooks.d.ts.map