@edgenets/utils 0.1.4 → 0.1.5

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.
@@ -0,0 +1,13 @@
1
+ import type { Logger } from "../../types/logger.js";
2
+ declare class ConsoleLogger implements Logger {
3
+ private static instance;
4
+ private constructor();
5
+ static getInstance(): ConsoleLogger;
6
+ debug(message: string): void;
7
+ warn(message: string): void;
8
+ info(message: string): void;
9
+ error(message: string): void;
10
+ }
11
+ export declare const consoleLogger: ConsoleLogger;
12
+ export {};
13
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/utils/logger/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,cAAM,aAAc,YAAW,MAAM;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD,OAAO;WAEO,WAAW,IAAI,aAAa;IAO1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG3B,IAAI,CAAC,OAAO,EAAE,MAAM;IAGpB,KAAK,CAAC,OAAO,EAAE,MAAM;CAGtB;AAGD,eAAO,MAAM,aAAa,eAA8B,CAAC"}
@@ -0,0 +1,27 @@
1
+ class ConsoleLogger {
2
+ static instance = null;
3
+ // 私有构造函数,防止外部实例化
4
+ constructor() { }
5
+ // 获取单例实例的静态方法
6
+ static getInstance() {
7
+ if (!ConsoleLogger.instance) {
8
+ ConsoleLogger.instance = new ConsoleLogger();
9
+ }
10
+ return ConsoleLogger.instance;
11
+ }
12
+ debug(message) {
13
+ console.debug(`[DEBUG] ${message}`);
14
+ }
15
+ warn(message) {
16
+ console.warn(`[WARN] ${message}`);
17
+ }
18
+ info(message) {
19
+ console.log(`[INFO] ${message}`);
20
+ }
21
+ error(message) {
22
+ console.error(`[ERROR] ${message}`);
23
+ }
24
+ }
25
+ // 导出单一实例,保证全局唯一
26
+ export const consoleLogger = ConsoleLogger.getInstance();
27
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/utils/logger/default.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa;IACT,MAAM,CAAC,QAAQ,GAAyB,IAAI,CAAC;IACrD,iBAAiB;IACjB,gBAAuB,CAAC;IACxB,cAAc;IACP,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;;AAGH,gBAAgB;AAChB,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Logger } from "../../types/logger.js";
1
2
  export type SchedulerTask = () => Promise<boolean>;
2
3
  export interface SchedulerOptions {
3
4
  interval?: number;
@@ -12,7 +13,7 @@ declare class Scheduler {
12
13
  private tasks;
13
14
  private constructor();
14
15
  static getInstance(): Scheduler;
15
- run(task: SchedulerTask, options: SchedulerOptions): void;
16
+ run(task: SchedulerTask, options: SchedulerOptions, logger?: Logger): void;
16
17
  private handleTaskError;
17
18
  private timeout;
18
19
  private delay;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,KAAK,CAA2D;IAExE,OAAO;WAEO,WAAW,IAAI,SAAS;IAO/B,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;YAuDlD,eAAe;IAmB7B,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;IAIN,SAAS,IAAI,IAAI;CAMzB;AAGD,eAAO,MAAM,SAAS,WAA0B,CAAC"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,KAAK,CAA2D;IAExE,OAAO;WAEO,WAAW,IAAI,SAAS;IAO/B,GAAG,CACR,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,GAAE,MAAsB,GAC7B,IAAI;YAuDO,eAAe;IAmB7B,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;IAIN,SAAS,IAAI,IAAI;CAMzB;AAGD,eAAO,MAAM,SAAS,WAA0B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { consoleLogger } from "../logger/default.js";
1
2
  class Scheduler {
2
3
  static instance = null;
3
4
  tasks = new Map();
@@ -10,7 +11,7 @@ class Scheduler {
10
11
  }
11
12
  return Scheduler.instance;
12
13
  }
13
- run(task, options) {
14
+ run(task, options, logger = consoleLogger) {
14
15
  const { interval = 1000, // 默认 1000 毫秒
15
16
  maxRecursions = 0, // 默认不迭代
16
17
  maxRetries = 0, // 默认不重试
@@ -24,7 +25,7 @@ class Scheduler {
24
25
  const executeTask = async () => {
25
26
  try {
26
27
  if (maxTotalTime && Date.now() - startTime > maxTotalTime) {
27
- console.log("达到总的最大执行时间,停止任务。");
28
+ logger.info("达到总的最大执行时间,停止任务。");
28
29
  this.cancelAll();
29
30
  return;
30
31
  }
@@ -35,7 +36,7 @@ class Scheduler {
35
36
  counter++;
36
37
  if (shouldContinue && counter < maxRecursions) {
37
38
  if (counter % logInterval === 0) {
38
- console.log(`递归执行, 第 ${counter} 次, 已执行 ${(Date.now() - startTime) / 1000} 秒`);
39
+ logger.info(`递归执行, 第 ${counter} 次, 已执行 ${(Date.now() - startTime) / 1000} 秒`);
39
40
  }
40
41
  this.tasks.set(setTimeout(async () => {
41
42
  await executeTask();
@@ -76,7 +77,7 @@ class Scheduler {
76
77
  this.tasks.clear();
77
78
  }
78
79
  }
79
- // 导出 BotService 的单一实例,保证全局唯一
80
+ // 导出单一实例,保证全局唯一
80
81
  export const scheduler = Scheduler.getInstance();
81
82
  ///////////////
82
83
  // 使用示例
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgenets/utils",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Edgenets utilities package containing common types and utilities.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",