@sapphire/plugin-scheduled-tasks 10.0.2-next.fe95a62.0 → 10.0.3-next.0260b3d

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.
Files changed (61) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +7 -9
  3. package/dist/cjs/index.cjs +2 -9
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +2 -4
  6. package/dist/cjs/lib/ScheduledTaskHandler.cjs +12 -29
  7. package/dist/cjs/lib/ScheduledTaskHandler.cjs.map +1 -1
  8. package/dist/cjs/lib/structures/ScheduledTask.cjs +2 -5
  9. package/dist/cjs/lib/structures/ScheduledTask.cjs.map +1 -1
  10. package/dist/cjs/lib/structures/ScheduledTaskStore.cjs +3 -7
  11. package/dist/cjs/lib/structures/ScheduledTaskStore.cjs.map +1 -1
  12. package/dist/cjs/lib/types/ScheduledTaskEvents.cjs +1 -1
  13. package/dist/cjs/lib/types/ScheduledTaskEvents.cjs.map +1 -1
  14. package/dist/cjs/lib/types/ScheduledTaskTypes.cjs +1 -1
  15. package/dist/cjs/lib/types/ScheduledTaskTypes.cjs.map +1 -1
  16. package/dist/cjs/listeners/PluginScheduledTaskError.cjs +1 -1
  17. package/dist/cjs/listeners/PluginScheduledTaskError.cjs.map +1 -1
  18. package/dist/cjs/listeners/PluginScheduledTaskNotFound.cjs +1 -1
  19. package/dist/cjs/listeners/PluginScheduledTaskNotFound.cjs.map +1 -1
  20. package/dist/cjs/listeners/PluginScheduledTaskStrategyClientError.cjs +1 -1
  21. package/dist/cjs/listeners/PluginScheduledTaskStrategyClientError.cjs.map +1 -1
  22. package/dist/cjs/listeners/PluginScheduledTaskStrategyConnectError.cjs +1 -1
  23. package/dist/cjs/listeners/PluginScheduledTaskStrategyConnectError.cjs.map +1 -1
  24. package/dist/cjs/listeners/PluginScheduledTaskStrategyWorkerError.cjs +1 -1
  25. package/dist/cjs/listeners/PluginScheduledTaskStrategyWorkerError.cjs.map +1 -1
  26. package/dist/cjs/listeners/_load.cjs +1 -1
  27. package/dist/cjs/listeners/_load.cjs.map +1 -1
  28. package/dist/cjs/register.cjs +2 -5
  29. package/dist/cjs/register.cjs.map +1 -1
  30. package/dist/esm/chunk-JTFKMR4I.mjs +15 -0
  31. package/dist/esm/chunk-JTFKMR4I.mjs.map +1 -0
  32. package/dist/esm/index.d.mts +2 -4
  33. package/dist/esm/index.mjs +3 -4
  34. package/dist/esm/index.mjs.map +1 -1
  35. package/dist/esm/lib/ScheduledTaskHandler.mjs +5 -8
  36. package/dist/esm/lib/ScheduledTaskHandler.mjs.map +1 -1
  37. package/dist/esm/lib/structures/ScheduledTask.mjs +2 -2
  38. package/dist/esm/lib/structures/ScheduledTask.mjs.map +1 -1
  39. package/dist/esm/lib/structures/ScheduledTaskStore.mjs +3 -4
  40. package/dist/esm/lib/structures/ScheduledTaskStore.mjs.map +1 -1
  41. package/dist/esm/lib/types/ScheduledTaskEvents.mjs +2 -2
  42. package/dist/esm/lib/types/ScheduledTaskEvents.mjs.map +1 -1
  43. package/dist/esm/lib/types/ScheduledTaskTypes.mjs +1 -1
  44. package/dist/esm/lib/types/ScheduledTaskTypes.mjs.map +1 -1
  45. package/dist/esm/listeners/PluginScheduledTaskError.mjs +2 -2
  46. package/dist/esm/listeners/PluginScheduledTaskError.mjs.map +1 -1
  47. package/dist/esm/listeners/PluginScheduledTaskNotFound.mjs +2 -2
  48. package/dist/esm/listeners/PluginScheduledTaskNotFound.mjs.map +1 -1
  49. package/dist/esm/listeners/PluginScheduledTaskStrategyClientError.mjs +2 -2
  50. package/dist/esm/listeners/PluginScheduledTaskStrategyClientError.mjs.map +1 -1
  51. package/dist/esm/listeners/PluginScheduledTaskStrategyConnectError.mjs +2 -2
  52. package/dist/esm/listeners/PluginScheduledTaskStrategyConnectError.mjs.map +1 -1
  53. package/dist/esm/listeners/PluginScheduledTaskStrategyWorkerError.mjs +2 -2
  54. package/dist/esm/listeners/PluginScheduledTaskStrategyWorkerError.mjs.map +1 -1
  55. package/dist/esm/listeners/_load.mjs +2 -2
  56. package/dist/esm/listeners/_load.mjs.map +1 -1
  57. package/dist/esm/register.mjs +2 -2
  58. package/dist/esm/register.mjs.map +1 -1
  59. package/package.json +13 -13
  60. package/dist/esm/chunk-PYETHG4R.mjs +0 -29
  61. package/dist/esm/chunk-PYETHG4R.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ # [@sapphire/plugin-scheduled-tasks@10.0.2](https://github.com/sapphiredev/plugins/compare/@sapphire/plugin-scheduled-tasks@10.0.1...@sapphire/plugin-scheduled-tasks@10.0.2) - (2024-11-02)
6
+
7
+ ## 🐛 Bug Fixes
8
+
9
+ - Update sapphire dependencies ([a837459](https://github.com/sapphiredev/plugins/commit/a83745920f0b6eb896c7b9b5c9624dad662f5186))
10
+ - **scheduled-tasks:** Bump `bullmq` dependency ([80d26ac](https://github.com/sapphiredev/plugins/commit/80d26ac632fef3f2b914e9dfbc32f80cedfe92c3))
11
+ - **deps:** Update dependency bullmq to v5.20.0 ([5ea63b2](https://github.com/sapphiredev/plugins/commit/5ea63b29cbd65bfc6e076c0b35648bda3283cf6d)) ([#639](https://github.com/sapphiredev/plugins/pull/639) by @renovate[bot])
12
+ - **deps:** Update dependency bullmq to v5.16.0 ([fa73a83](https://github.com/sapphiredev/plugins/commit/fa73a83bf043ba74be60929badec91d2c7c64df8)) ([#636](https://github.com/sapphiredev/plugins/pull/636) by @renovate[bot])
13
+ - **deps:** Update all non-major dependencies ([43df709](https://github.com/sapphiredev/plugins/commit/43df70954d837f7b14d62ea9123aca4b1da9ae36)) ([#574](https://github.com/sapphiredev/plugins/pull/574) by @renovate[bot])
14
+ - **deps:** Update all non-major dependencies ([7909d16](https://github.com/sapphiredev/plugins/commit/7909d16fcec9a8e5e9a3f8816c90a26fbc7d1284)) ([#573](https://github.com/sapphiredev/plugins/pull/573) by @renovate[bot])
15
+ - **scheduled-tasks:** Export `ScheduledTasksResolvableNoPayload` ([ec27a29](https://github.com/sapphiredev/plugins/commit/ec27a2976c2a6e7c9af9ee02f1f93d8e11c975a6))
16
+ - **deps:** Update dependency bullmq to v5.5.3 ([73f41bb](https://github.com/sapphiredev/plugins/commit/73f41bb0afcc766314db5e2d2789e7b04a536a11)) ([#563](https://github.com/sapphiredev/plugins/pull/563) by @renovate[bot])
17
+ - **deps:** Update all non-major dependencies ([ee64834](https://github.com/sapphiredev/plugins/commit/ee64834c799a5ac28b1ae172cb19f77a1887f3d4)) ([#546](https://github.com/sapphiredev/plugins/pull/546) by @renovate[bot])
18
+ - **scheduled-tasks:** Update transitive dependencies ([0b7d28c](https://github.com/sapphiredev/plugins/commit/0b7d28c0fb133c5467a0867096e2fcb0a0f1ed72))
19
+ - Update transitive dependencies ([c708be7](https://github.com/sapphiredev/plugins/commit/c708be73f0c137a25cb2a6c8e4f8da2c301a9c26))
20
+
21
+ ## 📝 Documentation
22
+
23
+ - Update create task function type ([f730be1](https://github.com/sapphiredev/plugins/commit/f730be14bea3976f317b679bfc0daf28b4829a05)) ([#623](https://github.com/sapphiredev/plugins/pull/623) by @Swiizyy)
24
+ - **readme:** Remove duplication in Scheduled Tasks README ([5193167](https://github.com/sapphiredev/plugins/commit/51931673394313f8504d6ef4e27923ef5aec846e)) ([#604](https://github.com/sapphiredev/plugins/pull/604) by @feelthatvib3)
25
+ - **ScheduledTaskHandler:** Remove unused tsdoc parameters ([f9230eb](https://github.com/sapphiredev/plugins/commit/f9230eb3d9929fb78dd5ee7158684263df5f742c))
26
+ - **typedoc:** Exclude externals to exclude Collection and Map methods from Store ([c3e54a4](https://github.com/sapphiredev/plugins/commit/c3e54a4e412a150f57f5795ae9c2a26974cfd0a6))
27
+
5
28
  # [@sapphire/plugin-scheduled-tasks@10.0.1](https://github.com/sapphiredev/plugins/compare/@sapphire/plugin-scheduled-tasks@10.0.1...@sapphire/plugin-scheduled-tasks@10.0.1) - (2024-01-19)
6
29
 
7
30
  ## 🐛 Bug Fixes
package/README.md CHANGED
@@ -7,7 +7,6 @@
7
7
  **Plugin for <a href="https://github.com/sapphiredev/framework">@sapphire/framework</a> to add support for scheduled tasks using <a href="https://github.com/taskforcesh/bullmq">bullmq</a>.**
8
8
 
9
9
  [![GitHub](https://img.shields.io/github/license/sapphiredev/plugins)](https://github.com/sapphiredev/plugins/blob/main/LICENSE.md)
10
- [![codecov](https://codecov.io/gh/sapphiredev/plugins/branch/main/graph/badge.svg?token=QWL8FB16BR)](https://codecov.io/gh/sapphiredev/plugins)
11
10
  [![npm bundle size](https://img.shields.io/bundlephobia/min/@sapphire/plugin-scheduled-tasks?logo=webpack&style=flat-square)](https://bundlephobia.com/result?p=@sapphire/plugin-scheduled-tasks)
12
11
  [![npm](https://img.shields.io/npm/v/@sapphire/plugin-scheduled-tasks?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/@sapphire/plugin-scheduled-tasks)
13
12
 
@@ -74,7 +73,8 @@ import { container } from '@sapphire/framework';
74
73
 
75
74
  export class MyAwesomeService {
76
75
  public createAwesomeTask() {
77
- container.tasks.create('name', { id: '123' }, 2000);
76
+ const payload = { awesome: true };
77
+ container.tasks.create({ name: 'awesome', payload }, 2000);
78
78
  }
79
79
  }
80
80
  ```
@@ -96,7 +96,8 @@ export class MuteCommand extends Command {
96
96
 
97
97
  public async run(message: Message) {
98
98
  // create a task to unmute the user in 1 minute
99
- this.container.tasks.create('unmute', { authorId: message.author.id }, 60_000);
99
+ const payload = { authorId: message.author.id };
100
+ this.container.tasks.create({ name: 'unmute', payload }, 60_000);
100
101
  }
101
102
  }
102
103
  ```
@@ -132,14 +133,15 @@ declare module '@sapphire/plugin-scheduled-tasks' {
132
133
  ##### Using Manual Tasks
133
134
 
134
135
  ```typescript
135
- container.tasks.create('manual', payload, 5000);
136
+ const payload = { awesome: true };
137
+ container.tasks.create({ name: 'manual', payload }, 5000);
136
138
  ```
137
139
 
138
140
  #### Pattern Task Example
139
141
 
140
142
  Pattern jobs are currently only supported by the Redis strategy.
141
143
 
142
- ##### Creating the Piece:
144
+ ##### Creating the Piece
143
145
 
144
146
  ```typescript
145
147
  import { ScheduledTask } from '@sapphire/plugin-scheduled-tasks';
@@ -195,10 +197,6 @@ declare module '@sapphire/plugin-scheduled-tasks' {
195
197
  }
196
198
  ```
197
199
 
198
- ##### Using Interval tasks
199
-
200
- Pattern & Interval tasks are loaded automatically.
201
-
202
200
  ## Buy us some doughnuts
203
201
 
204
202
  Sapphire Community is and always will be open source, even if we don't get donations. That being said, we know there are amazing people who may still want to donate just to show their appreciation. Thank you very much in advance!
@@ -4,11 +4,10 @@ var ScheduledTaskHandler_cjs = require('./lib/ScheduledTaskHandler.cjs');
4
4
  var ScheduledTask_cjs = require('./lib/structures/ScheduledTask.cjs');
5
5
  var ScheduledTaskStore_cjs = require('./lib/structures/ScheduledTaskStore.cjs');
6
6
  var ScheduledTaskEvents_cjs = require('./lib/types/ScheduledTaskEvents.cjs');
7
- var ScheduledTaskTypes_cjs = require('./lib/types/ScheduledTaskTypes.cjs');
8
7
  var _load_cjs = require('./listeners/_load.cjs');
9
8
 
10
9
  // src/index.ts
11
- var version = "10.0.2-next.fe95a62.0";
10
+ var version = "10.0.3-next.0260b3d";
12
11
 
13
12
  Object.defineProperty(exports, "loadListeners", {
14
13
  enumerable: true,
@@ -39,11 +38,5 @@ Object.keys(ScheduledTaskEvents_cjs).forEach(function (k) {
39
38
  get: function () { return ScheduledTaskEvents_cjs[k]; }
40
39
  });
41
40
  });
42
- Object.keys(ScheduledTaskTypes_cjs).forEach(function (k) {
43
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
44
- enumerable: true,
45
- get: function () { return ScheduledTaskTypes_cjs[k]; }
46
- });
47
- });
48
- //# sourceMappingURL=out.js.map
41
+ //# sourceMappingURL=index.cjs.map
49
42
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";AAIA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,qBAAqB;AA8BvB,IAAM,UAAkB","sourcesContent":["import type { ScheduledTaskHandler } from './lib/ScheduledTaskHandler';\nimport type { ScheduledTaskStore } from './lib/structures/ScheduledTaskStore';\nimport type { ScheduledTaskHandlerOptions } from './lib/types/ScheduledTaskTypes';\n\nexport * from './lib/ScheduledTaskHandler';\nexport * from './lib/structures/ScheduledTask';\nexport * from './lib/structures/ScheduledTaskStore';\nexport * from './lib/types/ScheduledTaskEvents';\nexport * from './lib/types/ScheduledTaskTypes';\n\nexport { loadListeners } from './listeners/_load';\n\ndeclare module '@sapphire/pieces' {\n\tinterface Container {\n\t\ttasks: ScheduledTaskHandler;\n\t}\n\n\tinterface StoreRegistryEntries {\n\t\t'scheduled-tasks': ScheduledTaskStore;\n\t}\n}\n\ndeclare module 'discord.js' {\n\texport interface ClientOptions {\n\t\ttasks: ScheduledTaskHandlerOptions;\n\t\t/**\n\t\t * If the the pre-included scheduled task error listeners should be loaded\n\t\t * @default true\n\t\t */\n\t\tloadScheduledTaskErrorListeners?: boolean;\n\t}\n}\n\n/**\n * The [@sapphire/plugin-scheduled-tasks](https://github.com/sapphiredev/plugins/blob/main/packages/scheduled-tasks) version that you are currently using.\n * An example use of this is showing it of in a bot information command.\n *\n * Note to Sapphire developers: This needs to explicitly be `string` so it is not typed as the string that gets replaced by esbuild\n */\n// eslint-disable-next-line @typescript-eslint/no-inferrable-types\nexport const version: string = '10.0.2-next.fe95a62.0';\n"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAwCO,IAAM,OAAkB,GAAA","file":"index.cjs","sourcesContent":["import type { ScheduledTaskHandler } from './lib/ScheduledTaskHandler';\nimport type { ScheduledTaskStore } from './lib/structures/ScheduledTaskStore';\nimport type { ScheduledTaskHandlerOptions } from './lib/types/ScheduledTaskTypes';\n\nexport * from './lib/ScheduledTaskHandler';\nexport * from './lib/structures/ScheduledTask';\nexport * from './lib/structures/ScheduledTaskStore';\nexport * from './lib/types/ScheduledTaskEvents';\nexport type * from './lib/types/ScheduledTaskTypes';\n\nexport { loadListeners } from './listeners/_load';\n\ndeclare module '@sapphire/pieces' {\n\tinterface Container {\n\t\ttasks: ScheduledTaskHandler;\n\t}\n\n\tinterface StoreRegistryEntries {\n\t\t'scheduled-tasks': ScheduledTaskStore;\n\t}\n}\n\ndeclare module 'discord.js' {\n\texport interface ClientOptions {\n\t\ttasks: ScheduledTaskHandlerOptions;\n\t\t/**\n\t\t * If the the pre-included scheduled task error listeners should be loaded\n\t\t * @default true\n\t\t */\n\t\tloadScheduledTaskErrorListeners?: boolean;\n\t}\n}\n\n/**\n * The [@sapphire/plugin-scheduled-tasks](https://github.com/sapphiredev/plugins/blob/main/packages/scheduled-tasks) version that you are currently using.\n * An example use of this is showing it of in a bot information command.\n *\n * Note to Sapphire developers: This needs to explicitly be `string` so it is not typed as the string that gets replaced by esbuild\n */\n// eslint-disable-next-line @typescript-eslint/no-inferrable-types\nexport const version: string = '10.0.3-next.0260b3d';\n"]}
@@ -1,4 +1,4 @@
1
- import { JobsOptions, QueueOptions, JobState, Queue, Job } from 'bullmq';
1
+ import { JobsOptions, QueueOptions, Queue, Job, JobState } from 'bullmq';
2
2
  import { Piece, Store } from '@sapphire/pieces';
3
3
  import { Awaitable } from '@sapphire/utilities';
4
4
 
@@ -201,7 +201,6 @@ declare class ScheduledTaskHandler {
201
201
  * Creates a scheduled task.
202
202
  *
203
203
  * @param task - The task to be scheduled.
204
- * @param payload - The payload for the task.
205
204
  * @param options - The options for the task.
206
205
  */
207
206
  create<T extends ScheduledTasksResolvable>(task: T, //
@@ -240,7 +239,6 @@ declare class ScheduledTaskHandler {
240
239
  * Runs a scheduled task with the given name and payload.
241
240
  *
242
241
  * @param task - The name of the scheduled task to run.
243
- * @param payload - The payload to pass to the scheduled task.
244
242
  *
245
243
  * @remarks `undefined` will be returned if the task was not found.
246
244
  */
@@ -358,4 +356,4 @@ declare module 'discord.js' {
358
356
  */
359
357
  declare const version: string;
360
358
 
361
- export { type BullClient, ScheduledTask, type ScheduledTaskCreateRepeatedTask, type ScheduledTaskCustomJobOptions, ScheduledTaskEvents, ScheduledTaskHandler, type ScheduledTaskHandlerOptions, type ScheduledTaskListOptions, type ScheduledTaskListRepeatedOptions, type ScheduledTaskListRepeatedReturnType, type ScheduledTaskOptions, ScheduledTaskStore, type ScheduledTasks, type ScheduledTasksJob, type ScheduledTasksKeys, type ScheduledTasksKeysNoPayload, type ScheduledTasksPayload, type ScheduledTasksResolvable, type ScheduledTasksResolvablePayload, type ScheduledTasksTaskOptions, loadListeners, version };
359
+ export { type BullClient, ScheduledTask, type ScheduledTaskCreateRepeatedTask, type ScheduledTaskCustomJobOptions, ScheduledTaskEvents, ScheduledTaskHandler, type ScheduledTaskHandlerOptions, type ScheduledTaskListOptions, type ScheduledTaskListRepeatedOptions, type ScheduledTaskListRepeatedReturnType, type ScheduledTaskOptions, ScheduledTaskStore, type ScheduledTasks, type ScheduledTasksJob, type ScheduledTasksKeys, type ScheduledTasksKeysNoPayload, type ScheduledTasksPayload, type ScheduledTasksResolvable, type ScheduledTasksResolvableNoPayload, type ScheduledTasksResolvablePayload, type ScheduledTasksTaskOptions, loadListeners, version };
@@ -7,30 +7,16 @@ var ScheduledTaskEvents_cjs = require('./types/ScheduledTaskEvents.cjs');
7
7
  var utilities = require('@sapphire/utilities');
8
8
 
9
9
  var __defProp = Object.defineProperty;
10
+ var __typeError = (msg) => {
11
+ throw TypeError(msg);
12
+ };
10
13
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
14
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
- var __publicField = (obj, key, value) => {
13
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
14
- return value;
15
- };
16
- var __accessCheck = (obj, member, msg) => {
17
- if (!member.has(obj))
18
- throw TypeError("Cannot " + msg);
19
- };
20
- var __privateGet = (obj, member, getter) => {
21
- __accessCheck(obj, member, "read from private field");
22
- return getter ? getter.call(obj) : member.get(obj);
23
- };
24
- var __privateAdd = (obj, member, value) => {
25
- if (member.has(obj))
26
- throw TypeError("Cannot add the same private member more than once");
27
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
28
- };
29
- var __privateSet = (obj, member, value, setter) => {
30
- __accessCheck(obj, member, "write to private field");
31
- setter ? setter.call(obj, value) : member.set(obj, value);
32
- return value;
33
- };
15
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
16
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
17
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
18
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
19
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
34
20
  var _client, _worker;
35
21
  var _ScheduledTaskHandler = class _ScheduledTaskHandler {
36
22
  constructor(options) {
@@ -42,8 +28,8 @@ var _ScheduledTaskHandler = class _ScheduledTaskHandler {
42
28
  * The name of the queue associated with the scheduled task handler.
43
29
  */
44
30
  __publicField(this, "queue");
45
- __privateAdd(this, _client, void 0);
46
- __privateAdd(this, _worker, void 0);
31
+ __privateAdd(this, _client);
32
+ __privateAdd(this, _worker);
47
33
  this.queue = options.queue ?? "scheduled-tasks";
48
34
  this.options = options.bull;
49
35
  __privateSet(this, _client, new bullmq.Queue(this.queue, this.options));
@@ -85,7 +71,6 @@ var _ScheduledTaskHandler = class _ScheduledTaskHandler {
85
71
  * Creates a scheduled task.
86
72
  *
87
73
  * @param task - The task to be scheduled.
88
- * @param payload - The payload for the task.
89
74
  * @param options - The options for the task.
90
75
  */
91
76
  async create(task, options) {
@@ -173,15 +158,13 @@ var _ScheduledTaskHandler = class _ScheduledTaskHandler {
173
158
  */
174
159
  async get(id) {
175
160
  const job = await __privateGet(this, _client).getJob(id);
176
- if (utilities.isNullish(job))
177
- return void 0;
161
+ if (utilities.isNullish(job)) return void 0;
178
162
  return job;
179
163
  }
180
164
  /**
181
165
  * Runs a scheduled task with the given name and payload.
182
166
  *
183
167
  * @param task - The name of the scheduled task to run.
184
- * @param payload - The payload to pass to the scheduled task.
185
168
  *
186
169
  * @remarks `undefined` will be returned if the task was not found.
187
170
  */
@@ -224,5 +207,5 @@ __name(_ScheduledTaskHandler, "ScheduledTaskHandler");
224
207
  var ScheduledTaskHandler = _ScheduledTaskHandler;
225
208
 
226
209
  exports.ScheduledTaskHandler = ScheduledTaskHandler;
227
- //# sourceMappingURL=out.js.map
210
+ //# sourceMappingURL=ScheduledTaskHandler.cjs.map
228
211
  //# sourceMappingURL=ScheduledTaskHandler.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/ScheduledTaskHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { container, Result } from '@sapphire/framework';\nimport { Stopwatch } from '@sapphire/stopwatch';\nimport { Job, Queue, Worker, type JobsOptions, type QueueOptions, isNotConnectionError } from 'bullmq';\nimport type { ScheduledTaskStore } from './structures/ScheduledTaskStore';\nimport { ScheduledTaskEvents } from './types/ScheduledTaskEvents';\nimport type {\n\tBullClient,\n\tScheduledTaskCreateRepeatedTask,\n\tScheduledTaskHandlerOptions,\n\tScheduledTaskListOptions,\n\tScheduledTaskListRepeatedOptions,\n\tScheduledTaskListRepeatedReturnType,\n\tScheduledTasksResolvable,\n\tScheduledTasksKeys,\n\tScheduledTasksTaskOptions,\n\tScheduledTasksKeysNoPayload,\n\tScheduledTasksJob,\n\tScheduledTasksResolvablePayload,\n\tScheduledTasksPayload\n} from './types/ScheduledTaskTypes';\nimport { isNullish } from '@sapphire/utilities';\n\nexport class ScheduledTaskHandler {\n\t/**\n\t * The queue options for the scheduled task handler.\n\t */\n\tpublic readonly options: QueueOptions;\n\n\t/**\n\t * The name of the queue associated with the scheduled task handler.\n\t */\n\tpublic readonly queue: string;\n\n\t#client: BullClient;\n\t#worker: Worker;\n\n\tpublic constructor(options: ScheduledTaskHandlerOptions) {\n\t\tthis.queue = options.queue ?? 'scheduled-tasks';\n\t\tthis.options = options.bull;\n\n\t\tthis.#client = new Queue(this.queue, this.options);\n\t\tthis.#worker = new Worker(\n\t\t\tthis.queue, //\n\t\t\tasync (job) => this.run({ name: job.name as ScheduledTasksKeys, payload: job.data }),\n\t\t\t{ connection: this.options.connection }\n\t\t);\n\n\t\tthis.#client.on('error', (error) => {\n\t\t\tif (isNotConnectionError(error)) {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyClientError, error);\n\t\t\t} else {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyConnectError, error);\n\t\t\t}\n\t\t});\n\t\tthis.#worker.on('error', (error) => {\n\t\t\tif (isNotConnectionError(error)) {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyWorkerError, error);\n\t\t\t} else {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyConnectError, error);\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic get client(): BullClient {\n\t\treturn this.#client;\n\t}\n\n\t/**\n\t * Closes the internal client and worker.\n\t */\n\tpublic async close(): Promise<void> {\n\t\tawait Promise.all([\n\t\t\tthis.#client.close(), //\n\t\t\tthis.#worker.close()\n\t\t]);\n\t}\n\n\t/**\n\t * Creates a scheduled task.\n\t *\n\t * @param task - The task to be scheduled.\n\t * @param payload - The payload for the task.\n\t * @param options - The options for the task.\n\t */\n\tpublic async create<T extends ScheduledTasksResolvable>(\n\t\ttask: T, //\n\t\toptions?: ScheduledTasksTaskOptions | number\n\t): Promise<ScheduledTasksJob<T>> {\n\t\tconst { name: taskName, payload } = this.resolveTask(task);\n\n\t\tif (isNullish(options)) {\n\t\t\treturn this.#client.add(taskName, payload) as Promise<ScheduledTasksJob<T>>;\n\t\t}\n\n\t\tif (typeof options === 'number') {\n\t\t\toptions = {\n\t\t\t\trepeated: false,\n\t\t\t\tdelay: options\n\t\t\t};\n\t\t}\n\n\t\tconst { repeated, pattern, interval, delay, customJobOptions, timezone } = options;\n\t\tlet jobOptions: JobsOptions = {\n\t\t\tdelay,\n\t\t\t...customJobOptions\n\t\t};\n\n\t\tif (repeated) {\n\t\t\tjobOptions = {\n\t\t\t\t...jobOptions,\n\t\t\t\trepeat: interval //\n\t\t\t\t\t? { every: interval }\n\t\t\t\t\t: { pattern, tz: timezone }\n\t\t\t};\n\t\t}\n\n\t\treturn this.#client.add(taskName, payload, jobOptions) as Promise<ScheduledTasksJob<T>>;\n\t}\n\n\t/**\n\t * Creates repeated tasks.\n\t *\n\t * @param tasks - An optional array of tasks to create. If not provided, it will create tasks based on the stored repeated tasks.\n\t */\n\tpublic async createRepeated(tasks?: ScheduledTaskCreateRepeatedTask[]): Promise<void> {\n\t\tif (tasks === undefined) {\n\t\t\tconst repeatedTasks: ScheduledTaskCreateRepeatedTask[] = this.store.repeatedTasks.map((piece) => ({\n\t\t\t\tname: piece.name as ScheduledTasksKeysNoPayload,\n\t\t\t\toptions: {\n\t\t\t\t\trepeated: true,\n\t\t\t\t\t...(piece.interval\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinterval: piece.interval,\n\t\t\t\t\t\t\t\tcustomJobOptions: piece.customJobOptions\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tpattern: piece.pattern!,\n\t\t\t\t\t\t\t\ttimezone: piece.timezone,\n\t\t\t\t\t\t\t\tcustomJobOptions: piece.customJobOptions\n\t\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}));\n\n\t\t\ttasks = repeatedTasks;\n\t\t}\n\n\t\tfor (const task of tasks) {\n\t\t\tawait this.create(task.name, task.options);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes a scheduled task by its ID.\n\t *\n\t * @param id - The ID of the task to delete.\n\t */\n\tpublic async delete(id: string): Promise<void> {\n\t\tconst job = (await this.get(id as ScheduledTasksKeys)) as unknown as Job<unknown> | undefined;\n\t\treturn job?.remove();\n\t}\n\n\t/**\n\t * Retrieves a list of scheduled tasks based on the provided options.\n\t *\n\t * @param options - The options for filtering the list of scheduled tasks.\n\t */\n\tpublic list(options: ScheduledTaskListOptions): Promise<Job<unknown>[]> {\n\t\tconst { types, start, end, asc } = options;\n\n\t\treturn this.#client.getJobs(types, start, end, asc);\n\t}\n\n\t/**\n\t * Retrieves a list of repeated scheduled tasks based on the provided options.\n\t *\n\t * @param options - The options for filtering the list of repeated scheduled tasks.\n\t */\n\tpublic listRepeated(options: ScheduledTaskListRepeatedOptions): Promise<ScheduledTaskListRepeatedReturnType> {\n\t\tconst { start, end, asc } = options;\n\n\t\treturn this.#client.getRepeatableJobs(start, end, asc);\n\t}\n\n\t/**\n\t * Retrieves a scheduled task by its ID.\n\t *\n\t * @param id - The ID of the scheduled task to retrieve.\n\t */\n\tpublic async get<T extends ScheduledTasksKeys>(id: T): Promise<Job<ScheduledTasksPayload<T>> | undefined> {\n\t\tconst job = await this.#client.getJob(id);\n\t\tif (isNullish(job)) return undefined;\n\n\t\treturn job as Job<ScheduledTasksPayload<T>>;\n\t}\n\n\t/**\n\t * Runs a scheduled task with the given name and payload.\n\t *\n\t * @param task - The name of the scheduled task to run.\n\t * @param payload - The payload to pass to the scheduled task.\n\t *\n\t * @remarks `undefined` will be returned if the task was not found.\n\t */\n\tpublic async run(task: ScheduledTasksResolvable): Promise<number | null | undefined> {\n\t\tconst { name: taskName, payload } = this.resolveTask(task);\n\t\tconst piece = this.store.get(task.name);\n\n\t\tif (!piece) {\n\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskNotFound, taskName, payload);\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst result = await Result.fromAsync(async () => {\n\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskRun, piece, payload);\n\n\t\t\tconst stopwatch = new Stopwatch();\n\t\t\tconst taskRunResult = await piece.run(payload);\n\t\t\tconst { duration } = stopwatch.stop();\n\n\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskSuccess, piece, payload, taskRunResult, duration);\n\n\t\t\treturn duration;\n\t\t});\n\n\t\tresult.inspectErr((error) => container.client.emit(ScheduledTaskEvents.ScheduledTaskError, error, piece, payload));\n\n\t\tconst value = result.unwrapOr(null);\n\n\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskFinished, piece, value, payload);\n\n\t\treturn value;\n\t}\n\n\tprivate get store(): ScheduledTaskStore {\n\t\treturn container.client.stores.get('scheduled-tasks');\n\t}\n\n\tprivate resolveTask(task: ScheduledTasksResolvable): ScheduledTasksResolvablePayload {\n\t\tif (typeof task === 'string') {\n\t\t\treturn { name: task, payload: undefined };\n\t\t}\n\n\t\tif ('payload' in task) {\n\t\t\treturn { name: task.name, payload: task.payload };\n\t\t}\n\n\t\treturn { name: task.name, payload: undefined };\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/ScheduledTaskHandler.ts"],"names":["Queue","Worker","isNotConnectionError","container","ScheduledTaskEvents","isNullish","Result","stopwatch","Stopwatch"],"mappings":"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","file":"ScheduledTaskHandler.cjs","sourcesContent":["import { container, Result } from '@sapphire/framework';\nimport { Stopwatch } from '@sapphire/stopwatch';\nimport { Job, Queue, Worker, type JobsOptions, type QueueOptions, isNotConnectionError } from 'bullmq';\nimport type { ScheduledTaskStore } from './structures/ScheduledTaskStore';\nimport { ScheduledTaskEvents } from './types/ScheduledTaskEvents';\nimport type {\n\tBullClient,\n\tScheduledTaskCreateRepeatedTask,\n\tScheduledTaskHandlerOptions,\n\tScheduledTaskListOptions,\n\tScheduledTaskListRepeatedOptions,\n\tScheduledTaskListRepeatedReturnType,\n\tScheduledTasksResolvable,\n\tScheduledTasksKeys,\n\tScheduledTasksTaskOptions,\n\tScheduledTasksKeysNoPayload,\n\tScheduledTasksJob,\n\tScheduledTasksResolvablePayload,\n\tScheduledTasksPayload\n} from './types/ScheduledTaskTypes';\nimport { isNullish } from '@sapphire/utilities';\n\nexport class ScheduledTaskHandler {\n\t/**\n\t * The queue options for the scheduled task handler.\n\t */\n\tpublic readonly options: QueueOptions;\n\n\t/**\n\t * The name of the queue associated with the scheduled task handler.\n\t */\n\tpublic readonly queue: string;\n\n\t#client: BullClient;\n\t#worker: Worker;\n\n\tpublic constructor(options: ScheduledTaskHandlerOptions) {\n\t\tthis.queue = options.queue ?? 'scheduled-tasks';\n\t\tthis.options = options.bull;\n\n\t\tthis.#client = new Queue(this.queue, this.options);\n\t\tthis.#worker = new Worker(\n\t\t\tthis.queue, //\n\t\t\tasync (job) => this.run({ name: job.name as ScheduledTasksKeys, payload: job.data }),\n\t\t\t{ connection: this.options.connection }\n\t\t);\n\n\t\tthis.#client.on('error', (error) => {\n\t\t\tif (isNotConnectionError(error)) {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyClientError, error);\n\t\t\t} else {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyConnectError, error);\n\t\t\t}\n\t\t});\n\t\tthis.#worker.on('error', (error) => {\n\t\t\tif (isNotConnectionError(error)) {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyWorkerError, error);\n\t\t\t} else {\n\t\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskStrategyConnectError, error);\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic get client(): BullClient {\n\t\treturn this.#client;\n\t}\n\n\t/**\n\t * Closes the internal client and worker.\n\t */\n\tpublic async close(): Promise<void> {\n\t\tawait Promise.all([\n\t\t\tthis.#client.close(), //\n\t\t\tthis.#worker.close()\n\t\t]);\n\t}\n\n\t/**\n\t * Creates a scheduled task.\n\t *\n\t * @param task - The task to be scheduled.\n\t * @param options - The options for the task.\n\t */\n\tpublic async create<T extends ScheduledTasksResolvable>(\n\t\ttask: T, //\n\t\toptions?: ScheduledTasksTaskOptions | number\n\t): Promise<ScheduledTasksJob<T>> {\n\t\tconst { name: taskName, payload } = this.resolveTask(task);\n\n\t\tif (isNullish(options)) {\n\t\t\treturn this.#client.add(taskName, payload) as Promise<ScheduledTasksJob<T>>;\n\t\t}\n\n\t\tif (typeof options === 'number') {\n\t\t\toptions = {\n\t\t\t\trepeated: false,\n\t\t\t\tdelay: options\n\t\t\t};\n\t\t}\n\n\t\tconst { repeated, pattern, interval, delay, customJobOptions, timezone } = options;\n\t\tlet jobOptions: JobsOptions = {\n\t\t\tdelay,\n\t\t\t...customJobOptions\n\t\t};\n\n\t\tif (repeated) {\n\t\t\tjobOptions = {\n\t\t\t\t...jobOptions,\n\t\t\t\trepeat: interval //\n\t\t\t\t\t? { every: interval }\n\t\t\t\t\t: { pattern, tz: timezone }\n\t\t\t};\n\t\t}\n\n\t\treturn this.#client.add(taskName, payload, jobOptions) as Promise<ScheduledTasksJob<T>>;\n\t}\n\n\t/**\n\t * Creates repeated tasks.\n\t *\n\t * @param tasks - An optional array of tasks to create. If not provided, it will create tasks based on the stored repeated tasks.\n\t */\n\tpublic async createRepeated(tasks?: ScheduledTaskCreateRepeatedTask[]): Promise<void> {\n\t\tif (tasks === undefined) {\n\t\t\tconst repeatedTasks: ScheduledTaskCreateRepeatedTask[] = this.store.repeatedTasks.map((piece) => ({\n\t\t\t\tname: piece.name as ScheduledTasksKeysNoPayload,\n\t\t\t\toptions: {\n\t\t\t\t\trepeated: true,\n\t\t\t\t\t...(piece.interval\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinterval: piece.interval,\n\t\t\t\t\t\t\t\tcustomJobOptions: piece.customJobOptions\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tpattern: piece.pattern!,\n\t\t\t\t\t\t\t\ttimezone: piece.timezone,\n\t\t\t\t\t\t\t\tcustomJobOptions: piece.customJobOptions\n\t\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}));\n\n\t\t\ttasks = repeatedTasks;\n\t\t}\n\n\t\tfor (const task of tasks) {\n\t\t\tawait this.create(task.name, task.options);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes a scheduled task by its ID.\n\t *\n\t * @param id - The ID of the task to delete.\n\t */\n\tpublic async delete(id: string): Promise<void> {\n\t\tconst job = (await this.get(id as ScheduledTasksKeys)) as unknown as Job<unknown> | undefined;\n\t\treturn job?.remove();\n\t}\n\n\t/**\n\t * Retrieves a list of scheduled tasks based on the provided options.\n\t *\n\t * @param options - The options for filtering the list of scheduled tasks.\n\t */\n\tpublic list(options: ScheduledTaskListOptions): Promise<Job<unknown>[]> {\n\t\tconst { types, start, end, asc } = options;\n\n\t\treturn this.#client.getJobs(types, start, end, asc);\n\t}\n\n\t/**\n\t * Retrieves a list of repeated scheduled tasks based on the provided options.\n\t *\n\t * @param options - The options for filtering the list of repeated scheduled tasks.\n\t */\n\tpublic listRepeated(options: ScheduledTaskListRepeatedOptions): Promise<ScheduledTaskListRepeatedReturnType> {\n\t\tconst { start, end, asc } = options;\n\n\t\treturn this.#client.getRepeatableJobs(start, end, asc);\n\t}\n\n\t/**\n\t * Retrieves a scheduled task by its ID.\n\t *\n\t * @param id - The ID of the scheduled task to retrieve.\n\t */\n\tpublic async get<T extends ScheduledTasksKeys>(id: T): Promise<Job<ScheduledTasksPayload<T>> | undefined> {\n\t\tconst job = await this.#client.getJob(id);\n\t\tif (isNullish(job)) return undefined;\n\n\t\treturn job as Job<ScheduledTasksPayload<T>>;\n\t}\n\n\t/**\n\t * Runs a scheduled task with the given name and payload.\n\t *\n\t * @param task - The name of the scheduled task to run.\n\t *\n\t * @remarks `undefined` will be returned if the task was not found.\n\t */\n\tpublic async run(task: ScheduledTasksResolvable): Promise<number | null | undefined> {\n\t\tconst { name: taskName, payload } = this.resolveTask(task);\n\t\tconst piece = this.store.get(task.name);\n\n\t\tif (!piece) {\n\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskNotFound, taskName, payload);\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst result = await Result.fromAsync(async () => {\n\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskRun, piece, payload);\n\n\t\t\tconst stopwatch = new Stopwatch();\n\t\t\tconst taskRunResult = await piece.run(payload);\n\t\t\tconst { duration } = stopwatch.stop();\n\n\t\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskSuccess, piece, payload, taskRunResult, duration);\n\n\t\t\treturn duration;\n\t\t});\n\n\t\tresult.inspectErr((error) => container.client.emit(ScheduledTaskEvents.ScheduledTaskError, error, piece, payload));\n\n\t\tconst value = result.unwrapOr(null);\n\n\t\tcontainer.client.emit(ScheduledTaskEvents.ScheduledTaskFinished, piece, value, payload);\n\n\t\treturn value;\n\t}\n\n\tprivate get store(): ScheduledTaskStore {\n\t\treturn container.client.stores.get('scheduled-tasks');\n\t}\n\n\tprivate resolveTask(task: ScheduledTasksResolvable): ScheduledTasksResolvablePayload {\n\t\tif (typeof task === 'string') {\n\t\t\treturn { name: task, payload: undefined };\n\t\t}\n\n\t\tif ('payload' in task) {\n\t\t\treturn { name: task.name, payload: task.payload };\n\t\t}\n\n\t\treturn { name: task.name, payload: undefined };\n\t}\n}\n"]}
@@ -5,10 +5,7 @@ var pieces = require('@sapphire/pieces');
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
- var __publicField = (obj, key, value) => {
9
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
- return value;
11
- };
8
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
9
  var _ScheduledTask = class _ScheduledTask extends pieces.Piece {
13
10
  constructor(context, options) {
14
11
  super(context, options);
@@ -26,5 +23,5 @@ __name(_ScheduledTask, "ScheduledTask");
26
23
  var ScheduledTask = _ScheduledTask;
27
24
 
28
25
  exports.ScheduledTask = ScheduledTask;
29
- //# sourceMappingURL=out.js.map
26
+ //# sourceMappingURL=ScheduledTask.cjs.map
30
27
  //# sourceMappingURL=ScheduledTask.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/structures/ScheduledTask.ts"],"names":[],"mappings":";;;;;;;;;AAAA,SAAS,aAAa;AASf,IAAe,iBAAf,MAAe,uBAGZ,MAAkC;AAAA,EAMpC,YAAY,SAAsC,SAA+B;AACvF,UAAM,SAAS,OAAO;AANvB,wBAAgB;AAChB,wBAAgB;AAChB,wBAAgB;AAChB,wBAAgB;AAIf,SAAK,WAAW,QAAQ,YAAY;AACpC,SAAK,UAAU,QAAQ,WAAW;AAClC,SAAK,mBAAmB,QAAQ;AAChC,SAAK,WAAW,QAAQ,YAAY;AAAA,EACrC;AAGD;AAf4C;AAHrC,IAAe,gBAAf","sourcesContent":["import { Piece } from '@sapphire/pieces';\nimport type { Awaitable } from '@sapphire/utilities';\nimport type { JobsOptions } from 'bullmq';\nimport type { ScheduledTasksKeys, ScheduledTasksPayload } from '../types/ScheduledTaskTypes';\n\n/**\n * Represents a scheduled task that can be run at a specified interval or pattern.\n * @abstract\n */\nexport abstract class ScheduledTask<\n\tTask extends ScheduledTasksKeys = ScheduledTasksKeys, //\n\tOptions extends ScheduledTask.Options = ScheduledTask.Options\n> extends Piece<Options, 'scheduled-tasks'> {\n\tpublic readonly interval: number | null;\n\tpublic readonly pattern: string | null;\n\tpublic readonly timezone: string;\n\tpublic readonly customJobOptions?: ScheduledTaskCustomJobOptions;\n\n\tpublic constructor(context: ScheduledTask.LoaderContext, options: ScheduledTaskOptions) {\n\t\tsuper(context, options);\n\t\tthis.interval = options.interval ?? null;\n\t\tthis.pattern = options.pattern ?? null;\n\t\tthis.customJobOptions = options.customJobOptions;\n\t\tthis.timezone = options.timezone ?? 'UTC';\n\t}\n\n\tpublic abstract run(payload: ScheduledTasksPayload<Task>): Awaitable<unknown>;\n}\n\n/**\n * Options for configuring a scheduled task.\n */\nexport interface ScheduledTaskOptions extends Piece.Options {\n\t/**\n\t * The interval (in milliseconds) at which the task should run.\n\t */\n\tinterval?: number | null;\n\t/**\n\t * A cron pattern specifying when the task should run.\n\t */\n\tpattern?: string | null;\n\t/**\n\t * Custom options to pass to the job scheduler.\n\t */\n\tcustomJobOptions?: ScheduledTaskCustomJobOptions;\n\n\t/**\n\t * The timezone to use for the task.\n\t * @default 'UTC'\n\t */\n\ttimezone?: string | null;\n}\n\n/**\n * Custom options for a job in a scheduled task.\n */\nexport type ScheduledTaskCustomJobOptions = Omit<JobsOptions, 'repeat'>;\n\n/**\n * The namespace for {@link ScheduledTask}.\n */\nexport namespace ScheduledTask {\n\t/**\n\t * The options for a {@link ScheduledTask}.\n\t */\n\texport type Options = ScheduledTaskOptions;\n\n\t/**\n\t * The context for a {@link ScheduledTask}.\n\t * @deprecated Use {@linkcode LoaderContext} instead.\n\t */\n\texport type Context = LoaderContext;\n\texport type LoaderContext = Piece.LoaderContext<'scheduled-tasks'>;\n\texport type JSON = Piece.JSON;\n\texport type LocationJSON = Piece.LocationJSON;\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/structures/ScheduledTask.ts"],"names":["Piece"],"mappings":";;;;;;;;AASO,IAAe,cAAA,GAAf,MAAe,cAAA,SAGZA,YAAkC,CAAA;AAAA,EAMpC,WAAA,CAAY,SAAsC,OAA+B,EAAA;AACvF,IAAA,KAAA,CAAM,SAAS,OAAO,CAAA;AANvB,IAAgB,aAAA,CAAA,IAAA,EAAA,UAAA,CAAA;AAChB,IAAgB,aAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AAChB,IAAgB,aAAA,CAAA,IAAA,EAAA,UAAA,CAAA;AAChB,IAAgB,aAAA,CAAA,IAAA,EAAA,kBAAA,CAAA;AAIf,IAAK,IAAA,CAAA,QAAA,GAAW,QAAQ,QAAY,IAAA,IAAA;AACpC,IAAK,IAAA,CAAA,OAAA,GAAU,QAAQ,OAAW,IAAA,IAAA;AAClC,IAAA,IAAA,CAAK,mBAAmB,OAAQ,CAAA,gBAAA;AAChC,IAAK,IAAA,CAAA,QAAA,GAAW,QAAQ,QAAY,IAAA,KAAA;AAAA;AAItC,CAAA;AAf4C,MAAA,CAAA,cAAA,EAAA,eAAA,CAAA;AAHrC,IAAe,aAAf,GAAA","file":"ScheduledTask.cjs","sourcesContent":["import { Piece } from '@sapphire/pieces';\nimport type { Awaitable } from '@sapphire/utilities';\nimport type { JobsOptions } from 'bullmq';\nimport type { ScheduledTasksKeys, ScheduledTasksPayload } from '../types/ScheduledTaskTypes';\n\n/**\n * Represents a scheduled task that can be run at a specified interval or pattern.\n * @abstract\n */\nexport abstract class ScheduledTask<\n\tTask extends ScheduledTasksKeys = ScheduledTasksKeys, //\n\tOptions extends ScheduledTask.Options = ScheduledTask.Options\n> extends Piece<Options, 'scheduled-tasks'> {\n\tpublic readonly interval: number | null;\n\tpublic readonly pattern: string | null;\n\tpublic readonly timezone: string;\n\tpublic readonly customJobOptions?: ScheduledTaskCustomJobOptions;\n\n\tpublic constructor(context: ScheduledTask.LoaderContext, options: ScheduledTaskOptions) {\n\t\tsuper(context, options);\n\t\tthis.interval = options.interval ?? null;\n\t\tthis.pattern = options.pattern ?? null;\n\t\tthis.customJobOptions = options.customJobOptions;\n\t\tthis.timezone = options.timezone ?? 'UTC';\n\t}\n\n\tpublic abstract run(payload: ScheduledTasksPayload<Task>): Awaitable<unknown>;\n}\n\n/**\n * Options for configuring a scheduled task.\n */\nexport interface ScheduledTaskOptions extends Piece.Options {\n\t/**\n\t * The interval (in milliseconds) at which the task should run.\n\t */\n\tinterval?: number | null;\n\t/**\n\t * A cron pattern specifying when the task should run.\n\t */\n\tpattern?: string | null;\n\t/**\n\t * Custom options to pass to the job scheduler.\n\t */\n\tcustomJobOptions?: ScheduledTaskCustomJobOptions;\n\n\t/**\n\t * The timezone to use for the task.\n\t * @default 'UTC'\n\t */\n\ttimezone?: string | null;\n}\n\n/**\n * Custom options for a job in a scheduled task.\n */\nexport type ScheduledTaskCustomJobOptions = Omit<JobsOptions, 'repeat'>;\n\n/**\n * The namespace for {@link ScheduledTask}.\n */\nexport namespace ScheduledTask {\n\t/**\n\t * The options for a {@link ScheduledTask}.\n\t */\n\texport type Options = ScheduledTaskOptions;\n\n\t/**\n\t * The context for a {@link ScheduledTask}.\n\t * @deprecated Use {@linkcode LoaderContext} instead.\n\t */\n\texport type Context = LoaderContext;\n\texport type LoaderContext = Piece.LoaderContext<'scheduled-tasks'>;\n\texport type JSON = Piece.JSON;\n\texport type LocationJSON = Piece.LocationJSON;\n}\n"]}
@@ -6,10 +6,7 @@ var ScheduledTask_cjs = require('./ScheduledTask.cjs');
6
6
  var __defProp = Object.defineProperty;
7
7
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
8
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __publicField = (obj, key, value) => {
10
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
- return value;
12
- };
9
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
13
10
  var _ScheduledTaskStore = class _ScheduledTaskStore extends pieces.Store {
14
11
  constructor() {
15
12
  super(ScheduledTask_cjs.ScheduledTask, { name: "scheduled-tasks" });
@@ -23,8 +20,7 @@ var _ScheduledTaskStore = class _ScheduledTaskStore extends pieces.Store {
23
20
  }
24
21
  delete(key) {
25
22
  const index = this.repeatedTasks.findIndex((task) => task.name === key);
26
- if (index !== -1)
27
- this.repeatedTasks.splice(index, 1);
23
+ if (index !== -1) this.repeatedTasks.splice(index, 1);
28
24
  return super.delete(key);
29
25
  }
30
26
  clear() {
@@ -36,5 +32,5 @@ __name(_ScheduledTaskStore, "ScheduledTaskStore");
36
32
  var ScheduledTaskStore = _ScheduledTaskStore;
37
33
 
38
34
  exports.ScheduledTaskStore = ScheduledTaskStore;
39
- //# sourceMappingURL=out.js.map
35
+ //# sourceMappingURL=ScheduledTaskStore.cjs.map
40
36
  //# sourceMappingURL=ScheduledTaskStore.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/structures/ScheduledTaskStore.ts"],"names":[],"mappings":";;;;;;;;;AAAA,SAAS,aAAa;AACtB,SAAS,qBAAqB;AAKvB,IAAM,sBAAN,MAAM,4BAA2B,MAAwC;AAAA,EAGxE,cAAc;AACpB,UAAM,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAHjD,wBAAgB,iBAAiC,CAAC;AAAA,EAIlD;AAAA,EAEgB,IAAI,KAAa,OAA4B;AAC5D,QAAI,MAAM,aAAa,QAAQ,MAAM,YAAY,MAAM;AACtD,WAAK,cAAc,KAAK,KAAK;AAAA,IAC9B;AAEA,WAAO,MAAM,IAAI,KAAK,KAAK;AAAA,EAC5B;AAAA,EAEgB,OAAO,KAAsB;AAC5C,UAAM,QAAQ,KAAK,cAAc,UAAU,CAAC,SAAS,KAAK,SAAS,GAAG;AAGtE,QAAI,UAAU;AAAI,WAAK,cAAc,OAAO,OAAO,CAAC;AAEpD,WAAO,MAAM,OAAO,GAAG;AAAA,EACxB;AAAA,EAEgB,QAAc;AAC7B,SAAK,cAAc,SAAS;AAC5B,WAAO,MAAM,MAAM;AAAA,EACpB;AACD;AA5BgF;AAAzE,IAAM,qBAAN","sourcesContent":["import { Store } from '@sapphire/pieces';\nimport { ScheduledTask } from './ScheduledTask';\n\n/**\n * A store for managing scheduled tasks.\n */\nexport class ScheduledTaskStore extends Store<ScheduledTask, 'scheduled-tasks'> {\n\tpublic readonly repeatedTasks: ScheduledTask[] = [];\n\n\tpublic constructor() {\n\t\tsuper(ScheduledTask, { name: 'scheduled-tasks' });\n\t}\n\n\tpublic override set(key: string, value: ScheduledTask): this {\n\t\tif (value.interval !== null || value.pattern !== null) {\n\t\t\tthis.repeatedTasks.push(value);\n\t\t}\n\n\t\treturn super.set(key, value);\n\t}\n\n\tpublic override delete(key: string): boolean {\n\t\tconst index = this.repeatedTasks.findIndex((task) => task.name === key);\n\n\t\t// If the scheduled task was found, remove it\n\t\tif (index !== -1) this.repeatedTasks.splice(index, 1);\n\n\t\treturn super.delete(key);\n\t}\n\n\tpublic override clear(): void {\n\t\tthis.repeatedTasks.length = 0;\n\t\treturn super.clear();\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/structures/ScheduledTaskStore.ts"],"names":["Store","ScheduledTask"],"mappings":";;;;;;;;;AAMO,IAAM,mBAAA,GAAN,MAAM,mBAAA,SAA2BA,YAAwC,CAAA;AAAA,EAGxE,WAAc,GAAA;AACpB,IAAA,KAAA,CAAMC,+BAAe,EAAA,EAAE,IAAM,EAAA,iBAAA,EAAmB,CAAA;AAHjD,IAAA,aAAA,CAAA,IAAA,EAAgB,iBAAiC,EAAC,CAAA;AAAA;AAIlD,EAEgB,GAAA,CAAI,KAAa,KAA4B,EAAA;AAC5D,IAAA,IAAI,KAAM,CAAA,QAAA,KAAa,IAAQ,IAAA,KAAA,CAAM,YAAY,IAAM,EAAA;AACtD,MAAK,IAAA,CAAA,aAAA,CAAc,KAAK,KAAK,CAAA;AAAA;AAG9B,IAAO,OAAA,KAAA,CAAM,GAAI,CAAA,GAAA,EAAK,KAAK,CAAA;AAAA;AAC5B,EAEgB,OAAO,GAAsB,EAAA;AAC5C,IAAM,MAAA,KAAA,GAAQ,KAAK,aAAc,CAAA,SAAA,CAAU,CAAC,IAAS,KAAA,IAAA,CAAK,SAAS,GAAG,CAAA;AAGtE,IAAA,IAAI,UAAU,EAAI,EAAA,IAAA,CAAK,aAAc,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAEpD,IAAO,OAAA,KAAA,CAAM,OAAO,GAAG,CAAA;AAAA;AACxB,EAEgB,KAAc,GAAA;AAC7B,IAAA,IAAA,CAAK,cAAc,MAAS,GAAA,CAAA;AAC5B,IAAA,OAAO,MAAM,KAAM,EAAA;AAAA;AAErB,CAAA;AA5BgF,MAAA,CAAA,mBAAA,EAAA,oBAAA,CAAA;AAAzE,IAAM,kBAAN,GAAA","file":"ScheduledTaskStore.cjs","sourcesContent":["import { Store } from '@sapphire/pieces';\nimport { ScheduledTask } from './ScheduledTask';\n\n/**\n * A store for managing scheduled tasks.\n */\nexport class ScheduledTaskStore extends Store<ScheduledTask, 'scheduled-tasks'> {\n\tpublic readonly repeatedTasks: ScheduledTask[] = [];\n\n\tpublic constructor() {\n\t\tsuper(ScheduledTask, { name: 'scheduled-tasks' });\n\t}\n\n\tpublic override set(key: string, value: ScheduledTask): this {\n\t\tif (value.interval !== null || value.pattern !== null) {\n\t\t\tthis.repeatedTasks.push(value);\n\t\t}\n\n\t\treturn super.set(key, value);\n\t}\n\n\tpublic override delete(key: string): boolean {\n\t\tconst index = this.repeatedTasks.findIndex((task) => task.name === key);\n\n\t\t// If the scheduled task was found, remove it\n\t\tif (index !== -1) this.repeatedTasks.splice(index, 1);\n\n\t\treturn super.delete(key);\n\t}\n\n\tpublic override clear(): void {\n\t\tthis.repeatedTasks.length = 0;\n\t\treturn super.clear();\n\t}\n}\n"]}
@@ -39,5 +39,5 @@ var ScheduledTaskEvents = {
39
39
  };
40
40
 
41
41
  exports.ScheduledTaskEvents = ScheduledTaskEvents;
42
- //# sourceMappingURL=out.js.map
42
+ //# sourceMappingURL=ScheduledTaskEvents.cjs.map
43
43
  //# sourceMappingURL=ScheduledTaskEvents.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/types/ScheduledTaskEvents.ts"],"names":[],"mappings":";AAAA,OAA8B;AAMvB,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA,EAIlC,uBAAuB;AAAA;AAAA;AAAA;AAAA,EAIvB,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAIlB,oBAAoB;AAAA;AAAA;AAAA;AAAA,EAIpB,sBAAsB;AAAA;AAAA;AAAA;AAAA,EAItB,uBAAuB;AAAA;AAAA;AAAA;AAAA,EAIvB,mCAAmC;AAAA;AAAA;AAAA;AAAA,EAInC,kCAAkC;AAAA;AAAA;AAAA;AAAA,EAIlC,kCAAkC;AACnC","sourcesContent":["import { ScheduledTask } from '../structures/ScheduledTask';\n\n/**\n * Events emitted during the process setting up the scheduler and running a task.\n * You can use these events to trace the progress for debugging purposes.\n */\nexport const ScheduledTaskEvents = {\n\t/**\n\t * Event that is emitted if a task piece is not found in the store\n\t */\n\tScheduledTaskNotFound: 'scheduledTaskNotFound' as const,\n\t/**\n\t * Event that is emitted before a task's \"run\" method is called\n\t */\n\tScheduledTaskRun: 'scheduledTaskRun' as const,\n\t/**\n\t * Event that is emitted when a task's \"run\" method throws an error\n\t */\n\tScheduledTaskError: 'scheduledTaskError' as const,\n\t/**\n\t * Event that is emitted when a tasks's \"run\" method is successful\n\t */\n\tScheduledTaskSuccess: 'scheduledTaskSuccess' as const,\n\t/**\n\t * Event that is emitted when a task's \"run\" method finishes, regardless of whether an error occurred or not\n\t */\n\tScheduledTaskFinished: 'scheduledTaskFinished' as const,\n\t/**\n\t * Event that is emitted when the scheduler fails to connect to the server (i.e. redis)\n\t */\n\tScheduledTaskStrategyConnectError: 'scheduledTaskStrategyConnectError' as const,\n\t/**\n\t * Event that is emitted when the scheduled task client encounters an error.\n\t */\n\tScheduledTaskStrategyClientError: 'scheduledTaskStrategyClientError' as const,\n\t/**\n\t * Event that is emitted when the scheduled task worker encounters an error.\n\t */\n\tScheduledTaskStrategyWorkerError: 'scheduledTaskStrategyWorkerError' as const\n};\n\ndeclare module 'discord.js' {\n\tinterface ClientEvents {\n\t\t[ScheduledTaskEvents.ScheduledTaskNotFound]: [\n\t\t\ttask: string, //\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskRun]: [\n\t\t\ttask: ScheduledTask, //\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskError]: [\n\t\t\terror: unknown, //\n\t\t\ttask: ScheduledTask,\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskSuccess]: [\n\t\t\ttask: ScheduledTask, //\n\t\t\tpayload: unknown,\n\t\t\tresult: unknown,\n\t\t\tduration: number\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskFinished]: [\n\t\t\ttask: ScheduledTask, //\n\t\t\tduration: number | null,\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskStrategyConnectError]: [error: unknown];\n\t\t[ScheduledTaskEvents.ScheduledTaskStrategyClientError]: [error: unknown];\n\t\t[ScheduledTaskEvents.ScheduledTaskStrategyWorkerError]: [error: unknown];\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/types/ScheduledTaskEvents.ts"],"names":[],"mappings":";;;;;AAMO,IAAM,mBAAsB,GAAA;AAAA;AAAA;AAAA;AAAA,EAIlC,qBAAuB,EAAA,uBAAA;AAAA;AAAA;AAAA;AAAA,EAIvB,gBAAkB,EAAA,kBAAA;AAAA;AAAA;AAAA;AAAA,EAIlB,kBAAoB,EAAA,oBAAA;AAAA;AAAA;AAAA;AAAA,EAIpB,oBAAsB,EAAA,sBAAA;AAAA;AAAA;AAAA;AAAA,EAItB,qBAAuB,EAAA,uBAAA;AAAA;AAAA;AAAA;AAAA,EAIvB,iCAAmC,EAAA,mCAAA;AAAA;AAAA;AAAA;AAAA,EAInC,gCAAkC,EAAA,kCAAA;AAAA;AAAA;AAAA;AAAA,EAIlC,gCAAkC,EAAA;AACnC","file":"ScheduledTaskEvents.cjs","sourcesContent":["import { ScheduledTask } from '../structures/ScheduledTask';\n\n/**\n * Events emitted during the process setting up the scheduler and running a task.\n * You can use these events to trace the progress for debugging purposes.\n */\nexport const ScheduledTaskEvents = {\n\t/**\n\t * Event that is emitted if a task piece is not found in the store\n\t */\n\tScheduledTaskNotFound: 'scheduledTaskNotFound' as const,\n\t/**\n\t * Event that is emitted before a task's \"run\" method is called\n\t */\n\tScheduledTaskRun: 'scheduledTaskRun' as const,\n\t/**\n\t * Event that is emitted when a task's \"run\" method throws an error\n\t */\n\tScheduledTaskError: 'scheduledTaskError' as const,\n\t/**\n\t * Event that is emitted when a tasks's \"run\" method is successful\n\t */\n\tScheduledTaskSuccess: 'scheduledTaskSuccess' as const,\n\t/**\n\t * Event that is emitted when a task's \"run\" method finishes, regardless of whether an error occurred or not\n\t */\n\tScheduledTaskFinished: 'scheduledTaskFinished' as const,\n\t/**\n\t * Event that is emitted when the scheduler fails to connect to the server (i.e. redis)\n\t */\n\tScheduledTaskStrategyConnectError: 'scheduledTaskStrategyConnectError' as const,\n\t/**\n\t * Event that is emitted when the scheduled task client encounters an error.\n\t */\n\tScheduledTaskStrategyClientError: 'scheduledTaskStrategyClientError' as const,\n\t/**\n\t * Event that is emitted when the scheduled task worker encounters an error.\n\t */\n\tScheduledTaskStrategyWorkerError: 'scheduledTaskStrategyWorkerError' as const\n};\n\ndeclare module 'discord.js' {\n\tinterface ClientEvents {\n\t\t[ScheduledTaskEvents.ScheduledTaskNotFound]: [\n\t\t\ttask: string, //\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskRun]: [\n\t\t\ttask: ScheduledTask, //\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskError]: [\n\t\t\terror: unknown, //\n\t\t\ttask: ScheduledTask,\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskSuccess]: [\n\t\t\ttask: ScheduledTask, //\n\t\t\tpayload: unknown,\n\t\t\tresult: unknown,\n\t\t\tduration: number\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskFinished]: [\n\t\t\ttask: ScheduledTask, //\n\t\t\tduration: number | null,\n\t\t\tpayload: unknown\n\t\t];\n\t\t[ScheduledTaskEvents.ScheduledTaskStrategyConnectError]: [error: unknown];\n\t\t[ScheduledTaskEvents.ScheduledTaskStrategyClientError]: [error: unknown];\n\t\t[ScheduledTaskEvents.ScheduledTaskStrategyWorkerError]: [error: unknown];\n\t}\n}\n"]}
@@ -2,5 +2,5 @@
2
2
 
3
3
  require('bullmq');
4
4
 
5
- //# sourceMappingURL=out.js.map
5
+ //# sourceMappingURL=ScheduledTaskTypes.cjs.map
6
6
  //# sourceMappingURL=ScheduledTaskTypes.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/types/ScheduledTaskTypes.ts"],"names":[],"mappings":";AAAA,OAAkE","sourcesContent":["import { Queue, type JobState, type QueueOptions, type Job } from 'bullmq';\nimport type { ScheduledTaskCustomJobOptions } from '../structures/ScheduledTask';\n\n/**\n * Options for a scheduled task handler.\n */\nexport interface ScheduledTaskHandlerOptions {\n\tqueue?: string;\n\tbull: QueueOptions;\n}\n\n/**\n * Options for listing repeated scheduled tasks.\n */\nexport interface ScheduledTaskListRepeatedOptions {\n\tstart?: number;\n\tend?: number;\n\tasc?: boolean;\n}\n\n/**\n * Options for listing scheduled tasks.\n */\nexport interface ScheduledTaskListOptions extends ScheduledTaskListRepeatedOptions {\n\ttypes: JobState[];\n}\n\n/**\n * A Bull queue client that can be used to schedule and manage scheduled tasks.\n */\nexport type BullClient = Queue<unknown>;\n\n/**\n * The return type of the `getRepeatableJobs` method of a Bull client.\n * If the return type of `getRepeatableJobs` is a Promise, this type extracts the resolved type.\n */\nexport type ScheduledTaskListRepeatedReturnType = ReturnType<BullClient['getRepeatableJobs']> extends Promise<infer U> ? U : never;\n\n/**\n * Options for a scheduled task.\n */\nexport type ScheduledTasksTaskOptions = {\n\trepeated: boolean;\n} & (\n\t| { delay: number; interval?: never; pattern?: never; timezone?: never; customJobOptions?: ScheduledTaskCustomJobOptions }\n\t| { delay?: never; interval: number; pattern?: never; timezone?: never; customJobOptions?: ScheduledTaskCustomJobOptions }\n\t| { delay?: never; interval?: never; pattern: string; timezone: string; customJobOptions?: ScheduledTaskCustomJobOptions }\n);\n\n/**\n * Represents a scheduled task that will be repeated at a specified interval.\n */\nexport interface ScheduledTaskCreateRepeatedTask {\n\tname: ScheduledTasksKeysNoPayload;\n\toptions: ScheduledTasksTaskOptions;\n}\n\n/**\n * The registered tasks and their payload types. When registering new ones, it is recommended to use\n * [module augmentation](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation) so\n * custom ones are registered.\n *\n * @remarks\n * - If the type is `never` or `undefined`, that means that there is no payload associated with that task.\n * - If the type is a union that contains `undefined`, then the payload will be optional.\n *\n * @example\n * ```typescript\n * declare module '@sapphire/plugin-scheduled-tasks' {\n * interface ScheduledTasks {\n * // A task named `Mute` which requires no payload:\n * Mute: never;\n *\n * // A task named `Unmute` which requires a payload with a `userId` property:\n * Unmute: {\n * userId: string;\n * };\n *\n * // A task named `Ban` which has a payload with an optional `moderatorId` property:\n * LogAction: {\n * moderatorId?: string;\n * };\n * }\n * }\n * ```\n */\nexport interface ScheduledTasks {}\n\n/**\n * The keys of {@link ScheduledTasks}.\n */\nexport type ScheduledTasksKeys = keyof ScheduledTasks;\n\n/**\n * The keys of {@link ScheduledTasks} with an optional or no payload.\n */\nexport type ScheduledTasksKeysNoPayload = {\n\t[K in ScheduledTasksKeys]: ScheduledTasks[K] extends never //\n\t\t? K\n\t\t: undefined extends ScheduledTasks[K] // Check if the type is a union that contains `undefined`\n\t\t\t? K\n\t\t\t: never;\n}[ScheduledTasksKeys];\n\n/**\n * The payload type of a {@link ScheduledTasks} entry.\n */\nexport type ScheduledTasksPayload<\n\tK extends ScheduledTasksKeys = ScheduledTasksKeys //\n> = ScheduledTasksKeys extends never // Need to check `never` due to empty interfaces\n\t? undefined\n\t: ScheduledTasks[K] extends never // If the value is `never`, then there is no payload\n\t\t? undefined\n\t\t: ScheduledTasks[K];\n\n/**\n * An entry in {@link ScheduledTasks} that has no payload.\n */\ninterface ScheduledTasksResolvableNoPayload<\n\tK extends ScheduledTasksKeysNoPayload = ScheduledTasksKeysNoPayload //\n> {\n\tname: K;\n}\n\n/**\n * An entry in {@link ScheduledTasks} with it's associated payload.\n */\nexport interface ScheduledTasksResolvablePayload<\n\tK extends ScheduledTasksKeys = ScheduledTasksKeys //\n> {\n\tname: K;\n\tpayload: ScheduledTasksPayload<K>;\n}\n\nexport type ScheduledTasksResolvable =\n\t| ScheduledTasksKeysNoPayload //\n\t| ScheduledTasksResolvableNoPayload\n\t| ScheduledTasksResolvablePayload;\n\nexport type ScheduledTasksJob<T> =\n\tT extends ScheduledTasksResolvableNoPayload<infer R>\n\t\t? Job<ScheduledTasksPayload<R>>\n\t\t: T extends ScheduledTasksResolvablePayload<infer R>\n\t\t\t? Job<ScheduledTasksPayload<R>>\n\t\t\t: Job<undefined>;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ScheduledTaskTypes.cjs","sourcesContent":[]}
@@ -22,5 +22,5 @@ __name(_PluginListener, "PluginListener");
22
22
  var PluginListener = _PluginListener;
23
23
 
24
24
  exports.PluginListener = PluginListener;
25
- //# sourceMappingURL=out.js.map
25
+ //# sourceMappingURL=PluginScheduledTaskError.cjs.map
26
26
  //# sourceMappingURL=PluginScheduledTaskError.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskError.ts"],"names":[],"mappings":";;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,OAA8B;AAEvB,IAAM,kBAAN,MAAM,wBAAuB,SAAwD;AAAA,EACpF,YAAY,SAAiC;AACnD,UAAM,SAAS;AAAA,MACd,MAAM,oBAAoB;AAAA,MAC1B,OAAO,oBAAoB;AAAA,IAC5B,CAAC;AAAA,EACF;AAAA,EAEgB,IAAI,OAAgB,MAAqB;AACxD,UAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,SAAK,UAAU,OAAO,MAAM,wCAAwC,IAAI,cAAc,SAAS,IAAI,KAAK,KAAK;AAAA,EAC9G;AACD;AAZ4F;AAArF,IAAM,iBAAN","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\nimport { ScheduledTask } from '../lib/structures/ScheduledTask';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown, task: ScheduledTask) {\n\t\tconst { name, location } = task;\n\t\tthis.container.logger.error(`Encountered error on scheduled task \"${name}\" at path \"${location.full}\"`, error);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskError.ts"],"names":["Listener","ScheduledTaskEvents"],"mappings":";;;;;;;;AAIO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAwD,CAAA;AAAA,EACpF,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,OAAS,EAAA;AAAA,MACd,MAAMC,2CAAoB,CAAA,kBAAA;AAAA,MAC1B,OAAOA,2CAAoB,CAAA;AAAA,KAC3B,CAAA;AAAA;AACF,EAEgB,GAAA,CAAI,OAAgB,IAAqB,EAAA;AACxD,IAAM,MAAA,EAAE,IAAM,EAAA,QAAA,EAAa,GAAA,IAAA;AAC3B,IAAK,IAAA,CAAA,SAAA,CAAU,OAAO,KAAM,CAAA,CAAA,qCAAA,EAAwC,IAAI,CAAc,WAAA,EAAA,QAAA,CAAS,IAAI,CAAA,CAAA,CAAA,EAAK,KAAK,CAAA;AAAA;AAE/G,CAAA;AAZ4F,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAArF,IAAM,cAAN,GAAA","file":"PluginScheduledTaskError.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\nimport { ScheduledTask } from '../lib/structures/ScheduledTask';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown, task: ScheduledTask) {\n\t\tconst { name, location } = task;\n\t\tthis.container.logger.error(`Encountered error on scheduled task \"${name}\" at path \"${location.full}\"`, error);\n\t}\n}\n"]}
@@ -20,5 +20,5 @@ __name(_PluginListener, "PluginListener");
20
20
  var PluginListener = _PluginListener;
21
21
 
22
22
  exports.PluginListener = PluginListener;
23
- //# sourceMappingURL=out.js.map
23
+ //# sourceMappingURL=PluginScheduledTaskNotFound.cjs.map
24
24
  //# sourceMappingURL=PluginScheduledTaskNotFound.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskNotFound.ts"],"names":[],"mappings":";;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,IAAM,kBAAN,MAAM,wBAAuB,SAA2D;AAAA,EACvF,YAAY,SAAiC;AACnD,UAAM,SAAS;AAAA,MACd,MAAM,oBAAoB;AAAA,MAC1B,OAAO,oBAAoB;AAAA,IAC5B,CAAC;AAAA,EACF;AAAA,EAEgB,IAAI,MAAc;AACjC,SAAK,UAAU,OAAO,MAAM,sDAAsD,IAAI,GAAG;AAAA,EAC1F;AACD;AAX+F;AAAxF,IAAM,iBAAN","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskNotFound> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskNotFound,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskNotFound\n\t\t});\n\t}\n\n\tpublic override run(task: string) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] There was no task found for \"${task}\"`);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskNotFound.ts"],"names":["Listener","ScheduledTaskEvents"],"mappings":";;;;;;;AAGO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAA2D,CAAA;AAAA,EACvF,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,OAAS,EAAA;AAAA,MACd,MAAMC,2CAAoB,CAAA,qBAAA;AAAA,MAC1B,OAAOA,2CAAoB,CAAA;AAAA,KAC3B,CAAA;AAAA;AACF,EAEgB,IAAI,IAAc,EAAA;AACjC,IAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,CAAA,mDAAA,EAAsD,IAAI,CAAG,CAAA,CAAA,CAAA;AAAA;AAE3F,CAAA;AAX+F,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAAxF,IAAM,cAAN,GAAA","file":"PluginScheduledTaskNotFound.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskNotFound> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskNotFound,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskNotFound\n\t\t});\n\t}\n\n\tpublic override run(task: string) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] There was no task found for \"${task}\"`);\n\t}\n}\n"]}
@@ -20,5 +20,5 @@ __name(_PluginListener, "PluginListener");
20
20
  var PluginListener = _PluginListener;
21
21
 
22
22
  exports.PluginListener = PluginListener;
23
- //# sourceMappingURL=out.js.map
23
+ //# sourceMappingURL=PluginScheduledTaskStrategyClientError.cjs.map
24
24
  //# sourceMappingURL=PluginScheduledTaskStrategyClientError.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskStrategyClientError.ts"],"names":[],"mappings":";;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,IAAM,kBAAN,MAAM,wBAAuB,SAAsE;AAAA,EAClG,YAAY,SAAiC;AACnD,UAAM,SAAS;AAAA,MACd,MAAM,oBAAoB;AAAA,MAC1B,OAAO,oBAAoB;AAAA,IAC5B,CAAC;AAAA,EACF;AAAA,EAEgB,IAAI,OAAgB;AACnC,SAAK,UAAU,OAAO,MAAM,qEAAqE,KAAK;AAAA,EACvG;AACD;AAX0G;AAAnG,IAAM,iBAAN","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskStrategyClientError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskStrategyClientError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskStrategyClientError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] Scheduled Task handler encountered an error`, error);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskStrategyClientError.ts"],"names":["Listener","ScheduledTaskEvents"],"mappings":";;;;;;;AAGO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAsE,CAAA;AAAA,EAClG,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,OAAS,EAAA;AAAA,MACd,MAAMC,2CAAoB,CAAA,gCAAA;AAAA,MAC1B,OAAOA,2CAAoB,CAAA;AAAA,KAC3B,CAAA;AAAA;AACF,EAEgB,IAAI,KAAgB,EAAA;AACnC,IAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,CAAA,iEAAA,CAAA,EAAqE,KAAK,CAAA;AAAA;AAExG,CAAA;AAX0G,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAAnG,IAAM,cAAN,GAAA","file":"PluginScheduledTaskStrategyClientError.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskStrategyClientError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskStrategyClientError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskStrategyClientError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] Scheduled Task handler encountered an error`, error);\n\t}\n}\n"]}
@@ -20,5 +20,5 @@ __name(_PluginListener, "PluginListener");
20
20
  var PluginListener = _PluginListener;
21
21
 
22
22
  exports.PluginListener = PluginListener;
23
- //# sourceMappingURL=out.js.map
23
+ //# sourceMappingURL=PluginScheduledTaskStrategyConnectError.cjs.map
24
24
  //# sourceMappingURL=PluginScheduledTaskStrategyConnectError.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskStrategyConnectError.ts"],"names":[],"mappings":";;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,IAAM,kBAAN,MAAM,wBAAuB,SAAuE;AAAA,EACnG,YAAY,SAAiC;AACnD,UAAM,SAAS;AAAA,MACd,MAAM,oBAAoB;AAAA,MAC1B,OAAO,oBAAoB;AAAA,IAC5B,CAAC;AAAA,EACF;AAAA,EAEgB,IAAI,OAAgB;AACnC,SAAK,UAAU,OAAO,MAAM,2FAA2F,KAAK;AAAA,EAC7H;AACD;AAX2G;AAApG,IAAM,iBAAN","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskStrategyConnectError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskStrategyConnectError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskStrategyConnectError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] Encountered an error when trying to connect to the Redis instance`, error);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskStrategyConnectError.ts"],"names":["Listener","ScheduledTaskEvents"],"mappings":";;;;;;;AAGO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAuE,CAAA;AAAA,EACnG,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,OAAS,EAAA;AAAA,MACd,MAAMC,2CAAoB,CAAA,iCAAA;AAAA,MAC1B,OAAOA,2CAAoB,CAAA;AAAA,KAC3B,CAAA;AAAA;AACF,EAEgB,IAAI,KAAgB,EAAA;AACnC,IAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,CAAA,uFAAA,CAAA,EAA2F,KAAK,CAAA;AAAA;AAE9H,CAAA;AAX2G,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAApG,IAAM,cAAN,GAAA","file":"PluginScheduledTaskStrategyConnectError.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskStrategyConnectError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskStrategyConnectError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskStrategyConnectError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] Encountered an error when trying to connect to the Redis instance`, error);\n\t}\n}\n"]}
@@ -20,5 +20,5 @@ __name(_PluginListener, "PluginListener");
20
20
  var PluginListener = _PluginListener;
21
21
 
22
22
  exports.PluginListener = PluginListener;
23
- //# sourceMappingURL=out.js.map
23
+ //# sourceMappingURL=PluginScheduledTaskStrategyWorkerError.cjs.map
24
24
  //# sourceMappingURL=PluginScheduledTaskStrategyWorkerError.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskStrategyWorkerError.ts"],"names":[],"mappings":";;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,IAAM,kBAAN,MAAM,wBAAuB,SAAsE;AAAA,EAClG,YAAY,SAAiC;AACnD,UAAM,SAAS;AAAA,MACd,MAAM,oBAAoB;AAAA,MAC1B,OAAO,oBAAoB;AAAA,IAC5B,CAAC;AAAA,EACF;AAAA,EAEgB,IAAI,OAAgB;AACnC,SAAK,UAAU,OAAO,MAAM,gEAAgE,KAAK;AAAA,EAClG;AACD;AAX0G;AAAnG,IAAM,iBAAN","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskStrategyWorkerError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskStrategyWorkerError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskStrategyWorkerError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] The BullMQ worker encountered an error`, error);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginScheduledTaskStrategyWorkerError.ts"],"names":["Listener","ScheduledTaskEvents"],"mappings":";;;;;;;AAGO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAsE,CAAA;AAAA,EAClG,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,OAAS,EAAA;AAAA,MACd,MAAMC,2CAAoB,CAAA,gCAAA;AAAA,MAC1B,OAAOA,2CAAoB,CAAA;AAAA,KAC3B,CAAA;AAAA;AACF,EAEgB,IAAI,KAAgB,EAAA;AACnC,IAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,CAAA,4DAAA,CAAA,EAAgE,KAAK,CAAA;AAAA;AAEnG,CAAA;AAX0G,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAAnG,IAAM,cAAN,GAAA","file":"PluginScheduledTaskStrategyWorkerError.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport { ScheduledTaskEvents } from '../lib/types/ScheduledTaskEvents';\n\nexport class PluginListener extends Listener<typeof ScheduledTaskEvents.ScheduledTaskStrategyWorkerError> {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, {\n\t\t\tname: ScheduledTaskEvents.ScheduledTaskStrategyWorkerError,\n\t\t\tevent: ScheduledTaskEvents.ScheduledTaskStrategyWorkerError\n\t\t});\n\t}\n\n\tpublic override run(error: unknown) {\n\t\tthis.container.logger.error(`[ScheduledTaskPlugin] The BullMQ worker encountered an error`, error);\n\t}\n}\n"]}
@@ -20,5 +20,5 @@ function loadListeners() {
20
20
  __name(loadListeners, "loadListeners");
21
21
 
22
22
  exports.loadListeners = loadListeners;
23
- //# sourceMappingURL=out.js.map
23
+ //# sourceMappingURL=_load.cjs.map
24
24
  //# sourceMappingURL=_load.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/_load.ts"],"names":[],"mappings":";;;;AAAA,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB,gCAAgC;AAC3D,SAAS,kBAAkB,mCAAmC;AAC9D,SAAS,kBAAkB,+CAA+C;AAC1E,SAAS,kBAAkB,8CAA8C;AACzE,SAAS,kBAAkB,8CAA8C;AAElE,SAAS,gBAAgB;AAC/B,QAAM,QAAQ;AACd,OAAK,UAAU,OAAO,UAAU,EAAE,MAAM,4BAA4B,OAAO,0BAA0B,MAAM,CAAC;AAC5G,OAAK,UAAU,OAAO,UAAU,EAAE,MAAM,+BAA+B,OAAO,6BAA6B,MAAM,CAAC;AAClH,OAAK,UAAU,OAAO,UAAU,EAAE,MAAM,2CAA2C,OAAO,yCAAyC,MAAM,CAAC;AAC1I,OAAK,UAAU,OAAO,UAAU,EAAE,MAAM,0CAA0C,OAAO,wCAAwC,MAAM,CAAC;AACxI,OAAK,UAAU,OAAO,UAAU,EAAE,MAAM,0CAA0C,OAAO,wCAAwC,MAAM,CAAC;AACzI;AAPgB","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { PluginListener as PluginScheduledTaskError } from './PluginScheduledTaskError';\nimport { PluginListener as PluginScheduledTaskNotFound } from './PluginScheduledTaskNotFound';\nimport { PluginListener as PluginScheduledTaskStrategyConnectError } from './PluginScheduledTaskStrategyConnectError';\nimport { PluginListener as PluginScheduledTaskStrategyClientError } from './PluginScheduledTaskStrategyClientError';\nimport { PluginListener as PluginScheduledTaskStrategyWorkerError } from './PluginScheduledTaskStrategyWorkerError';\n\nexport function loadListeners() {\n\tconst store = 'listeners' as const;\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskError', piece: PluginScheduledTaskError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskNotFound', piece: PluginScheduledTaskNotFound, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskStrategyConnectError', piece: PluginScheduledTaskStrategyConnectError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskStrategyClientError', piece: PluginScheduledTaskStrategyClientError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskStrategyWorkerError', piece: PluginScheduledTaskStrategyWorkerError, store });\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/_load.ts"],"names":["container","PluginScheduledTaskError","PluginScheduledTaskNotFound","PluginScheduledTaskStrategyConnectError","PluginScheduledTaskStrategyClientError","PluginScheduledTaskStrategyWorkerError"],"mappings":";;;;;;;;;;;AAOO,SAAS,aAAgB,GAAA;AAC/B,EAAA,MAAM,KAAQ,GAAA,WAAA;AACd,EAAK,KAAAA,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,0BAA4B,EAAA,KAAA,EAAOC,2CAA0B,EAAA,KAAA,EAAO,CAAA;AAC5G,EAAK,KAAAD,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,6BAA+B,EAAA,KAAA,EAAOE,8CAA6B,EAAA,KAAA,EAAO,CAAA;AAClH,EAAK,KAAAF,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,yCAA2C,EAAA,KAAA,EAAOG,0DAAyC,EAAA,KAAA,EAAO,CAAA;AAC1I,EAAK,KAAAH,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,wCAA0C,EAAA,KAAA,EAAOI,yDAAwC,EAAA,KAAA,EAAO,CAAA;AACxI,EAAK,KAAAJ,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,wCAA0C,EAAA,KAAA,EAAOK,yDAAwC,EAAA,KAAA,EAAO,CAAA;AACzI;AAPgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA","file":"_load.cjs","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { PluginListener as PluginScheduledTaskError } from './PluginScheduledTaskError';\nimport { PluginListener as PluginScheduledTaskNotFound } from './PluginScheduledTaskNotFound';\nimport { PluginListener as PluginScheduledTaskStrategyConnectError } from './PluginScheduledTaskStrategyConnectError';\nimport { PluginListener as PluginScheduledTaskStrategyClientError } from './PluginScheduledTaskStrategyClientError';\nimport { PluginListener as PluginScheduledTaskStrategyWorkerError } from './PluginScheduledTaskStrategyWorkerError';\n\nexport function loadListeners() {\n\tconst store = 'listeners' as const;\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskError', piece: PluginScheduledTaskError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskNotFound', piece: PluginScheduledTaskNotFound, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskStrategyConnectError', piece: PluginScheduledTaskStrategyConnectError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskStrategyClientError', piece: PluginScheduledTaskStrategyClientError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginScheduledTaskStrategyWorkerError', piece: PluginScheduledTaskStrategyWorkerError, store });\n}\n"]}
@@ -6,10 +6,7 @@ var framework = require('@sapphire/framework');
6
6
  var __defProp = Object.defineProperty;
7
7
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
8
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __publicField = (obj, key, value) => {
10
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
- return value;
12
- };
9
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
13
10
  var _ScheduledTasksPlugin = class _ScheduledTasksPlugin extends framework.Plugin {
14
11
  constructor() {
15
12
  super(...arguments);
@@ -47,5 +44,5 @@ framework.SapphireClient.plugins.registerPostInitializationHook(ScheduledTasksPl
47
44
  framework.SapphireClient.plugins.registerPostLoginHook(ScheduledTasksPlugin[framework.postLogin], "Scheduled-Task-PostLogin");
48
45
 
49
46
  exports.ScheduledTasksPlugin = ScheduledTasksPlugin;
50
- //# sourceMappingURL=out.js.map
47
+ //# sourceMappingURL=register.cjs.map
51
48
  //# sourceMappingURL=register.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/register.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO;AAEP,SAAS,WAAW,QAAQ,oBAAoB,WAAW,2BAA2B,sBAAsB;AAE5G,SAAS,eAAe,sBAAsB,0BAA0B;AAMjE,IAAM,wBAAN,MAAM,8BAA6B,OAAO;AAAA,EAA1C;AAAA;AACN,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAIP,QAAe,yBAAyB,EAAwB,SAA8B;AAC7F,cAAU,QAAQ,IAAI,qBAAqB,QAAQ,KAAK;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA,EAKA,QAAe,kBAAkB,EAAwB,SAA8B;AACtF,SAAK,OAAO,SAAS,IAAI,mBAAmB,CAAC;AAE7C,QAAI,QAAQ,oCAAoC,OAAO;AACtD,oBAAc;AAAA,IACf;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,QAAe,SAAS,IAA8B;AACrD,SAAK,UAAU,MAAM,eAAe;AAAA,EACrC;AACD;AA1BiD;AAA1C,IAAM,uBAAN;AA4BP,eAAe,QAAQ;AAAA,EACtB,qBAAqB,yBAAyB;AAAA,EAC9C;AACD;AAEA,eAAe,QAAQ,+BAA+B,qBAAqB,kBAAkB,GAAG,mCAAmC;AAEnI,eAAe,QAAQ,sBAAsB,qBAAqB,SAAS,GAAG,0BAA0B","sourcesContent":["import './index';\n\nimport { container, Plugin, postInitialization, postLogin, preGenericsInitialization, SapphireClient } from '@sapphire/framework';\nimport type { ClientOptions } from 'discord.js';\nimport { loadListeners, ScheduledTaskHandler, ScheduledTaskStore } from './index';\n\n/**\n * A plugin for scheduling tasks in a SapphireClient.\n * @since 1.0.0\n */\nexport class ScheduledTasksPlugin extends Plugin {\n\tpublic service: string | undefined;\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [preGenericsInitialization](this: SapphireClient, options: ClientOptions): void {\n\t\tcontainer.tasks = new ScheduledTaskHandler(options.tasks);\n\t}\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [postInitialization](this: SapphireClient, options: ClientOptions): void {\n\t\tthis.stores.register(new ScheduledTaskStore());\n\n\t\tif (options.loadScheduledTaskErrorListeners !== false) {\n\t\t\tloadListeners();\n\t\t}\n\t}\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [postLogin](this: SapphireClient): void {\n\t\tvoid container.tasks.createRepeated();\n\t}\n}\n\nSapphireClient.plugins.registerPreGenericsInitializationHook(\n\tScheduledTasksPlugin[preGenericsInitialization],\n\t'Scheduled-Task-PreGenericsInitialization'\n);\n\nSapphireClient.plugins.registerPostInitializationHook(ScheduledTasksPlugin[postInitialization], 'Scheduled-Task-PostInitialization');\n\nSapphireClient.plugins.registerPostLoginHook(ScheduledTasksPlugin[postLogin], 'Scheduled-Task-PostLogin');\n"]}
1
+ {"version":3,"sources":["../../src/register.ts"],"names":["Plugin","preGenericsInitialization","container","ScheduledTaskHandler","postInitialization","ScheduledTaskStore","loadListeners","postLogin","SapphireClient"],"mappings":";;;;;;;;;AAUO,IAAM,qBAAA,GAAN,MAAM,qBAAA,SAA6BA,gBAAO,CAAA;AAAA,EAA1C,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACN,IAAO,aAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAIP,QAAeC,mCAAyB,CAAA,CAAwB,OAA8B,EAAA;AAC7F,IAAAC,mBAAA,CAAU,KAAQ,GAAA,IAAIC,8BAAqB,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA;AACzD;AAAA;AAAA;AAAA,EAKA,QAAeC,4BAAkB,CAAA,CAAwB,OAA8B,EAAA;AACtF,IAAA,IAAA,CAAK,MAAO,CAAA,QAAA,CAAS,IAAIC,4BAAA,EAAoB,CAAA;AAE7C,IAAI,IAAA,OAAA,CAAQ,oCAAoC,KAAO,EAAA;AACtD,MAAcC,uBAAA,EAAA;AAAA;AACf;AACD;AAAA;AAAA;AAAA,EAKA,QAAeC,mBAAS,CAA8B,GAAA;AACrD,IAAK,KAAAL,mBAAA,CAAU,MAAM,cAAe,EAAA;AAAA;AAEtC,CAAA;AA1BiD,MAAA,CAAA,qBAAA,EAAA,sBAAA,CAAA;AAA1C,IAAM,oBAAN,GAAA;AA4BPM,wBAAA,CAAe,OAAQ,CAAA,qCAAA;AAAA,EACtB,qBAAqBP,mCAAyB,CAAA;AAAA,EAC9C;AACD,CAAA;AAEAO,wBAAA,CAAe,OAAQ,CAAA,8BAAA,CAA+B,oBAAqB,CAAAJ,4BAAkB,GAAG,mCAAmC,CAAA;AAEnII,wBAAA,CAAe,OAAQ,CAAA,qBAAA,CAAsB,oBAAqB,CAAAD,mBAAS,GAAG,0BAA0B,CAAA","file":"register.cjs","sourcesContent":["import './index';\n\nimport { container, Plugin, postInitialization, postLogin, preGenericsInitialization, SapphireClient } from '@sapphire/framework';\nimport type { ClientOptions } from 'discord.js';\nimport { loadListeners, ScheduledTaskHandler, ScheduledTaskStore } from './index';\n\n/**\n * A plugin for scheduling tasks in a SapphireClient.\n * @since 1.0.0\n */\nexport class ScheduledTasksPlugin extends Plugin {\n\tpublic service: string | undefined;\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [preGenericsInitialization](this: SapphireClient, options: ClientOptions): void {\n\t\tcontainer.tasks = new ScheduledTaskHandler(options.tasks);\n\t}\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [postInitialization](this: SapphireClient, options: ClientOptions): void {\n\t\tthis.stores.register(new ScheduledTaskStore());\n\n\t\tif (options.loadScheduledTaskErrorListeners !== false) {\n\t\t\tloadListeners();\n\t\t}\n\t}\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [postLogin](this: SapphireClient): void {\n\t\tvoid container.tasks.createRepeated();\n\t}\n}\n\nSapphireClient.plugins.registerPreGenericsInitializationHook(\n\tScheduledTasksPlugin[preGenericsInitialization],\n\t'Scheduled-Task-PreGenericsInitialization'\n);\n\nSapphireClient.plugins.registerPostInitializationHook(ScheduledTasksPlugin[postInitialization], 'Scheduled-Task-PostInitialization');\n\nSapphireClient.plugins.registerPostLoginHook(ScheduledTasksPlugin[postLogin], 'Scheduled-Task-PostLogin');\n"]}