@edgenets/utils 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./types/user.js";
2
2
  export * from "./types/product.js";
3
3
  export * from "./types/logger.js";
4
4
  export * from "./types/order.js";
5
+ export * from "./types/notification.js";
5
6
  export { StringUtils } from "./utils/string.util.js";
6
7
  export { SimpleStateMachine, OrderStateMachine, } from "./utils/statemachine.util.js";
7
8
  export { SignatureUtils } from "./utils/signature.util.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ export * from "./types/user.js";
3
3
  export * from "./types/product.js";
4
4
  export * from "./types/logger.js";
5
5
  export * from "./types/order.js";
6
+ export * from "./types/notification.js";
6
7
  // 导出字符串处理函数
7
8
  export { StringUtils } from "./utils/string.util.js";
8
9
  // 导出状态机函数
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,cAAc;AACd,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAEvC,YAAY;AACZ,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AAExC,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,cAAc;AACd,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAEvC,YAAY;AACZ,cAAc,0BAA0B,CAAC"}
@@ -6,9 +6,13 @@ export interface QueueOptions {
6
6
  export declare class Queue<T> {
7
7
  private options;
8
8
  private queue;
9
+ private activeTasks;
9
10
  private isProcessing;
10
11
  constructor(options?: QueueOptions);
11
12
  enqueue(task: QueueTask<T>): void;
13
+ getActiveTasks(): number;
14
+ getQueueLength(): number;
15
+ isQueueProcessing(): boolean;
12
16
  private processQueue;
13
17
  private delay;
14
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/utils/tasks/queue.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,KAAK,CAAC,CAAC;IAKhB,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,YAAY,CAAS;gBAGnB,OAAO,GAAE,YAAiD;IAG7D,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;YAO1B,YAAY;IAwB1B,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/utils/tasks/queue.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,KAAK,CAAC,CAAC;IAMhB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAS;gBAGnB,OAAO,GAAE,YAAiD;IAI7D,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAQjC,cAAc,IAAI,MAAM;IAKxB,cAAc,IAAI,MAAM;IAKxB,iBAAiB,IAAI,OAAO;YAKrB,YAAY;IA+B1B,OAAO,CAAC,KAAK;CAGd"}
@@ -1,48 +1,59 @@
1
1
  export class Queue {
2
2
  options;
3
3
  queue = [];
4
- isProcessing = false;
4
+ activeTasks = 0; // 当前正在执行的任务数量
5
+ isProcessing = false; // 是否正在处理队列
5
6
  constructor(options = { concurrency: 1, interval: 1000 }) {
6
7
  this.options = options;
7
8
  }
9
+ // 添加任务到队列
8
10
  enqueue(task) {
9
11
  this.queue.push(task);
10
12
  if (!this.isProcessing) {
11
13
  this.processQueue();
12
14
  }
13
15
  }
16
+ // 获取当前活跃任务数
17
+ getActiveTasks() {
18
+ return this.activeTasks;
19
+ }
20
+ // 获取当前队列长度
21
+ getQueueLength() {
22
+ return this.queue.length;
23
+ }
24
+ // 是否正在处理任务
25
+ isQueueProcessing() {
26
+ return this.isProcessing;
27
+ }
28
+ // 队列处理逻辑
14
29
  async processQueue() {
15
30
  this.isProcessing = true;
16
31
  while (this.queue.length > 0) {
32
+ // 取出当前批次任务
17
33
  const batch = this.queue.splice(0, this.options.concurrency || 1);
34
+ this.activeTasks += batch.length;
35
+ // 执行批量任务
18
36
  await Promise.all(batch.map(async (task) => {
19
37
  try {
20
- await task();
38
+ await task(); // 执行单个任务
39
+ }
40
+ catch (err) {
41
+ console.error(`[Queue][TaskFailed]: ${err}`);
21
42
  }
22
- catch (error) {
23
- console.error(`Task failed: ${error}`);
43
+ finally {
44
+ this.activeTasks--; // 任务完成后减少计数
24
45
  }
25
46
  }));
47
+ // 如果还有剩余任务,延迟执行下一批
26
48
  if (this.queue.length > 0) {
27
49
  await this.delay(this.options.interval || 1000);
28
50
  }
29
51
  }
30
- this.isProcessing = false;
52
+ this.isProcessing = false; // 队列处理完成
31
53
  }
54
+ // 延迟函数
32
55
  delay(ms) {
33
56
  return new Promise((resolve) => setTimeout(resolve, ms));
34
57
  }
35
58
  }
36
- // import { TaskQueue, QueueTask } from './utils/tasks/queue';
37
- // const taskQueue = new TaskQueue<void>({
38
- // concurrency: 2, // 每次最多并发 2 个任务
39
- // interval: 1000, // 每批任务间隔 1 秒
40
- // });
41
- // const exampleTask: QueueTask<void> = async () => {
42
- // console.log("Processing task...");
43
- // await new Promise((resolve) => setTimeout(resolve, 500)); // 模拟任务耗时
44
- // };
45
- // for (let i = 0; i < 10; i++) {
46
- // taskQueue.enqueue(exampleTask);
47
- // }
48
59
  //# sourceMappingURL=queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/utils/tasks/queue.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,KAAK;IAKN;IAJF,KAAK,GAAmB,EAAE,CAAC;IAC3B,YAAY,GAAG,KAAK,CAAC;IAE7B,YACU,UAAwB,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAA1D,YAAO,GAAP,OAAO,CAAmD;IACjE,CAAC;IAEG,OAAO,CAAC,IAAkB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAElE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,IAAI,EAAE,CAAC;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,8DAA8D;AAE9D,0CAA0C;AAC1C,oCAAoC;AACpC,kCAAkC;AAClC,MAAM;AAEN,qDAAqD;AACrD,uCAAuC;AACvC,wEAAwE;AACxE,KAAK;AAEL,iCAAiC;AACjC,oCAAoC;AACpC,IAAI"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/utils/tasks/queue.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,KAAK;IAMN;IALF,KAAK,GAAmB,EAAE,CAAC;IAC3B,WAAW,GAAG,CAAC,CAAC,CAAC,cAAc;IAC/B,YAAY,GAAG,KAAK,CAAC,CAAC,WAAW;IAEzC,YACU,UAAwB,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAA1D,YAAO,GAAP,OAAO,CAAmD;IACjE,CAAC;IAEJ,UAAU;IACH,OAAO,CAAC,IAAkB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,YAAY;IACL,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,WAAW;IACJ,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,WAAW;IACJ,iBAAiB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,SAAS;IACD,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,WAAW;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAEjC,SAAS;YACT,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS;gBACzB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;gBAC/C,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;gBAClC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,mBAAmB;YACnB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,SAAS;IACtC,CAAC;IAED,OAAO;IACC,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgenets/utils",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Edgenets utilities package containing common types and utilities.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",