@wikicasa-dev/node-common 4.7.12 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/examples/callpool-demo.js +14 -13
- package/dist/examples/callpool-demo.js.map +1 -1
- package/dist/examples/console-demo.js +25 -25
- package/dist/examples/console-demo.js.map +1 -1
- package/dist/src/Cache.d.ts +39 -2
- package/dist/src/Cache.js +44 -6
- package/dist/src/Cache.js.map +1 -1
- package/dist/src/CacheES.d.ts +28 -0
- package/dist/src/CacheES.js +34 -4
- package/dist/src/CacheES.js.map +1 -1
- package/dist/src/CallPool.d.ts +71 -5
- package/dist/src/CallPool.js +82 -9
- package/dist/src/CallPool.js.map +1 -1
- package/dist/src/Console.d.ts +21 -58
- package/dist/src/Console.js +80 -79
- package/dist/src/Console.js.map +1 -1
- package/dist/src/Crawler.d.ts +18 -0
- package/dist/src/Crawler.js +20 -2
- package/dist/src/Crawler.js.map +1 -1
- package/dist/src/Pool.d.ts +19 -0
- package/dist/src/Pool.js +21 -2
- package/dist/src/Pool.js.map +1 -1
- package/dist/src/common.d.ts +74 -3
- package/dist/src/common.js +80 -7
- package/dist/src/common.js.map +1 -1
- package/dist/src/utils.d.ts +165 -26
- package/dist/src/utils.js +165 -26
- package/dist/src/utils.js.map +1 -1
- package/package.json +20 -23
package/dist/src/Console.js
CHANGED
|
@@ -103,6 +103,32 @@ export class Console {
|
|
|
103
103
|
// e per mantenere la classe principalmente statica
|
|
104
104
|
}
|
|
105
105
|
// ----------------------------------------------------------------
|
|
106
|
+
// HELPER METHODS
|
|
107
|
+
// ----------------------------------------------------------------
|
|
108
|
+
static formatParamValue(value) {
|
|
109
|
+
if (value instanceof Error)
|
|
110
|
+
return value.message;
|
|
111
|
+
if (value == null)
|
|
112
|
+
return String(value);
|
|
113
|
+
if (typeof value === "string")
|
|
114
|
+
return value;
|
|
115
|
+
if (typeof value === "number" || typeof value === "boolean")
|
|
116
|
+
return String(value);
|
|
117
|
+
try {
|
|
118
|
+
const str = JSON.stringify(value);
|
|
119
|
+
return str.length > 100 ? str.slice(0, 97) + "..." : str;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return "[Object]";
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
static formatParams(params) {
|
|
126
|
+
const entries = Object.entries(params);
|
|
127
|
+
if (entries.length === 0)
|
|
128
|
+
return "";
|
|
129
|
+
return " | " + entries.map(([k, v]) => `${k}=${this.formatParamValue(v)}`).join(" ");
|
|
130
|
+
}
|
|
131
|
+
// ----------------------------------------------------------------
|
|
106
132
|
// METODI STATICI PUBBLICI PER LA CONSOLE
|
|
107
133
|
// ----------------------------------------------------------------
|
|
108
134
|
static getEffectiveLevel() {
|
|
@@ -117,70 +143,23 @@ export class Console {
|
|
|
117
143
|
const threshold = this.LEVEL_ORDER[this.getEffectiveLevel()] ?? this.LEVEL_ORDER[LOG_LEVEL.INFO];
|
|
118
144
|
return current <= threshold;
|
|
119
145
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
* @param options string | LogOptions
|
|
123
|
-
* @returns LogOptions
|
|
124
|
-
*/
|
|
125
|
-
static normalizeOptions(options) {
|
|
126
|
-
if (typeof options === "string") {
|
|
127
|
-
return { prefix: options };
|
|
128
|
-
}
|
|
129
|
-
return options || {};
|
|
146
|
+
static log(message, params, options) {
|
|
147
|
+
this.write(message, params, options);
|
|
130
148
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
* @param message string
|
|
134
|
-
* @param logOptions LogOptions
|
|
135
|
-
* @returns void
|
|
136
|
-
*/
|
|
137
|
-
static log(message, logOptions) {
|
|
138
|
-
this.write(message, logOptions);
|
|
149
|
+
static error(message, params, options) {
|
|
150
|
+
this.write(message, params, { level: LOG_LEVEL.ERROR, color: COLORS.RED, ...options });
|
|
139
151
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
* @param message string
|
|
143
|
-
* @param logOptions LogOptions
|
|
144
|
-
* @returns void
|
|
145
|
-
*/
|
|
146
|
-
static error(message, logOptions) {
|
|
147
|
-
this.write(message, { level: LOG_LEVEL.ERROR, color: COLORS.RED, ...logOptions });
|
|
152
|
+
static warn(message, params, options) {
|
|
153
|
+
this.write(message, params, { level: LOG_LEVEL.WARN, color: COLORS.YELLOW, ...options });
|
|
148
154
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
* @param message string
|
|
152
|
-
* @param logOptions LogOptions
|
|
153
|
-
* @returns void
|
|
154
|
-
*/
|
|
155
|
-
static warn(message, logOptions) {
|
|
156
|
-
this.write(message, { level: LOG_LEVEL.WARN, color: COLORS.YELLOW, ...logOptions });
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Scrittura di un successo
|
|
160
|
-
* @param message string
|
|
161
|
-
* @param logOptions LogOptions
|
|
162
|
-
* @returns void
|
|
163
|
-
*/
|
|
164
|
-
static success(message, logOptions) {
|
|
165
|
-
this.write(message, { level: LOG_LEVEL.INFO, color: COLORS.GREEN, ...logOptions });
|
|
155
|
+
static success(message, params, options) {
|
|
156
|
+
this.write(message, params, { level: LOG_LEVEL.INFO, color: COLORS.GREEN, ...options });
|
|
166
157
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
* @param message string
|
|
170
|
-
* @param logOptions LogOptions
|
|
171
|
-
* @returns void
|
|
172
|
-
*/
|
|
173
|
-
static debug(message, logOptions) {
|
|
174
|
-
this.write(message, { level: LOG_LEVEL.DEBUG, color: COLORS.BLUE, ...logOptions });
|
|
158
|
+
static debug(message, params, options) {
|
|
159
|
+
this.write(message, params, { level: LOG_LEVEL.DEBUG, color: COLORS.BLUE, ...options });
|
|
175
160
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
* @param message string
|
|
179
|
-
* @param logOptions LogOptions
|
|
180
|
-
* @returns void
|
|
181
|
-
*/
|
|
182
|
-
static verbose(message, logOptions) {
|
|
183
|
-
this.write(message, { level: LOG_LEVEL.VERBOSE, ...logOptions });
|
|
161
|
+
static verbose(message, params, options) {
|
|
162
|
+
this.write(message, params, { level: LOG_LEVEL.VERBOSE, ...options });
|
|
184
163
|
}
|
|
185
164
|
/**
|
|
186
165
|
* Aggiunge una riga di riepilogo (summary) in fondo allo schermo
|
|
@@ -278,20 +257,25 @@ export class Console {
|
|
|
278
257
|
// LOGICA DI NESTJS LOGGER
|
|
279
258
|
// ----------------------------------------------------------------
|
|
280
259
|
// Implementando l'interfaccia LoggerService:
|
|
281
|
-
error(message,
|
|
282
|
-
|
|
260
|
+
error(message, ...args) {
|
|
261
|
+
const [params, options] = this.extractArgs(args);
|
|
262
|
+
Console.error(message?.toString() ?? "Error", params, options);
|
|
283
263
|
}
|
|
284
|
-
warn(message,
|
|
285
|
-
|
|
264
|
+
warn(message, ...args) {
|
|
265
|
+
const [params, options] = this.extractArgs(args);
|
|
266
|
+
Console.warn(message?.toString() ?? "Warn", params, options);
|
|
286
267
|
}
|
|
287
|
-
log(message,
|
|
288
|
-
|
|
268
|
+
log(message, ...args) {
|
|
269
|
+
const [params, options] = this.extractArgs(args);
|
|
270
|
+
Console.log(message?.toString() ?? "Log", params, options);
|
|
289
271
|
}
|
|
290
|
-
debug(message,
|
|
291
|
-
|
|
272
|
+
debug(message, ...args) {
|
|
273
|
+
const [params, options] = this.extractArgs(args);
|
|
274
|
+
Console.debug(message?.toString() ?? "Debug", params, options);
|
|
292
275
|
}
|
|
293
|
-
verbose(message,
|
|
294
|
-
|
|
276
|
+
verbose(message, ...args) {
|
|
277
|
+
const [params, options] = this.extractArgs(args);
|
|
278
|
+
Console.verbose(message?.toString() ?? "Verbose", params, options);
|
|
295
279
|
}
|
|
296
280
|
appendSummaryLine(fn, color = COLORS.WHITE, id) {
|
|
297
281
|
Console.appendSummaryLine(fn, color, id);
|
|
@@ -302,6 +286,22 @@ export class Console {
|
|
|
302
286
|
clearSummaryLines() {
|
|
303
287
|
Console.clearSummaryLines();
|
|
304
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Adapter for NestJS LoggerService rest args.
|
|
291
|
+
* Handles: (params, options), (params), (contextString), ()
|
|
292
|
+
*/
|
|
293
|
+
extractArgs(args) {
|
|
294
|
+
if (args.length === 0)
|
|
295
|
+
return [{}, {}];
|
|
296
|
+
if (args.length === 1 && typeof args[0] === "string") {
|
|
297
|
+
return [{}, { prefix: args[0] }];
|
|
298
|
+
}
|
|
299
|
+
const params = (typeof args[0] === "object" && args[0] !== null) ? args[0] : {};
|
|
300
|
+
const options = (args[1] && typeof args[1] === "object") ? args[1]
|
|
301
|
+
: (typeof args[1] === "string") ? { prefix: args[1] }
|
|
302
|
+
: {};
|
|
303
|
+
return [params, options];
|
|
304
|
+
}
|
|
305
305
|
// ----------------------------------------------------------------
|
|
306
306
|
// METODI PRIVATI DI GESTIONE
|
|
307
307
|
// ----------------------------------------------------------------
|
|
@@ -361,11 +361,8 @@ export class Console {
|
|
|
361
361
|
}
|
|
362
362
|
/**
|
|
363
363
|
* Logica comune per stampare messaggi, con o senza spinner.
|
|
364
|
-
* @param message string
|
|
365
|
-
* @param logOptions LogOptions
|
|
366
|
-
* @returns void
|
|
367
364
|
*/
|
|
368
|
-
static write(message, logOptions = {}) {
|
|
365
|
+
static write(message, params = {}, logOptions = {}) {
|
|
369
366
|
if (logOptions.prefix !== undefined) {
|
|
370
367
|
this.staticPrefix =
|
|
371
368
|
logOptions.prefix === null || logOptions.prefix === "" ? null : logOptions.prefix;
|
|
@@ -373,9 +370,11 @@ export class Console {
|
|
|
373
370
|
const messageLevel = logOptions.level ?? LOG_LEVEL.INFO;
|
|
374
371
|
if (!this.shouldLog(messageLevel))
|
|
375
372
|
return;
|
|
373
|
+
const displayMessage = message + this.formatParams(params);
|
|
376
374
|
// Salviamo l'entry nella cronologia con tutti i metadati
|
|
377
375
|
this.logHistory.push({
|
|
378
|
-
message,
|
|
376
|
+
message: displayMessage,
|
|
377
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
379
378
|
prefix: this.staticPrefix || undefined,
|
|
380
379
|
color: logOptions.color ?? COLORS.WHITE,
|
|
381
380
|
timestamp: new Date(),
|
|
@@ -386,9 +385,9 @@ export class Console {
|
|
|
386
385
|
}
|
|
387
386
|
if (this.isProduction) {
|
|
388
387
|
this.logger.log({
|
|
389
|
-
message: this.staticPrefix ? `${this.staticPrefix} ${
|
|
388
|
+
message: this.staticPrefix ? `${this.staticPrefix} ${displayMessage}` : displayMessage,
|
|
390
389
|
level: messageLevel,
|
|
391
|
-
...
|
|
390
|
+
...params
|
|
392
391
|
});
|
|
393
392
|
return;
|
|
394
393
|
}
|
|
@@ -402,7 +401,7 @@ export class Console {
|
|
|
402
401
|
else {
|
|
403
402
|
this.appendLine("");
|
|
404
403
|
}
|
|
405
|
-
this.spinnerBaseMessage =
|
|
404
|
+
this.spinnerBaseMessage = displayMessage;
|
|
406
405
|
this.spinnerInterval = setInterval(() => {
|
|
407
406
|
const frame = this.spinnerFrames[this.spinnerFrameIndex];
|
|
408
407
|
this.spinnerFrameIndex = (this.spinnerFrameIndex + 1) % this.spinnerFrames.length;
|
|
@@ -411,12 +410,14 @@ export class Console {
|
|
|
411
410
|
}, 100);
|
|
412
411
|
}
|
|
413
412
|
else {
|
|
413
|
+
const prefixTag = this.staticPrefix ? `${COLORS.WHITE}${this.staticPrefix}{/} ` : "";
|
|
414
|
+
const coloredLine = `${prefixTag}${logOptions.color ?? COLORS.WHITE}${displayMessage}{/}`;
|
|
414
415
|
if (this.spinnerInterval) {
|
|
415
416
|
this.stopSpinner();
|
|
416
|
-
this.updateSpinnerLine(
|
|
417
|
+
this.updateSpinnerLine(coloredLine);
|
|
417
418
|
}
|
|
418
419
|
else {
|
|
419
|
-
this.appendLine(
|
|
420
|
+
this.appendLine(coloredLine);
|
|
420
421
|
}
|
|
421
422
|
}
|
|
422
423
|
}
|
package/dist/src/Console.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Console.js","sourceRoot":"","sources":["../../src/Console.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Console.js","sourceRoot":"","sources":["../../src/Console.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Crawler.d.ts
CHANGED
|
@@ -21,9 +21,27 @@ export declare class Crawler implements ICrawler {
|
|
|
21
21
|
first: boolean;
|
|
22
22
|
options: ICrawlerOptions;
|
|
23
23
|
constructor(options: ICrawlerOptions);
|
|
24
|
+
/**
|
|
25
|
+
* Launch the crawl: create drivers, discover URLs via the hub, then process each URL concurrently.
|
|
26
|
+
*
|
|
27
|
+
* @returns Array of aggregated crawl results
|
|
28
|
+
*/
|
|
24
29
|
execute(): Promise<any>;
|
|
30
|
+
/**
|
|
31
|
+
* Spawn headless Chrome WebDriver instances up to the configured concurrency.
|
|
32
|
+
*/
|
|
25
33
|
createDrivers(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Close all active WebDriver instances.
|
|
36
|
+
*/
|
|
26
37
|
destroyDrivers(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Recursively crawl a single URL: scrape listings, optionally fetch details, then follow pagination.
|
|
40
|
+
*
|
|
41
|
+
* @param driver - WebDriver instance to use for navigation
|
|
42
|
+
* @param url - Page URL to crawl
|
|
43
|
+
* @returns Accumulated results across all paginated pages
|
|
44
|
+
*/
|
|
27
45
|
crawlFn(driver: ThenableWebDriver, url: string): Promise<any>;
|
|
28
46
|
}
|
|
29
47
|
export {};
|
package/dist/src/Crawler.js
CHANGED
|
@@ -16,6 +16,11 @@ export class Crawler {
|
|
|
16
16
|
constructor(options) {
|
|
17
17
|
this.options = { ...this.options, ...options };
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Launch the crawl: create drivers, discover URLs via the hub, then process each URL concurrently.
|
|
21
|
+
*
|
|
22
|
+
* @returns Array of aggregated crawl results
|
|
23
|
+
*/
|
|
19
24
|
execute() {
|
|
20
25
|
this.createDrivers();
|
|
21
26
|
try {
|
|
@@ -23,7 +28,7 @@ export class Crawler {
|
|
|
23
28
|
this.options.crawlHub(this.drivers[0]).then(urls => {
|
|
24
29
|
const tasks = urls.map((url, index) => () => {
|
|
25
30
|
const driver = this.drivers.pop();
|
|
26
|
-
Console.log(
|
|
31
|
+
Console.log("Valuating url", { progress: `${index + 1}/${urls.length}`, url: urls[index] });
|
|
27
32
|
return this.crawlFn(driver, url)
|
|
28
33
|
.then(results => this.options.callback?.call(null, results, index, this.first))
|
|
29
34
|
.finally(() => {
|
|
@@ -40,10 +45,13 @@ export class Crawler {
|
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
47
|
catch (e) {
|
|
43
|
-
|
|
48
|
+
Console.error("Crawler execution failed", { error: e });
|
|
44
49
|
this.destroyDrivers();
|
|
45
50
|
}
|
|
46
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Spawn headless Chrome WebDriver instances up to the configured concurrency.
|
|
54
|
+
*/
|
|
47
55
|
createDrivers() {
|
|
48
56
|
for (let i = 0; i < this.options.concurrent; i++) {
|
|
49
57
|
this.drivers.push(new Webdriver.Builder()
|
|
@@ -53,9 +61,19 @@ export class Crawler {
|
|
|
53
61
|
.build());
|
|
54
62
|
}
|
|
55
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Close all active WebDriver instances.
|
|
66
|
+
*/
|
|
56
67
|
destroyDrivers() {
|
|
57
68
|
this.drivers.forEach(driver => driver.close());
|
|
58
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Recursively crawl a single URL: scrape listings, optionally fetch details, then follow pagination.
|
|
72
|
+
*
|
|
73
|
+
* @param driver - WebDriver instance to use for navigation
|
|
74
|
+
* @param url - Page URL to crawl
|
|
75
|
+
* @returns Accumulated results across all paginated pages
|
|
76
|
+
*/
|
|
59
77
|
crawlFn(driver, url) {
|
|
60
78
|
const _self = this;
|
|
61
79
|
return new Promise(resolve => {
|
package/dist/src/Crawler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crawler.js","sourceRoot":"","sources":["../../src/Crawler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,SAA8B,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AA4BrD,MAAM,OAAO,OAAO;IAEhB,OAAO,GAA6B,EAAE,CAAC;IACvC,KAAK,GAAG,IAAI,CAAC;IAEb,OAAO,GAAoB;QACvB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;KACpB,CAAA;IAED,YAAY,OAAwB;QAChC,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAC,CAAC;IACjD,CAAC;IAED,OAAO;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAiB,EAAE;wBAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;wBAElC,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Crawler.js","sourceRoot":"","sources":["../../src/Crawler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,SAA8B,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AA4BrD,MAAM,OAAO,OAAO;IAEhB,OAAO,GAA6B,EAAE,CAAC;IACvC,KAAK,GAAG,IAAI,CAAC;IAEb,OAAO,GAAoB;QACvB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;KACpB,CAAA;IAED,YAAY,OAAwB;QAChC,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,OAAO;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAiB,EAAE;wBAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;wBAElC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAE5F,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;6BAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC9E,OAAO,CAAC,GAAG,EAAE;4BACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC9B,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBAChD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,OAAO,CAAC,OAAO,CAAC,CAAC;wBACjB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE;iBACpC,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;iBACjD,gBAAgB,CAAC,IAAI,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;iBAC1C,UAAU,CAAC,QAAQ,CAAC;iBACpB,KAAK,EAAE,CAAC,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAyB,EAAE,GAAW;QAE1C,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAiB,EAAE,CAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;4BACnB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC;wBAC5H,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BACN,IAAI,CAAC,OAAO,CAAC,EAAE;4BACZ,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;iCACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;iCAClF,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;wBAC3C,CAAC,CAAC,CAAA;oBACV,CAAC;yBAAM,CAAC;wBACJ,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACjD,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;6BACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;6BACnF,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;oBACvC,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
package/dist/src/Pool.d.ts
CHANGED
|
@@ -5,10 +5,29 @@ export declare class Pool {
|
|
|
5
5
|
private queue;
|
|
6
6
|
private activeCount;
|
|
7
7
|
constructor(name: string, concurrency: number, limitCall?: number, limitInterval?: number);
|
|
8
|
+
/**
|
|
9
|
+
* Execute an array of async calls with bounded concurrency, batching in groups of 1000.
|
|
10
|
+
*
|
|
11
|
+
* @param calls - Array of async factory functions to execute
|
|
12
|
+
* @param concurrency - Maximum number of concurrent executions
|
|
13
|
+
* @returns Flat array of all results in order
|
|
14
|
+
*/
|
|
8
15
|
static run: (calls: Array<() => Promise<any>>, concurrency: number) => Promise<any[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Add one or more async tasks to the pool queue and return when all complete.
|
|
18
|
+
*
|
|
19
|
+
* @param calls - Async factory functions to enqueue
|
|
20
|
+
* @returns Resolved values from all enqueued calls
|
|
21
|
+
*/
|
|
9
22
|
enqueue(...calls: Array<() => Promise<any>>): Promise<any[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Drain the queue by starting tasks up to the concurrency limit, applying rate limiting.
|
|
25
|
+
*/
|
|
10
26
|
private schedule;
|
|
11
27
|
print(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Rebuild the visual progress bar string reflecting current pool utilisation.
|
|
30
|
+
*/
|
|
12
31
|
updatePrint(): void;
|
|
13
32
|
private _print;
|
|
14
33
|
}
|
package/dist/src/Pool.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Console, COLORS } from "./Console.js";
|
|
2
|
-
import throttledQueue from "throttled-queue";
|
|
2
|
+
import { throttledQueue } from "throttled-queue";
|
|
3
3
|
const BATCH_SIZE = 1000;
|
|
4
4
|
export class Pool {
|
|
5
5
|
name;
|
|
@@ -12,9 +12,16 @@ export class Pool {
|
|
|
12
12
|
this.concurrency = concurrency;
|
|
13
13
|
this.queue = [];
|
|
14
14
|
this.activeCount = 0;
|
|
15
|
-
this.limiter = throttledQueue(limitCall, limitInterval, true);
|
|
15
|
+
this.limiter = throttledQueue({ maxPerInterval: limitCall, interval: limitInterval, evenlySpaced: true });
|
|
16
16
|
this.updatePrint();
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Execute an array of async calls with bounded concurrency, batching in groups of 1000.
|
|
20
|
+
*
|
|
21
|
+
* @param calls - Array of async factory functions to execute
|
|
22
|
+
* @param concurrency - Maximum number of concurrent executions
|
|
23
|
+
* @returns Flat array of all results in order
|
|
24
|
+
*/
|
|
18
25
|
static run = async (calls, concurrency) => {
|
|
19
26
|
const pool = new Pool("", concurrency);
|
|
20
27
|
const batchPromises = Array.from({ length: Math.ceil(calls.length / BATCH_SIZE) }, async (_, index) => {
|
|
@@ -26,6 +33,12 @@ export class Pool {
|
|
|
26
33
|
const batchResults = await Promise.all(batchPromises);
|
|
27
34
|
return batchResults.flat();
|
|
28
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Add one or more async tasks to the pool queue and return when all complete.
|
|
38
|
+
*
|
|
39
|
+
* @param calls - Async factory functions to enqueue
|
|
40
|
+
* @returns Resolved values from all enqueued calls
|
|
41
|
+
*/
|
|
29
42
|
enqueue(...calls) {
|
|
30
43
|
return Promise.all(calls.map(call => new Promise((resolve, reject) => {
|
|
31
44
|
this.queue.push({
|
|
@@ -36,6 +49,9 @@ export class Pool {
|
|
|
36
49
|
this.schedule();
|
|
37
50
|
})));
|
|
38
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Drain the queue by starting tasks up to the concurrency limit, applying rate limiting.
|
|
54
|
+
*/
|
|
39
55
|
schedule() {
|
|
40
56
|
while (this.activeCount < this.concurrency && this.queue.length > 0) {
|
|
41
57
|
const { call, resolve, reject } = this.queue.shift();
|
|
@@ -59,6 +75,9 @@ export class Pool {
|
|
|
59
75
|
print() {
|
|
60
76
|
return this._print;
|
|
61
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Rebuild the visual progress bar string reflecting current pool utilisation.
|
|
80
|
+
*/
|
|
62
81
|
updatePrint() {
|
|
63
82
|
const textStart = `${Console.color(this.name.padEnd(16), COLORS.YELLOW)} [POOL][`;
|
|
64
83
|
const textEnd = `][${this.activeCount + this.queue?.length}/${this.concurrency}]`;
|
package/dist/src/Pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,cAAc,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":"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"}
|
package/dist/src/common.d.ts
CHANGED
|
@@ -2,19 +2,90 @@ export declare class CustomError extends Error {
|
|
|
2
2
|
critical: boolean;
|
|
3
3
|
constructor(message: string, critical?: boolean);
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Execute promise factories in sequential batches, resolving groups of `step` at a time.
|
|
7
|
+
*
|
|
8
|
+
* @param promises - Array of async factory functions
|
|
9
|
+
* @param step - Number of promises to run concurrently per batch
|
|
10
|
+
* @param exit - Reserved for future use
|
|
11
|
+
* @returns Flat array of all results
|
|
12
|
+
*/
|
|
5
13
|
export declare function sequentially(promises: Array<() => Promise<unknown>>, step?: number, exit?: boolean): Promise<unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Execute promise factories with bounded concurrency, optionally halting on error.
|
|
16
|
+
*
|
|
17
|
+
* @param promises - Array of async factory functions
|
|
18
|
+
* @param concurrent - Maximum number of concurrent executions
|
|
19
|
+
* @param stopIfError - If true, reject and stop the pool on the first error
|
|
20
|
+
* @returns Array of results in corresponding order
|
|
21
|
+
*/
|
|
6
22
|
export declare function pool(promises: Array<() => Promise<unknown>>, concurrent: number, stopIfError?: boolean): Promise<any>;
|
|
23
|
+
/**
|
|
24
|
+
* Try each async factory in order and return the first truthy result; throw if none succeeds.
|
|
25
|
+
*
|
|
26
|
+
* @param fns - Array of async factory functions to try sequentially
|
|
27
|
+
* @returns First truthy resolved value
|
|
28
|
+
* @throws {string} When no factory returns a truthy value
|
|
29
|
+
*/
|
|
7
30
|
export declare function promisesFirst<T>(fns: Array<() => Promise<T>>): Promise<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Read and decompress a Brotli-compressed JSON cache file from disk.
|
|
33
|
+
*
|
|
34
|
+
* @param path - Base file path (`.br` extension is appended automatically)
|
|
35
|
+
* @returns Parsed JSON data or null if the file is missing or corrupted
|
|
36
|
+
*/
|
|
8
37
|
export declare function readCache(path: string): JSON;
|
|
38
|
+
/**
|
|
39
|
+
* Serialise data as JSON, compress with Brotli, and write to disk.
|
|
40
|
+
*
|
|
41
|
+
* @param path - Base file path (`.br` extension is appended automatically)
|
|
42
|
+
* @param data - Data to serialise and cache
|
|
43
|
+
*/
|
|
9
44
|
export declare function writeCache(path: string, data: any): void;
|
|
45
|
+
/**
|
|
46
|
+
* Read and parse a JSON file from disk.
|
|
47
|
+
*
|
|
48
|
+
* @param path - File path
|
|
49
|
+
* @param strict - If true, throw when the file does not exist
|
|
50
|
+
* @returns Parsed object or null on failure
|
|
51
|
+
* @throws {Error} When strict is true and the file is missing
|
|
52
|
+
*/
|
|
10
53
|
export declare function readJson(path: string, strict?: boolean): Record<string, any>;
|
|
54
|
+
/**
|
|
55
|
+
* Read and parse a CSV file into an array of row objects.
|
|
56
|
+
*
|
|
57
|
+
* @param path - File path
|
|
58
|
+
* @param delimiter - Column delimiter character
|
|
59
|
+
* @param strict - If true, throw when the file does not exist
|
|
60
|
+
* @returns Array of row objects or null on failure
|
|
61
|
+
* @throws {Error} When strict is true and the file is missing
|
|
62
|
+
*/
|
|
11
63
|
export declare function readCSV(path: string, delimiter?: string, strict?: boolean): Record<string, any>;
|
|
64
|
+
/**
|
|
65
|
+
* Group array elements into a Map keyed by the result of a getter function.
|
|
66
|
+
*
|
|
67
|
+
* @param list - Source array
|
|
68
|
+
* @param keyGetter - Function that extracts the grouping key from each item
|
|
69
|
+
* @returns Map of key to array of matching items
|
|
70
|
+
*/
|
|
12
71
|
export declare function groupBy<T>(list: Array<T>, keyGetter: (item: T) => string): Map<string, T[]>;
|
|
72
|
+
/**
|
|
73
|
+
* Pause execution for a given number of milliseconds, optionally logging a countdown spinner.
|
|
74
|
+
*
|
|
75
|
+
* @param ms - Duration in milliseconds
|
|
76
|
+
* @param feedback - If true, display a countdown spinner in the console
|
|
77
|
+
*/
|
|
13
78
|
export declare function sleep(ms: any, feedback?: boolean): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Deduplicate an array using Set, preserving insertion order.
|
|
81
|
+
*
|
|
82
|
+
* @param array - Source array
|
|
83
|
+
* @returns New array without duplicates, or undefined if empty/null
|
|
84
|
+
*/
|
|
14
85
|
export declare function unique<T>(array: Array<T>): Array<T> | undefined;
|
|
15
86
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @param str
|
|
18
|
-
* @returns
|
|
87
|
+
* Checks whether a string is valid JSON
|
|
88
|
+
* @param str - String to validate
|
|
89
|
+
* @returns Whether the string is valid JSON
|
|
19
90
|
*/
|
|
20
91
|
export declare function isValidJSON(str: string): boolean;
|