dfx 0.90.1 → 0.90.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.
- package/Cache/prelude.d.ts.map +1 -1
- package/Cache/prelude.js +8 -2
- package/Cache/prelude.js.map +1 -1
- package/Cache.d.ts +11 -7
- package/Cache.d.ts.map +1 -1
- package/Cache.js +12 -13
- package/Cache.js.map +1 -1
- package/DiscordGateway/DiscordWS.d.ts.map +1 -1
- package/DiscordGateway/DiscordWS.js +2 -2
- package/DiscordGateway/DiscordWS.js.map +1 -1
- package/DiscordGateway/Shard.d.ts +2 -2
- package/DiscordGateway/Shard.d.ts.map +1 -1
- package/DiscordGateway/Shard.js +25 -11
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts.map +1 -1
- package/DiscordGateway/Sharder.js +1 -1
- package/DiscordGateway/Sharder.js.map +1 -1
- package/DiscordREST.d.ts +10 -5
- package/DiscordREST.d.ts.map +1 -1
- package/DiscordREST.js +15 -9
- package/DiscordREST.js.map +1 -1
- package/Interactions/context.d.ts +14 -21
- package/Interactions/context.d.ts.map +1 -1
- package/Interactions/context.js +12 -34
- package/Interactions/context.js.map +1 -1
- package/Interactions/definitions.d.ts +3 -2
- package/Interactions/definitions.d.ts.map +1 -1
- package/Interactions/error.d.ts +2 -0
- package/Interactions/error.d.ts.map +1 -0
- package/Interactions/error.js +8 -0
- package/Interactions/error.js.map +1 -0
- package/Interactions/gateway.d.ts.map +1 -1
- package/Interactions/gateway.js +1 -1
- package/Interactions/gateway.js.map +1 -1
- package/Interactions/webhook.d.ts +9 -4
- package/Interactions/webhook.d.ts.map +1 -1
- package/Interactions/webhook.js +6 -8
- package/Interactions/webhook.js.map +1 -1
- package/mjs/Cache/prelude.mjs +8 -2
- package/mjs/Cache/prelude.mjs.map +1 -1
- package/mjs/Cache.mjs +10 -12
- package/mjs/Cache.mjs.map +1 -1
- package/mjs/DiscordGateway/DiscordWS.mjs +2 -2
- package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard.mjs +25 -11
- package/mjs/DiscordGateway/Shard.mjs.map +1 -1
- package/mjs/DiscordGateway/Sharder.mjs +1 -1
- package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
- package/mjs/DiscordREST.mjs +14 -8
- package/mjs/DiscordREST.mjs.map +1 -1
- package/mjs/Interactions/context.mjs +11 -31
- package/mjs/Interactions/context.mjs.map +1 -1
- package/mjs/Interactions/error.mjs +2 -0
- package/mjs/Interactions/error.mjs.map +1 -0
- package/mjs/Interactions/gateway.mjs +1 -1
- package/mjs/Interactions/gateway.mjs.map +1 -1
- package/mjs/Interactions/webhook.mjs +6 -8
- package/mjs/Interactions/webhook.mjs.map +1 -1
- package/mjs/utils/Effect.mjs +2 -2
- package/mjs/utils/Effect.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +4 -4
- package/src/Cache/prelude.ts +6 -2
- package/src/Cache.ts +19 -8
- package/src/DiscordGateway/DiscordWS.ts +2 -0
- package/src/DiscordGateway/Shard.ts +17 -6
- package/src/DiscordGateway/Sharder.ts +1 -0
- package/src/DiscordREST.ts +21 -9
- package/src/Interactions/context.ts +24 -45
- package/src/Interactions/definitions.ts +2 -2
- package/src/Interactions/error.ts +3 -0
- package/src/Interactions/gateway.ts +1 -0
- package/src/Interactions/webhook.ts +7 -5
- package/src/utils/Effect.ts +2 -0
- package/src/version.ts +1 -1
- package/utils/Effect.d.ts.map +1 -1
- package/utils/Effect.js +2 -2
- package/utils/Effect.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/DiscordGateway/WS.d.ts +0 -38
- package/DiscordGateway/WS.d.ts.map +0 -1
- package/DiscordGateway/WS.js +0 -115
- package/DiscordGateway/WS.js.map +0 -1
- package/mjs/DiscordGateway/WS.mjs +0 -104
- package/mjs/DiscordGateway/WS.mjs.map +0 -1
|
@@ -8,6 +8,8 @@ import * as Layer from "effect/Layer";
|
|
|
8
8
|
import { handlers } from "dfx/Interactions/handlers";
|
|
9
9
|
import { Interaction } from "dfx/Interactions/index";
|
|
10
10
|
import * as Verify from "discord-verify";
|
|
11
|
+
import { RefailError } from "@effect/platform/Error";
|
|
12
|
+
import { InteractionsErrorTypeId } from "dfx/Interactions/error";
|
|
11
13
|
export class BadWebhookSignature {
|
|
12
14
|
_tag = "BadWebhookSignature";
|
|
13
15
|
}
|
|
@@ -29,20 +31,16 @@ const makeConfig = ({
|
|
|
29
31
|
export const WebhookConfig = /*#__PURE__*/GenericTag("dfx/Interactions/WebhookConfig");
|
|
30
32
|
export const layer = opts => Layer.succeed(WebhookConfig, makeConfig(opts));
|
|
31
33
|
export const layerConfig = config => Layer.effect(WebhookConfig, Effect.map(config, makeConfig));
|
|
32
|
-
export class WebhookParseError {
|
|
33
|
-
reason;
|
|
34
|
-
_tag = "WebhookParseError";
|
|
35
|
-
constructor(reason) {
|
|
36
|
-
this.reason = reason;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
34
|
+
export class WebhookParseError extends RefailError(InteractionsErrorTypeId, "WebhookParseError") {}
|
|
39
35
|
const fromHeadersAndBody = (headers, body) => Effect.tap(WebhookConfig, ({
|
|
40
36
|
algorithm,
|
|
41
37
|
crypto,
|
|
42
38
|
publicKey
|
|
43
39
|
}) => checkSignature(publicKey, headers, body, crypto, algorithm)).pipe(Effect.flatMap(() => Effect.try({
|
|
44
40
|
try: () => JSON.parse(body),
|
|
45
|
-
catch:
|
|
41
|
+
catch: error => new WebhookParseError({
|
|
42
|
+
error
|
|
43
|
+
})
|
|
46
44
|
})));
|
|
47
45
|
const run = (definitions, handleResponse) => {
|
|
48
46
|
const handler = handlers(definitions, handleResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.mjs","names":["Chunk","GenericTag","identity","Option","Secret","Effect","Layer","handlers","Interaction","Verify","BadWebhookSignature","_tag","checkSignature","publicKey","headers","body","crypto","algorithm","all","signature","fromNullable","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","catchAllCause","fail","asUnit","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","layer","opts","succeed","layerConfig","config","effect","map","WebhookParseError","
|
|
1
|
+
{"version":3,"file":"webhook.mjs","names":["Chunk","GenericTag","identity","Option","Secret","Effect","Layer","handlers","Interaction","Verify","RefailError","InteractionsErrorTypeId","BadWebhookSignature","_tag","checkSignature","publicKey","headers","body","crypto","algorithm","all","signature","fromNullable","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","catchAllCause","fail","asUnit","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","layer","opts","succeed","layerConfig","config","effect","map","WebhookParseError","fromHeadersAndBody","tap","try","JSON","parse","catch","error","run","definitions","handleResponse","handler","interaction","provideService","type","makeHandler","ix","handle","d","_i","r","success","makeSimpleHandler"],"sources":["../../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/mjs/utils/Effect.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as Effect from "effect/Effect";
|
|
|
4
4
|
import * as PubSub from "effect/PubSub";
|
|
5
5
|
import * as Queue from "effect/Queue";
|
|
6
6
|
export const subscribeForEachPar = (self, effect) => Effect.flatMap(Deferred.make(), deferred => {
|
|
7
|
-
const run = pipe(PubSub.subscribe(self), Effect.flatMap(queue => Effect.forever(Effect.flatMap(Queue.take(queue), _ => Effect.fork(Effect.catchAllCause(effect(_), _ => Deferred.failCause(deferred, _)))))), Effect.scoped);
|
|
7
|
+
const run = pipe(PubSub.subscribe(self), Effect.flatMap(queue => Effect.forever(Effect.flatMap(Queue.take(queue), _ => Effect.fork(Effect.catchAllCause(effect(_), _ => Deferred.failCause(deferred, _)))))), Effect.scoped, Effect.interruptible);
|
|
8
8
|
return Effect.all([run, Deferred.await(deferred)], {
|
|
9
9
|
concurrency: "unbounded",
|
|
10
10
|
discard: true
|
|
@@ -14,7 +14,7 @@ export const foreverSwitch = (self, f) => pipe(Effect.all([Deferred.make(), Effe
|
|
|
14
14
|
let fiber;
|
|
15
15
|
const run = pipe(self, Effect.tap(() => fiber ? fiber.interruptAsFork(fiberId) : Effect.unit), Effect.flatMap(_ => pipe(f(_), Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.fork)), Effect.tap(fiber_ => Effect.sync(() => {
|
|
16
16
|
fiber = fiber_;
|
|
17
|
-
})), Effect.forever);
|
|
17
|
+
})), Effect.forever, Effect.interruptible);
|
|
18
18
|
return Effect.all([run, Deferred.await(causeDeferred)], {
|
|
19
19
|
concurrency: "unbounded",
|
|
20
20
|
discard: true
|
package/mjs/utils/Effect.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.mjs","names":["pipe","Deferred","Effect","PubSub","Queue","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","queue","forever","take","_","fork","catchAllCause","failCause","scoped","all","await","concurrency","discard","foreverSwitch","f","fiberId","causeDeferred","fiber","tap","interruptAsFork","unit","tapErrorCause","fiber_","sync"],"sources":["../../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,IAAsB,EACtBC,MAAwC,KAExCL,MAAM,CAACM,OAAO,CAACP,QAAQ,CAACQ,IAAI,EAAY,EAAEC,QAAQ,IAAG;EACnD,MAAMC,GAAG,GAAGX,IAAI,CACdG,MAAM,CAACS,SAAS,CAACN,IAAI,CAAC,EACtBJ,MAAM,CAACM,OAAO,CAACK,KAAK,IAClBX,MAAM,CAACY,OAAO,CACZZ,MAAM,CAACM,OAAO,CAACJ,KAAK,CAACW,IAAI,CAACF,KAAK,CAAC,EAAEG,CAAC,IACjCd,MAAM,CAACe,IAAI,CACTf,MAAM,CAACgB,aAAa,CAACX,MAAM,CAACS,CAAC,CAAC,EAAEA,CAAC,IAC/Bf,QAAQ,CAACkB,SAAS,CAACT,QAAQ,EAAEM,CAAC,CAAC,CAChC,CACF,CACF,CACF,CACF,EACDd,MAAM,CAACkB,MAAM,
|
|
1
|
+
{"version":3,"file":"Effect.mjs","names":["pipe","Deferred","Effect","PubSub","Queue","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","queue","forever","take","_","fork","catchAllCause","failCause","scoped","interruptible","all","await","concurrency","discard","foreverSwitch","f","fiberId","causeDeferred","fiber","tap","interruptAsFork","unit","tapErrorCause","fiber_","sync"],"sources":["../../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,IAAsB,EACtBC,MAAwC,KAExCL,MAAM,CAACM,OAAO,CAACP,QAAQ,CAACQ,IAAI,EAAY,EAAEC,QAAQ,IAAG;EACnD,MAAMC,GAAG,GAAGX,IAAI,CACdG,MAAM,CAACS,SAAS,CAACN,IAAI,CAAC,EACtBJ,MAAM,CAACM,OAAO,CAACK,KAAK,IAClBX,MAAM,CAACY,OAAO,CACZZ,MAAM,CAACM,OAAO,CAACJ,KAAK,CAACW,IAAI,CAACF,KAAK,CAAC,EAAEG,CAAC,IACjCd,MAAM,CAACe,IAAI,CACTf,MAAM,CAACgB,aAAa,CAACX,MAAM,CAACS,CAAC,CAAC,EAAEA,CAAC,IAC/Bf,QAAQ,CAACkB,SAAS,CAACT,QAAQ,EAAEM,CAAC,CAAC,CAChC,CACF,CACF,CACF,CACF,EACDd,MAAM,CAACkB,MAAM,EACblB,MAAM,CAACmB,aAAa,CACrB;EAED,OAAOnB,MAAM,CAACoB,GAAG,CAAC,CAACX,GAAG,EAAEV,QAAQ,CAACsB,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,KAErC3B,IAAI,CACFE,MAAM,CAACoB,GAAG,CAAC,CAACrB,QAAQ,CAACQ,IAAI,EAAa,EAAEP,MAAM,CAAC0B,OAAO,CAAC,CAAC,EACxD1B,MAAM,CAACM,OAAO,CAAC,CAAC,CAACqB,aAAa,EAAED,OAAO,CAAC,KAAI;EAC1C,IAAIE,KAAuD;EAE3D,MAAMnB,GAAG,GAAGX,IAAI,CACdM,IAAI,EACJJ,MAAM,CAAC6B,GAAG,CAAC,MACTD,KAAK,GAAGA,KAAK,CAACE,eAAe,CAACJ,OAAO,CAAC,GAAG1B,MAAM,CAAC+B,IAAI,CACrD,EACD/B,MAAM,CAACM,OAAO,CAACQ,CAAC,IACdhB,IAAI,CACF2B,CAAC,CAACX,CAAC,CAAC,EACJd,MAAM,CAACgC,aAAa,CAAClB,CAAC,IAAIf,QAAQ,CAACkB,SAAS,CAACU,aAAa,EAAEb,CAAC,CAAC,CAAC,EAC/Dd,MAAM,CAACe,IAAI,CACZ,CACF,EACDf,MAAM,CAAC6B,GAAG,CAACI,MAAM,IACfjC,MAAM,CAACkC,IAAI,CAAC,MAAK;IACfN,KAAK,GAAGK,MAAM;EAChB,CAAC,CAAC,CACH,EACDjC,MAAM,CAACY,OAAO,EACdZ,MAAM,CAACmB,aAAa,CACrB;EAED,OAAOnB,MAAM,CAACoB,GAAG,CAAC,CAACX,GAAG,EAAEV,QAAQ,CAACsB,KAAK,CAACM,aAAa,CAAC,CAAC,EAAE;IACtDL,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAyC;AAC5C,CAAC,CAAC,CACH","ignoreList":[]}
|
package/mjs/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.90.
|
|
1
|
+
export const LIB_VERSION = "0.90.3";
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.90.
|
|
3
|
+
"version": "0.90.3",
|
|
4
4
|
"description": "Effect-TS discord library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"sideEffects": [],
|
|
36
36
|
"author": "Tim Smart <hello@timsmart.co>",
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@effect/platform": "^0.48.
|
|
39
|
-
"effect": "^2.4.
|
|
38
|
+
"@effect/platform": "^0.48.7",
|
|
39
|
+
"effect": "^2.4.7"
|
|
40
40
|
},
|
|
41
41
|
"optionalDependencies": {
|
|
42
42
|
"bufferutil": "^4.0.8",
|
|
@@ -44,6 +44,6 @@
|
|
|
44
44
|
"utf-8-validate": "^6.0.3",
|
|
45
45
|
"zlib-sync": "^0.1.9"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "848c3faff6aa1455f3c919677506ef1a9dd72273",
|
|
48
48
|
"main": "./index.js"
|
|
49
49
|
}
|
package/src/Cache/prelude.ts
CHANGED
|
@@ -238,7 +238,10 @@ export const roles = <RM, EM, E>(
|
|
|
238
238
|
return yield* _(
|
|
239
239
|
makeWithParent({
|
|
240
240
|
driver,
|
|
241
|
-
id: _ =>
|
|
241
|
+
id: _ =>
|
|
242
|
+
Effect.fail(
|
|
243
|
+
new CacheMissError({ cacheName: "RolesCache/id", id: _.id }),
|
|
244
|
+
),
|
|
242
245
|
ops: opsWithParent({
|
|
243
246
|
id: (a: Discord.Role) => a.id,
|
|
244
247
|
fromParent: Stream.map(gateway.fromDispatch("GUILD_CREATE"), g => [
|
|
@@ -262,7 +265,8 @@ export const roles = <RM, EM, E>(
|
|
|
262
265
|
g => g.id,
|
|
263
266
|
),
|
|
264
267
|
}),
|
|
265
|
-
onMiss: (_, id) =>
|
|
268
|
+
onMiss: (_, id) =>
|
|
269
|
+
Effect.fail(new CacheMissError({ cacheName: "RolesCache", id })),
|
|
266
270
|
onParentMiss: guildId =>
|
|
267
271
|
rest
|
|
268
272
|
.getGuildRoles(guildId)
|
package/src/Cache.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { TypeIdError } from "@effect/platform/Error"
|
|
2
|
+
import type { CacheDriver, ParentCacheDriver } from "dfx/Cache/driver"
|
|
3
|
+
import * as Effect from "effect/Effect"
|
|
1
4
|
import * as Option from "effect/Option"
|
|
2
5
|
import * as Schedule from "effect/Schedule"
|
|
3
6
|
import type * as Scope from "effect/Scope"
|
|
4
|
-
import * as Effect from "effect/Effect"
|
|
5
7
|
import * as Stream from "effect/Stream"
|
|
6
|
-
import type { CacheDriver, ParentCacheDriver } from "dfx/Cache/driver"
|
|
7
8
|
|
|
8
9
|
export * from "dfx/Cache/driver"
|
|
9
10
|
export {
|
|
@@ -97,6 +98,7 @@ export const makeWithParent = <EOps, EDriver, EMiss, EPMiss, A>({
|
|
|
97
98
|
Effect.tapErrorCause(_ => Effect.logError("ops error, restarting", _)),
|
|
98
99
|
Effect.retry(retryPolicy),
|
|
99
100
|
Effect.forkScoped,
|
|
101
|
+
Effect.interruptible,
|
|
100
102
|
)
|
|
101
103
|
yield* _(
|
|
102
104
|
driver.run,
|
|
@@ -105,6 +107,7 @@ export const makeWithParent = <EOps, EDriver, EMiss, EPMiss, A>({
|
|
|
105
107
|
),
|
|
106
108
|
Effect.retry(retryPolicy),
|
|
107
109
|
Effect.forkScoped,
|
|
110
|
+
Effect.interruptible,
|
|
108
111
|
)
|
|
109
112
|
|
|
110
113
|
const get = (parentId: string, id: string) =>
|
|
@@ -208,6 +211,7 @@ export const make = <EOps, EDriver, EMiss, A>({
|
|
|
208
211
|
Effect.tapErrorCause(_ => Effect.logError("ops error, restarting", _)),
|
|
209
212
|
Effect.retry(retryPolicy),
|
|
210
213
|
Effect.forkScoped,
|
|
214
|
+
Effect.interruptible,
|
|
211
215
|
)
|
|
212
216
|
|
|
213
217
|
yield* _(
|
|
@@ -217,6 +221,7 @@ export const make = <EOps, EDriver, EMiss, A>({
|
|
|
217
221
|
),
|
|
218
222
|
Effect.retry(retryPolicy),
|
|
219
223
|
Effect.forkScoped,
|
|
224
|
+
Effect.interruptible,
|
|
220
225
|
)
|
|
221
226
|
|
|
222
227
|
const get = (id: string) =>
|
|
@@ -249,10 +254,16 @@ export const make = <EOps, EDriver, EMiss, A>({
|
|
|
249
254
|
}),
|
|
250
255
|
)
|
|
251
256
|
|
|
252
|
-
export
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
257
|
+
export const CacheErrorTypeId = Symbol.for("dfx/Cache/CacheError")
|
|
258
|
+
|
|
259
|
+
export class CacheMissError extends TypeIdError(
|
|
260
|
+
CacheErrorTypeId,
|
|
261
|
+
"CacheMissError",
|
|
262
|
+
)<{
|
|
263
|
+
cacheName: string
|
|
264
|
+
id: string
|
|
265
|
+
}> {
|
|
266
|
+
get message() {
|
|
267
|
+
return `Cache miss for "${this.cacheName}" with id: ${this.id}`
|
|
268
|
+
}
|
|
258
269
|
}
|
|
@@ -78,6 +78,7 @@ const make = Effect.gen(function* (_) {
|
|
|
78
78
|
Effect.forever,
|
|
79
79
|
Effect.annotateLogs("channel", "outbound"),
|
|
80
80
|
Effect.forkScoped,
|
|
81
|
+
Effect.interruptible,
|
|
81
82
|
)
|
|
82
83
|
yield* _(
|
|
83
84
|
onConnecting,
|
|
@@ -103,6 +104,7 @@ const make = Effect.gen(function* (_) {
|
|
|
103
104
|
),
|
|
104
105
|
Effect.annotateLogs("channel", "inbound"),
|
|
105
106
|
Effect.forkScoped,
|
|
107
|
+
Effect.interruptible,
|
|
106
108
|
)
|
|
107
109
|
|
|
108
110
|
return {
|
|
@@ -60,7 +60,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
60
60
|
|
|
61
61
|
const heartbeatSend = (p: Message) =>
|
|
62
62
|
Effect.flatMap(Ref.get(phase), phase =>
|
|
63
|
-
phase
|
|
63
|
+
phase !== Phase.Connecting
|
|
64
64
|
? Queue.offer(outboundQueue, p)
|
|
65
65
|
: Effect.succeed(false),
|
|
66
66
|
)
|
|
@@ -134,6 +134,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
134
134
|
yield* _(
|
|
135
135
|
Heartbeats.send(hellos, acks, latestSequence, heartbeatSend),
|
|
136
136
|
Effect.forkScoped,
|
|
137
|
+
Effect.interruptible,
|
|
137
138
|
)
|
|
138
139
|
|
|
139
140
|
// identify
|
|
@@ -155,26 +156,34 @@ export const make = Effect.gen(function* (_) {
|
|
|
155
156
|
Effect.zipRight(maybeUpdateUrl(p)),
|
|
156
157
|
Effect.tap(() => {
|
|
157
158
|
switch (p.op) {
|
|
158
|
-
case Discord.GatewayOpcode.HELLO:
|
|
159
|
+
case Discord.GatewayOpcode.HELLO: {
|
|
159
160
|
return pipe(
|
|
160
161
|
Effect.tap(identify, prioritySend),
|
|
161
162
|
Effect.zipRight(setPhase(Phase.Handshake)),
|
|
162
163
|
Effect.zipRight(Queue.offer(hellos, p)),
|
|
163
164
|
)
|
|
164
|
-
|
|
165
|
+
}
|
|
166
|
+
case Discord.GatewayOpcode.HEARTBEAT_ACK: {
|
|
165
167
|
return Queue.offer(acks, p)
|
|
166
|
-
|
|
168
|
+
}
|
|
169
|
+
case Discord.GatewayOpcode.INVALID_SESSION: {
|
|
167
170
|
return Effect.tap(
|
|
168
171
|
InvalidSession.fromPayload(p, latestReady),
|
|
169
172
|
send,
|
|
170
173
|
)
|
|
171
|
-
|
|
174
|
+
}
|
|
175
|
+
case Discord.GatewayOpcode.DISPATCH: {
|
|
172
176
|
if (p.t === "READY" || p.t === "RESUMED") {
|
|
173
177
|
return Effect.zipRight(resume, PubSub.publish(hub, p))
|
|
174
178
|
}
|
|
175
179
|
return PubSub.publish(hub, p)
|
|
176
|
-
|
|
180
|
+
}
|
|
181
|
+
case Discord.GatewayOpcode.RECONNECT: {
|
|
182
|
+
return prioritySend(Reconnect)
|
|
183
|
+
}
|
|
184
|
+
default: {
|
|
177
185
|
return Effect.unit
|
|
186
|
+
}
|
|
178
187
|
}
|
|
179
188
|
}),
|
|
180
189
|
)
|
|
@@ -184,6 +193,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
184
193
|
Effect.tap(send),
|
|
185
194
|
Effect.forever,
|
|
186
195
|
Effect.forkScoped,
|
|
196
|
+
Effect.interruptible,
|
|
187
197
|
)
|
|
188
198
|
|
|
189
199
|
yield* _(
|
|
@@ -191,6 +201,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
191
201
|
Effect.flatMap(onPayload),
|
|
192
202
|
Effect.forever,
|
|
193
203
|
Effect.forkScoped,
|
|
204
|
+
Effect.interruptible,
|
|
194
205
|
)
|
|
195
206
|
|
|
196
207
|
return { id: shard, send } as const
|
package/src/DiscordREST.ts
CHANGED
|
@@ -21,13 +21,25 @@ import * as Discord from "dfx/types"
|
|
|
21
21
|
import { LIB_VERSION } from "dfx/version"
|
|
22
22
|
import type { Scope } from "effect/Scope"
|
|
23
23
|
import * as Effectable from "effect/Effectable"
|
|
24
|
+
import { TypeIdError } from "@effect/platform/Error"
|
|
24
25
|
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
export const DiscordRESTErrorTypeId = Symbol.for(
|
|
27
|
+
"dfx/DiscordREST/DiscordRESTError",
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
export class DiscordRESTError extends TypeIdError(
|
|
31
|
+
DiscordRESTErrorTypeId,
|
|
32
|
+
"DiscordRESTError",
|
|
33
|
+
)<{
|
|
34
|
+
error: Http.error.HttpClientError
|
|
35
|
+
body?: unknown
|
|
36
|
+
}> {
|
|
37
|
+
get message() {
|
|
38
|
+
const httpMessage = this.error.message
|
|
39
|
+
return this.body !== undefined
|
|
40
|
+
? `${httpMessage}: ${JSON.stringify(this.body)}`
|
|
41
|
+
: httpMessage
|
|
42
|
+
}
|
|
31
43
|
}
|
|
32
44
|
|
|
33
45
|
const make = Effect.gen(function* (_) {
|
|
@@ -146,12 +158,12 @@ const make = Effect.gen(function* (_) {
|
|
|
146
158
|
Http.client.catchAll(error =>
|
|
147
159
|
error.reason === "StatusCode"
|
|
148
160
|
? error.response.json.pipe(
|
|
149
|
-
Effect.mapError(_ => new DiscordRESTError(
|
|
161
|
+
Effect.mapError(_ => new DiscordRESTError({ error })),
|
|
150
162
|
Effect.flatMap(body =>
|
|
151
|
-
Effect.fail(new DiscordRESTError(error, body)),
|
|
163
|
+
Effect.fail(new DiscordRESTError({ error, body })),
|
|
152
164
|
),
|
|
153
165
|
)
|
|
154
|
-
: Effect.fail(new DiscordRESTError(error)),
|
|
166
|
+
: Effect.fail(new DiscordRESTError({ error })),
|
|
155
167
|
),
|
|
156
168
|
)
|
|
157
169
|
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { TypeIdError } from "@effect/platform/Error"
|
|
2
|
+
import * as IxHelpers from "dfx/Helpers/interactions"
|
|
3
|
+
import { InteractionsErrorTypeId } from "dfx/Interactions/error"
|
|
4
|
+
import type * as Discord from "dfx/types"
|
|
5
|
+
import type { NoSuchElementException } from "effect/Cause"
|
|
1
6
|
import { GenericTag } from "effect/Context"
|
|
7
|
+
import * as Effect from "effect/Effect"
|
|
2
8
|
import type * as HashMap from "effect/HashMap"
|
|
3
9
|
import * as Option from "effect/Option"
|
|
4
10
|
import * as Arr from "effect/ReadonlyArray"
|
|
5
|
-
import * as Effect from "effect/Effect"
|
|
6
|
-
import * as IxHelpers from "dfx/Helpers/interactions"
|
|
7
|
-
import type * as Discord from "dfx/types"
|
|
8
11
|
|
|
9
12
|
export interface DiscordInteraction {
|
|
10
13
|
readonly _: unique symbol
|
|
@@ -59,44 +62,31 @@ export const SubCommandContext = GenericTag<
|
|
|
59
62
|
SubCommandContext
|
|
60
63
|
>("dfx/Interactions/SubCommandContext")
|
|
61
64
|
|
|
62
|
-
export class ResolvedDataNotFound {
|
|
63
|
-
readonly _tag = "ResolvedDataNotFound"
|
|
64
|
-
constructor(
|
|
65
|
-
readonly data: Discord.Interaction,
|
|
66
|
-
readonly name?: string,
|
|
67
|
-
) {}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
65
|
export const resolvedValues = <A>(
|
|
71
66
|
f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => A | undefined,
|
|
72
|
-
): Effect.Effect<
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
),
|
|
78
|
-
)
|
|
67
|
+
): Effect.Effect<
|
|
68
|
+
ReadonlyArray<A>,
|
|
69
|
+
NoSuchElementException,
|
|
70
|
+
DiscordInteraction
|
|
71
|
+
> => Effect.flatMap(Interaction, ix => IxHelpers.resolveValues(f)(ix))
|
|
79
72
|
|
|
80
73
|
export const resolved = <A>(
|
|
81
74
|
name: string,
|
|
82
75
|
f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => A | undefined,
|
|
83
|
-
): Effect.Effect<A,
|
|
84
|
-
Effect.flatMap(Interaction, ix =>
|
|
85
|
-
Effect.mapError(
|
|
86
|
-
IxHelpers.resolveOptionValue(name, f)(ix),
|
|
87
|
-
() => new ResolvedDataNotFound(ix, name),
|
|
88
|
-
),
|
|
89
|
-
)
|
|
76
|
+
): Effect.Effect<A, NoSuchElementException, DiscordInteraction> =>
|
|
77
|
+
Effect.flatMap(Interaction, ix => IxHelpers.resolveOptionValue(name, f)(ix))
|
|
90
78
|
|
|
91
79
|
export const focusedOptionValue = Effect.map(
|
|
92
80
|
FocusedOptionContext,
|
|
93
81
|
_ => _.focusedOption.value ?? "",
|
|
94
82
|
)
|
|
95
83
|
|
|
96
|
-
export class SubCommandNotFound
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
84
|
+
export class SubCommandNotFound extends TypeIdError(
|
|
85
|
+
InteractionsErrorTypeId,
|
|
86
|
+
"SubCommandNotFound",
|
|
87
|
+
)<{
|
|
88
|
+
data: Discord.ApplicationCommandDatum
|
|
89
|
+
}> {}
|
|
100
90
|
|
|
101
91
|
export const handleSubCommands = <
|
|
102
92
|
NER extends Record<
|
|
@@ -128,7 +118,7 @@ export const handleSubCommands = <
|
|
|
128
118
|
Effect.flatMap(data =>
|
|
129
119
|
Effect.mapError(
|
|
130
120
|
Arr.findFirst(IxHelpers.allSubCommands(data), _ => !!commands[_.name]),
|
|
131
|
-
() => new SubCommandNotFound(data),
|
|
121
|
+
() => new SubCommandNotFound({ data }),
|
|
132
122
|
),
|
|
133
123
|
),
|
|
134
124
|
Effect.flatMap(command =>
|
|
@@ -188,18 +178,7 @@ export const modalValues = Effect.map(ModalSubmitData, IxHelpers.componentsMap)
|
|
|
188
178
|
export const modalValueOption = (name: string) =>
|
|
189
179
|
Effect.map(ModalSubmitData, IxHelpers.componentValue(name))
|
|
190
180
|
|
|
191
|
-
export
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
readonly name: string,
|
|
196
|
-
) {}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
export const modalValue = (name: string) =>
|
|
200
|
-
Effect.flatMap(ModalSubmitData, data =>
|
|
201
|
-
Effect.mapError(
|
|
202
|
-
IxHelpers.componentValue(name)(data),
|
|
203
|
-
() => new ModalValueNotFound(data, name),
|
|
204
|
-
),
|
|
205
|
-
)
|
|
181
|
+
export const modalValue = (
|
|
182
|
+
name: string,
|
|
183
|
+
): Effect.Effect<string, NoSuchElementException, DiscordModalSubmit> =>
|
|
184
|
+
Effect.flatMap(ModalSubmitData, data => IxHelpers.componentValue(name)(data))
|
|
@@ -6,10 +6,10 @@ import type {
|
|
|
6
6
|
DiscordInteraction,
|
|
7
7
|
DiscordMessageComponent,
|
|
8
8
|
DiscordModalSubmit,
|
|
9
|
-
ResolvedDataNotFound,
|
|
10
9
|
SubCommandContext,
|
|
11
10
|
} from "dfx/Interactions/context"
|
|
12
11
|
import type * as Discord from "dfx/types"
|
|
12
|
+
import type { NoSuchElementException } from "effect/Cause"
|
|
13
13
|
|
|
14
14
|
export type InteractionDefinition<R, E> =
|
|
15
15
|
| GlobalApplicationCommand<R, E>
|
|
@@ -143,7 +143,7 @@ export interface CommandHelper<A> {
|
|
|
143
143
|
resolve: <T>(
|
|
144
144
|
name: AllResolvables<A>["name"],
|
|
145
145
|
f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined,
|
|
146
|
-
) => Effect.Effect<T,
|
|
146
|
+
) => Effect.Effect<T, NoSuchElementException, DiscordInteraction>
|
|
147
147
|
|
|
148
148
|
option: (
|
|
149
149
|
name: AllCommandOptions<A>["name"],
|
|
@@ -18,6 +18,8 @@ import type {
|
|
|
18
18
|
import { Interaction } from "dfx/Interactions/index"
|
|
19
19
|
import type * as Discord from "dfx/types"
|
|
20
20
|
import * as Verify from "discord-verify"
|
|
21
|
+
import { RefailError } from "@effect/platform/Error"
|
|
22
|
+
import { InteractionsErrorTypeId } from "dfx/Interactions/error"
|
|
21
23
|
|
|
22
24
|
export class BadWebhookSignature {
|
|
23
25
|
readonly _tag = "BadWebhookSignature"
|
|
@@ -88,10 +90,10 @@ export const layerConfig: (
|
|
|
88
90
|
config: Config.Config<MakeConfigOpts>,
|
|
89
91
|
) => Layer.effect(WebhookConfig, Effect.map(config, makeConfig))
|
|
90
92
|
|
|
91
|
-
export class WebhookParseError
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
93
|
+
export class WebhookParseError extends RefailError(
|
|
94
|
+
InteractionsErrorTypeId,
|
|
95
|
+
"WebhookParseError",
|
|
96
|
+
)<{}> {}
|
|
95
97
|
|
|
96
98
|
const fromHeadersAndBody = (headers: Headers, body: string) =>
|
|
97
99
|
Effect.tap(WebhookConfig, ({ algorithm, crypto, publicKey }) =>
|
|
@@ -100,7 +102,7 @@ const fromHeadersAndBody = (headers: Headers, body: string) =>
|
|
|
100
102
|
Effect.flatMap(() =>
|
|
101
103
|
Effect.try({
|
|
102
104
|
try: () => JSON.parse(body) as Discord.Interaction,
|
|
103
|
-
catch:
|
|
105
|
+
catch: error => new WebhookParseError({ error }),
|
|
104
106
|
}),
|
|
105
107
|
),
|
|
106
108
|
)
|
package/src/utils/Effect.ts
CHANGED
|
@@ -24,6 +24,7 @@ export const subscribeForEachPar = <R, E, A, X>(
|
|
|
24
24
|
),
|
|
25
25
|
),
|
|
26
26
|
Effect.scoped,
|
|
27
|
+
Effect.interruptible,
|
|
27
28
|
)
|
|
28
29
|
|
|
29
30
|
return Effect.all([run, Deferred.await(deferred)], {
|
|
@@ -59,6 +60,7 @@ export const foreverSwitch = <R, E, A, R1, E1, X>(
|
|
|
59
60
|
}),
|
|
60
61
|
),
|
|
61
62
|
Effect.forever,
|
|
63
|
+
Effect.interruptible,
|
|
62
64
|
)
|
|
63
65
|
|
|
64
66
|
return Effect.all([run, Deferred.await(causeDeferred)], {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.90.
|
|
1
|
+
export const LIB_VERSION = "0.90.3";
|
package/utils/Effect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/utils/Effect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,eAAO,MAAM,mBAAmB,qBACxB,aAAa,CAAC,CAAC,CAAC,cACV,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvC,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/utils/Effect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,eAAO,MAAM,mBAAmB,qBACxB,aAAa,CAAC,CAAC,CAAC,cACV,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvC,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAuBxB,CAAA;AAEJ,eAAO,MAAM,aAAa,6BAClB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SACrB,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KACpC,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAgCnC,CAAA"}
|
package/utils/Effect.js
CHANGED
|
@@ -12,7 +12,7 @@ var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Q
|
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
const subscribeForEachPar = (self, effect) => Effect.flatMap(Deferred.make(), deferred => {
|
|
15
|
-
const run = (0, _Function.pipe)(PubSub.subscribe(self), Effect.flatMap(queue => Effect.forever(Effect.flatMap(Queue.take(queue), _ => Effect.fork(Effect.catchAllCause(effect(_), _ => Deferred.failCause(deferred, _)))))), Effect.scoped);
|
|
15
|
+
const run = (0, _Function.pipe)(PubSub.subscribe(self), Effect.flatMap(queue => Effect.forever(Effect.flatMap(Queue.take(queue), _ => Effect.fork(Effect.catchAllCause(effect(_), _ => Deferred.failCause(deferred, _)))))), Effect.scoped, Effect.interruptible);
|
|
16
16
|
return Effect.all([run, Deferred.await(deferred)], {
|
|
17
17
|
concurrency: "unbounded",
|
|
18
18
|
discard: true
|
|
@@ -23,7 +23,7 @@ const foreverSwitch = (self, f) => (0, _Function.pipe)(Effect.all([Deferred.make
|
|
|
23
23
|
let fiber;
|
|
24
24
|
const run = (0, _Function.pipe)(self, Effect.tap(() => fiber ? fiber.interruptAsFork(fiberId) : Effect.unit), Effect.flatMap(_ => (0, _Function.pipe)(f(_), Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.fork)), Effect.tap(fiber_ => Effect.sync(() => {
|
|
25
25
|
fiber = fiber_;
|
|
26
|
-
})), Effect.forever);
|
|
26
|
+
})), Effect.forever, Effect.interruptible);
|
|
27
27
|
return Effect.all([run, Deferred.await(causeDeferred)], {
|
|
28
28
|
concurrency: "unbounded",
|
|
29
29
|
discard: true
|
package/utils/Effect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.js","names":["_Function","require","Deferred","_interopRequireWildcard","Effect","PubSub","Queue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","subscribeForEachPar","self","effect","flatMap","make","deferred","run","pipe","subscribe","queue","forever","take","_","fork","catchAllCause","failCause","scoped","all","await","concurrency","discard","exports","foreverSwitch","f","fiberId","causeDeferred","fiber","tap","interruptAsFork","unit","tapErrorCause","fiber_","sync"],"sources":["../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,SAAA,gBAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,MAAA,gBAAAD,uBAAA,eAAAF,OAAA;AAEA,IAAAI,MAAA,gBAAAF,uBAAA,eAAAF,OAAA;AACA,IAAAK,KAAA,gBAAAH,uBAAA,eAAAF,OAAA;AAAqC,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE9B,MAAMY,mBAAmB,GAAGA,CACjCC,IAAsB,EACtBC,MAAwC,KAExC1B,MAAM,CAAC2B,OAAO,CAAC7B,QAAQ,CAAC8B,IAAI,EAAY,EAAEC,QAAQ,IAAG;EACnD,MAAMC,GAAG,GAAG,IAAAC,cAAI,EACd9B,MAAM,CAAC+B,SAAS,CAACP,IAAI,CAAC,EACtBzB,MAAM,CAAC2B,OAAO,CAACM,KAAK,IAClBjC,MAAM,CAACkC,OAAO,CACZlC,MAAM,CAAC2B,OAAO,CAACzB,KAAK,CAACiC,IAAI,CAACF,KAAK,CAAC,EAAEG,CAAC,IACjCpC,MAAM,CAACqC,IAAI,CACTrC,MAAM,CAACsC,aAAa,CAACZ,MAAM,CAACU,CAAC,CAAC,EAAEA,CAAC,IAC/BtC,QAAQ,CAACyC,SAAS,CAACV,QAAQ,EAAEO,CAAC,CAAC,CAChC,CACF,CACF,CACF,CACF,EACDpC,MAAM,CAACwC,MAAM,
|
|
1
|
+
{"version":3,"file":"Effect.js","names":["_Function","require","Deferred","_interopRequireWildcard","Effect","PubSub","Queue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","subscribeForEachPar","self","effect","flatMap","make","deferred","run","pipe","subscribe","queue","forever","take","_","fork","catchAllCause","failCause","scoped","interruptible","all","await","concurrency","discard","exports","foreverSwitch","f","fiberId","causeDeferred","fiber","tap","interruptAsFork","unit","tapErrorCause","fiber_","sync"],"sources":["../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "0.90.
|
|
1
|
+
export declare const LIB_VERSION = "0.90.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/version.js
CHANGED