@buape/carbon 0.9.0 → 0.10.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/dist/package.json +4 -4
- package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
- package/dist/src/abstracts/BaseComponentInteraction.js +2 -0
- package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
- package/dist/src/abstracts/BaseInteraction.d.ts +1 -1
- package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
- package/dist/src/abstracts/BaseInteraction.js.map +1 -1
- package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +7 -1
- package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
- package/dist/src/abstracts/GuildThreadOnlyChannel.js +13 -0
- package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -1
- package/dist/src/classes/Client.d.ts +6 -3
- package/dist/src/classes/Client.d.ts.map +1 -1
- package/dist/src/classes/Client.js +15 -4
- package/dist/src/classes/Client.js.map +1 -1
- package/dist/src/classes/ClientWithCaching.d.ts +51 -0
- package/dist/src/classes/ClientWithCaching.d.ts.map +1 -0
- package/dist/src/classes/ClientWithCaching.js +108 -0
- package/dist/src/classes/ClientWithCaching.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internals/Cache.d.ts +76 -0
- package/dist/src/internals/Cache.d.ts.map +1 -0
- package/dist/src/internals/Cache.js +122 -0
- package/dist/src/internals/Cache.js.map +1 -0
- package/dist/src/internals/CommandHandler.d.ts +1 -0
- package/dist/src/internals/CommandHandler.d.ts.map +1 -1
- package/dist/src/internals/CommandHandler.js +19 -10
- package/dist/src/internals/CommandHandler.js.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts +46 -2
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.js +120 -6
- package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
- package/dist/src/plugins/gateway/types.d.ts +58 -0
- package/dist/src/plugins/gateway/types.d.ts.map +1 -1
- package/dist/src/plugins/gateway/types.js.map +1 -1
- package/dist/src/plugins/gateway/utils/payload.d.ts +7 -5
- package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -1
- package/dist/src/plugins/gateway/utils/payload.js +18 -0
- package/dist/src/plugins/gateway/utils/payload.js.map +1 -1
- package/dist/src/plugins/gateway/utils/rateLimit.d.ts +41 -0
- package/dist/src/plugins/gateway/utils/rateLimit.d.ts.map +1 -0
- package/dist/src/plugins/gateway/utils/rateLimit.js +61 -0
- package/dist/src/plugins/gateway/utils/rateLimit.js.map +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -1
- package/dist/src/plugins/paginator/GoToPageModal.d.ts +24 -0
- package/dist/src/plugins/paginator/GoToPageModal.d.ts.map +1 -0
- package/dist/src/plugins/paginator/GoToPageModal.js +50 -0
- package/dist/src/plugins/paginator/GoToPageModal.js.map +1 -0
- package/dist/src/plugins/paginator/Paginator.d.ts +2 -0
- package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -1
- package/dist/src/plugins/paginator/Paginator.js +40 -12
- package/dist/src/plugins/paginator/Paginator.js.map +1 -1
- package/dist/src/plugins/paginator/index.d.ts +2 -1
- package/dist/src/plugins/paginator/index.d.ts.map +1 -1
- package/dist/src/plugins/paginator/index.js +2 -1
- package/dist/src/plugins/paginator/index.js.map +1 -1
- package/dist/src/plugins/sharding/ShardingPlugin.d.ts +2 -1
- package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -1
- package/dist/src/plugins/sharding/ShardingPlugin.js +9 -1
- package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -1
- package/dist/src/structures/Message.d.ts +3 -3
- package/dist/src/structures/Message.d.ts.map +1 -1
- package/dist/src/structures/Message.js +10 -6
- package/dist/src/structures/Message.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -56,6 +56,64 @@ export interface GatewayPayload {
|
|
|
56
56
|
s?: number | null;
|
|
57
57
|
t?: string | null;
|
|
58
58
|
}
|
|
59
|
+
export interface UpdatePresenceData {
|
|
60
|
+
since: number | null;
|
|
61
|
+
activities: Activity[];
|
|
62
|
+
status: "online" | "dnd" | "idle" | "invisible" | "offline";
|
|
63
|
+
afk: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface Activity {
|
|
66
|
+
name: string;
|
|
67
|
+
type: number;
|
|
68
|
+
url?: string | null;
|
|
69
|
+
created_at?: number;
|
|
70
|
+
timestamps?: {
|
|
71
|
+
start?: number;
|
|
72
|
+
end?: number;
|
|
73
|
+
};
|
|
74
|
+
application_id?: string;
|
|
75
|
+
details?: string | null;
|
|
76
|
+
state?: string | null;
|
|
77
|
+
emoji?: {
|
|
78
|
+
name: string;
|
|
79
|
+
id?: string;
|
|
80
|
+
animated?: boolean;
|
|
81
|
+
} | null;
|
|
82
|
+
party?: {
|
|
83
|
+
id?: string;
|
|
84
|
+
size?: [number, number];
|
|
85
|
+
};
|
|
86
|
+
assets?: {
|
|
87
|
+
large_image?: string;
|
|
88
|
+
large_text?: string;
|
|
89
|
+
small_image?: string;
|
|
90
|
+
small_text?: string;
|
|
91
|
+
};
|
|
92
|
+
secrets?: {
|
|
93
|
+
join?: string;
|
|
94
|
+
spectate?: string;
|
|
95
|
+
match?: string;
|
|
96
|
+
};
|
|
97
|
+
instance?: boolean;
|
|
98
|
+
flags?: number;
|
|
99
|
+
buttons?: string[];
|
|
100
|
+
}
|
|
101
|
+
export interface UpdateVoiceStateData {
|
|
102
|
+
guild_id: string;
|
|
103
|
+
channel_id: string | null;
|
|
104
|
+
self_mute: boolean;
|
|
105
|
+
self_deaf: boolean;
|
|
106
|
+
}
|
|
107
|
+
export interface RequestGuildMembersData {
|
|
108
|
+
guild_id: string;
|
|
109
|
+
/** Query string (empty string "" requests all members). Either query or user_ids is required. */
|
|
110
|
+
query?: string;
|
|
111
|
+
limit: number;
|
|
112
|
+
presences?: boolean;
|
|
113
|
+
/** Specific user IDs to request. Either query or user_ids is required. */
|
|
114
|
+
user_ids?: string | string[];
|
|
115
|
+
nonce?: string;
|
|
116
|
+
}
|
|
59
117
|
export type ReadyEventData = GatewayReadyDispatchData;
|
|
60
118
|
export declare const GatewayIntents: typeof GatewayIntentBits;
|
|
61
119
|
export type { APIGatewayBotInfo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/gateway/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,iBAAiB,EACtB,iBAAiB,IAAI,wBAAwB,EAC7C,cAAc,IAAI,qBAAqB,EACvC,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE;QACX;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAA;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,yDAAyD;IACzD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,cAAc,8BAAwB,CAAA;AACnD,eAAO,MAAM,iBAAiB,iCAA2B,CAAA;AAEzD,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;IACxD,CAAC,CAAC,EAAE,OAAO,CAAA;IACX,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAA;AAErD,eAAO,MAAM,cAAc,0BAAoB,CAAA;AAE/C,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/gateway/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/gateway/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,IAAI,wBAAwB,EAC7C,cAAc,IAAI,qBAAqB,EACvC,iBAAiB,EAEjB,MAAM,uBAAuB,CAAA;AAqD9B,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/gateway/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,IAAI,wBAAwB,EAC7C,cAAc,IAAI,qBAAqB,EACvC,iBAAiB,EAEjB,MAAM,uBAAuB,CAAA;AAqD9B,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAA;AAyEzD,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAA"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { type GatewayPayload } from "../types.js";
|
|
2
|
-
interface IdentifyProperties {
|
|
1
|
+
import { type GatewayPayload, type RequestGuildMembersData, type UpdatePresenceData, type UpdateVoiceStateData } from "../types.js";
|
|
2
|
+
export interface IdentifyProperties {
|
|
3
3
|
os: string;
|
|
4
4
|
browser: string;
|
|
5
5
|
device: string;
|
|
6
6
|
}
|
|
7
|
-
interface IdentifyData {
|
|
7
|
+
export interface IdentifyData {
|
|
8
8
|
token: string;
|
|
9
9
|
properties: IdentifyProperties;
|
|
10
10
|
intents: number;
|
|
11
11
|
shard?: [number, number];
|
|
12
12
|
}
|
|
13
|
-
interface ResumeData {
|
|
13
|
+
export interface ResumeData {
|
|
14
14
|
token: string;
|
|
15
15
|
sessionId: string;
|
|
16
16
|
sequence: number;
|
|
@@ -18,5 +18,7 @@ interface ResumeData {
|
|
|
18
18
|
export declare function validatePayload(data: string): GatewayPayload | null;
|
|
19
19
|
export declare function createIdentifyPayload(data: IdentifyData): GatewayPayload;
|
|
20
20
|
export declare function createResumePayload(data: ResumeData): GatewayPayload;
|
|
21
|
-
export
|
|
21
|
+
export declare function createUpdatePresencePayload(data: UpdatePresenceData): GatewayPayload;
|
|
22
|
+
export declare function createUpdateVoiceStatePayload(data: UpdateVoiceStateData): GatewayPayload;
|
|
23
|
+
export declare function createRequestGuildMembersPayload(data: RequestGuildMembersData): GatewayPayload;
|
|
22
24
|
//# sourceMappingURL=payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/gateway/utils/payload.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/gateway/utils/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,kBAAkB,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA0BnE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAUxE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CASpE;AAED,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,kBAAkB,GACtB,cAAc,CAKhB;AAED,wBAAgB,6BAA6B,CAC5C,IAAI,EAAE,oBAAoB,GACxB,cAAc,CAKhB;AAED,wBAAgB,gCAAgC,CAC/C,IAAI,EAAE,uBAAuB,GAC3B,cAAc,CAKhB"}
|
|
@@ -44,4 +44,22 @@ export function createResumePayload(data) {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
+
export function createUpdatePresencePayload(data) {
|
|
48
|
+
return {
|
|
49
|
+
op: GatewayOpcodes.PresenceUpdate,
|
|
50
|
+
d: data
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function createUpdateVoiceStatePayload(data) {
|
|
54
|
+
return {
|
|
55
|
+
op: GatewayOpcodes.VoiceStateUpdate,
|
|
56
|
+
d: data
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function createRequestGuildMembersPayload(data) {
|
|
60
|
+
return {
|
|
61
|
+
op: GatewayOpcodes.RequestGuildMembers,
|
|
62
|
+
d: data
|
|
63
|
+
};
|
|
64
|
+
}
|
|
47
65
|
//# sourceMappingURL=payload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/plugins/gateway/utils/payload.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/plugins/gateway/utils/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EAKd,MAAM,aAAa,CAAA;AAqBpB,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAA;QAElD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnE,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE;gBACtE,IAAI;aACJ,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACxE,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,OAAO,OAAO,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACvE,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAkB;IACvD,OAAO;QACN,EAAE,EAAE,cAAc,CAAC,QAAQ;QAC3B,CAAC,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;KACD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IACnD,OAAO;QACN,EAAE,EAAE,cAAc,CAAC,MAAM;QACzB,CAAC,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,GAAG,EAAE,IAAI,CAAC,QAAQ;SAClB;KACD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,IAAwB;IAExB,OAAO;QACN,EAAE,EAAE,cAAc,CAAC,cAAc;QACjC,CAAC,EAAE,IAAI;KACP,CAAA;AACF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC5C,IAA0B;IAE1B,OAAO;QACN,EAAE,EAAE,cAAc,CAAC,gBAAgB;QACnC,CAAC,EAAE,IAAI;KACP,CAAA;AACF,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,IAA6B;IAE7B,OAAO;QACN,EAAE,EAAE,cAAc,CAAC,mBAAmB;QACtC,CAAC,EAAE,IAAI;KACP,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface RateLimitConfig {
|
|
2
|
+
/** Maximum number of events allowed in the time window */
|
|
3
|
+
maxEvents: number;
|
|
4
|
+
/** Time window in milliseconds */
|
|
5
|
+
windowMs: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class GatewayRateLimit {
|
|
8
|
+
private events;
|
|
9
|
+
private readonly config;
|
|
10
|
+
constructor(config?: RateLimitConfig);
|
|
11
|
+
/**
|
|
12
|
+
* Check if sending an event would exceed the rate limit
|
|
13
|
+
* @returns true if the event can be sent, false if rate limited
|
|
14
|
+
*/
|
|
15
|
+
canSend(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Record that an event was sent
|
|
18
|
+
*/
|
|
19
|
+
recordEvent(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get the current number of events in the time window
|
|
22
|
+
*/
|
|
23
|
+
getCurrentEventCount(): number;
|
|
24
|
+
/**
|
|
25
|
+
* Get remaining events before hitting rate limit
|
|
26
|
+
*/
|
|
27
|
+
getRemainingEvents(): number;
|
|
28
|
+
/**
|
|
29
|
+
* Get time until rate limit resets (in milliseconds)
|
|
30
|
+
*/
|
|
31
|
+
getResetTime(): number;
|
|
32
|
+
/**
|
|
33
|
+
* Remove events outside the current time window
|
|
34
|
+
*/
|
|
35
|
+
private cleanupOldEvents;
|
|
36
|
+
/**
|
|
37
|
+
* Reset the rate limiter
|
|
38
|
+
*/
|
|
39
|
+
reset(): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=rateLimit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/gateway/utils/rateLimit.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,GAAE,eAAqD;IAIzE;;;OAGG;IACI,OAAO,IAAI,OAAO;IAKzB;;OAEG;IACI,WAAW,IAAI,IAAI;IAI1B;;OAEG;IACI,oBAAoB,IAAI,MAAM;IAKrC;;OAEG;IACI,kBAAkB,IAAI,MAAM;IAInC;;OAEG;IACI,YAAY,IAAI,MAAM;IAS7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACI,KAAK,IAAI,IAAI;CAGpB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export class GatewayRateLimit {
|
|
2
|
+
events = [];
|
|
3
|
+
config;
|
|
4
|
+
constructor(config = { maxEvents: 120, windowMs: 60000 }) {
|
|
5
|
+
this.config = config;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Check if sending an event would exceed the rate limit
|
|
9
|
+
* @returns true if the event can be sent, false if rate limited
|
|
10
|
+
*/
|
|
11
|
+
canSend() {
|
|
12
|
+
this.cleanupOldEvents();
|
|
13
|
+
return this.events.length < this.config.maxEvents;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Record that an event was sent
|
|
17
|
+
*/
|
|
18
|
+
recordEvent() {
|
|
19
|
+
this.events.push(Date.now());
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get the current number of events in the time window
|
|
23
|
+
*/
|
|
24
|
+
getCurrentEventCount() {
|
|
25
|
+
this.cleanupOldEvents();
|
|
26
|
+
return this.events.length;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get remaining events before hitting rate limit
|
|
30
|
+
*/
|
|
31
|
+
getRemainingEvents() {
|
|
32
|
+
return Math.max(0, this.config.maxEvents - this.getCurrentEventCount());
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get time until rate limit resets (in milliseconds)
|
|
36
|
+
*/
|
|
37
|
+
getResetTime() {
|
|
38
|
+
this.cleanupOldEvents();
|
|
39
|
+
if (this.events.length === 0)
|
|
40
|
+
return 0;
|
|
41
|
+
const oldestEvent = this.events[0];
|
|
42
|
+
if (!oldestEvent)
|
|
43
|
+
return 0;
|
|
44
|
+
return Math.max(0, this.config.windowMs - (Date.now() - oldestEvent));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Remove events outside the current time window
|
|
48
|
+
*/
|
|
49
|
+
cleanupOldEvents() {
|
|
50
|
+
const now = Date.now();
|
|
51
|
+
const cutoff = now - this.config.windowMs;
|
|
52
|
+
this.events = this.events.filter((timestamp) => timestamp > cutoff);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reset the rate limiter
|
|
56
|
+
*/
|
|
57
|
+
reset() {
|
|
58
|
+
this.events = [];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=rateLimit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../../../src/plugins/gateway/utils/rateLimit.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,gBAAgB;IACpB,MAAM,GAAa,EAAE,CAAA;IACZ,MAAM,CAAiB;IAExC,YAAY,SAA0B,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,CAAC;IAED;;;OAGG;IACI,OAAO;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAClD,CAAC;IAED;;OAEG;IACI,WAAW;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED;;OAEG;IACI,oBAAoB;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACI,kBAAkB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;IACxE,CAAC;IAED;;OAEG;IACI,YAAY;QAClB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAA;IACtE,CAAC;IAED;;OAEG;IACK,gBAAgB;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,CAAA;IACpE,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IACjB,CAAC;CACD"}
|
|
@@ -3,6 +3,7 @@ import type { GatewayForwarderPluginOptions } from "./GatewayForwarderPlugin.js"
|
|
|
3
3
|
import { GatewayForwarderPlugin } from "./GatewayForwarderPlugin.js";
|
|
4
4
|
export type ShardedGatewayForwarderPluginOptions = GatewayForwarderPluginOptions & ShardingPluginOptions;
|
|
5
5
|
export declare class ShardedGatewayForwarderPlugin extends ShardingPlugin {
|
|
6
|
+
readonly id: "sharding";
|
|
6
7
|
constructor(options: ShardedGatewayForwarderPluginOptions);
|
|
7
8
|
customGatewayPlugin: typeof GatewayForwarderPlugin;
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardedGatewayForwarderPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,KAAK,qBAAqB,EAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,MAAM,MAAM,oCAAoC,GAC/C,6BAA6B,GAAG,qBAAqB,CAAA;AAEtD,qBAAa,6BAA8B,SAAQ,cAAc;gBAEpD,OAAO,EAAE,oCAAoC;IAIzD,mBAAmB,gCAAyB;CAC5C"}
|
|
1
|
+
{"version":3,"file":"ShardedGatewayForwarderPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,KAAK,qBAAqB,EAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,MAAM,MAAM,oCAAoC,GAC/C,6BAA6B,GAAG,qBAAqB,CAAA;AAEtD,qBAAa,6BAA8B,SAAQ,cAAc;IAChE,SAAkB,EAAE,EAAkC,UAAU,CAAA;gBAEpD,OAAO,EAAE,oCAAoC;IAIzD,mBAAmB,gCAAyB;CAC5C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ShardingPlugin } from "../sharding/ShardingPlugin.js";
|
|
2
2
|
import { GatewayForwarderPlugin } from "./GatewayForwarderPlugin.js";
|
|
3
3
|
export class ShardedGatewayForwarderPlugin extends ShardingPlugin {
|
|
4
|
+
id = "sharded-gateway-forwarder";
|
|
4
5
|
// biome-ignore lint/complexity/noUselessConstructor:
|
|
5
6
|
constructor(options) {
|
|
6
7
|
super(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardedGatewayForwarderPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EAEd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAKpE,MAAM,OAAO,6BAA8B,SAAQ,cAAc;IAChE,qDAAqD;IACrD,YAAY,OAA6C;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;IACf,CAAC;IAED,mBAAmB,GAAG,sBAAsB,CAAA;CAC5C"}
|
|
1
|
+
{"version":3,"file":"ShardedGatewayForwarderPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EAEd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAKpE,MAAM,OAAO,6BAA8B,SAAQ,cAAc;IAC9C,EAAE,GAAG,2BAAyC,CAAA;IAChE,qDAAqD;IACrD,YAAY,OAA6C;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;IACf,CAAC;IAED,mBAAmB,GAAG,sBAAsB,CAAA;CAC5C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TextInputStyle } from "discord-api-types/v10";
|
|
2
|
+
import { Modal } from "../../classes/Modal.js";
|
|
3
|
+
import { Row } from "../../classes/components/Row.js";
|
|
4
|
+
import { TextInput } from "../../classes/components/TextInput.js";
|
|
5
|
+
import type { ModalInteraction } from "../../internals/ModalInteraction.js";
|
|
6
|
+
import type { ComponentData } from "../../types/index.js";
|
|
7
|
+
export declare class GoToPageModal extends Modal {
|
|
8
|
+
title: string;
|
|
9
|
+
customId: string;
|
|
10
|
+
components: Row<PageNumberInput>[];
|
|
11
|
+
constructor(paginatorId: string, maxPages: number);
|
|
12
|
+
run(interaction: ModalInteraction, data: ComponentData): Promise<void | import("../../index.js").Message<false>>;
|
|
13
|
+
}
|
|
14
|
+
declare class PageNumberInput extends TextInput {
|
|
15
|
+
label: string;
|
|
16
|
+
customId: string;
|
|
17
|
+
style: TextInputStyle;
|
|
18
|
+
placeholder: string;
|
|
19
|
+
minLength: number;
|
|
20
|
+
maxLength: number;
|
|
21
|
+
required: boolean;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=GoToPageModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoToPageModal.d.ts","sourceRoot":"","sources":["../../../../src/plugins/paginator/GoToPageModal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,qBAAa,aAAc,SAAQ,KAAK;IACvC,KAAK,SAAe;IACpB,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,yBAAqC;gBAEnC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAK3C,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;CAiC5D;AAED,cAAM,eAAgB,SAAQ,SAAS;IACtC,KAAK,SAAgB;IACrB,QAAQ,SAAS;IACjB,KAAK,iBAAuB;IAC5B,WAAW,SAAyB;IACpC,SAAS,SAAI;IACb,SAAS,SAAK;IACd,QAAQ,UAAO;CACf"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { MessageFlags, TextInputStyle } from "discord-api-types/v10";
|
|
2
|
+
import { Modal } from "../../classes/Modal.js";
|
|
3
|
+
import { Row } from "../../classes/components/Row.js";
|
|
4
|
+
import { TextInput } from "../../classes/components/TextInput.js";
|
|
5
|
+
export class GoToPageModal extends Modal {
|
|
6
|
+
title = "Go to Page";
|
|
7
|
+
customId;
|
|
8
|
+
components = [new Row([new PageNumberInput()])];
|
|
9
|
+
constructor(paginatorId, maxPages) {
|
|
10
|
+
super();
|
|
11
|
+
this.customId = `paginator-goto:id=${paginatorId};max=${maxPages}`;
|
|
12
|
+
}
|
|
13
|
+
async run(interaction, data) {
|
|
14
|
+
const pageInput = interaction.fields.getText("page", true);
|
|
15
|
+
const pageNumber = Number.parseInt(pageInput);
|
|
16
|
+
const paginatorId = data.id;
|
|
17
|
+
const maxPages = data.max;
|
|
18
|
+
// Validate page number
|
|
19
|
+
if (Number.isNaN(pageNumber) || pageNumber < 1 || pageNumber > maxPages) {
|
|
20
|
+
return interaction.reply({
|
|
21
|
+
content: `Please enter a valid page number between 1 and ${maxPages}.`,
|
|
22
|
+
flags: MessageFlags.Ephemeral
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// Find the paginator and navigate to the page
|
|
26
|
+
const paginator = interaction.client.paginators.find((p) => p.id === paginatorId);
|
|
27
|
+
if (!paginator) {
|
|
28
|
+
return interaction.reply({
|
|
29
|
+
content: "Paginator not found in memory.",
|
|
30
|
+
flags: MessageFlags.Ephemeral
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// Check if user is authorized to use this paginator
|
|
34
|
+
if (paginator.userId && paginator.userId !== interaction.user?.id) {
|
|
35
|
+
return interaction.acknowledge();
|
|
36
|
+
}
|
|
37
|
+
// Convert to 0-based index and navigate
|
|
38
|
+
await paginator.goToPageFromModal(pageNumber - 1, interaction);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
class PageNumberInput extends TextInput {
|
|
42
|
+
label = "Page Number";
|
|
43
|
+
customId = "page";
|
|
44
|
+
style = TextInputStyle.Short;
|
|
45
|
+
placeholder = "Enter page number...";
|
|
46
|
+
minLength = 1;
|
|
47
|
+
maxLength = 10;
|
|
48
|
+
required = true;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=GoToPageModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoToPageModal.js","sourceRoot":"","sources":["../../../../src/plugins/paginator/GoToPageModal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AAIjE,MAAM,OAAO,aAAc,SAAQ,KAAK;IACvC,KAAK,GAAG,YAAY,CAAA;IACpB,QAAQ,CAAQ;IAEhB,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,CAAA;IAE/C,YAAY,WAAmB,EAAE,QAAgB;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,qBAAqB,WAAW,QAAQ,QAAQ,EAAE,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAA6B,EAAE,IAAmB;QAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,EAAY,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAa,CAAA;QAEnC,uBAAuB;QACvB,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;YACzE,OAAO,WAAW,CAAC,KAAK,CAAC;gBACxB,OAAO,EAAE,kDAAkD,QAAQ,GAAG;gBACtE,KAAK,EAAE,YAAY,CAAC,SAAS;aAC7B,CAAC,CAAA;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAC3B,CAAA;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,KAAK,CAAC;gBACxB,OAAO,EAAE,gCAAgC;gBACzC,KAAK,EAAE,YAAY,CAAC,SAAS;aAC7B,CAAC,CAAA;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACnE,OAAO,WAAW,CAAC,WAAW,EAAE,CAAA;QACjC,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;IAC/D,CAAC;CACD;AAED,MAAM,eAAgB,SAAQ,SAAS;IACtC,KAAK,GAAG,aAAa,CAAA;IACrB,QAAQ,GAAG,MAAM,CAAA;IACjB,KAAK,GAAG,cAAc,CAAC,KAAK,CAAA;IAC5B,WAAW,GAAG,sBAAsB,CAAA;IACpC,SAAS,GAAG,CAAC,CAAA;IACb,SAAS,GAAG,EAAE,CAAA;IACd,QAAQ,GAAG,IAAI,CAAA;CACf"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Client } from "../../classes/Client.js";
|
|
2
2
|
import type { ButtonInteraction } from "../../internals/ButtonInteraction.js";
|
|
3
3
|
import type { CommandInteraction } from "../../internals/CommandInteraction.js";
|
|
4
|
+
import type { ModalInteraction } from "../../internals/ModalInteraction.js";
|
|
4
5
|
import type { MessagePayloadObject } from "../../types/index.js";
|
|
5
6
|
export declare class Paginator {
|
|
6
7
|
readonly pages: MessagePayloadObject[];
|
|
@@ -39,6 +40,7 @@ export declare class Paginator {
|
|
|
39
40
|
destroy(): void;
|
|
40
41
|
private getCurrentPage;
|
|
41
42
|
goToPage(pageIndex: number, interaction: ButtonInteraction): Promise<import("../../index.js").Message<false> | undefined>;
|
|
43
|
+
goToPageFromModal(pageIndex: number, interaction: ModalInteraction): Promise<import("../../index.js").Message<false> | undefined>;
|
|
42
44
|
private createNavigationButtons;
|
|
43
45
|
private getCurrentPageWithButtons;
|
|
44
46
|
getInitialPage(): MessagePayloadObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.d.ts","sourceRoot":"","sources":["../../../../src/plugins/paginator/Paginator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Paginator.d.ts","sourceRoot":"","sources":["../../../../src/plugins/paginator/Paginator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAIhE,qBAAa,SAAS;IACrB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAA;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,WAAW,SAAI;IACzB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAExC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;;IAGvB;;OAEG;IACH,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,EACxB;IACC;;OAEG;IACH,MAAM;IACN;;;OAGG;IACH,eAAwB;IACxB;;OAEG;IACH,MAAM,EACN,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAejE,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,cAAc;IAef,OAAO;IAOd,OAAO,CAAC,cAAc;IAMT,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB;IAW1D,iBAAiB,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,gBAAgB;IAa9B,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,yBAAyB;IAQ1B,cAAc,IAAI,oBAAoB;IAI7C;;;OAGG;IACU,IAAI,CAAC,WAAW,EAAE,kBAAkB;CAGjD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ButtonStyle } from "discord-api-types/v10";
|
|
1
|
+
import { ButtonStyle, MessageFlags } from "discord-api-types/v10";
|
|
2
2
|
import { Button } from "../../classes/components/Button.js";
|
|
3
3
|
import { Row } from "../../classes/components/Row.js";
|
|
4
|
+
import { GoToPageModal } from "./GoToPageModal.js";
|
|
4
5
|
export class Paginator {
|
|
5
6
|
pages;
|
|
6
7
|
id;
|
|
@@ -84,6 +85,17 @@ export class Paginator {
|
|
|
84
85
|
this.startTimeout();
|
|
85
86
|
await interaction.update(this.getCurrentPageWithButtons());
|
|
86
87
|
}
|
|
88
|
+
async goToPageFromModal(pageIndex, interaction) {
|
|
89
|
+
if (pageIndex < 0 || pageIndex >= this.pages.length) {
|
|
90
|
+
return interaction.reply({
|
|
91
|
+
content: "Invalid page number",
|
|
92
|
+
flags: MessageFlags.Ephemeral
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
this.currentPage = pageIndex;
|
|
96
|
+
this.startTimeout();
|
|
97
|
+
await interaction.update(this.getCurrentPageWithButtons());
|
|
98
|
+
}
|
|
87
99
|
createNavigationButtons(disabled = false) {
|
|
88
100
|
const backButton = new DirectionButton({
|
|
89
101
|
paginatorId: this.id,
|
|
@@ -91,17 +103,7 @@ export class Paginator {
|
|
|
91
103
|
disabled: disabled || this.currentPage === 0,
|
|
92
104
|
label: "Back"
|
|
93
105
|
});
|
|
94
|
-
const pageNumber = new (
|
|
95
|
-
label;
|
|
96
|
-
customId = "x-pageNumber";
|
|
97
|
-
style = ButtonStyle.Secondary;
|
|
98
|
-
disabled = true;
|
|
99
|
-
constructor(currentPage, totalPages) {
|
|
100
|
-
super();
|
|
101
|
-
this.label = `${currentPage + 1} / ${totalPages}`;
|
|
102
|
-
}
|
|
103
|
-
async run() { }
|
|
104
|
-
})(this.currentPage, this.pages.length);
|
|
106
|
+
const pageNumber = new PageNumberButton(this.id, this.currentPage, this.pages.length, disabled);
|
|
105
107
|
const nextButton = new DirectionButton({
|
|
106
108
|
paginatorId: this.id,
|
|
107
109
|
goToPage: this.currentPage + 1,
|
|
@@ -152,4 +154,30 @@ class DirectionButton extends Button {
|
|
|
152
154
|
await paginator.goToPage(goToPage, interaction);
|
|
153
155
|
}
|
|
154
156
|
}
|
|
157
|
+
class PageNumberButton extends Button {
|
|
158
|
+
label;
|
|
159
|
+
customId;
|
|
160
|
+
style = ButtonStyle.Secondary;
|
|
161
|
+
disabled;
|
|
162
|
+
constructor(paginatorId, currentPage, totalPages, disabled) {
|
|
163
|
+
super();
|
|
164
|
+
this.label = `${currentPage + 1} / ${totalPages}`;
|
|
165
|
+
this.customId = `paginator-page:id=${paginatorId};max=${totalPages}`;
|
|
166
|
+
this.disabled = disabled || totalPages <= 1;
|
|
167
|
+
}
|
|
168
|
+
async run(interaction, data) {
|
|
169
|
+
const paginatorId = data.id;
|
|
170
|
+
const maxPages = data.max;
|
|
171
|
+
const paginator = interaction.client.paginators.find((p) => p.id === paginatorId);
|
|
172
|
+
if (!paginator)
|
|
173
|
+
return interaction.reply({
|
|
174
|
+
content: "Paginator not found in memory",
|
|
175
|
+
flags: MessageFlags.Ephemeral
|
|
176
|
+
});
|
|
177
|
+
if (paginator.userId && paginator.userId !== interaction.user?.id)
|
|
178
|
+
return interaction.acknowledge();
|
|
179
|
+
const modal = new GoToPageModal(paginatorId, maxPages);
|
|
180
|
+
await interaction.showModal(modal);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
155
183
|
//# sourceMappingURL=Paginator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../../../src/plugins/paginator/Paginator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../../../src/plugins/paginator/Paginator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ declare module "../../classes/Client.js" {
|
|
|
3
3
|
paginators: Paginator[];
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
|
+
import { GoToPageModal } from "./GoToPageModal.js";
|
|
6
7
|
import { Paginator } from "./Paginator.js";
|
|
7
|
-
export { Paginator };
|
|
8
|
+
export { Paginator, GoToPageModal };
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/paginator/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IACxC,UAAU,MAAM;QACf,UAAU,EAAE,SAAS,EAAE,CAAA;KACvB;CACD;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAO1C,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/paginator/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IACxC,UAAU,MAAM;QACf,UAAU,EAAE,SAAS,EAAE,CAAA;KACvB;CACD;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAO1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Client } from "../../classes/Client.js";
|
|
2
|
+
import { GoToPageModal } from "./GoToPageModal.js";
|
|
2
3
|
import { Paginator } from "./Paginator.js";
|
|
3
4
|
Object.assign(Client.prototype, {
|
|
4
5
|
Paginator,
|
|
5
6
|
paginators: []
|
|
6
7
|
});
|
|
7
|
-
export { Paginator };
|
|
8
|
+
export { Paginator, GoToPageModal };
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/paginator/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;IAC/B,SAAS;IACT,UAAU,EAAE,EAAiB;CAC7B,CAAC,CAAA;AAEF,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/paginator/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;IAC/B,SAAS;IACT,UAAU,EAAE,EAAiB;CAC7B,CAAC,CAAA;AAEF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -28,6 +28,7 @@ export declare class ShardingPlugin extends Plugin {
|
|
|
28
28
|
protected gatewayInfo?: APIGatewayBotInfo;
|
|
29
29
|
customGatewayPlugin: typeof GatewayPlugin;
|
|
30
30
|
constructor(options: ShardingPluginOptions);
|
|
31
|
+
get ping(): Record<number, number | null>;
|
|
31
32
|
registerClient(client: Client): Promise<void>;
|
|
32
33
|
protected processSpawnQueue(): Promise<void>;
|
|
33
34
|
disconnect(): void;
|
|
@@ -38,6 +39,6 @@ export declare class ShardingPlugin extends Plugin {
|
|
|
38
39
|
/**
|
|
39
40
|
* Discord's sharding formula
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
calculateShardId(guildId: string, totalShards: number): number;
|
|
42
43
|
}
|
|
43
44
|
//# sourceMappingURL=ShardingPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardingPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sharding/ShardingPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,MAAM,WAAW,qBAChB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAC3C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,MAAM;IACzC,QAAQ,CAAC,EAAE,cAAa;IACxB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAY;IACvD,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAA;IAChC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAK;IACnC,SAAS,CAAC,QAAQ,UAAQ;IAC1B,SAAS,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAEzC,mBAAmB,uBAAgB;gBAEvB,OAAO,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"ShardingPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/sharding/ShardingPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,MAAM,WAAW,qBAChB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAC3C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,MAAM;IACzC,QAAQ,CAAC,EAAE,cAAa;IACxB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAY;IACvD,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAA;IAChC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAK;IACnC,SAAS,CAAC,QAAQ,UAAQ;IAC1B,SAAS,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAEzC,mBAAmB,uBAAgB;gBAEvB,OAAO,EAAE,qBAAqB;IAM1C,IAAI,IAAI,kCAMP;IAEY,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cA0C1C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD3C,UAAU,IAAI,IAAI;IAQzB;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAUnE;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAMrE"}
|
|
@@ -15,6 +15,13 @@ export class ShardingPlugin extends Plugin {
|
|
|
15
15
|
this.config = options;
|
|
16
16
|
this.maxConcurrency = options.maxConcurrency ?? 1;
|
|
17
17
|
}
|
|
18
|
+
get ping() {
|
|
19
|
+
const pings = {};
|
|
20
|
+
for (const [shardId, shard] of this.shards) {
|
|
21
|
+
pings[shardId] = shard.ping;
|
|
22
|
+
}
|
|
23
|
+
return pings;
|
|
24
|
+
}
|
|
18
25
|
async registerClient(client) {
|
|
19
26
|
this.client = client;
|
|
20
27
|
// If totalShards not provided, get recommended amount from Discord
|
|
@@ -93,8 +100,9 @@ export class ShardingPlugin extends Plugin {
|
|
|
93
100
|
*/
|
|
94
101
|
getShardForGuild(guildId) {
|
|
95
102
|
const totalShards = this.config.totalShards;
|
|
96
|
-
if (!totalShards)
|
|
103
|
+
if (!totalShards) {
|
|
97
104
|
return undefined;
|
|
105
|
+
}
|
|
98
106
|
const shardId = this.calculateShardId(guildId, totalShards);
|
|
99
107
|
return this.shards.get(shardId);
|
|
100
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardingPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/sharding/ShardingPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAmB3D,MAAM,OAAO,cAAe,SAAQ,MAAM;IAChC,EAAE,GAAG,UAAU,CAAA;IACd,MAAM,CAAS;IAChB,MAAM,GAA+B,IAAI,GAAG,EAAE,CAAA;IAC9C,MAAM,CAAuB;IAC5B,cAAc,CAAQ;IACtB,UAAU,GAAa,EAAE,CAAA;IACzB,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,CAAoB;IAEzC,mBAAmB,GAAG,aAAa,CAAA;IAEnC,YAAY,OAA8B;QACzC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;QACrB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,MAAc;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC3B,yCAAyC,EACzC;oBACC,OAAO,EAAE;wBACR,aAAa,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;qBAC5C;iBACD,CACD,CAAA;gBACD,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;gBAChE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAA;gBAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAA;gBAClC,CAAC;gBACD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC,eAAe,CAAA;gBACrE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YACtE,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,4DAA4D,CAC5D,CAAA;QACF,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEzE,gCAAgC;QAChC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;QACpC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC/B,CAAC;IAES,KAAK,CAAC,iBAAiB;QAChC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,MAAM,YAAY,GAAa,EAAE,CAAA;QAEjC,oDAAoD;QACpD,OACC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;YACzC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EACzB,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,oCAAoC;QACpC,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,mBAAmB,CACzC;gBACC,GAAG,IAAI,CAAC,MAAM;gBACd,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;aAC7B,EACD,IAAI,CAAC,WAAW,CAChB,CAAA;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC,CAAC,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,wDAAwD;QACxD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,uDAAuD;YACvD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAA;QACjD,CAAC;IACF,CAAC;IAEM,UAAU;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAe;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"ShardingPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/sharding/ShardingPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAmB3D,MAAM,OAAO,cAAe,SAAQ,MAAM;IAChC,EAAE,GAAG,UAAU,CAAA;IACd,MAAM,CAAS;IAChB,MAAM,GAA+B,IAAI,GAAG,EAAE,CAAA;IAC9C,MAAM,CAAuB;IAC5B,cAAc,CAAQ;IACtB,UAAU,GAAa,EAAE,CAAA;IACzB,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,CAAoB;IAEzC,mBAAmB,GAAG,aAAa,CAAA;IAEnC,YAAY,OAA8B;QACzC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;QACrB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,IAAI;QACP,MAAM,KAAK,GAAkC,EAAE,CAAA;QAC/C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,MAAc;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC3B,yCAAyC,EACzC;oBACC,OAAO,EAAE;wBACR,aAAa,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;qBAC5C;iBACD,CACD,CAAA;gBACD,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;gBAChE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAA;gBAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAA;gBAClC,CAAC;gBACD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC,eAAe,CAAA;gBACrE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YACtE,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,4DAA4D,CAC5D,CAAA;QACF,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEzE,gCAAgC;QAChC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;QACpC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC/B,CAAC;IAES,KAAK,CAAC,iBAAiB;QAChC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,MAAM,YAAY,GAAa,EAAE,CAAA;QAEjC,oDAAoD;QACpD,OACC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;YACzC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EACzB,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,oCAAoC;QACpC,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,mBAAmB,CACzC;gBACC,GAAG,IAAI,CAAC,MAAM;gBACd,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;aAC7B,EACD,IAAI,CAAC,WAAW,CAChB,CAAA;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC,CAAC,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,wDAAwD;QACxD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,uDAAuD;YACvD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAA;QACjD,CAAC;IACF,CAAC;IAEM,UAAU;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAe;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,SAAS,CAAA;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAe,EAAE,WAAmB;QAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9D,CAAC;CACD"}
|