dfx 0.91.3 → 0.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cache/memory.js +2 -2
- package/Cache/memory.js.map +1 -1
- package/Cache/memoryTTL.d.ts +1 -1
- package/Cache/memoryTTL.d.ts.map +1 -1
- package/Cache/memoryTTL.js +4 -4
- package/Cache/memoryTTL.js.map +1 -1
- package/DiscordGateway/Messaging.js +1 -1
- package/DiscordGateway/Messaging.js.map +1 -1
- package/DiscordGateway/Shard/invalidSession.js +1 -1
- package/DiscordGateway/Shard/invalidSession.js.map +1 -1
- package/DiscordGateway/Shard/utils.js +1 -1
- package/DiscordGateway/Shard/utils.js.map +1 -1
- package/DiscordGateway/Shard.d.ts +2 -2
- package/DiscordGateway/Shard.js +3 -3
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts +1 -1
- package/DiscordGateway.d.ts +1 -1
- package/DiscordREST.d.ts +3 -3
- package/DiscordREST.d.ts.map +1 -1
- package/DiscordREST.js +12 -12
- package/DiscordREST.js.map +1 -1
- package/Helpers/interactions.d.ts +1 -1
- package/Helpers/interactions.d.ts.map +1 -1
- package/Helpers/interactions.js +2 -2
- package/Helpers/interactions.js.map +1 -1
- package/Interactions/context.d.ts +2 -5
- package/Interactions/context.d.ts.map +1 -1
- package/Interactions/context.js +2 -2
- package/Interactions/context.js.map +1 -1
- package/Interactions/definitions.d.ts +11 -15
- package/Interactions/definitions.d.ts.map +1 -1
- package/Interactions/definitions.js.map +1 -1
- package/Interactions/handlers.d.ts.map +1 -1
- package/Interactions/handlers.js +25 -23
- package/Interactions/handlers.js.map +1 -1
- package/Interactions/index.d.ts +5 -6
- package/Interactions/index.d.ts.map +1 -1
- package/Interactions/index.js +5 -8
- package/Interactions/index.js.map +1 -1
- package/Interactions/utils.d.ts +21 -20
- package/Interactions/utils.d.ts.map +1 -1
- package/Interactions/utils.js +18 -20
- package/Interactions/utils.js.map +1 -1
- package/Interactions/webhook.js +1 -1
- package/Interactions/webhook.js.map +1 -1
- package/RateLimit.d.ts.map +1 -1
- package/RateLimit.js +1 -1
- package/RateLimit.js.map +1 -1
- package/mjs/Cache/memory.mjs +2 -2
- package/mjs/Cache/memory.mjs.map +1 -1
- package/mjs/Cache/memoryTTL.mjs +4 -4
- package/mjs/Cache/memoryTTL.mjs.map +1 -1
- package/mjs/DiscordGateway/Messaging.mjs +1 -1
- package/mjs/DiscordGateway/Messaging.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard/invalidSession.mjs +1 -1
- package/mjs/DiscordGateway/Shard/invalidSession.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard/utils.mjs +1 -1
- package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard.mjs +3 -3
- package/mjs/DiscordGateway/Shard.mjs.map +1 -1
- package/mjs/DiscordREST.mjs +12 -12
- package/mjs/DiscordREST.mjs.map +1 -1
- package/mjs/Helpers/interactions.mjs +2 -2
- package/mjs/Helpers/interactions.mjs.map +1 -1
- package/mjs/Interactions/context.mjs +2 -2
- package/mjs/Interactions/context.mjs.map +1 -1
- package/mjs/Interactions/definitions.mjs.map +1 -1
- package/mjs/Interactions/handlers.mjs +25 -23
- package/mjs/Interactions/handlers.mjs.map +1 -1
- package/mjs/Interactions/index.mjs +5 -6
- package/mjs/Interactions/index.mjs.map +1 -1
- package/mjs/Interactions/utils.mjs +18 -20
- package/mjs/Interactions/utils.mjs.map +1 -1
- package/mjs/Interactions/webhook.mjs +1 -1
- package/mjs/Interactions/webhook.mjs.map +1 -1
- package/mjs/RateLimit.mjs +1 -1
- package/mjs/RateLimit.mjs.map +1 -1
- package/mjs/utils/Effect.mjs +1 -1
- package/mjs/utils/Effect.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +4 -4
- package/src/Cache/memory.ts +2 -2
- package/src/Cache/memoryTTL.ts +5 -5
- package/src/DiscordGateway/Messaging.ts +1 -1
- package/src/DiscordGateway/Shard/invalidSession.ts +1 -1
- package/src/DiscordGateway/Shard/utils.ts +1 -1
- package/src/DiscordGateway/Shard.ts +3 -3
- package/src/DiscordREST.ts +15 -15
- package/src/Helpers/interactions.ts +2 -2
- package/src/Interactions/context.ts +3 -6
- package/src/Interactions/definitions.ts +23 -37
- package/src/Interactions/handlers.ts +40 -66
- package/src/Interactions/index.ts +5 -7
- package/src/Interactions/utils.ts +45 -41
- package/src/Interactions/webhook.ts +1 -1
- package/src/RateLimit.ts +4 -8
- package/src/utils/Effect.ts +1 -1
- package/src/version.ts +1 -1
- package/utils/Effect.js +1 -1
- package/utils/Effect.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as Option from "effect/Option";
|
|
2
1
|
import * as Effect from "effect/Effect";
|
|
3
2
|
import * as IxHelpers from "dfx/Helpers/interactions";
|
|
4
3
|
import * as Ctx from "dfx/Interactions/context";
|
|
@@ -20,41 +19,44 @@ export const handlers = (definitions, handleResponse) => {
|
|
|
20
19
|
ModalSubmit
|
|
21
20
|
} = splitDefinitions(flattened);
|
|
22
21
|
return {
|
|
23
|
-
[Discord.InteractionType.PING]:
|
|
22
|
+
[Discord.InteractionType.PING]: _ => Effect.succeed({
|
|
24
23
|
type: Discord.InteractionCallbackType.PONG
|
|
25
24
|
}),
|
|
26
25
|
[Discord.InteractionType.APPLICATION_COMMAND]: i => {
|
|
27
26
|
const data = i.data;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
27
|
+
const command = Commands[data.name];
|
|
28
|
+
if (command === undefined) {
|
|
29
|
+
return Effect.fail(new DefinitionNotFound(i));
|
|
30
|
+
}
|
|
31
|
+
return Effect.provideService(command.handle(i), Ctx.ApplicationCommand, data);
|
|
32
32
|
},
|
|
33
33
|
[Discord.InteractionType.MODAL_SUBMIT]: i => {
|
|
34
34
|
const data = i.data;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
35
|
+
const match = ModalSubmit.find(_ => _.predicate(data.custom_id));
|
|
36
|
+
if (match === undefined) {
|
|
37
|
+
return Effect.fail(new DefinitionNotFound(i));
|
|
38
|
+
}
|
|
39
|
+
return Effect.provideService(match.handle(i), Ctx.ModalSubmitData, data);
|
|
39
40
|
},
|
|
40
41
|
[Discord.InteractionType.MESSAGE_COMPONENT]: i => {
|
|
41
42
|
const data = i.data;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
43
|
+
const match = MessageComponent.find(_ => _.predicate(data.custom_id));
|
|
44
|
+
if (match === undefined) {
|
|
45
|
+
return Effect.fail(new DefinitionNotFound(i));
|
|
46
|
+
}
|
|
47
|
+
return Effect.provideService(match.handle(i), Ctx.MessageComponentData, data);
|
|
46
48
|
},
|
|
47
49
|
[Discord.InteractionType.APPLICATION_COMMAND_AUTOCOMPLETE]: i => {
|
|
48
50
|
const data = i.data;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
const option = IxHelpers.focusedOption(data);
|
|
52
|
+
if (option._tag === "None") {
|
|
53
|
+
return Effect.fail(new DefinitionNotFound(i));
|
|
54
|
+
}
|
|
55
|
+
const match = Autocomplete.find(_ => _.predicate(data, option.value));
|
|
56
|
+
if (match === undefined) {
|
|
57
|
+
return Effect.fail(new DefinitionNotFound(i));
|
|
58
|
+
}
|
|
59
|
+
return match.handle(i).pipe(Effect.provideService(Ctx.ApplicationCommand, data), Effect.provideService(Ctx.FocusedOptionContext, option.value));
|
|
58
60
|
}
|
|
59
61
|
};
|
|
60
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.mjs","names":["
|
|
1
|
+
{"version":3,"file":"handlers.mjs","names":["Effect","IxHelpers","Ctx","flattenDefinitions","splitDefinitions","Discord","DefinitionNotFound","interaction","_tag","constructor","handlers","definitions","handleResponse","flattened","Autocomplete","Commands","MessageComponent","ModalSubmit","InteractionType","PING","_","succeed","type","InteractionCallbackType","PONG","APPLICATION_COMMAND","i","data","command","name","undefined","fail","provideService","handle","ApplicationCommand","MODAL_SUBMIT","match","find","predicate","custom_id","ModalSubmitData","MESSAGE_COMPONENT","MessageComponentData","APPLICATION_COMMAND_AUTOCOMPLETE","option","focusedOption","value","pipe","FocusedOptionContext"],"sources":["../../src/Interactions/handlers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
1
|
export { response } from "dfx/Helpers/interactions";
|
|
3
2
|
export * from "dfx/Interactions/builder";
|
|
4
3
|
export * from "dfx/Interactions/context";
|
|
5
4
|
export { autocomplete, global, guild, messageComponent, modalSubmit } from "dfx/Interactions/definitions";
|
|
6
5
|
// Filters
|
|
7
|
-
export const id = query => customId =>
|
|
8
|
-
export const idStartsWith = query => customId =>
|
|
9
|
-
export const idRegex = query => customId =>
|
|
10
|
-
export const option = (command, optionName) => (data, focusedOption) =>
|
|
11
|
-
export const optionOnly = optionName => (_, focusedOption) =>
|
|
6
|
+
export const id = query => customId => query === customId;
|
|
7
|
+
export const idStartsWith = query => customId => customId.startsWith(query);
|
|
8
|
+
export const idRegex = query => customId => query.test(customId);
|
|
9
|
+
export const option = (command, optionName) => (data, focusedOption) => data.name === command && focusedOption.name === optionName;
|
|
10
|
+
export const optionOnly = optionName => (_, focusedOption) => focusedOption.name === optionName;
|
|
12
11
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["response","autocomplete","global","guild","messageComponent","modalSubmit","id","query","customId","idStartsWith","startsWith","idRegex","test","option","command","optionName","data","focusedOption","name","optionOnly","_"],"sources":["../../src/Interactions/index.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,SACEC,YAAY,EACZC,MAAM,EACNC,KAAK,EAELC,gBAAgB,EAChBC,WAAW,QACN,8BAA8B;AAErC;AACA,OAAO,MAAMC,EAAE,GAAIC,KAAa,IAAMC,QAAgB,IAAKD,KAAK,KAAKC,QAAQ;AAE7E,OAAO,MAAMC,YAAY,GAAIF,KAAa,IAAMC,QAAgB,IAC9DA,QAAQ,CAACE,UAAU,CAACH,KAAK,CAAC;AAE5B,OAAO,MAAMI,OAAO,GAAIJ,KAAa,IAAMC,QAAgB,IACzDD,KAAK,CAACK,IAAI,CAACJ,QAAQ,CAAC;AAEtB,OAAO,MAAMK,MAAM,GACjBA,CAACC,OAAe,EAAEC,UAAkB,KACpC,CACEC,IAAmD,EACnDC,aAGC,KAEDD,IAAI,CAACE,IAAI,KAAKJ,OAAO,IAAIG,aAAa,CAACC,IAAI,KAAKH,UAAU;AAE9D,OAAO,MAAMI,UAAU,GACpBJ,UAAkB,IACnB,CACEK,CAAU,EACVH,aAGC,KAEDA,aAAa,CAACC,IAAI,KAAKH,UAAU","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Chunk from "effect/Chunk";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import * as Ctx from "dfx/Interactions/context";
|
|
4
|
+
import * as Array from "effect/Array";
|
|
4
5
|
const context = {
|
|
5
6
|
resolve: Ctx.resolved,
|
|
6
7
|
option: Ctx.option,
|
|
@@ -8,28 +9,25 @@ const context = {
|
|
|
8
9
|
optionValueOptional: Ctx.optionValueOptional,
|
|
9
10
|
subCommands: Ctx.handleSubCommands
|
|
10
11
|
};
|
|
11
|
-
export const flattenDefinitions = (definitions, handleResponse) =>
|
|
12
|
+
export const flattenDefinitions = (definitions, handleResponse) => Array.map(Chunk.toReadonlyArray(definitions), ([definition, transform]) => ({
|
|
12
13
|
...definition,
|
|
13
|
-
handle:
|
|
14
|
+
handle: Effect.isEffect(definition.handle) ? i => Effect.scoped(transform(Effect.flatMap(definition.handle, _ => handleResponse(i, _)))) : i => Effect.scoped(transform(Effect.flatMap(definition.handle(context), _ => handleResponse(i, _))))
|
|
14
15
|
}));
|
|
15
16
|
export const splitDefinitions = definitions => {
|
|
16
|
-
const grouped =
|
|
17
|
-
Autocomplete:
|
|
18
|
-
GlobalApplicationCommand:
|
|
19
|
-
GuildApplicationCommand:
|
|
20
|
-
MessageComponent:
|
|
21
|
-
ModalSubmit:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
[d._tag]
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
})
|
|
30
|
-
return
|
|
31
|
-
...grouped,
|
|
32
|
-
Commands
|
|
33
|
-
};
|
|
17
|
+
const grouped = Array.reduce(definitions, {
|
|
18
|
+
Autocomplete: [],
|
|
19
|
+
GlobalApplicationCommand: [],
|
|
20
|
+
GuildApplicationCommand: [],
|
|
21
|
+
MessageComponent: [],
|
|
22
|
+
ModalSubmit: [],
|
|
23
|
+
Commands: {}
|
|
24
|
+
}, (acc, d) => {
|
|
25
|
+
acc[d._tag].push(d);
|
|
26
|
+
if (d._tag === "GlobalApplicationCommand" || d._tag === "GuildApplicationCommand") {
|
|
27
|
+
acc.Commands[d.command.name] = d;
|
|
28
|
+
}
|
|
29
|
+
return acc;
|
|
30
|
+
});
|
|
31
|
+
return grouped;
|
|
34
32
|
};
|
|
35
33
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":["Chunk","Effect","Ctx","context","resolve","resolved","option","optionValue","optionValueOptional","subCommands","handleSubCommands","flattenDefinitions","definitions","handleResponse","map","definition","transform","handle","
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":["Chunk","Effect","Ctx","Array","context","resolve","resolved","option","optionValue","optionValueOptional","subCommands","handleSubCommands","flattenDefinitions","definitions","handleResponse","map","toReadonlyArray","definition","transform","handle","isEffect","i","scoped","flatMap","_","splitDefinitions","grouped","reduce","Autocomplete","GlobalApplicationCommand","GuildApplicationCommand","MessageComponent","ModalSubmit","Commands","acc","d","_tag","push","command","name"],"sources":["../../src/Interactions/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,0BAA0B;AAG/C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAgBrC,MAAMC,OAAO,GAAyB;EACpCC,OAAO,EAAEH,GAAG,CAACI,QAAQ;EACrBC,MAAM,EAAEL,GAAG,CAACK,MAAM;EAClBC,WAAW,EAAEN,GAAG,CAACM,WAAW;EAC5BC,mBAAmB,EAAEP,GAAG,CAACO,mBAAmB;EAC5CC,WAAW,EAAER,GAAG,CAACS;CACX;AAER,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,WAKC,EACDC,cAG2B,KAE3BX,KAAK,CAACY,GAAG,CAACf,KAAK,CAACgB,eAAe,CAACH,WAAW,CAAC,EAAE,CAAC,CAACI,UAAU,EAAEC,SAAS,CAAC,MAAM;EAC1E,GAAGD,UAAU;EACbE,MAAM,EAAElB,MAAM,CAACmB,QAAQ,CAACH,UAAU,CAACE,MAAM,CAAC,GACrCE,CAAsB,IACrBpB,MAAM,CAACqB,MAAM,CACXJ,SAAS,CACPjB,MAAM,CAACsB,OAAO,CACZN,UAAU,CAACE,MAAoD,EAC/DK,CAAC,IAAIV,cAAc,CAACO,CAAC,EAAEG,CAAC,CAAC,CAC1B,CACF,CACF,GACFH,CAAsB,IACrBpB,MAAM,CAACqB,MAAM,CACXJ,SAAS,CACPjB,MAAM,CAACsB,OAAO,CAEVN,UAAU,CAACE,MAGZ,CAACf,OAAO,CAAC,EACVoB,CAAC,IAAIV,cAAc,CAACO,CAAC,EAAEG,CAAC,CAAC,CAC1B,CACF;CAEV,CAAC,CAAC;AAEL,OAAO,MAAMC,gBAAgB,GAC3BZ,WAA4D,IAC1D;EACF,MAAMa,OAAO,GAAGvB,KAAK,CAACwB,MAAM,CAC1Bd,WAAW,EACX;IACEe,YAAY,EAAE,EAAE;IAChBC,wBAAwB,EAAE,EAAE;IAC5BC,uBAAuB,EAAE,EAAE;IAC3BC,gBAAgB,EAAE,EAAE;IACpBC,WAAW,EAAE,EAAE;IACfC,QAAQ,EAAE;GAOX,EACD,CAACC,GAAG,EAAEC,CAAC,KAAI;IACTD,GAAG,CAACC,CAAC,CAACC,IAAI,CAAC,CAACC,IAAI,CAACF,CAAQ,CAAC;IAC1B,IACEA,CAAC,CAACC,IAAI,KAAK,0BAA0B,IACrCD,CAAC,CAACC,IAAI,KAAK,yBAAyB,EACpC;MACAF,GAAG,CAACD,QAAQ,CAACE,CAAC,CAACG,OAAO,CAACC,IAAI,CAAC,GAAGJ,CAAQ;IACzC;IACA,OAAOD,GAAG;EACZ,CAAC,CACF;EAED,OAAOR,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ export class BadWebhookSignature {
|
|
|
16
16
|
const checkSignature = (publicKey, headers, body, crypto, algorithm) => Option.all({
|
|
17
17
|
signature: Option.fromNullable(headers["x-signature-ed25519"]),
|
|
18
18
|
timestamp: Option.fromNullable(headers["x-signature-timestamp"])
|
|
19
|
-
}).pipe(Effect.flatMap(_ => Effect.promise(() => Verify.verify(body, _.signature, _.timestamp, publicKey, crypto, algorithm))), Effect.filterOrFail(identity, () => new BadWebhookSignature()), Effect.catchAllCause(() => Effect.fail(new BadWebhookSignature())), Effect.
|
|
19
|
+
}).pipe(Effect.flatMap(_ => Effect.promise(() => Verify.verify(body, _.signature, _.timestamp, publicKey, crypto, algorithm))), Effect.filterOrFail(identity, () => new BadWebhookSignature()), Effect.catchAllCause(() => Effect.fail(new BadWebhookSignature())), Effect.asVoid);
|
|
20
20
|
const makeConfig = ({
|
|
21
21
|
algorithm,
|
|
22
22
|
applicationId,
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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","asVoid","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","withSpan","provideService","type","attributes","interactionId","id","makeHandler","ix","handle","d","_i","r","success","makeSimpleHandler"],"sources":["../../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/mjs/RateLimit.mjs
CHANGED
|
@@ -17,7 +17,7 @@ const makeLimiter = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
17
17
|
windowMs,
|
|
18
18
|
limit,
|
|
19
19
|
delay: Duration.toMillis(d)
|
|
20
|
-
})), Effect.tap(_ => Duration.toMillis(_) === 0 ? Effect.
|
|
20
|
+
})), Effect.tap(_ => Duration.toMillis(_) === 0 ? Effect.void : Effect.sleep(_)), Effect.asVoid);
|
|
21
21
|
};
|
|
22
22
|
return {
|
|
23
23
|
maybeWait
|
package/mjs/RateLimit.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RateLimit.mjs","names":["GenericTag","Duration","Effect","Layer","Memory","delayFrom","RateLimitStore","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","_","store","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","tap","d","annotateLogs","logTrace","service","delay","
|
|
1
|
+
{"version":3,"file":"RateLimit.mjs","names":["GenericTag","Duration","Effect","Layer","Memory","delayFrom","RateLimitStore","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","_","store","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","tap","d","annotateLogs","logTrace","service","delay","void","sleep","asVoid","RateLimiter","RateLimiterLive","effect"],"sources":["../src/RateLimit.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAC9C,SAASC,SAAS,QAAQ,qBAAqB;AAmC/C,OAAO,MAAMC,cAAc,gBAAGN,UAAU,CACtC,8BAA8B,CAC/B;AACD,OAAO,MAAMO,wBAAwB,gBAAGJ,KAAK,CAACK,IAAI,CAACF,cAAc,EAAEF,MAAM,CAACK,IAAI,CAAC;AAE/E,MAAMC,WAAW,gBAAGR,MAAM,CAACS,GAAG,CAAC,WAAWC,CAAC;EACzC,MAAMC,KAAK,GAAG,OAAOD,CAAC,CAACN,cAAc,CAAC;EAEtC,MAAMQ,SAAS,GAAGA,CAChBC,GAAW,EACXC,MAAyB,EACzBC,KAAa,EACbC,UAAU,GAAG,IAAI,KACf;IACF,MAAMC,QAAQ,GAAGlB,QAAQ,CAACmB,QAAQ,CAACJ,MAAM,CAAC,GAAGE,UAAU;IAEvD,OAAOL,KAAK,CAACQ,gBAAgB,CAACN,GAAG,EAAEI,QAAQ,EAAEF,KAAK,CAAC,CAACK,IAAI,CACtDpB,MAAM,CAACqB,GAAG,CAAC,CAAC,CAACC,KAAK,EAAEC,GAAG,CAAC,KAAKpB,SAAS,CAACc,QAAQ,EAAEF,KAAK,EAAEO,KAAK,EAAEC,GAAG,CAAC,CAAC,EACpEvB,MAAM,CAACwB,GAAG,CAACC,CAAC,IACVzB,MAAM,CAAC0B,YAAY,CAAC1B,MAAM,CAAC2B,QAAQ,CAAC,WAAW,CAAC,EAAE;MAChDC,OAAO,EAAE,WAAW;MACpBf,GAAG;MACHC,MAAM,EAAEf,QAAQ,CAACmB,QAAQ,CAACJ,MAAM,CAAC;MACjCG,QAAQ;MACRF,KAAK;MACLc,KAAK,EAAE9B,QAAQ,CAACmB,QAAQ,CAACO,CAAC;KAC3B,CAAC,CACH,EACDzB,MAAM,CAACwB,GAAG,CAACd,CAAC,IACVX,QAAQ,CAACmB,QAAQ,CAACR,CAAC,CAAC,KAAK,CAAC,GAAGV,MAAM,CAAC8B,IAAI,GAAG9B,MAAM,CAAC+B,KAAK,CAACrB,CAAC,CAAC,CAC3D,EACDV,MAAM,CAACgC,MAAM,CACd;EACH,CAAC;EAED,OAAO;IAAEpB;EAAS,CAAE;AACtB,CAAC,CAAC;AAKF,OAAO,MAAMqB,WAAW,gBAAGnC,UAAU,CAGnC,2BAA2B,CAAC;AAC9B,OAAO,MAAMoC,eAAe,gBAAGjC,KAAK,CAACkC,MAAM,CAACF,WAAW,EAAEzB,WAAW,CAAC","ignoreList":[]}
|
package/mjs/utils/Effect.mjs
CHANGED
|
@@ -12,7 +12,7 @@ export const subscribeForEachPar = (self, effect) => Effect.flatMap(Deferred.mak
|
|
|
12
12
|
});
|
|
13
13
|
export const foreverSwitch = (self, f) => pipe(Effect.all([Deferred.make(), Effect.fiberId]), Effect.flatMap(([causeDeferred, fiberId]) => {
|
|
14
14
|
let fiber;
|
|
15
|
-
const run = pipe(self, Effect.tap(() => fiber ? fiber.interruptAsFork(fiberId) : Effect.
|
|
15
|
+
const run = pipe(self, Effect.tap(() => fiber ? fiber.interruptAsFork(fiberId) : Effect.void), Effect.flatMap(_ => pipe(f(_), Effect.tapErrorCause(_ => Deferred.failCause(causeDeferred, _)), Effect.fork)), Effect.tap(fiber_ => Effect.sync(() => {
|
|
16
16
|
fiber = fiber_;
|
|
17
17
|
})), Effect.forever, Effect.interruptible);
|
|
18
18
|
return Effect.all([run, Deferred.await(causeDeferred)], {
|
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","interruptible","all","await","concurrency","discard","foreverSwitch","f","fiberId","causeDeferred","fiber","tap","interruptAsFork","
|
|
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","void","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.
|
|
1
|
+
export const LIB_VERSION = "0.93.0";
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.93.0",
|
|
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.
|
|
39
|
-
"effect": "^
|
|
38
|
+
"@effect/platform": "^0.49.0",
|
|
39
|
+
"effect": "^3.0.0"
|
|
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": "79dc159fdce009f2b34d3aa5ad46655d8851c7c8",
|
|
48
48
|
"main": "./index.js"
|
|
49
49
|
}
|
package/src/Cache/memory.ts
CHANGED
|
@@ -48,7 +48,7 @@ export const createWithParent = <T>(): Effect.Effect<
|
|
|
48
48
|
map.delete(parentId)
|
|
49
49
|
}),
|
|
50
50
|
|
|
51
|
-
refreshTTL: () => Effect.
|
|
51
|
+
refreshTTL: () => Effect.void,
|
|
52
52
|
|
|
53
53
|
run: Effect.never,
|
|
54
54
|
})
|
|
@@ -76,7 +76,7 @@ export const create = <T>(): Effect.Effect<CacheDriver<never, T>> =>
|
|
|
76
76
|
map.delete(resourceId)
|
|
77
77
|
}),
|
|
78
78
|
|
|
79
|
-
refreshTTL: () => Effect.
|
|
79
|
+
refreshTTL: () => Effect.void,
|
|
80
80
|
|
|
81
81
|
run: Effect.never,
|
|
82
82
|
})
|
package/src/Cache/memoryTTL.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as Duration from "effect/Duration"
|
|
2
|
-
import * as Option from "effect/Option"
|
|
3
|
-
import * as ReadonlyArray from "effect/ReadonlyArray"
|
|
4
|
-
import * as Effect from "effect/Effect"
|
|
5
1
|
import type { CacheDriver, ParentCacheDriver } from "dfx/Cache/driver"
|
|
6
2
|
import { createDriver, createParentDriver } from "dfx/Cache/driver"
|
|
3
|
+
import * as Array from "effect/Array"
|
|
4
|
+
import * as Duration from "effect/Duration"
|
|
5
|
+
import * as Effect from "effect/Effect"
|
|
6
|
+
import * as Option from "effect/Option"
|
|
7
7
|
|
|
8
8
|
export interface MemoryTTLOpts {
|
|
9
9
|
/** The approx. number of milliseconds to keep items */
|
|
@@ -172,7 +172,7 @@ export const createWithParent = <T>(
|
|
|
172
172
|
),
|
|
173
173
|
),
|
|
174
174
|
Effect.map(
|
|
175
|
-
|
|
175
|
+
Array.reduce(new Map<string, T>(), (acc, [id, item]) =>
|
|
176
176
|
item._tag === "Some" ? acc.set(id, item.value) : acc,
|
|
177
177
|
),
|
|
178
178
|
),
|
|
@@ -8,4 +8,4 @@ export const fromPayload = (
|
|
|
8
8
|
p: Discord.GatewayPayload,
|
|
9
9
|
latestReady: Ref.Ref<Option.Option<Discord.ReadyEvent>>,
|
|
10
10
|
): Effect.Effect<Message> =>
|
|
11
|
-
Effect.as(p.d ? Effect.
|
|
11
|
+
Effect.as(p.d ? Effect.void : Ref.set(latestReady, Option.none()), Reconnect)
|
|
@@ -71,7 +71,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
71
71
|
setPhase(Phase.Connected),
|
|
72
72
|
Effect.zipRight(Queue.takeAll(pendingQueue)),
|
|
73
73
|
Effect.tap(_ => Queue.offerAll(outboundQueue, _)),
|
|
74
|
-
Effect.
|
|
74
|
+
Effect.asVoid,
|
|
75
75
|
)
|
|
76
76
|
|
|
77
77
|
const onConnecting = pipe(
|
|
@@ -111,7 +111,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
111
111
|
Option.match(
|
|
112
112
|
Option.map(isReady(p), p => p.d!),
|
|
113
113
|
{
|
|
114
|
-
onNone: () => Effect.
|
|
114
|
+
onNone: () => Effect.void,
|
|
115
115
|
onSome: ({ resume_gateway_url }) =>
|
|
116
116
|
socket.setUrl(resume_gateway_url),
|
|
117
117
|
},
|
|
@@ -182,7 +182,7 @@ export const make = Effect.gen(function* (_) {
|
|
|
182
182
|
return prioritySend(Reconnect)
|
|
183
183
|
}
|
|
184
184
|
default: {
|
|
185
|
-
return Effect.
|
|
185
|
+
return Effect.void
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
}),
|
package/src/DiscordREST.ts
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as Duration from "effect/Duration"
|
|
3
|
-
import { millis } from "effect/Duration"
|
|
4
|
-
import { pipe } from "effect/Function"
|
|
5
|
-
import * as HashSet from "effect/HashSet"
|
|
6
|
-
import * as Option from "effect/Option"
|
|
7
|
-
import * as Secret from "effect/Secret"
|
|
8
|
-
import * as Effect from "effect/Effect"
|
|
9
|
-
import * as Layer from "effect/Layer"
|
|
10
|
-
import * as Ref from "effect/Ref"
|
|
1
|
+
import { TypeIdError } from "@effect/platform/Error"
|
|
11
2
|
import * as Http from "@effect/platform/HttpClient"
|
|
12
3
|
import { DiscordConfig } from "dfx/DiscordConfig"
|
|
13
4
|
import type { ResponseWithData, RestResponse } from "dfx/DiscordREST/types"
|
|
@@ -16,12 +7,21 @@ import {
|
|
|
16
7
|
retryAfter,
|
|
17
8
|
routeFromConfig,
|
|
18
9
|
} from "dfx/DiscordREST/utils"
|
|
19
|
-
import {
|
|
10
|
+
import { RateLimitStore, RateLimiter, RateLimiterLive } from "dfx/RateLimit"
|
|
20
11
|
import * as Discord from "dfx/types"
|
|
21
12
|
import { LIB_VERSION } from "dfx/version"
|
|
22
|
-
import
|
|
13
|
+
import { GenericTag } from "effect/Context"
|
|
14
|
+
import * as Duration from "effect/Duration"
|
|
15
|
+
import { millis } from "effect/Duration"
|
|
16
|
+
import * as Effect from "effect/Effect"
|
|
23
17
|
import * as Effectable from "effect/Effectable"
|
|
24
|
-
import {
|
|
18
|
+
import { pipe } from "effect/Function"
|
|
19
|
+
import * as HashSet from "effect/HashSet"
|
|
20
|
+
import * as Layer from "effect/Layer"
|
|
21
|
+
import * as Option from "effect/Option"
|
|
22
|
+
import * as Ref from "effect/Ref"
|
|
23
|
+
import type { Scope } from "effect/Scope"
|
|
24
|
+
import * as Secret from "effect/Secret"
|
|
25
25
|
|
|
26
26
|
export const DiscordRESTErrorTypeId = Symbol.for(
|
|
27
27
|
"dfx/DiscordREST/DiscordRESTError",
|
|
@@ -76,9 +76,9 @@ const make = Effect.gen(function* (_) {
|
|
|
76
76
|
Effect.tap(invalid =>
|
|
77
77
|
invalid
|
|
78
78
|
? maybeWait("dfx.rest.invalid", Duration.minutes(10), 10000)
|
|
79
|
-
: Effect.
|
|
79
|
+
: Effect.void,
|
|
80
80
|
),
|
|
81
|
-
Effect.
|
|
81
|
+
Effect.asVoid,
|
|
82
82
|
)
|
|
83
83
|
|
|
84
84
|
// Request rate limiting
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import * as Discord from "dfx/types"
|
|
2
|
+
import * as Arr from "effect/Array"
|
|
1
3
|
import { identity, pipe } from "effect/Function"
|
|
2
4
|
import * as HashMap from "effect/HashMap"
|
|
3
5
|
import * as Option from "effect/Option"
|
|
4
|
-
import * as Arr from "effect/ReadonlyArray"
|
|
5
|
-
import * as Discord from "dfx/types"
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Option find a sub-command within the interaction options.
|
|
@@ -7,7 +7,7 @@ import { GenericTag } from "effect/Context"
|
|
|
7
7
|
import * as Effect from "effect/Effect"
|
|
8
8
|
import type * as HashMap from "effect/HashMap"
|
|
9
9
|
import * as Option from "effect/Option"
|
|
10
|
-
import * as Arr from "effect/
|
|
10
|
+
import * as Arr from "effect/Array"
|
|
11
11
|
|
|
12
12
|
export interface DiscordInteraction {
|
|
13
13
|
readonly _: unique symbol
|
|
@@ -43,12 +43,9 @@ export const ModalSubmitData = GenericTag<
|
|
|
43
43
|
export interface DiscordFocusedOption {
|
|
44
44
|
readonly _: unique symbol
|
|
45
45
|
}
|
|
46
|
-
export interface FocusedOptionContext {
|
|
47
|
-
readonly focusedOption: Discord.ApplicationCommandInteractionDataOption
|
|
48
|
-
}
|
|
49
46
|
export const FocusedOptionContext = GenericTag<
|
|
50
47
|
DiscordFocusedOption,
|
|
51
|
-
|
|
48
|
+
Discord.ApplicationCommandInteractionDataOption
|
|
52
49
|
>("dfx/Interactions/FocusedOptionContext")
|
|
53
50
|
|
|
54
51
|
export interface DiscordSubCommand {
|
|
@@ -78,7 +75,7 @@ export const resolved = <A>(
|
|
|
78
75
|
|
|
79
76
|
export const focusedOptionValue = Effect.map(
|
|
80
77
|
FocusedOptionContext,
|
|
81
|
-
_ => _.
|
|
78
|
+
_ => _.value ?? "",
|
|
82
79
|
)
|
|
83
80
|
|
|
84
81
|
export class SubCommandNotFound extends TypeIdError(
|