@wikicasa-dev/node-common 4.7.11 → 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.
@@ -84,9 +84,17 @@ export class Console {
84
84
  }
85
85
  return info;
86
86
  })(), winston.format.timestamp(), winston.format.json()),
87
- level: process.env.LOG_LEVEL || (this.isProduction ? "info" : "debug"), // Minimum logging level
87
+ level: process.env.LOG_LEVEL?.toLowerCase() ||
88
+ (this.isProduction ? LOG_LEVEL.INFO : LOG_LEVEL.DEBUG),
88
89
  transports: [new winston.transports.Console()]
89
90
  });
91
+ static LEVEL_ORDER = {
92
+ [LOG_LEVEL.ERROR]: 0,
93
+ [LOG_LEVEL.WARN]: 1,
94
+ [LOG_LEVEL.INFO]: 2,
95
+ [LOG_LEVEL.VERBOSE]: 3,
96
+ [LOG_LEVEL.DEBUG]: 4
97
+ };
90
98
  /**
91
99
  * Costruttore pubblico per permettere l'istanziazione diretta.
92
100
  */
@@ -95,72 +103,63 @@ export class Console {
95
103
  // e per mantenere la classe principalmente statica
96
104
  }
97
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
+ // ----------------------------------------------------------------
98
132
  // METODI STATICI PUBBLICI PER LA CONSOLE
99
133
  // ----------------------------------------------------------------
100
- /**
101
- * Helper method to convert string or LogOptions to LogOptions
102
- * @param options string | LogOptions
103
- * @returns LogOptions
104
- */
105
- static normalizeOptions(options) {
106
- if (typeof options === "string") {
107
- return { prefix: options };
134
+ static getEffectiveLevel() {
135
+ const envLevel = process.env.LOG_LEVEL?.toLowerCase();
136
+ if (envLevel && this.LEVEL_ORDER[envLevel] !== undefined) {
137
+ return envLevel;
108
138
  }
109
- return options || {};
139
+ return this.isProduction ? LOG_LEVEL.INFO : LOG_LEVEL.DEBUG;
110
140
  }
111
- /**
112
- * Scrittura generica su console
113
- * @param message string
114
- * @param logOptions LogOptions
115
- * @returns void
116
- */
117
- static log(message, logOptions) {
118
- this.write(message, logOptions);
141
+ static shouldLog(level) {
142
+ const current = this.LEVEL_ORDER[level] ?? this.LEVEL_ORDER[LOG_LEVEL.INFO];
143
+ const threshold = this.LEVEL_ORDER[this.getEffectiveLevel()] ?? this.LEVEL_ORDER[LOG_LEVEL.INFO];
144
+ return current <= threshold;
119
145
  }
120
- /**
121
- * Scrittura di un errore
122
- * @param message string
123
- * @param logOptions LogOptions
124
- * @returns void
125
- */
126
- static error(message, logOptions) {
127
- this.write(message, { level: LOG_LEVEL.ERROR, color: COLORS.RED, ...logOptions });
146
+ static log(message, params, options) {
147
+ this.write(message, params, options);
128
148
  }
129
- /**
130
- * Scrittura di un avviso
131
- * @param message string
132
- * @param logOptions LogOptions
133
- * @returns void
134
- */
135
- static warn(message, logOptions) {
136
- this.write(message, { level: LOG_LEVEL.WARN, color: COLORS.YELLOW, ...logOptions });
149
+ static error(message, params, options) {
150
+ this.write(message, params, { level: LOG_LEVEL.ERROR, color: COLORS.RED, ...options });
137
151
  }
138
- /**
139
- * Scrittura di un successo
140
- * @param message string
141
- * @param logOptions LogOptions
142
- * @returns void
143
- */
144
- static success(message, logOptions) {
145
- this.write(message, { level: LOG_LEVEL.INFO, color: COLORS.GREEN, ...logOptions });
152
+ static warn(message, params, options) {
153
+ this.write(message, params, { level: LOG_LEVEL.WARN, color: COLORS.YELLOW, ...options });
146
154
  }
147
- /**
148
- * Scrittura di un debug
149
- * @param message string
150
- * @param logOptions LogOptions
151
- * @returns void
152
- */
153
- static debug(message, logOptions) {
154
- this.write(message, { level: LOG_LEVEL.DEBUG, color: COLORS.BLUE, ...logOptions });
155
+ static success(message, params, options) {
156
+ this.write(message, params, { level: LOG_LEVEL.INFO, color: COLORS.GREEN, ...options });
155
157
  }
156
- /**
157
- * Scrittura di un verbose
158
- * @param message string
159
- * @param logOptions LogOptions
160
- * @returns void
161
- */
162
- static verbose(message, logOptions) {
163
- this.write(message, { level: LOG_LEVEL.VERBOSE, ...logOptions });
158
+ static debug(message, params, options) {
159
+ this.write(message, params, { level: LOG_LEVEL.DEBUG, color: COLORS.BLUE, ...options });
160
+ }
161
+ static verbose(message, params, options) {
162
+ this.write(message, params, { level: LOG_LEVEL.VERBOSE, ...options });
164
163
  }
165
164
  /**
166
165
  * Aggiunge una riga di riepilogo (summary) in fondo allo schermo
@@ -258,20 +257,25 @@ export class Console {
258
257
  // LOGICA DI NESTJS LOGGER
259
258
  // ----------------------------------------------------------------
260
259
  // Implementando l'interfaccia LoggerService:
261
- error(message, logOptions = {}) {
262
- 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);
263
263
  }
264
- warn(message, logOptions = {}) {
265
- 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);
266
267
  }
267
- log(message, logOptions = {}) {
268
- 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);
269
271
  }
270
- debug(message, logOptions = {}) {
271
- 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);
272
275
  }
273
- verbose(message, logOptions = {}) {
274
- 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);
275
279
  }
276
280
  appendSummaryLine(fn, color = COLORS.WHITE, id) {
277
281
  Console.appendSummaryLine(fn, color, id);
@@ -282,6 +286,22 @@ export class Console {
282
286
  clearSummaryLines() {
283
287
  Console.clearSummaryLines();
284
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
+ }
285
305
  // ----------------------------------------------------------------
286
306
  // METODI PRIVATI DI GESTIONE
287
307
  // ----------------------------------------------------------------
@@ -341,31 +361,33 @@ export class Console {
341
361
  }
342
362
  /**
343
363
  * Logica comune per stampare messaggi, con o senza spinner.
344
- * @param message string
345
- * @param logOptions LogOptions
346
- * @returns void
347
364
  */
348
- static write(message, logOptions = {}) {
365
+ static write(message, params = {}, logOptions = {}) {
349
366
  if (logOptions.prefix !== undefined) {
350
367
  this.staticPrefix =
351
368
  logOptions.prefix === null || logOptions.prefix === "" ? null : logOptions.prefix;
352
369
  }
370
+ const messageLevel = logOptions.level ?? LOG_LEVEL.INFO;
371
+ if (!this.shouldLog(messageLevel))
372
+ return;
373
+ const displayMessage = message + this.formatParams(params);
353
374
  // Salviamo l'entry nella cronologia con tutti i metadati
354
375
  this.logHistory.push({
355
- message,
376
+ message: displayMessage,
377
+ params: Object.keys(params).length > 0 ? params : undefined,
356
378
  prefix: this.staticPrefix || undefined,
357
379
  color: logOptions.color ?? COLORS.WHITE,
358
380
  timestamp: new Date(),
359
- level: logOptions.level ?? LOG_LEVEL.INFO
381
+ level: messageLevel
360
382
  });
361
383
  if (this.logHistory.length > this.MAX_HISTORY) {
362
384
  this.logHistory.shift();
363
385
  }
364
386
  if (this.isProduction) {
365
387
  this.logger.log({
366
- message: this.staticPrefix ? `${this.staticPrefix} ${message}` : message,
367
- level: logOptions.level ?? LOG_LEVEL.INFO,
368
- ...logOptions
388
+ message: this.staticPrefix ? `${this.staticPrefix} ${displayMessage}` : displayMessage,
389
+ level: messageLevel,
390
+ ...params
369
391
  });
370
392
  return;
371
393
  }
@@ -379,7 +401,7 @@ export class Console {
379
401
  else {
380
402
  this.appendLine("");
381
403
  }
382
- this.spinnerBaseMessage = message;
404
+ this.spinnerBaseMessage = displayMessage;
383
405
  this.spinnerInterval = setInterval(() => {
384
406
  const frame = this.spinnerFrames[this.spinnerFrameIndex];
385
407
  this.spinnerFrameIndex = (this.spinnerFrameIndex + 1) % this.spinnerFrames.length;
@@ -388,12 +410,14 @@ export class Console {
388
410
  }, 100);
389
411
  }
390
412
  else {
413
+ const prefixTag = this.staticPrefix ? `${COLORS.WHITE}${this.staticPrefix}{/} ` : "";
414
+ const coloredLine = `${prefixTag}${logOptions.color ?? COLORS.WHITE}${displayMessage}{/}`;
391
415
  if (this.spinnerInterval) {
392
416
  this.stopSpinner();
393
- this.updateSpinnerLine(`${this.staticPrefix ? `${COLORS.WHITE}${this.staticPrefix}{/} ` : ""}${logOptions.color ?? COLORS.WHITE}${message}{/}`);
417
+ this.updateSpinnerLine(coloredLine);
394
418
  }
395
419
  else {
396
- this.appendLine(`${this.staticPrefix ? `${COLORS.WHITE}${this.staticPrefix}{/} ` : ""}${logOptions.color ?? COLORS.WHITE}${message}{/}`);
420
+ this.appendLine(coloredLine);
397
421
  }
398
422
  }
399
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;