dfx 0.95.2 → 0.95.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/DiscordGateway/Shard/StateStore.d.ts +7 -5
- package/DiscordGateway/Shard/StateStore.d.ts.map +1 -1
- package/DiscordGateway/Shard/StateStore.js +36 -20
- package/DiscordGateway/Shard/StateStore.js.map +1 -1
- package/gateway.js +1 -1
- package/gateway.js.map +1 -1
- package/mjs/DiscordGateway/Shard/StateStore.mjs +34 -19
- package/mjs/DiscordGateway/Shard/StateStore.mjs.map +1 -1
- package/mjs/gateway.mjs +2 -2
- package/mjs/gateway.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +2 -2
- package/src/DiscordGateway/Shard/StateStore.ts +45 -24
- package/src/gateway.ts +2 -2
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -2,24 +2,26 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
3
|
import * as Context from "effect/Context";
|
|
4
4
|
import * as Layer from "effect/Layer";
|
|
5
|
+
import * as KVS from "@effect/platform/KeyValueStore";
|
|
5
6
|
export interface ShardState {
|
|
6
7
|
readonly resumeUrl: string;
|
|
7
8
|
readonly sequence: number | null;
|
|
8
9
|
readonly sessionId: string;
|
|
9
10
|
}
|
|
10
|
-
export interface ShardStateStore {
|
|
11
|
-
readonly _: unique symbol;
|
|
12
|
-
}
|
|
13
11
|
export interface StateStore {
|
|
14
12
|
readonly get: Effect.Effect<Option.Option<ShardState>>;
|
|
15
13
|
readonly set: (state: ShardState) => Effect.Effect<void>;
|
|
16
14
|
readonly clear: Effect.Effect<void>;
|
|
17
15
|
}
|
|
18
|
-
|
|
16
|
+
declare const ShardStateStore_base: Context.TagClass<ShardStateStore, "dfx/Shard/StateStore", {
|
|
19
17
|
readonly forShard: (id: [
|
|
20
18
|
id: number,
|
|
21
19
|
count: number
|
|
22
20
|
]) => StateStore;
|
|
23
21
|
}>;
|
|
24
|
-
export declare
|
|
22
|
+
export declare class ShardStateStore extends ShardStateStore_base {
|
|
23
|
+
static MemoryLive: Layer.Layer<ShardStateStore>;
|
|
24
|
+
static KVSLive: Layer.Layer<ShardStateStore, never, KVS.KeyValueStore>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
25
27
|
//# sourceMappingURL=StateStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateStore.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"StateStore.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAA;AAErD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACpC;;uBAIsB,CAAC,EAAE,EAAE;QAAC,EAAE,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC,KAAK,UAAU;;AAFtE,qBAAa,eAAgB,SAAQ,oBAGlC;IACD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAsB9C;IAED,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAmBnE;CACJ"}
|
|
@@ -3,31 +3,47 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ShardStateStore =
|
|
6
|
+
exports.ShardStateStore = void 0;
|
|
7
7
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
8
8
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
|
9
9
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
|
|
10
10
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
11
|
+
var KVS = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/KeyValueStore"));
|
|
11
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); }
|
|
12
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 && {}.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; }
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
14
|
+
class ShardStateStore extends Context.Tag("dfx/Shard/StateStore")() {
|
|
15
|
+
static MemoryLive = Layer.sync(ShardStateStore, () => {
|
|
16
|
+
const store = new Map();
|
|
17
|
+
return ShardStateStore.of({
|
|
18
|
+
forShard: ([id, count]) => {
|
|
19
|
+
const key = `${id}-${count}`;
|
|
20
|
+
return {
|
|
21
|
+
get: Effect.sync(() => Option.fromNullable(store.get(key))),
|
|
22
|
+
set(state) {
|
|
23
|
+
return Effect.sync(() => {
|
|
24
|
+
store.set(key, state);
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
clear: Effect.sync(() => {
|
|
28
|
+
store.delete(key);
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
});
|
|
31
33
|
});
|
|
32
|
-
|
|
34
|
+
static KVSLive = Layer.effect(ShardStateStore, Effect.gen(function* (_) {
|
|
35
|
+
const store = yield* KVS.KeyValueStore;
|
|
36
|
+
return ShardStateStore.of({
|
|
37
|
+
forShard([id, count]) {
|
|
38
|
+
const key = `dfx-shard-state-${id}-${count}`;
|
|
39
|
+
return {
|
|
40
|
+
get: Effect.map(Effect.orDie(store.get(key)), Option.map(JSON.parse)),
|
|
41
|
+
set: state => Effect.orDie(store.set(key, JSON.stringify(state))),
|
|
42
|
+
clear: Effect.orDie(store.remove(key))
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
exports.ShardStateStore = ShardStateStore;
|
|
33
49
|
//# sourceMappingURL=StateStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateStore.js","names":["Effect","_interopRequireWildcard","require","Option","Context","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardStateStore","
|
|
1
|
+
{"version":3,"file":"StateStore.js","names":["Effect","_interopRequireWildcard","require","Option","Context","Layer","KVS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardStateStore","Tag","MemoryLive","sync","store","Map","of","forShard","id","count","key","fromNullable","state","clear","delete","KVSLive","effect","gen","_","KeyValueStore","map","orDie","JSON","parse","stringify","remove"],"sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/gateway.js
CHANGED
|
@@ -68,6 +68,6 @@ var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
|
|
|
68
68
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
69
69
|
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); }
|
|
70
70
|
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 && {}.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; }
|
|
71
|
-
const DiscordLive = exports.DiscordLive = /*#__PURE__*/Layer.mergeAll(_RateLimit.RateLimiterLive, _DiscordGateway.DiscordGatewayLive).pipe( /*#__PURE__*/Layer.provideMerge(_DiscordREST.DiscordRESTLive), /*#__PURE__*/Layer.provide(_DiscordWS.JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(_RateLimit.MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(_ShardStore.MemoryShardStoreLive), /*#__PURE__*/Layer.provide(_StateStore.
|
|
71
|
+
const DiscordLive = exports.DiscordLive = /*#__PURE__*/Layer.mergeAll(_RateLimit.RateLimiterLive, _DiscordGateway.DiscordGatewayLive).pipe( /*#__PURE__*/Layer.provideMerge(_DiscordREST.DiscordRESTLive), /*#__PURE__*/Layer.provide(_DiscordWS.JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(_RateLimit.MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(_ShardStore.MemoryShardStoreLive), /*#__PURE__*/Layer.provide(_StateStore.ShardStateStore.MemoryLive));
|
|
72
72
|
const DiscordIxLive = exports.DiscordIxLive = /*#__PURE__*/_gateway.InteractionsRegistryLive.pipe( /*#__PURE__*/Layer.provideMerge(DiscordLive));
|
|
73
73
|
//# sourceMappingURL=gateway.js.map
|
package/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","names":["CachePrelude","_interopRequireWildcard","require","exports","_DiscordGateway","_DiscordWS","DiscordWS","Shard","_StateStore","SendEvent","_ShardStore","ShardStore","_DiscordREST","_gateway","_RateLimit","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DiscordLive","mergeAll","RateLimiterLive","DiscordGatewayLive","pipe","provideMerge","DiscordRESTLive","provide","JsonDiscordWSCodecLive","MemoryRateLimitStoreLive","MemoryShardStoreLive","
|
|
1
|
+
{"version":3,"file":"gateway.js","names":["CachePrelude","_interopRequireWildcard","require","exports","_DiscordGateway","_DiscordWS","DiscordWS","Shard","_StateStore","SendEvent","_ShardStore","ShardStore","_DiscordREST","_gateway","_RateLimit","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DiscordLive","mergeAll","RateLimiterLive","DiscordGatewayLive","pipe","provideMerge","DiscordRESTLive","provide","JsonDiscordWSCodecLive","MemoryRateLimitStoreLive","MemoryShardStoreLive","ShardStateStore","MemoryLive","DiscordIxLive","InteractionsRegistryLive"],"sources":["./src/gateway.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAiDC,OAAA,CAAAH,YAAA,GAAAA,YAAA;AACjD,IAAAI,eAAA,gBAAAF,OAAA;AACA,IAAAG,UAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAyD,IAAAI,SAAA,GAAAD,UAAA;AAAAF,OAAA,CAAAG,SAAA,GAAAD,UAAA;AAEzD,IAAAE,KAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAiDC,OAAA,CAAAI,KAAA,GAAAA,KAAA;AACjD,IAAAC,WAAA,gBAAAN,OAAA;AACA,IAAAO,SAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAAgEC,OAAA,CAAAM,SAAA,GAAAA,SAAA;AAChE,IAAAC,WAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAA2D,IAAAS,UAAA,GAAAD,WAAA;AAAAP,OAAA,CAAAQ,UAAA,GAAAD,WAAA;AAE3D,IAAAE,YAAA,gBAAAV,OAAA;AACA,IAAAW,QAAA,gBAAAX,OAAA;AACA,IAAAY,UAAA,gBAAAZ,OAAA;AACA,IAAAa,KAAA,gBAAAd,uBAAA,eAAAC,OAAA;AAAqC,SAAAc,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,SAAAhB,wBAAAgB,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,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAc9B,MAAMW,WAAW,GAAAjC,OAAA,CAAAiC,WAAA,gBAAGrB,KAAK,CAACsB,QAAQ,CACvCC,0BAAe,EACfC,kCAAkB,CACnB,CAACC,IAAI,eACJzB,KAAK,CAAC0B,YAAY,CAACC,4BAAe,CAAC,eACnC3B,KAAK,CAAC4B,OAAO,CAACC,iCAAsB,CAAC,eACrC7B,KAAK,CAAC4B,OAAO,CAACE,mCAAwB,CAAC,eACvC9B,KAAK,CAAC4B,OAAO,CAACG,gCAAoB,CAAC,eACnC/B,KAAK,CAAC4B,OAAO,CAACI,2BAAe,CAACC,UAAU,CAAC,CAC1C;AAEM,MAAMC,aAAa,GAAA9C,OAAA,CAAA8C,aAAA,gBAAGC,iCAAwB,CAACV,IAAI,eACxDzB,KAAK,CAAC0B,YAAY,CAACL,WAAW,CAAC,CAChC","ignoreList":[]}
|
|
@@ -2,24 +2,39 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
3
|
import * as Context from "effect/Context";
|
|
4
4
|
import * as Layer from "effect/Layer";
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
5
|
+
import * as KVS from "@effect/platform/KeyValueStore";
|
|
6
|
+
export class ShardStateStore extends Context.Tag("dfx/Shard/StateStore")() {
|
|
7
|
+
static MemoryLive = Layer.sync(ShardStateStore, () => {
|
|
8
|
+
const store = new Map();
|
|
9
|
+
return ShardStateStore.of({
|
|
10
|
+
forShard: ([id, count]) => {
|
|
11
|
+
const key = `${id}-${count}`;
|
|
12
|
+
return {
|
|
13
|
+
get: Effect.sync(() => Option.fromNullable(store.get(key))),
|
|
14
|
+
set(state) {
|
|
15
|
+
return Effect.sync(() => {
|
|
16
|
+
store.set(key, state);
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
clear: Effect.sync(() => {
|
|
20
|
+
store.delete(key);
|
|
21
|
+
})
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
23
25
|
});
|
|
24
|
-
|
|
26
|
+
static KVSLive = Layer.effect(ShardStateStore, Effect.gen(function* (_) {
|
|
27
|
+
const store = yield* KVS.KeyValueStore;
|
|
28
|
+
return ShardStateStore.of({
|
|
29
|
+
forShard([id, count]) {
|
|
30
|
+
const key = `dfx-shard-state-${id}-${count}`;
|
|
31
|
+
return {
|
|
32
|
+
get: Effect.map(Effect.orDie(store.get(key)), Option.map(JSON.parse)),
|
|
33
|
+
set: state => Effect.orDie(store.set(key, JSON.stringify(state))),
|
|
34
|
+
clear: Effect.orDie(store.remove(key))
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
25
40
|
//# sourceMappingURL=StateStore.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateStore.mjs","names":["Effect","Option","Context","Layer","ShardStateStore","
|
|
1
|
+
{"version":3,"file":"StateStore.mjs","names":["Effect","Option","Context","Layer","KVS","ShardStateStore","Tag","MemoryLive","sync","store","Map","of","forShard","id","count","key","get","fromNullable","set","state","clear","delete","KVSLive","effect","gen","_","KeyValueStore","map","orDie","JSON","parse","stringify","remove"],"sources":["../../../src/DiscordGateway/Shard/StateStore.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,GAAG,MAAM,gCAAgC;AAcrD,OAAM,MAAOC,eAAgB,SAAQH,OAAO,CAACI,GAAG,CAAC,sBAAsB,CAAC,EAGrE;EACD,OAAOC,UAAU,GAAiCJ,KAAK,CAACK,IAAI,CAC1DH,eAAe,EACf,MAAK;IACH,MAAMI,KAAK,GAAG,IAAIC,GAAG,EAAsB;IAE3C,OAAOL,eAAe,CAACM,EAAE,CAAC;MACxBC,QAAQ,EAAEA,CAAC,CAACC,EAAE,EAAEC,KAAK,CAAC,KAAI;QACxB,MAAMC,GAAG,GAAG,GAAGF,EAAE,IAAIC,KAAK,EAAE;QAC5B,OAAO;UACLE,GAAG,EAAEhB,MAAM,CAACQ,IAAI,CAAC,MAAMP,MAAM,CAACgB,YAAY,CAACR,KAAK,CAACO,GAAG,CAACD,GAAG,CAAC,CAAC,CAAC;UAC3DG,GAAGA,CAACC,KAAK;YACP,OAAOnB,MAAM,CAACQ,IAAI,CAAC,MAAK;cACtBC,KAAK,CAACS,GAAG,CAACH,GAAG,EAAEI,KAAK,CAAC;YACvB,CAAC,CAAC;UACJ,CAAC;UACDC,KAAK,EAAEpB,MAAM,CAACQ,IAAI,CAAC,MAAK;YACtBC,KAAK,CAACY,MAAM,CAACN,GAAG,CAAC;UACnB,CAAC;SACF;MACH;KACD,CAAC;EACJ,CAAC,CACF;EAED,OAAOO,OAAO,GACZnB,KAAK,CAACoB,MAAM,CACVlB,eAAe,EACfL,MAAM,CAACwB,GAAG,CAAC,WAAWC,CAAC;IACrB,MAAMhB,KAAK,GAAG,OAAOL,GAAG,CAACsB,aAAa;IACtC,OAAOrB,eAAe,CAACM,EAAE,CAAC;MACxBC,QAAQA,CAAC,CAACC,EAAE,EAAEC,KAAK,CAAC;QAClB,MAAMC,GAAG,GAAG,mBAAmBF,EAAE,IAAIC,KAAK,EAAE;QAC5C,OAAO;UACLE,GAAG,EAAEhB,MAAM,CAAC2B,GAAG,CACb3B,MAAM,CAAC4B,KAAK,CAACnB,KAAK,CAACO,GAAG,CAACD,GAAG,CAAC,CAAC,EAC5Bd,MAAM,CAAC0B,GAAG,CAACE,IAAI,CAACC,KAAK,CAAC,CACvB;UACDZ,GAAG,EAAEC,KAAK,IAAInB,MAAM,CAAC4B,KAAK,CAACnB,KAAK,CAACS,GAAG,CAACH,GAAG,EAAEc,IAAI,CAACE,SAAS,CAACZ,KAAK,CAAC,CAAC,CAAC;UACjEC,KAAK,EAAEpB,MAAM,CAAC4B,KAAK,CAACnB,KAAK,CAACuB,MAAM,CAACjB,GAAG,CAAC;SACtC;MACH;KACD,CAAC;EACJ,CAAC,CAAC,CACH","ignoreList":[]}
|
package/mjs/gateway.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { DiscordGatewayLive } from "dfx/DiscordGateway";
|
|
|
3
3
|
import * as DiscordWS from "dfx/DiscordGateway/DiscordWS";
|
|
4
4
|
import { JsonDiscordWSCodecLive } from "dfx/DiscordGateway/DiscordWS";
|
|
5
5
|
import * as Shard from "dfx/DiscordGateway/Shard";
|
|
6
|
-
import {
|
|
6
|
+
import { ShardStateStore } from "dfx/DiscordGateway/Shard/StateStore";
|
|
7
7
|
import * as SendEvent from "dfx/DiscordGateway/Shard/sendEvents";
|
|
8
8
|
import * as ShardStore from "dfx/DiscordGateway/ShardStore";
|
|
9
9
|
import { MemoryShardStoreLive } from "dfx/DiscordGateway/ShardStore";
|
|
@@ -14,6 +14,6 @@ import * as Layer from "effect/Layer";
|
|
|
14
14
|
export { DiscordGateway, DiscordGatewayLive } from "dfx/DiscordGateway";
|
|
15
15
|
export { InteractionsRegistry, InteractionsRegistryLive, interactionsSync, run as runIx, setInteractionsSync } from "dfx/Interactions/gateway";
|
|
16
16
|
export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore };
|
|
17
|
-
export const DiscordLive = /*#__PURE__*/Layer.mergeAll(RateLimiterLive, DiscordGatewayLive).pipe( /*#__PURE__*/Layer.provideMerge(DiscordRESTLive), /*#__PURE__*/Layer.provide(JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(MemoryShardStoreLive), /*#__PURE__*/Layer.provide(
|
|
17
|
+
export const DiscordLive = /*#__PURE__*/Layer.mergeAll(RateLimiterLive, DiscordGatewayLive).pipe( /*#__PURE__*/Layer.provideMerge(DiscordRESTLive), /*#__PURE__*/Layer.provide(JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(MemoryShardStoreLive), /*#__PURE__*/Layer.provide(ShardStateStore.MemoryLive));
|
|
18
18
|
export const DiscordIxLive = /*#__PURE__*/InteractionsRegistryLive.pipe( /*#__PURE__*/Layer.provideMerge(DiscordLive));
|
|
19
19
|
//# sourceMappingURL=gateway.mjs.map
|
package/mjs/gateway.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.mjs","names":["CachePrelude","DiscordGatewayLive","DiscordWS","JsonDiscordWSCodecLive","Shard","
|
|
1
|
+
{"version":3,"file":"gateway.mjs","names":["CachePrelude","DiscordGatewayLive","DiscordWS","JsonDiscordWSCodecLive","Shard","ShardStateStore","SendEvent","ShardStore","MemoryShardStoreLive","DiscordRESTLive","InteractionsRegistryLive","MemoryRateLimitStoreLive","RateLimiterLive","Layer","DiscordGateway","InteractionsRegistry","interactionsSync","run","runIx","setInteractionsSync","DiscordLive","mergeAll","pipe","provideMerge","provide","MemoryLive","DiscordIxLive"],"sources":["../src/gateway.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,YAAY,MAAM,mBAAmB;AACjD,SAASC,kBAAkB,QAAQ,oBAAoB;AACvD,OAAO,KAAKC,SAAS,MAAM,8BAA8B;AACzD,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,OAAO,KAAKC,KAAK,MAAM,0BAA0B;AACjD,SAASC,eAAe,QAAQ,qCAAqC;AACrE,OAAO,KAAKC,SAAS,MAAM,qCAAqC;AAChE,OAAO,KAAKC,UAAU,MAAM,+BAA+B;AAC3D,SAASC,oBAAoB,QAAQ,+BAA+B;AACpE,SAASC,eAAe,QAAQ,iBAAiB;AACjD,SAASC,wBAAwB,QAAQ,0BAA0B;AACnE,SAASC,wBAAwB,EAAEC,eAAe,QAAQ,eAAe;AACzE,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,cAAc,EAAEb,kBAAkB,QAAQ,oBAAoB;AAEvE,SACEc,oBAAoB,EACpBL,wBAAwB,EACxBM,gBAAgB,EAChBC,GAAG,IAAIC,KAAK,EACZC,mBAAmB,QACd,0BAA0B;AAEjC,SAASnB,YAAY,EAAEE,SAAS,EAAEI,SAAS,EAAEF,KAAK,EAAEG,UAAU;AAE9D,OAAO,MAAMa,WAAW,gBAAGP,KAAK,CAACQ,QAAQ,CACvCT,eAAe,EACfX,kBAAkB,CACnB,CAACqB,IAAI,eACJT,KAAK,CAACU,YAAY,CAACd,eAAe,CAAC,eACnCI,KAAK,CAACW,OAAO,CAACrB,sBAAsB,CAAC,eACrCU,KAAK,CAACW,OAAO,CAACb,wBAAwB,CAAC,eACvCE,KAAK,CAACW,OAAO,CAAChB,oBAAoB,CAAC,eACnCK,KAAK,CAACW,OAAO,CAACnB,eAAe,CAACoB,UAAU,CAAC,CAC1C;AAED,OAAO,MAAMC,aAAa,gBAAGhB,wBAAwB,CAACY,IAAI,eACxDT,KAAK,CAACU,YAAY,CAACH,WAAW,CAAC,CAChC","ignoreList":[]}
|
package/mjs/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.95.
|
|
1
|
+
export const LIB_VERSION = "0.95.3";
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.95.
|
|
3
|
+
"version": "0.95.3",
|
|
4
4
|
"description": "Effect-TS discord library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -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": "f85d8d07d8f016476ca7fb5e0d719022fe4ed31e",
|
|
48
48
|
"main": "./index.js"
|
|
49
49
|
}
|
|
@@ -2,6 +2,7 @@ import * as Effect from "effect/Effect"
|
|
|
2
2
|
import * as Option from "effect/Option"
|
|
3
3
|
import * as Context from "effect/Context"
|
|
4
4
|
import * as Layer from "effect/Layer"
|
|
5
|
+
import * as KVS from "@effect/platform/KeyValueStore"
|
|
5
6
|
|
|
6
7
|
export interface ShardState {
|
|
7
8
|
readonly resumeUrl: string
|
|
@@ -9,38 +10,58 @@ export interface ShardState {
|
|
|
9
10
|
readonly sessionId: string
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
export interface ShardStateStore {
|
|
13
|
-
readonly _: unique symbol
|
|
14
|
-
}
|
|
15
|
-
|
|
16
13
|
export interface StateStore {
|
|
17
14
|
readonly get: Effect.Effect<Option.Option<ShardState>>
|
|
18
15
|
readonly set: (state: ShardState) => Effect.Effect<void>
|
|
19
16
|
readonly clear: Effect.Effect<void>
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
export
|
|
19
|
+
export class ShardStateStore extends Context.Tag("dfx/Shard/StateStore")<
|
|
23
20
|
ShardStateStore,
|
|
24
21
|
{ readonly forShard: (id: [id: number, count: number]) => StateStore }
|
|
25
|
-
>(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
>() {
|
|
23
|
+
static MemoryLive: Layer.Layer<ShardStateStore> = Layer.sync(
|
|
24
|
+
ShardStateStore,
|
|
25
|
+
() => {
|
|
26
|
+
const store = new Map<string, ShardState>()
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
return ShardStateStore.of({
|
|
29
|
+
forShard: ([id, count]) => {
|
|
30
|
+
const key = `${id}-${count}`
|
|
31
|
+
return {
|
|
32
|
+
get: Effect.sync(() => Option.fromNullable(store.get(key))),
|
|
33
|
+
set(state) {
|
|
34
|
+
return Effect.sync(() => {
|
|
35
|
+
store.set(key, state)
|
|
36
|
+
})
|
|
37
|
+
},
|
|
38
|
+
clear: Effect.sync(() => {
|
|
39
|
+
store.delete(key)
|
|
40
|
+
}),
|
|
41
|
+
}
|
|
39
42
|
},
|
|
40
|
-
|
|
41
|
-
store.delete(key)
|
|
42
|
-
}),
|
|
43
|
-
}
|
|
43
|
+
})
|
|
44
44
|
},
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
static KVSLive: Layer.Layer<ShardStateStore, never, KVS.KeyValueStore> =
|
|
48
|
+
Layer.effect(
|
|
49
|
+
ShardStateStore,
|
|
50
|
+
Effect.gen(function* (_) {
|
|
51
|
+
const store = yield* KVS.KeyValueStore
|
|
52
|
+
return ShardStateStore.of({
|
|
53
|
+
forShard([id, count]) {
|
|
54
|
+
const key = `dfx-shard-state-${id}-${count}`
|
|
55
|
+
return {
|
|
56
|
+
get: Effect.map(
|
|
57
|
+
Effect.orDie(store.get(key)),
|
|
58
|
+
Option.map(JSON.parse),
|
|
59
|
+
),
|
|
60
|
+
set: state => Effect.orDie(store.set(key, JSON.stringify(state))),
|
|
61
|
+
clear: Effect.orDie(store.remove(key)),
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
})
|
|
65
|
+
}),
|
|
66
|
+
)
|
|
67
|
+
}
|
package/src/gateway.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { DiscordGatewayLive } from "dfx/DiscordGateway"
|
|
|
3
3
|
import * as DiscordWS from "dfx/DiscordGateway/DiscordWS"
|
|
4
4
|
import { JsonDiscordWSCodecLive } from "dfx/DiscordGateway/DiscordWS"
|
|
5
5
|
import * as Shard from "dfx/DiscordGateway/Shard"
|
|
6
|
-
import {
|
|
6
|
+
import { ShardStateStore } from "dfx/DiscordGateway/Shard/StateStore"
|
|
7
7
|
import * as SendEvent from "dfx/DiscordGateway/Shard/sendEvents"
|
|
8
8
|
import * as ShardStore from "dfx/DiscordGateway/ShardStore"
|
|
9
9
|
import { MemoryShardStoreLive } from "dfx/DiscordGateway/ShardStore"
|
|
@@ -32,7 +32,7 @@ export const DiscordLive = Layer.mergeAll(
|
|
|
32
32
|
Layer.provide(JsonDiscordWSCodecLive),
|
|
33
33
|
Layer.provide(MemoryRateLimitStoreLive),
|
|
34
34
|
Layer.provide(MemoryShardStoreLive),
|
|
35
|
-
Layer.provide(
|
|
35
|
+
Layer.provide(ShardStateStore.MemoryLive),
|
|
36
36
|
)
|
|
37
37
|
|
|
38
38
|
export const DiscordIxLive = InteractionsRegistryLive.pipe(
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.95.
|
|
1
|
+
export const LIB_VERSION = "0.95.3";
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "0.95.
|
|
1
|
+
export declare const LIB_VERSION = "0.95.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/version.js
CHANGED