@brianbuie/node-kit 0.15.0 → 0.16.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/README.md +209 -202
- package/dist/index.d.mts +52 -525
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +187 -230
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -5
- package/src/Cache.ts +4 -3
- package/src/Dir.test.ts +11 -0
- package/src/Dir.ts +24 -23
- package/src/Fetcher.ts +2 -2
- package/src/File.ts +70 -56
- package/src/Format.ts +5 -5
- package/src/Log.test.ts +16 -6
- package/src/Log.ts +58 -98
- package/src/TypeWriter.ts +15 -7
- package/src/snapshot.ts +3 -2
- package/src/timeout.ts +1 -1
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/File.ts","../src/Dir.ts","../src/Cache.ts","../src/Fetcher.ts","../src/Format.ts","../src/Log.ts","../src/snapshot.ts","../src/timeout.ts","../src/TypeWriter.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/File.ts","../src/Dir.ts","../src/Cache.ts","../src/Fetcher.ts","../src/Format.ts","../src/Log.ts","../src/snapshot.ts","../src/timeout.ts","../src/TypeWriter.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -5,41 +5,13 @@ import { Readable } from "node:stream";
|
|
|
5
5
|
import { finished } from "node:stream/promises";
|
|
6
6
|
import mime from "mime-types";
|
|
7
7
|
import { parseStream, writeToStream } from "fast-csv";
|
|
8
|
-
import { isObjectLike, merge } from "lodash-es";
|
|
9
8
|
import { add, format, formatISO, isAfter } from "date-fns";
|
|
10
|
-
import extractDomain from "extract-domain";
|
|
11
9
|
import formatDuration from "format-duration";
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
10
|
+
import { isObjectLike, merge } from "lodash-es";
|
|
11
|
+
import extractDomain from "extract-domain";
|
|
12
|
+
import pino from "pino";
|
|
14
13
|
import * as qt from "quicktype-core";
|
|
15
14
|
|
|
16
|
-
//#region src/snapshot.ts
|
|
17
|
-
/**
|
|
18
|
-
* Allows special objects (Error, Headers, Set) to be included in JSON.stringify output.
|
|
19
|
-
* Functions are removed
|
|
20
|
-
*/
|
|
21
|
-
function snapshot(i, max = 50, depth = 0) {
|
|
22
|
-
if (Array.isArray(i)) {
|
|
23
|
-
if (depth === max) return [];
|
|
24
|
-
return i.map((c) => snapshot(c, max, depth + 1));
|
|
25
|
-
}
|
|
26
|
-
if (typeof i === "function") return void 0;
|
|
27
|
-
if (!isObjectLike(i)) return i;
|
|
28
|
-
if (depth === max) return {};
|
|
29
|
-
let output = {};
|
|
30
|
-
if (typeof i.entries === "function") {
|
|
31
|
-
for (let [k, v] of i.entries()) output[k] = snapshot(v, max, depth + 1);
|
|
32
|
-
return output;
|
|
33
|
-
}
|
|
34
|
-
const obj = i;
|
|
35
|
-
for (let key in obj) output[key] = snapshot(obj[key], max, depth + 1);
|
|
36
|
-
Object.getOwnPropertyNames(obj).forEach((key) => {
|
|
37
|
-
output[key] = snapshot(obj[key], max, depth + 1);
|
|
38
|
-
});
|
|
39
|
-
return output;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
//#endregion
|
|
43
15
|
//#region src/File.ts
|
|
44
16
|
/**
|
|
45
17
|
* Represents a file on the file system. If the file doesn't exist, it is created the first time it is written to.
|
|
@@ -156,9 +128,9 @@ var File = class {
|
|
|
156
128
|
* await file.write({ col: 'val' }); // ✅ Writes one row
|
|
157
129
|
* await file.write([{ col: 'val2' }, { col: 'val3' }]); // ✅ Writes multiple rows
|
|
158
130
|
*/
|
|
159
|
-
async csv(rows,
|
|
160
|
-
const csvFile = new FileTypeCsv(this.path);
|
|
161
|
-
if (rows) await csvFile.write(rows
|
|
131
|
+
async csv(rows, options) {
|
|
132
|
+
const csvFile = new FileTypeCsv(this.path, options);
|
|
133
|
+
if (rows) await csvFile.write(rows);
|
|
162
134
|
return csvFile;
|
|
163
135
|
}
|
|
164
136
|
static get csv() {
|
|
@@ -213,7 +185,7 @@ var FileType = class {
|
|
|
213
185
|
};
|
|
214
186
|
/**
|
|
215
187
|
* A .json file that maintains data type when reading/writing.
|
|
216
|
-
* > ⚠️ This is mildly unsafe,
|
|
188
|
+
* > ⚠️ This is mildly unsafe, json files should be validated at runtime!
|
|
217
189
|
* @example
|
|
218
190
|
* const file = new FileTypeJson('./data', { key: 'val' }); // FileTypeJson<{ key: string; }>
|
|
219
191
|
* console.log(file.path) // '/path/to/cwd/data.json'
|
|
@@ -232,7 +204,7 @@ var FileTypeJson = class extends FileType {
|
|
|
232
204
|
return contents ? JSON.parse(contents) : void 0;
|
|
233
205
|
}
|
|
234
206
|
write(contents) {
|
|
235
|
-
this.file.write(JSON.stringify(
|
|
207
|
+
this.file.write(JSON.stringify(contents, null, 2));
|
|
236
208
|
}
|
|
237
209
|
};
|
|
238
210
|
/**
|
|
@@ -245,7 +217,7 @@ var FileTypeNdjson = class extends FileType {
|
|
|
245
217
|
if (lines) this.append(lines);
|
|
246
218
|
}
|
|
247
219
|
append(lines) {
|
|
248
|
-
this.file.append(Array.isArray(lines) ? lines.map((l) => JSON.stringify(
|
|
220
|
+
this.file.append(Array.isArray(lines) ? lines.map((l) => JSON.stringify(l)) : JSON.stringify(lines));
|
|
249
221
|
}
|
|
250
222
|
lines() {
|
|
251
223
|
return this.file.lines().map((l) => JSON.parse(l));
|
|
@@ -256,22 +228,30 @@ var FileTypeNdjson = class extends FileType {
|
|
|
256
228
|
* Input rows as objects, keys are used as column headers
|
|
257
229
|
*/
|
|
258
230
|
var FileTypeCsv = class extends FileType {
|
|
259
|
-
|
|
231
|
+
options;
|
|
232
|
+
constructor(filepath, options = {}) {
|
|
260
233
|
super(filepath.endsWith(".csv") ? filepath : filepath + ".csv");
|
|
234
|
+
this.options = {
|
|
235
|
+
parseNumbers: true,
|
|
236
|
+
parseBooleans: true,
|
|
237
|
+
parseNulls: true,
|
|
238
|
+
...options
|
|
239
|
+
};
|
|
261
240
|
}
|
|
262
|
-
async write(rows
|
|
241
|
+
async write(rows) {
|
|
263
242
|
const headerSet = /* @__PURE__ */ new Set();
|
|
264
|
-
if (keys) for (const key of keys) headerSet.add(key);
|
|
243
|
+
if (this.options.keys) for (const key of this.options.keys) headerSet.add(key);
|
|
265
244
|
else for (const row of rows) for (const key in row) headerSet.add(key);
|
|
266
245
|
const headers = Array.from(headerSet);
|
|
267
246
|
const outRows = rows.map((row) => headers.map((key) => row[key]));
|
|
268
247
|
return finished(writeToStream(this.file.writeStream, [headers, ...outRows]));
|
|
269
248
|
}
|
|
270
249
|
#parseVal(val) {
|
|
271
|
-
|
|
272
|
-
if (val.toLowerCase() === "
|
|
273
|
-
if (val.
|
|
274
|
-
if (
|
|
250
|
+
const { parseNumbers, parseBooleans, parseNulls } = this.options;
|
|
251
|
+
if (parseBooleans && val.toLowerCase() === "false") return false;
|
|
252
|
+
if (parseBooleans && val.toLowerCase() === "true") return true;
|
|
253
|
+
if (parseNulls && (val.length === 0 || val.toLowerCase() === "null")) return null;
|
|
254
|
+
if (parseNumbers && /^[\.0-9]+$/.test(val)) return Number(val);
|
|
275
255
|
return val;
|
|
276
256
|
}
|
|
277
257
|
async read() {
|
|
@@ -287,12 +267,82 @@ var FileTypeCsv = class extends FileType {
|
|
|
287
267
|
}
|
|
288
268
|
};
|
|
289
269
|
|
|
270
|
+
//#endregion
|
|
271
|
+
//#region src/Format.ts
|
|
272
|
+
/**
|
|
273
|
+
* Helpers for formatting dates, times, and numbers as strings
|
|
274
|
+
*/
|
|
275
|
+
var Format = class {
|
|
276
|
+
/**
|
|
277
|
+
* date-fns format() with some shortcuts
|
|
278
|
+
* @param formatStr the format to use
|
|
279
|
+
* @param date the date to format, default `new Date()`
|
|
280
|
+
* @example
|
|
281
|
+
* Format.date('iso') // '2026-04-08T13:56:45Z'
|
|
282
|
+
* Format.date('ymd') // '20260408'
|
|
283
|
+
* Format.date('ymd-hm') // '20260408-1356'
|
|
284
|
+
* Format.date('ymd-hms') // '20260408-135645'
|
|
285
|
+
* Format.date('h:m:s') // '13:56:45'
|
|
286
|
+
* @see more format options https://date-fns.org/v4.1.0/docs/format
|
|
287
|
+
*/
|
|
288
|
+
static date(formatStr = "iso", d = /* @__PURE__ */ new Date()) {
|
|
289
|
+
if (formatStr === "iso") return formatISO(d);
|
|
290
|
+
if (formatStr === "ymd") return format(d, "yyyyMMdd");
|
|
291
|
+
if (formatStr === "ymd-hm") return format(d, "yyyyMMdd-HHmm");
|
|
292
|
+
if (formatStr === "ymd-hms") return format(d, "yyyyMMdd-HHmmss");
|
|
293
|
+
if (formatStr === "h:m:s") return format(d, "HH:mm:ss");
|
|
294
|
+
return format(d, formatStr);
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Round a number to a specific set of places
|
|
298
|
+
*/
|
|
299
|
+
static round(n, places = 0) {
|
|
300
|
+
return new Intl.NumberFormat("en-US", { maximumFractionDigits: places }).format(n);
|
|
301
|
+
}
|
|
302
|
+
static plural(amount, singular, multiple) {
|
|
303
|
+
return amount === 1 ? `${amount} ${singular}` : `${amount} ${multiple || singular + "s"}`;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Make millisecond durations actually readable (eg "123ms", "3.56s", "1m 34s", "3h 24m", "2d 4h")
|
|
307
|
+
* @param ms milliseconds
|
|
308
|
+
* @param style 'digital' to output as 'HH:MM:SS'
|
|
309
|
+
* @see details on 'digital' format https://github.com/ungoldman/format-duration
|
|
310
|
+
* @see waiting on `Intl.DurationFormat({ style: 'digital' })` types https://github.com/microsoft/TypeScript/issues/60608
|
|
311
|
+
*/
|
|
312
|
+
static ms(ms, style) {
|
|
313
|
+
if (style === "digital") return formatDuration(ms, { leading: true });
|
|
314
|
+
if (ms < 1e3) return `${this.round(ms)}ms`;
|
|
315
|
+
const s = ms / 1e3;
|
|
316
|
+
if (s < 60) return `${this.round(s, 2)}s`;
|
|
317
|
+
const m = Math.floor(s / 60);
|
|
318
|
+
if (m < 60) return `${m}m ${Math.floor(s) % 60}s`;
|
|
319
|
+
const h = Math.floor(m / 60);
|
|
320
|
+
if (h < 24) return `${h}h ${m % 60}m`;
|
|
321
|
+
return `${Math.floor(h / 24)}d ${h % 24}h`;
|
|
322
|
+
}
|
|
323
|
+
static bytes(b) {
|
|
324
|
+
const labels = [
|
|
325
|
+
"b",
|
|
326
|
+
"KB",
|
|
327
|
+
"MB",
|
|
328
|
+
"GB",
|
|
329
|
+
"TB"
|
|
330
|
+
];
|
|
331
|
+
let factor = 0;
|
|
332
|
+
while (b >= 1024 && labels[factor + 1]) {
|
|
333
|
+
b = b / 1024;
|
|
334
|
+
factor++;
|
|
335
|
+
}
|
|
336
|
+
return `${this.round(b, 2)} ${labels[factor]}`;
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
|
|
290
340
|
//#endregion
|
|
291
341
|
//#region src/Dir.ts
|
|
292
342
|
/**
|
|
293
343
|
* Reference to a specific directory with methods to create and list files.
|
|
294
344
|
* @param inputPath
|
|
295
|
-
* The path of the directory, created on file system the first time `.path` is read or any methods are used
|
|
345
|
+
* The path of the directory, created on file system the first time `.path` is read or any methods are used. Default: `./YYYYMMDD`
|
|
296
346
|
* @param options
|
|
297
347
|
* include `{ temp: true }` to enable the `.clear()` method
|
|
298
348
|
*/
|
|
@@ -303,7 +353,7 @@ var Dir = class Dir {
|
|
|
303
353
|
/**
|
|
304
354
|
* @param path can be relative to workspace or absolute
|
|
305
355
|
*/
|
|
306
|
-
constructor(inputPath, options = {}) {
|
|
356
|
+
constructor(inputPath = Format.date("ymd"), options = {}) {
|
|
307
357
|
this.#inputPath = inputPath;
|
|
308
358
|
this.isTemp = Boolean(options.temp);
|
|
309
359
|
}
|
|
@@ -348,7 +398,7 @@ var Dir = class Dir {
|
|
|
348
398
|
* const child = folder.dir('path/to/dir');
|
|
349
399
|
* // child.path = '/path/to/cwd/example/path/to/dir'
|
|
350
400
|
*/
|
|
351
|
-
dir(subPath, options = { temp: this.isTemp }) {
|
|
401
|
+
dir(subPath = Format.date("ymd"), options = { temp: this.isTemp }) {
|
|
352
402
|
return new this.constructor(path.join(this.path, subPath), options);
|
|
353
403
|
}
|
|
354
404
|
/**
|
|
@@ -366,15 +416,15 @@ var Dir = class Dir {
|
|
|
366
416
|
* @example
|
|
367
417
|
* const folder = new Dir('example');
|
|
368
418
|
* const filepath = folder.resolve('file.json');
|
|
369
|
-
* // 'example/file.json'
|
|
419
|
+
* // '/path/to/example/file.json'
|
|
370
420
|
*/
|
|
371
421
|
filepath(base) {
|
|
372
422
|
return path.resolve(this.path, this.sanitize(base));
|
|
373
423
|
}
|
|
374
424
|
/**
|
|
375
|
-
* Create a new file in this directory
|
|
425
|
+
* Create a new file in this directory. Filename defaults to `YYYYMMDD-HHMMSS` if not provided
|
|
376
426
|
*/
|
|
377
|
-
file(base) {
|
|
427
|
+
file(base = Format.date("ymd-hms")) {
|
|
378
428
|
return new File(this.filepath(base));
|
|
379
429
|
}
|
|
380
430
|
/**
|
|
@@ -440,7 +490,7 @@ var Dir = class Dir {
|
|
|
440
490
|
/**
|
|
441
491
|
* All files with ext ".txt"
|
|
442
492
|
*/
|
|
443
|
-
get
|
|
493
|
+
get txtFiles() {
|
|
444
494
|
return this.files.filter((f) => f.ext === ".txt");
|
|
445
495
|
}
|
|
446
496
|
/**
|
|
@@ -605,193 +655,92 @@ var Fetcher = class {
|
|
|
605
655
|
};
|
|
606
656
|
|
|
607
657
|
//#endregion
|
|
608
|
-
//#region src/
|
|
658
|
+
//#region src/Log.ts
|
|
609
659
|
/**
|
|
610
|
-
*
|
|
660
|
+
* Wrapper for [pino](https://github.com/pinojs/pino)
|
|
661
|
+
* Levels: fatal, error, warn, info, debug, trace
|
|
662
|
+
* Use `LOG_LEVL=info` to limit what's printed to console
|
|
663
|
+
* Use `Log.configure` to customize the pino instance
|
|
611
664
|
*/
|
|
612
|
-
var
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
const labels = [
|
|
662
|
-
"b",
|
|
663
|
-
"KB",
|
|
664
|
-
"MB",
|
|
665
|
-
"GB",
|
|
666
|
-
"TB"
|
|
667
|
-
];
|
|
668
|
-
let factor = 0;
|
|
669
|
-
while (b >= 1024 && labels[factor + 1]) {
|
|
670
|
-
b = b / 1024;
|
|
671
|
-
factor++;
|
|
672
|
-
}
|
|
673
|
-
return `${this.round(b, 2)} ${labels[factor]}`;
|
|
665
|
+
var Log = class Log {
|
|
666
|
+
static #logger;
|
|
667
|
+
static #options;
|
|
668
|
+
static createLogger() {
|
|
669
|
+
const isProduction = this.#options?.environment === "production" || process.env.NODE_ENV === "production";
|
|
670
|
+
return pino(merge({
|
|
671
|
+
level: process.env.LOG_LEVEL ?? (isProduction ? "info" : "debug"),
|
|
672
|
+
timestamp: pino.stdTimeFunctions.isoTime,
|
|
673
|
+
formatters: { level(label) {
|
|
674
|
+
return { level: label };
|
|
675
|
+
} },
|
|
676
|
+
transport: isProduction ? void 0 : {
|
|
677
|
+
target: "pino-pretty",
|
|
678
|
+
options: {
|
|
679
|
+
colorize: true,
|
|
680
|
+
singleLine: true,
|
|
681
|
+
ignore: "pid,hostname"
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}, this.#options));
|
|
685
|
+
}
|
|
686
|
+
static configure(options = {}) {
|
|
687
|
+
this.#options = options;
|
|
688
|
+
this.#logger = this.createLogger();
|
|
689
|
+
}
|
|
690
|
+
static #getLogger() {
|
|
691
|
+
return this.#logger ??= this.createLogger();
|
|
692
|
+
}
|
|
693
|
+
static #write(level, message, details) {
|
|
694
|
+
if (details === void 0) Log.#getLogger()[level](message);
|
|
695
|
+
else Log.#getLogger()[level](details, message);
|
|
696
|
+
}
|
|
697
|
+
static trace(message, details) {
|
|
698
|
+
Log.#write("trace", message, details);
|
|
699
|
+
}
|
|
700
|
+
static debug(message, details) {
|
|
701
|
+
Log.#write("debug", message, details);
|
|
702
|
+
}
|
|
703
|
+
static info(message, details) {
|
|
704
|
+
Log.#write("info", message, details);
|
|
705
|
+
}
|
|
706
|
+
static warn(message, details) {
|
|
707
|
+
Log.#write("warn", message, details);
|
|
708
|
+
}
|
|
709
|
+
static error(message, details) {
|
|
710
|
+
Log.#write("error", message, details);
|
|
711
|
+
}
|
|
712
|
+
static fatal(message, details) {
|
|
713
|
+
Log.#write("fatal", message, details);
|
|
674
714
|
}
|
|
675
715
|
};
|
|
676
716
|
|
|
677
717
|
//#endregion
|
|
678
|
-
//#region src/
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
static #toGcloud(entry) {
|
|
689
|
-
const details = entry.details?.length === 1 ? entry.details[0] : entry.details;
|
|
690
|
-
const output = {
|
|
691
|
-
...entry,
|
|
692
|
-
details,
|
|
693
|
-
stack: entry.stack || this.getStack()
|
|
694
|
-
};
|
|
695
|
-
console.log(JSON.stringify(snapshot(output)));
|
|
696
|
-
}
|
|
697
|
-
/**
|
|
698
|
-
* Includes colors and better inspection for logging during dev
|
|
699
|
-
*/
|
|
700
|
-
static #toConsole(entry, color) {
|
|
701
|
-
if (entry.message) console.log(color(`${Format.date("h:m:s")} [${entry.severity}] ${entry.message}`));
|
|
702
|
-
entry.details?.forEach((detail) => {
|
|
703
|
-
console.log(inspect(detail, {
|
|
704
|
-
depth: 10,
|
|
705
|
-
breakLength: 100,
|
|
706
|
-
compact: true,
|
|
707
|
-
colors: true
|
|
708
|
-
}));
|
|
709
|
-
});
|
|
710
|
-
}
|
|
711
|
-
static #log({ severity, color }, ...input) {
|
|
712
|
-
const { message, details } = this.prepare(...input);
|
|
713
|
-
const entry = {
|
|
714
|
-
message,
|
|
715
|
-
severity,
|
|
716
|
-
details
|
|
717
|
-
};
|
|
718
|
-
if (process.env.K_SERVICE !== void 0 || process.env.CLOUD_RUN_JOB !== void 0) this.#toGcloud(entry);
|
|
719
|
-
else this.#toConsole(entry, color);
|
|
720
|
-
return entry;
|
|
721
|
-
}
|
|
722
|
-
/**
|
|
723
|
-
* Handle first argument being a string or an object with a 'message' prop
|
|
724
|
-
*/
|
|
725
|
-
static prepare(...input) {
|
|
726
|
-
let [firstArg, ...rest] = input;
|
|
727
|
-
if (typeof firstArg === "string") return {
|
|
728
|
-
message: firstArg,
|
|
729
|
-
details: rest
|
|
730
|
-
};
|
|
731
|
-
if (isObjectLike(firstArg) && typeof firstArg["message"] === "string") {
|
|
732
|
-
const { message, ...firstDetails } = firstArg;
|
|
733
|
-
return {
|
|
734
|
-
message,
|
|
735
|
-
details: [firstDetails, ...rest]
|
|
736
|
-
};
|
|
737
|
-
}
|
|
738
|
-
return { details: input };
|
|
739
|
-
}
|
|
740
|
-
/**
|
|
741
|
-
* Events that require action or attention immediately
|
|
742
|
-
*/
|
|
743
|
-
static alert(...input) {
|
|
744
|
-
return this.#log({
|
|
745
|
-
severity: "ALERT",
|
|
746
|
-
color: chalk.bgRed
|
|
747
|
-
}, ...input);
|
|
748
|
-
}
|
|
749
|
-
/**
|
|
750
|
-
* Events that cause problems
|
|
751
|
-
*/
|
|
752
|
-
static error(...input) {
|
|
753
|
-
return this.#log({
|
|
754
|
-
severity: "ERROR",
|
|
755
|
-
color: chalk.red
|
|
756
|
-
}, ...input);
|
|
757
|
-
}
|
|
758
|
-
/**
|
|
759
|
-
* Events that might cause problems
|
|
760
|
-
*/
|
|
761
|
-
static warn(...input) {
|
|
762
|
-
return this.#log({
|
|
763
|
-
severity: "WARNING",
|
|
764
|
-
color: chalk.yellow
|
|
765
|
-
}, ...input);
|
|
766
|
-
}
|
|
767
|
-
/**
|
|
768
|
-
* Normal but significant events, such as start up, shut down, or a configuration change
|
|
769
|
-
*/
|
|
770
|
-
static notice(...input) {
|
|
771
|
-
return this.#log({
|
|
772
|
-
severity: "NOTICE",
|
|
773
|
-
color: chalk.cyan
|
|
774
|
-
}, ...input);
|
|
775
|
-
}
|
|
776
|
-
/**
|
|
777
|
-
* Routine information, such as ongoing status or performance
|
|
778
|
-
*/
|
|
779
|
-
static info(...input) {
|
|
780
|
-
return this.#log({
|
|
781
|
-
severity: "INFO",
|
|
782
|
-
color: chalk.white
|
|
783
|
-
}, ...input);
|
|
718
|
+
//#region src/snapshot.ts
|
|
719
|
+
/**
|
|
720
|
+
* @deprecated
|
|
721
|
+
* Allows special objects (Error, Headers, Set) to be included in JSON.stringify output. Functions are removed.
|
|
722
|
+
* ⚠️ This is bad! Only use it for debugging!
|
|
723
|
+
*/
|
|
724
|
+
function snapshot(i, max = 50, depth = 0) {
|
|
725
|
+
if (Array.isArray(i)) {
|
|
726
|
+
if (depth === max) return [];
|
|
727
|
+
return i.map((c) => snapshot(c, max, depth + 1));
|
|
784
728
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
}, ...input);
|
|
729
|
+
if (typeof i === "function") return void 0;
|
|
730
|
+
if (!isObjectLike(i)) return i;
|
|
731
|
+
if (depth === max) return {};
|
|
732
|
+
let output = {};
|
|
733
|
+
if (typeof i.entries === "function") {
|
|
734
|
+
for (let [k, v] of i.entries()) output[k] = snapshot(v, max, depth + 1);
|
|
735
|
+
return output;
|
|
793
736
|
}
|
|
794
|
-
|
|
737
|
+
const obj = i;
|
|
738
|
+
for (let key in obj) output[key] = snapshot(obj[key], max, depth + 1);
|
|
739
|
+
Object.getOwnPropertyNames(obj).forEach((key) => {
|
|
740
|
+
output[key] = snapshot(obj[key], max, depth + 1);
|
|
741
|
+
});
|
|
742
|
+
return output;
|
|
743
|
+
}
|
|
795
744
|
|
|
796
745
|
//#endregion
|
|
797
746
|
//#region src/timeout.ts
|
|
@@ -803,6 +752,14 @@ async function timeout(ms) {
|
|
|
803
752
|
|
|
804
753
|
//#endregion
|
|
805
754
|
//#region src/TypeWriter.ts
|
|
755
|
+
/**
|
|
756
|
+
* Wrapper for [quicktype-core](https://github.com/glideapps/quicktype)
|
|
757
|
+
* @example
|
|
758
|
+
* const group = new TypeWriter('Group');
|
|
759
|
+
* await types.addMember('Thing', [{ a: 1 }, { a: 2, b: 1 }]);
|
|
760
|
+
* await types.toFile();
|
|
761
|
+
* // type def for `Thing` saved in `types/Group.types.ts`
|
|
762
|
+
*/
|
|
806
763
|
var TypeWriter = class {
|
|
807
764
|
moduleName;
|
|
808
765
|
input = qt.jsonInputForTargetLanguage("typescript");
|