@gesslar/toolkit 3.23.0 → 3.25.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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "gesslar",
6
6
  "url": "https://gesslar.dev"
7
7
  },
8
- "version": "3.23.0",
8
+ "version": "3.25.0",
9
9
  "license": "Unlicense",
10
10
  "homepage": "https://github.com/gesslar/toolkit#readme",
11
11
  "repository": {
@@ -49,7 +49,7 @@
49
49
  "UNLICENSE.txt"
50
50
  ],
51
51
  "engines": {
52
- "node": ">=22"
52
+ "node": ">=24.13.0"
53
53
  },
54
54
  "dependencies": {
55
55
  "@eslint/js": "^9.39.2",
@@ -62,12 +62,12 @@
62
62
  "yaml": "^2.8.2"
63
63
  },
64
64
  "devDependencies": {
65
- "@gesslar/uglier": "^1.1.0",
65
+ "@gesslar/uglier": "^1.2.0",
66
66
  "eslint": "^9.39.2",
67
- "eslint-plugin-jsdoc": "^62.0.0",
68
- "happy-dom": "^20.3.1",
67
+ "eslint-plugin-jsdoc": "^62.3.0",
68
+ "happy-dom": "^20.3.4",
69
69
  "typescript": "^5.9.3",
70
- "typescript-eslint": "^8.53.0"
70
+ "typescript-eslint": "^8.53.1"
71
71
  },
72
72
  "scripts": {
73
73
  "types": "node -e \"require('fs').rmSync('types',{recursive:true,force:true});\" && tsc -p tsconfig.types.json",
@@ -488,4 +488,49 @@ export default class FileObject extends FS {
488
488
 
489
489
  return await fs.unlink(filePath)
490
490
  }
491
+
492
+ /**
493
+ * Creates a FileObject representing the current working file (the file
494
+ * that called this method). Parses the stack trace to determine the
495
+ * caller's file path.
496
+ *
497
+ * @returns {FileObject} A new FileObject instance for the calling file
498
+ * @throws {Sass} If unable to determine caller file from stack trace
499
+ * @example
500
+ * // In /home/user/project/src/app.js:
501
+ * const thisFile = FileObject.fromCwf()
502
+ * console.log(thisFile.path) // /home/user/project/src/app.js
503
+ */
504
+ static fromCwf() {
505
+ const originalPrepare = Error.prepareStackTrace
506
+ Error.prepareStackTrace = (_, stack) => stack
507
+ /** @type {Array<{getFileName: () => string|null}>} */
508
+ const stack = (new Error().stack)
509
+ Error.prepareStackTrace = originalPrepare
510
+
511
+ // Find the first call site that isn't this file
512
+ // Stack filenames may be file:// URLs, so compare both forms
513
+ const thisFileUrl = import.meta.url
514
+ const thisFilePath = FS.urlToPath(thisFileUrl)
515
+ const callerSite = stack.find(site => {
516
+ const fileName = site.getFileName()
517
+
518
+ if(!fileName)
519
+ return false
520
+
521
+ return fileName !== thisFileUrl && fileName !== thisFilePath
522
+ })
523
+
524
+ const callerFile = callerSite?.getFileName()
525
+
526
+ if(!callerFile)
527
+ throw Sass.new("Unable to determine caller file from stack trace")
528
+
529
+ // Handle file:// URLs
530
+ const filePath = callerFile.startsWith("file://")
531
+ ? FS.urlToPath(callerFile)
532
+ : callerFile
533
+
534
+ return new this(filePath)
535
+ }
491
536
  }
@@ -80,17 +80,19 @@ export default class FileSystem {
80
80
  }
81
81
 
82
82
  /**
83
- * Convert a URI to a path
83
+ * Convert a file URL to a path.
84
84
  *
85
85
  * @static
86
- * @param {string} pathName - The URI to convert
87
- * @returns {string} The path
86
+ * @param {string} fileUrl - The file URL to convert (e.g., import.meta.url)
87
+ * @returns {string} The file path
88
+ * @example
89
+ * const currentFile = FileSystem.urlToPath(import.meta.url)
88
90
  */
89
- static urlToPath(pathName) {
91
+ static urlToPath(fileUrl) {
90
92
  try {
91
- return url.fileURLToPath(new URL(pathName).pathName)
93
+ return url.fileURLToPath(fileUrl)
92
94
  } catch {
93
- return pathName
95
+ return fileUrl
94
96
  }
95
97
  }
96
98
 
@@ -7,6 +7,7 @@
7
7
  import {EventEmitter} from "node:events"
8
8
 
9
9
  import Valid from "./Valid.js"
10
+ import Util from "./Util.js"
10
11
 
11
12
  /**
12
13
  * @typedef {object} NotifyEventOptions
@@ -33,12 +34,26 @@ export default new class Notify {
33
34
  * @returns {void}
34
35
  */
35
36
  emit(type, payload=undefined) {
36
- Valid.type(type, "String")
37
- Valid.assert(type.length > 0, "Event type cannot be an empty string.")
37
+ Valid.type(type, "String", {allowEmpty: false})
38
38
 
39
39
  this.#emitter.emit(type, payload)
40
40
  }
41
41
 
42
+ /**
43
+ * Emits an event asynchronously and waits for all listeners to complete.
44
+ * Unlike emit() which is synchronous, this method properly handles async
45
+ * event listeners by waiting for all of them to resolve.
46
+ *
47
+ * @param {string} type - Event name to dispatch.
48
+ * @param {unknown} [payload] - Data to send with the event.
49
+ * @returns {Promise<void>} Resolves when all listeners have completed.
50
+ */
51
+ async asyncEmit(type, payload) {
52
+ Valid.type(type, "String", {allowEmpty: false})
53
+
54
+ await Util.asyncEmit(this.#emitter, type, payload)
55
+ }
56
+
42
57
  /**
43
58
  * Emits an event and returns the payload for simple request/response flows.
44
59
  * Listeners can mutate the payload object to provide responses.
@@ -48,8 +63,7 @@ export default new class Notify {
48
63
  * @returns {unknown} The payload after listeners have processed it.
49
64
  */
50
65
  request(type, payload={}) {
51
- Valid.type(type, "String")
52
- Valid.assert(type.length > 0, "Event type cannot be an empty string.")
66
+ Valid.type(type, "String", {allowEmpty: false})
53
67
 
54
68
  this.#emitter.emit(type, payload)
55
69
 
@@ -66,8 +80,7 @@ export default new class Notify {
66
80
  * @returns {() => void} Dispose function to unregister the handler.
67
81
  */
68
82
  on(type, handler, emitter=this.#emitter, options=undefined) {
69
- Valid.type(type, "String")
70
- Valid.assert(type.length > 0, "Event type cannot be an empty string.")
83
+ Valid.type(type, "String", {allowEmpty: false})
71
84
  Valid.type(handler, "Function")
72
85
 
73
86
  if(options?.once) {
@@ -88,6 +101,8 @@ export default new class Notify {
88
101
  * @returns {void}
89
102
  */
90
103
  off(type, handler, emitter=this.#emitter) {
104
+ Valid.type(type, "String", {allowEmpty: false})
105
+
91
106
  emitter.off(type, handler)
92
107
  }
93
108
  }
@@ -108,11 +108,6 @@ export default class Util extends BrowserUtil {
108
108
  } catch(error) {
109
109
  const argsDesc = args.length > 0 ? `with arguments: ${args.map(String).join(", ")}` : "with no arguments"
110
110
 
111
- // If it's already a Sass error, just re-throw to avoid double-wrapping
112
- if(error instanceof Sass) {
113
- throw error
114
- }
115
-
116
111
  throw Sass.new(
117
112
  `Processing '${event}' event ${argsDesc}.`,
118
113
  error
@@ -144,11 +139,6 @@ export default class Util extends BrowserUtil {
144
139
  } catch(error) {
145
140
  const argsDesc = args.length > 0 ? `with arguments: ${args.map(String).join(", ")}` : "with no arguments"
146
141
 
147
- // If it's already a Sass error, just re-throw to avoid double-wrapping
148
- if(error instanceof Sass) {
149
- throw error
150
- }
151
-
152
142
  throw Sass.new(
153
143
  `Processing '${event}' event ${argsDesc}.`,
154
144
  error
@@ -22,6 +22,19 @@ export default class FileObject extends FS {
22
22
  static dataLoaderConfig: {
23
23
  [key: string]: Array<typeof JSON5 | typeof YAML>;
24
24
  };
25
+ /**
26
+ * Creates a FileObject representing the current working file (the file
27
+ * that called this method). Parses the stack trace to determine the
28
+ * caller's file path.
29
+ *
30
+ * @returns {FileObject} A new FileObject instance for the calling file
31
+ * @throws {Sass} If unable to determine caller file from stack trace
32
+ * @example
33
+ * // In /home/user/project/src/app.js:
34
+ * const thisFile = FileObject.fromCwf()
35
+ * console.log(thisFile.path) // /home/user/project/src/app.js
36
+ */
37
+ static fromCwf(): FileObject;
25
38
  /**
26
39
  * Constructs a FileObject instance.
27
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileObject.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;GAaG;AAEH;IACE;;;;;OAKG;IACH,yBAFU;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,GAAG,OAAO,IAAI,CAAC,CAAA;KAAC,CAO1D;IA0BF;;;;;OAKG;IACH,uBAHW,MAAM,WACN,eAAe,GAAC,MAAM,GAAC,IAAI,EA+DrC;IAWD;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IACD;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;;;;;;;;;;;OAcG;IACH,cAFa,eAAe,CAI3B;IAED;;;;OAIG;IACH,kBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;;OAIG;IACH,YAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAiBD;;;;OAIG;IACH,QAFa,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;IAED;;;;;OAKG;IACH,YAFa,OAAO,CAAC,IAAI,OAAC,CAAC,CAU1B;IAED;;;;;OAKG;IACH,gBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;;;OAWG;IACH,cARa,OAAO,CAAC,MAAM,CAAC,CAe3B;IAED;;;;;;;;;;;OAWG;IACH,eARW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAXW,WAAW,GAAC,IAAI,GAAC,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAXW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAiC5B;IAED;;;;OAIG;IACH,UAFa,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;OASG;IACH,UAPa,OAAO,CAAC,IAAI,CAAC,CAczB;;CACF;eA5dc,iBAAiB;4BADJ,sBAAsB;kBAPhC,OAAO;iBAER,MAAM"}
1
+ {"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileObject.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;GAaG;AAEH;IACE;;;;;OAKG;IACH,yBAFU;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,GAAG,OAAO,IAAI,CAAC,CAAA;KAAC,CAO1D;IA8bF;;;;;;;;;;;OAWG;IACH,kBAPa,UAAU,CAsCtB;IA/cD;;;;;OAKG;IACH,uBAHW,MAAM,WACN,eAAe,GAAC,MAAM,GAAC,IAAI,EA+DrC;IAWD;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IACD;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;;;;;;;;;;;OAcG;IACH,cAFa,eAAe,CAI3B;IAED;;;;OAIG;IACH,kBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;;OAIG;IACH,YAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAiBD;;;;OAIG;IACH,QAFa,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;IAED;;;;;OAKG;IACH,YAFa,OAAO,CAAC,IAAI,OAAC,CAAC,CAU1B;IAED;;;;;OAKG;IACH,gBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;;;OAWG;IACH,cARa,OAAO,CAAC,MAAM,CAAC,CAe3B;IAED;;;;;;;;;;;OAWG;IACH,eARW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAXW,WAAW,GAAC,IAAI,GAAC,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAXW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAiC5B;IAED;;;;OAIG;IACH,UAFa,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;OASG;IACH,UAPa,OAAO,CAAC,IAAI,CAAC,CAczB;;CA8CF;eAzgBc,iBAAiB;4BADJ,sBAAsB;kBAPhC,OAAO;iBAER,MAAM"}
@@ -22,13 +22,15 @@ export default class FileSystem {
22
22
  */
23
23
  static pathToUrl(pathName: string): string;
24
24
  /**
25
- * Convert a URI to a path
25
+ * Convert a file URL to a path.
26
26
  *
27
27
  * @static
28
- * @param {string} pathName - The URI to convert
29
- * @returns {string} The path
28
+ * @param {string} fileUrl - The file URL to convert (e.g., import.meta.url)
29
+ * @returns {string} The file path
30
+ * @example
31
+ * const currentFile = FileSystem.urlToPath(import.meta.url)
30
32
  */
31
- static urlToPath(pathName: string): string;
33
+ static urlToPath(fileUrl: string): string;
32
34
  /**
33
35
  * Computes the relative path from one file or directory to another.
34
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileSystem.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH;IACE,kCAAwB;IACxB,uCAAkC;IAClC,mBAAsB;IAsBtB;;;;;;OAMG;IACH,4BAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,2BAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;OAMG;IACH,2BAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;;;;;OAUG;IACH,gCAJW,UAAU,GAAC,eAAe,MAC1B,UAAU,GAAC,eAAe,GACxB,MAAM,CAYlB;IAED;;;;;;;;;;OAUG;IACH,oCAJW,MAAM,MACN,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;;;;OASG;IACH,oCALW,MAAM,SACN,MAAM,QACN,MAAM,GACJ,MAAM,CA0BlB;IAED;;;;;;;;OAQG;IACH,6BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAmClB;IAED;;;;;;;;;;;;OAYG;IACH,+BATW,MAAM,aACN,MAAM,GACJ,OAAO,CAcnB;IAED;;;;;;;;;;;;;;OAcG;IACH,4BATW,MAAM,MACN,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CAwBvB;IAED;;;;;;;;;;;;;;;OAeG;IACH,+BAXW,MAAM,MACN,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CA+BvB;IAED;;;;;;;OAOG;IAEH;;;;;;;OAOG;IACH,2BAJW,MAAM;;;;cAXH,MAAM;;;;aACN,MAAM;;;;aACN,MAAM;;;;cACN,MAAM;;;;cACN,MAAM;MAenB;IAED;;;;OAIG;IACH,kBAFa,MAAM,CAIlB;IAvTD;;;;;;;;;OASG;IACH,kCAJW,UAAU,GAAC,eAAe,GACxB,MAAM,CAWlB;CAsSF;yBAzUa,OAAO,iBAAiB,EAAE,OAAO;8BACjC,OAAO,sBAAsB,EAAE,OAAO"}
1
+ {"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileSystem.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH;IACE,kCAAwB;IACxB,uCAAkC;IAClC,mBAAsB;IAsBtB;;;;;;OAMG;IACH,4BAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,2BAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;;;OAQG;IACH,0BALW,MAAM,GACJ,MAAM,CAUlB;IAED;;;;;;;;;;OAUG;IACH,gCAJW,UAAU,GAAC,eAAe,MAC1B,UAAU,GAAC,eAAe,GACxB,MAAM,CAYlB;IAED;;;;;;;;;;OAUG;IACH,oCAJW,MAAM,MACN,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;;;;OASG;IACH,oCALW,MAAM,SACN,MAAM,QACN,MAAM,GACJ,MAAM,CA0BlB;IAED;;;;;;;;OAQG;IACH,6BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAmClB;IAED;;;;;;;;;;;;OAYG;IACH,+BATW,MAAM,aACN,MAAM,GACJ,OAAO,CAcnB;IAED;;;;;;;;;;;;;;OAcG;IACH,4BATW,MAAM,MACN,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CAwBvB;IAED;;;;;;;;;;;;;;;OAeG;IACH,+BAXW,MAAM,MACN,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CA+BvB;IAED;;;;;;;OAOG;IAEH;;;;;;;OAOG;IACH,2BAJW,MAAM;;;;cAXH,MAAM;;;;aACN,MAAM;;;;aACN,MAAM;;;;cACN,MAAM;;;;cACN,MAAM;MAenB;IAED;;;;OAIG;IACH,kBAFa,MAAM,CAIlB;IAzTD;;;;;;;;;OASG;IACH,kCAJW,UAAU,GAAC,eAAe,GACxB,MAAM,CAWlB;CAwSF;yBA3Ua,OAAO,iBAAiB,EAAE,OAAO;8BACjC,OAAO,sBAAsB,EAAE,OAAO"}
@@ -11,6 +11,16 @@ declare const _default: {
11
11
  * @returns {void}
12
12
  */
13
13
  emit(type: string, payload?: unknown): void;
14
+ /**
15
+ * Emits an event asynchronously and waits for all listeners to complete.
16
+ * Unlike emit() which is synchronous, this method properly handles async
17
+ * event listeners by waiting for all of them to resolve.
18
+ *
19
+ * @param {string} type - Event name to dispatch.
20
+ * @param {unknown} [payload] - Data to send with the event.
21
+ * @returns {Promise<void>} Resolves when all listeners have completed.
22
+ */
23
+ asyncEmit(type: string, payload?: unknown): Promise<void>;
14
24
  /**
15
25
  * Emits an event and returns the payload for simple request/response flows.
16
26
  * Listeners can mutate the payload object to provide responses.
@@ -1 +1 @@
1
- {"version":3,"file":"Notify.d.ts","sourceRoot":"","sources":["../../../src/node/lib/Notify.js"],"names":[],"mappings":";IAqBE,iDAAiD;UAAtC,MAAM;IAGjB,kDAAkD;2BAAvC,YAAY;IAGvB;;;;;;OAMG;eAHQ,MAAM,YACN,OAAO,GACL,IAAI;IASjB;;;;;;;OAOG;kBAHQ,MAAM,YACN,OAAO,GACL,OAAO;IAWpB;;;;;;;;OAQG;aALQ,MAAM,WACN,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,YAC1B,YAAY,YACZ,kBAAkB,GAChB,MAAM,IAAI;IAgBvB;;;;;;;OAOG;cAJQ,MAAM,WACN,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,YAC1B,YAAY,GACV,IAAI;;;;;;;WA3EL,OAAO;;;;aACP,WAAW"}
1
+ {"version":3,"file":"Notify.d.ts","sourceRoot":"","sources":["../../../src/node/lib/Notify.js"],"names":[],"mappings":";IAsBE,iDAAiD;UAAtC,MAAM;IAGjB,kDAAkD;2BAAvC,YAAY;IAGvB;;;;;;OAMG;eAHQ,MAAM,YACN,OAAO,GACL,IAAI;IAQjB;;;;;;;;OAQG;oBAHQ,MAAM,YACN,OAAO,GACL,OAAO,CAAC,IAAI,CAAC;IAQ1B;;;;;;;OAOG;kBAHQ,MAAM,YACN,OAAO,GACL,OAAO;IAUpB;;;;;;;;OAQG;aALQ,MAAM,WACN,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,YAC1B,YAAY,YACZ,kBAAkB,GAChB,MAAM,IAAI;IAevB;;;;;;;OAOG;cAJQ,MAAM,WACN,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,YAC1B,YAAY,GACV,IAAI;;;;;;;WAvFL,OAAO;;;;aACP,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/node/lib/Util.js"],"names":[],"mappings":"AAQA;;;GAGG;AACH;IACE;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,mCAHW,MAAM,GACJ,KAAK,CAAC,MAAM,CAAC,CAazB;IAED;;;;;;;;OAQG;IACH,+CALW,MAAM,SACN,MAAM,WACH,OAAO,EAAA,GACR,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;;;;;;;;;;;OAYG;IACH,0BALW,YAAY,SACZ,MAAM,WACH,OAAO,EAAA,GACR,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;;;;OAUG;IACH,+BALW,MAAM,SACN,MAAM,WACH,OAAO,EAAA,GACR,OAAO,CAAC,IAAI,CAAC,CAyBzB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBALW,MAAM,QACN,OAAO,GACL,OAAO,CAmBnB;CACF;oCApMiC,wBAAwB"}
1
+ {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/node/lib/Util.js"],"names":[],"mappings":"AAQA;;;GAGG;AACH;IACE;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,mCAHW,MAAM,GACJ,KAAK,CAAC,MAAM,CAAC,CAazB;IAED;;;;;;;;OAQG;IACH,+CALW,MAAM,SACN,MAAM,WACH,OAAO,EAAA,GACR,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;;;;;;;;;;;OAYG;IACH,0BALW,YAAY,SACZ,MAAM,WACH,OAAO,EAAA,GACR,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;;;;;;;OAUG;IACH,+BALW,MAAM,SACN,MAAM,WACH,OAAO,EAAA,GACR,OAAO,CAAC,IAAI,CAAC,CAoBzB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBALW,MAAM,QACN,OAAO,GACL,OAAO,CAmBnB;CACF;oCA1LiC,wBAAwB"}