async-queue-runner 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/package.json +4 -4
- package/_cjs/runner.js +8 -1
- package/_esm/action.js +1 -5
- package/_esm/index.js +4 -11
- package/_esm/package.json +4 -4
- package/_esm/queue.js +3 -7
- package/_esm/runner.js +11 -8
- package/_esm/types.js +1 -2
- package/_esm/utils.js +5 -9
- package/_types/queue.d.ts +1 -2
- package/_types/runner.d.ts +6 -0
- package/package.json +1 -1
package/_cjs/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "commonjs"
|
|
3
|
-
}
|
|
4
|
-
|
|
1
|
+
{
|
|
2
|
+
"type": "commonjs"
|
|
3
|
+
}
|
|
4
|
+
|
package/_cjs/runner.js
CHANGED
|
@@ -5,13 +5,20 @@ const queue_js_1 = require("./queue.js");
|
|
|
5
5
|
class QueueRunner {
|
|
6
6
|
queues = new Map();
|
|
7
7
|
listeners = [];
|
|
8
|
+
logger;
|
|
9
|
+
constructor(opts = {}) {
|
|
10
|
+
if (opts.logger) {
|
|
11
|
+
this.logger = opts.logger;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
8
14
|
add(actions, context = {}, name = this.getName()) {
|
|
9
15
|
const queue = new queue_js_1.AsyncQueue({
|
|
10
16
|
name, actions,
|
|
11
17
|
end: () => {
|
|
12
18
|
this.queues.delete(name);
|
|
13
19
|
this.endEvent(name);
|
|
14
|
-
}
|
|
20
|
+
},
|
|
21
|
+
logger: this.logger,
|
|
15
22
|
});
|
|
16
23
|
this.queues.set(name, queue);
|
|
17
24
|
queue.run(context);
|
package/_esm/action.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Action = void 0;
|
|
4
|
-
class Action {
|
|
1
|
+
export class Action {
|
|
5
2
|
delay = 0;
|
|
6
3
|
constructor(opts = {}) {
|
|
7
4
|
if (opts.delay)
|
|
8
5
|
this.delay = opts.delay;
|
|
9
6
|
}
|
|
10
7
|
}
|
|
11
|
-
exports.Action = Action;
|
package/_esm/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "QueueRunner", { enumerable: true, get: function () { return runner_js_1.QueueRunner; } });
|
|
6
|
-
var queue_js_1 = require("./queue.js");
|
|
7
|
-
Object.defineProperty(exports, "AsyncQueue", { enumerable: true, get: function () { return queue_js_1.AsyncQueue; } });
|
|
8
|
-
var action_js_1 = require("./action.js");
|
|
9
|
-
Object.defineProperty(exports, "Action", { enumerable: true, get: function () { return action_js_1.Action; } });
|
|
10
|
-
var utils_js_1 = require("./utils.js");
|
|
11
|
-
Object.defineProperty(exports, "util", { enumerable: true, get: function () { return utils_js_1.util; } });
|
|
1
|
+
export { QueueRunner } from './runner.js';
|
|
2
|
+
export { AsyncQueue } from './queue.js';
|
|
3
|
+
export { Action } from './action.js';
|
|
4
|
+
export { util } from './utils.js';
|
package/_esm/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "module"
|
|
3
|
-
}
|
|
4
|
-
|
|
1
|
+
{
|
|
2
|
+
"type": "module"
|
|
3
|
+
}
|
|
4
|
+
|
package/_esm/queue.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AsyncQueue = void 0;
|
|
4
|
-
const action_js_1 = require("./action.js");
|
|
1
|
+
import { Action } from './action.js';
|
|
5
2
|
const logger = {
|
|
6
3
|
info(message) {
|
|
7
4
|
console.log(message);
|
|
@@ -9,7 +6,7 @@ const logger = {
|
|
|
9
6
|
setContext(context) { },
|
|
10
7
|
error(e) { console.error(e); },
|
|
11
8
|
};
|
|
12
|
-
class AsyncQueue {
|
|
9
|
+
export class AsyncQueue {
|
|
13
10
|
name = 'default queue name';
|
|
14
11
|
queue = [];
|
|
15
12
|
end;
|
|
@@ -67,11 +64,10 @@ class AsyncQueue {
|
|
|
67
64
|
this.queue.unshift(...actions);
|
|
68
65
|
}
|
|
69
66
|
processQueueItem(item) {
|
|
70
|
-
if (item instanceof
|
|
67
|
+
if (item instanceof Action) {
|
|
71
68
|
return item;
|
|
72
69
|
}
|
|
73
70
|
else
|
|
74
71
|
return new item;
|
|
75
72
|
}
|
|
76
73
|
}
|
|
77
|
-
exports.AsyncQueue = AsyncQueue;
|
package/_esm/runner.js
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.QueueRunner = void 0;
|
|
4
|
-
const queue_js_1 = require("./queue.js");
|
|
5
|
-
class QueueRunner {
|
|
1
|
+
import { AsyncQueue } from "./queue.js";
|
|
2
|
+
export class QueueRunner {
|
|
6
3
|
queues = new Map();
|
|
7
4
|
listeners = [];
|
|
5
|
+
logger;
|
|
6
|
+
constructor(opts = {}) {
|
|
7
|
+
if (opts.logger) {
|
|
8
|
+
this.logger = opts.logger;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
8
11
|
add(actions, context = {}, name = this.getName()) {
|
|
9
|
-
const queue = new
|
|
12
|
+
const queue = new AsyncQueue({
|
|
10
13
|
name, actions,
|
|
11
14
|
end: () => {
|
|
12
15
|
this.queues.delete(name);
|
|
13
16
|
this.endEvent(name);
|
|
14
|
-
}
|
|
17
|
+
},
|
|
18
|
+
logger: this.logger,
|
|
15
19
|
});
|
|
16
20
|
this.queues.set(name, queue);
|
|
17
21
|
queue.run(context);
|
|
@@ -28,4 +32,3 @@ class QueueRunner {
|
|
|
28
32
|
return Math.random().toString(36).substring(2, 10);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
exports.QueueRunner = QueueRunner;
|
package/_esm/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/_esm/utils.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.util = exports.Delay = void 0;
|
|
4
|
-
const action_js_1 = require("./action.js");
|
|
5
|
-
class Delay extends action_js_1.Action {
|
|
1
|
+
import { Action } from "./action.js";
|
|
2
|
+
export class Delay extends Action {
|
|
6
3
|
async execute() {
|
|
7
4
|
return new Promise(res => {
|
|
8
5
|
setTimeout(res, this.delay);
|
|
9
6
|
});
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
|
-
|
|
13
|
-
exports.util = {
|
|
9
|
+
export const util = {
|
|
14
10
|
delay(timeout) {
|
|
15
11
|
return new Delay({ delay: timeout });
|
|
16
12
|
},
|
|
17
13
|
if(condition, branches) {
|
|
18
|
-
class IfAction extends
|
|
14
|
+
class IfAction extends Action {
|
|
19
15
|
async execute(context) {
|
|
20
16
|
const result = await condition(context);
|
|
21
17
|
if (result) {
|
|
@@ -29,7 +25,7 @@ exports.util = {
|
|
|
29
25
|
return new IfAction();
|
|
30
26
|
},
|
|
31
27
|
valid(validator, actions) {
|
|
32
|
-
class Validator extends
|
|
28
|
+
class Validator extends Action {
|
|
33
29
|
async execute(context) {
|
|
34
30
|
const valid = await validator(context);
|
|
35
31
|
if (valid) {
|
package/_types/queue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IAction, QueueAction, QueueContext } from './types.js';
|
|
2
|
-
interface ILogger {
|
|
2
|
+
export interface ILogger {
|
|
3
3
|
info: (message: string) => void;
|
|
4
4
|
setContext: (context: string) => void;
|
|
5
5
|
error: (e: Error) => void;
|
|
@@ -24,4 +24,3 @@ export declare class AsyncQueue {
|
|
|
24
24
|
push(actions: QueueAction[]): void;
|
|
25
25
|
processQueueItem(item: QueueAction): IAction;
|
|
26
26
|
}
|
|
27
|
-
export {};
|
package/_types/runner.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { ILogger } from "./queue.js";
|
|
1
2
|
import { QueueAction } from "./types.js";
|
|
2
3
|
export type EndListener = (name: string, size: number) => void;
|
|
4
|
+
export type RunnerOpts = {
|
|
5
|
+
logger?: ILogger;
|
|
6
|
+
};
|
|
3
7
|
export declare class QueueRunner {
|
|
4
8
|
queues: Map<any, any>;
|
|
5
9
|
listeners: EndListener[];
|
|
10
|
+
logger?: ILogger;
|
|
11
|
+
constructor(opts?: RunnerOpts);
|
|
6
12
|
add(actions: QueueAction[], context?: object, name?: string): void;
|
|
7
13
|
addEndListener(listener: EndListener): void;
|
|
8
14
|
endEvent(name: string): void;
|