@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.
@@ -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
- * Helper method to convert string or LogOptions to LogOptions
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
- * Scrittura generica su console
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
- * Scrittura di un errore
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
- * Scrittura di un avviso
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
- * Scrittura di un debug
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
- * Scrittura di un verbose
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, logOptions = {}) {
282
- Console.error(message?.toString() ?? "Error", Console.normalizeOptions(logOptions));
260
+ error(message, ...args) {
261
+ const [params, options] = this.extractArgs(args);
262
+ Console.error(message?.toString() ?? "Error", params, options);
283
263
  }
284
- warn(message, logOptions = {}) {
285
- Console.warn(message?.toString() ?? "Warn", Console.normalizeOptions(logOptions));
264
+ warn(message, ...args) {
265
+ const [params, options] = this.extractArgs(args);
266
+ Console.warn(message?.toString() ?? "Warn", params, options);
286
267
  }
287
- log(message, logOptions = {}) {
288
- Console.log(message?.toString() ?? "Log", Console.normalizeOptions(logOptions));
268
+ log(message, ...args) {
269
+ const [params, options] = this.extractArgs(args);
270
+ Console.log(message?.toString() ?? "Log", params, options);
289
271
  }
290
- debug(message, logOptions = {}) {
291
- Console.debug(message?.toString() ?? "Debug", Console.normalizeOptions(logOptions));
272
+ debug(message, ...args) {
273
+ const [params, options] = this.extractArgs(args);
274
+ Console.debug(message?.toString() ?? "Debug", params, options);
292
275
  }
293
- verbose(message, logOptions = {}) {
294
- Console.verbose(message?.toString() ?? "Verbose", Console.normalizeOptions(logOptions));
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} ${message}` : message,
388
+ message: this.staticPrefix ? `${this.staticPrefix} ${displayMessage}` : displayMessage,
390
389
  level: messageLevel,
391
- ...logOptions
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 = message;
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(`${this.staticPrefix ? `${COLORS.WHITE}${this.staticPrefix}{/} ` : ""}${logOptions.color ?? COLORS.WHITE}${message}{/}`);
417
+ this.updateSpinnerLine(coloredLine);
417
418
  }
418
419
  else {
419
- this.appendLine(`${this.staticPrefix ? `${COLORS.WHITE}${this.staticPrefix}{/} ` : ""}${logOptions.color ?? COLORS.WHITE}${message}{/}`);
420
+ this.appendLine(coloredLine);
420
421
  }
421
422
  }
422
423
  }
@@ -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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"}
@@ -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 {};
@@ -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(`[${index + 1}/${Math.floor(urls.length)}] Valuating url ${urls[index]}`);
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
- console.error(e);
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 => {
@@ -1 +1 @@
1
- {"version":3,"file":"Crawler.js","sourceRoot":"","sources":["../../src/Crawler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Crawler.js","sourceRoot":"","sources":["../../src/Crawler.ts"],"names":[],"mappings":"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"}
@@ -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}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":"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"}
@@ -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
- * Verifica se una stringa è un JSON valido
17
- * @param str stringa da verificare
18
- * @returns boolean
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;