@gesslar/toolkit 5.8.0 → 5.9.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.
Files changed (60) hide show
  1. package/package.json +6 -6
  2. package/src/node/lib/Cache.js +70 -18
  3. package/types/browser/index.d.ts +6 -3
  4. package/types/browser/index.d.ts.map +1 -1
  5. package/types/browser/lib/Collection.d.ts +9 -2
  6. package/types/browser/lib/Collection.d.ts.map +1 -1
  7. package/types/browser/lib/Data.d.ts +21 -7
  8. package/types/browser/lib/Data.d.ts.map +1 -1
  9. package/types/browser/lib/Disposer.d.ts +2 -2
  10. package/types/browser/lib/Disposer.d.ts.map +1 -1
  11. package/types/browser/lib/HTML.d.ts +2 -2
  12. package/types/browser/lib/HTML.d.ts.map +1 -1
  13. package/types/browser/lib/Notify.d.ts +16 -16
  14. package/types/browser/lib/Notify.d.ts.map +1 -1
  15. package/types/browser/lib/Promised.d.ts +10 -10
  16. package/types/browser/lib/Promised.d.ts.map +1 -1
  17. package/types/browser/lib/Sass.d.ts +40 -28
  18. package/types/browser/lib/Sass.d.ts.map +1 -1
  19. package/types/browser/lib/Tantrum.d.ts +26 -16
  20. package/types/browser/lib/Tantrum.d.ts.map +1 -1
  21. package/types/browser/lib/Time.d.ts.map +1 -1
  22. package/types/browser/lib/TypeSpec.d.ts +33 -23
  23. package/types/browser/lib/TypeSpec.d.ts.map +1 -1
  24. package/types/browser/lib/Util.d.ts.map +1 -1
  25. package/types/browser/lib/Valid.d.ts +14 -11
  26. package/types/browser/lib/Valid.d.ts.map +1 -1
  27. package/types/browser/lib/vendor/dompurify.esm.d.ts +11 -23
  28. package/types/browser/lib/vendor/dompurify.esm.d.ts.map +1 -1
  29. package/types/node/index.d.ts +4 -2
  30. package/types/node/index.d.ts.map +1 -1
  31. package/types/node/lib/Cache.d.ts +63 -8
  32. package/types/node/lib/Cache.d.ts.map +1 -1
  33. package/types/node/lib/Data.d.ts +3 -3
  34. package/types/node/lib/Data.d.ts.map +1 -1
  35. package/types/node/lib/DirectoryObject.d.ts +111 -69
  36. package/types/node/lib/DirectoryObject.d.ts.map +1 -1
  37. package/types/node/lib/FileObject.d.ts +50 -21
  38. package/types/node/lib/FileObject.d.ts.map +1 -1
  39. package/types/node/lib/FileSystem.d.ts +63 -53
  40. package/types/node/lib/FileSystem.d.ts.map +1 -1
  41. package/types/node/lib/Font.d.ts +5 -5
  42. package/types/node/lib/Font.d.ts.map +1 -1
  43. package/types/node/lib/Glog.d.ts +157 -145
  44. package/types/node/lib/Glog.d.ts.map +1 -1
  45. package/types/node/lib/Notify.d.ts +18 -12
  46. package/types/node/lib/Notify.d.ts.map +1 -1
  47. package/types/node/lib/Sass.d.ts +14 -2
  48. package/types/node/lib/Sass.d.ts.map +1 -1
  49. package/types/node/lib/Tantrum.d.ts +18 -1
  50. package/types/node/lib/Tantrum.d.ts.map +1 -1
  51. package/types/node/lib/Term.d.ts +1 -2
  52. package/types/node/lib/Term.d.ts.map +1 -1
  53. package/types/node/lib/Util.d.ts +3 -11
  54. package/types/node/lib/Util.d.ts.map +1 -1
  55. package/types/node/lib/Valid.d.ts +8 -2
  56. package/types/node/lib/Valid.d.ts.map +1 -1
  57. package/types/node/lib/Watcher.d.ts +4 -4
  58. package/types/node/lib/Watcher.d.ts.map +1 -1
  59. package/vendor/toolkit.esm.js +1 -1
  60. package/vendor/toolkit.umd.js +1 -1
@@ -1,3 +1,68 @@
1
+ /**
2
+ * @file DirectoryObject.js
3
+ * @description Class representing a directory and its metadata, including path
4
+ * resolution and existence checks.
5
+ */
6
+ import { URL } from "node:url";
7
+ import { inspect } from "node:util";
8
+ import FileObject from "./FileObject.js";
9
+ import FS from "./FileSystem.js";
10
+ export type GeneratorType = {
11
+ /**
12
+ * (): {value: DirectoryObject, done: boolean}} next
13
+ */
14
+ : Function;
15
+ /**
16
+ * (): GeneratorType} [Symbol.iterator]
17
+ */
18
+ : Function;
19
+ };
20
+ export type DirectoryMeta = {
21
+ /**
22
+ * - Always true for directories
23
+ */
24
+ isDirectory: boolean;
25
+ /**
26
+ * - The directory extension (if any)
27
+ */
28
+ extension: string | null;
29
+ /**
30
+ * - The directory name without extension
31
+ */
32
+ module: string | null;
33
+ /**
34
+ * - The directory name
35
+ */
36
+ name: string | null;
37
+ /**
38
+ * - The parent DirectoryObject
39
+ */
40
+ parent: DirectoryObject | undefined;
41
+ /**
42
+ * - The parent directory path
43
+ */
44
+ parentPath: string | null;
45
+ /**
46
+ * - The absolute directory path
47
+ */
48
+ path: string | null;
49
+ /**
50
+ * - Path separator
51
+ */
52
+ sep: string | null;
53
+ /**
54
+ * - User-supplied path
55
+ */
56
+ supplied: string | null;
57
+ /**
58
+ * - Path segments
59
+ */
60
+ trail: Array<string> | null;
61
+ /**
62
+ * - The directory URL
63
+ */
64
+ url: URL | null;
65
+ };
1
66
  /**
2
67
  * @typedef {object} GeneratorType
3
68
  * @property {function(): {value: DirectoryObject, done: boolean}} next
@@ -65,7 +130,22 @@
65
130
  * const file = dir.getFile("package.json")
66
131
  */
67
132
  export default class DirectoryObject extends FS {
68
- [x: number]: (depth: number, options: object, ins: Function) => string;
133
+ #private;
134
+ /**
135
+ * Custom Node.js inspect implementation for console.log output.
136
+ *
137
+ * @param {number} depth - Inspection depth
138
+ * @param {object} options - Inspect options
139
+ * @param {Function} ins - The inspect function
140
+ * @returns {string} Formatted string representation
141
+ */
142
+ [inspect.custom]: (depth: number, options: object, ins: Function) => string;
143
+ /**
144
+ * Constructs a DirectoryObject instance.
145
+ *
146
+ * @param {string?} [supplied="."] - The directory path (defaults to current directory)
147
+ */
148
+ constructor(supplied?: string | null);
69
149
  /**
70
150
  * Creates a DirectoryObject from the current working directory.
71
151
  * Useful when working with pnpx or other tools where the project root
@@ -78,17 +158,26 @@ export default class DirectoryObject extends FS {
78
158
  */
79
159
  static fromCwd(): DirectoryObject;
80
160
  /**
81
- * Constructs a DirectoryObject instance.
161
+ * Returns a string representation of the DirectoryObject.
82
162
  *
83
- * @param {string?} [supplied="."] - The directory path (defaults to current directory)
163
+ * @returns {string} string representation of the DirectoryObject
84
164
  */
85
- constructor(supplied?: string | null);
165
+ toString(): string;
86
166
  /**
87
167
  * Returns a JSON-serializable representation of the DirectoryObject.
88
168
  *
89
169
  * @returns {object} Plain object with directory metadata
90
170
  */
91
171
  toJSON(): object;
172
+ /**
173
+ * Returns the directory path as a primitive value, enabling natural use in
174
+ * string contexts. String and default hints return the directory path; number
175
+ * hint returns NaN.
176
+ *
177
+ * @param {"string"|"number"|"default"} hint - The coercion type hint
178
+ * @returns {string|number} The directory path, or NaN for numeric coercion
179
+ */
180
+ [Symbol.toPrimitive](hint: "string" | "number" | "default"): string | number;
92
181
  /**
93
182
  * Returns the directory path as a primitive string value.
94
183
  *
@@ -191,6 +280,13 @@ export default class DirectoryObject extends FS {
191
280
  * @returns {boolean} Always true
192
281
  */
193
282
  get isDirectory(): boolean;
283
+ /**
284
+ * Resolves the link kind at this path.
285
+ *
286
+ * @private
287
+ * @returns {Promise<"none"|"symbolic"|null>} The link kind
288
+ */
289
+ private #directoryLinkType;
194
290
  /**
195
291
  * Lists the contents of a directory, optionally filtered by a glob pattern.
196
292
  *
@@ -241,6 +337,17 @@ export default class DirectoryObject extends FS {
241
337
  files: Array<FileObject>;
242
338
  directories: Array<DirectoryObject>;
243
339
  }>;
340
+ /**
341
+ * Categorizes an array of Dirent objects into files and directories.
342
+ * Resolves symbolic links to their target type via `fs.stat()`. Broken
343
+ * symlinks (where the target does not exist) are categorized as files
344
+ * so they can be unlinked.
345
+ *
346
+ * @private
347
+ * @param {Array<import("node:fs").Dirent>} dirents - Directory entries to categorize
348
+ * @returns {Promise<{files: Array<FileObject>, directories: Array<DirectoryObject>}>} Categorized entries
349
+ */
350
+ private #categorize;
244
351
  /**
245
352
  * Ensures a directory exists, creating it if necessary.
246
353
  * Gracefully handles the case where the directory already exists.
@@ -356,70 +463,5 @@ export default class DirectoryObject extends FS {
356
463
  * console.log(escaped.path) // "/projects/git/toolkit/foo/bar.js"
357
464
  */
358
465
  getFile(filename: string): FileObject;
359
- /**
360
- * Returns the directory path as a primitive value, enabling natural use in
361
- * string contexts. String and default hints return the directory path; number
362
- * hint returns NaN.
363
- *
364
- * @param {"string"|"number"|"default"} hint - The coercion type hint
365
- * @returns {string|number} The directory path, or NaN for numeric coercion
366
- */
367
- [Symbol.toPrimitive](hint: "string" | "number" | "default"): string | number;
368
- #private;
369
466
  }
370
- export type GeneratorType = {
371
- next: () => {
372
- value: DirectoryObject;
373
- done: boolean;
374
- };
375
- iterator?: () => GeneratorType;
376
- };
377
- export type DirectoryMeta = {
378
- /**
379
- * - Always true for directories
380
- */
381
- isDirectory: boolean;
382
- /**
383
- * - The directory extension (if any)
384
- */
385
- extension: string | null;
386
- /**
387
- * - The directory name without extension
388
- */
389
- module: string | null;
390
- /**
391
- * - The directory name
392
- */
393
- name: string | null;
394
- /**
395
- * - The parent DirectoryObject
396
- */
397
- parent: DirectoryObject | undefined;
398
- /**
399
- * - The parent directory path
400
- */
401
- parentPath: string | null;
402
- /**
403
- * - The absolute directory path
404
- */
405
- path: string | null;
406
- /**
407
- * - Path separator
408
- */
409
- sep: string | null;
410
- /**
411
- * - User-supplied path
412
- */
413
- supplied: string | null;
414
- /**
415
- * - Path segments
416
- */
417
- trail: Array<string> | null;
418
- /**
419
- * - The directory URL
420
- */
421
- url: URL | null;
422
- };
423
- import FS from "./FileSystem.js";
424
- import FileObject from "./FileObject.js";
425
467
  //# sourceMappingURL=DirectoryObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DirectoryObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/DirectoryObject.js"],"names":[],"mappings":"AAiBA;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH;yBAoGa,MAAM,WACN,MAAM,oBAEJ,MAAM;IAhDnB;;;;;;;;;OASG;IACH,kBALa,eAAe,CAO3B;IA7CD;;;;OAIG;IACH,uBAFW,MAAM,OAAC,EA4BjB;IAyBD;;;;OAIG;IACH,UAFa,MAAM,CAclB;IA8BD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAHa,OAAO,CAAC,MAAM,GAAC,UAAU,GAAC,IAAI,CAAC,CAK3C;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;IAED;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,aALa,KAAK,CAAC,MAAM,CAAC,CAOzB;IAED;;;;;;;;;;;;OAYG;IACH,cARa,eAAe,GAAC,IAAI,CAsBhC;IAED;;;;OAIG;IACH,mBAFa,OAAO,CAInB;IA6DD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAZW,MAAM,iBACJ,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KAAC,CAAC,CAkCpF;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAXW,MAAM,iBACJ,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KAAC,CAAC,CA0BpF;IA6CD;;;;;;;;;;;;OAYG;IACH,uBARW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAuB9B;IAyBD;;;;;;;;;;;;;;;OAeG;IACH,cAZa,eAAe,CAc3B;IAED;;;;;;;;;;;;;;OAcG;IACH,UARa,OAAO,CAAC,SAAS,CAAC,CAkB9B;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAM5B;IAED;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAM5B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,sBAbW,MAAM,GACJ,eAAe,CAgC3B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,kBAbW,MAAM,GACJ,UAAU,CAgCtB;IA/jBD;;;;;;;OAOG;IACH,2BAHW,QAAQ,GAAC,QAAQ,GAAC,SAAS,GACzB,MAAM,GAAC,MAAM,CAQzB;;CAkjBF;;UA/uBa,MAAY;QAAC,KAAK,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAC;eACnD,MAAY,aAAa;;;;;;iBAMzB,OAAO;;;;eACP,MAAM,GAAC,IAAI;;;;YACX,MAAM,GAAC,IAAI;;;;UACX,MAAM,GAAC,IAAI;;;;YACX,eAAe,GAAC,SAAS;;;;gBACzB,MAAM,GAAC,IAAI;;;;UACX,MAAM,GAAC,IAAI;;;;SACX,MAAM,GAAC,IAAI;;;;cACX,MAAM,GAAC,IAAI;;;;WACX,KAAK,CAAC,MAAM,CAAC,GAAC,IAAI;;;;SAClB,GAAG,GAAC,IAAI;;eAvBP,iBAAiB;uBADT,iBAAiB"}
1
+ {"version":3,"file":"DirectoryObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/DirectoryObject.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,14 @@
1
+ /**
2
+ * @file FileObject.js
3
+ * @description Class representing a file and its metadata, including path
4
+ * resolution and existence checks.
5
+ */
6
+ import { Buffer } from "node:buffer";
7
+ import { URL } from "node:url";
8
+ import { inspect } from "node:util";
9
+ import Cache from "./Cache.js";
10
+ import DirectoryObject from "./DirectoryObject.js";
11
+ import FS from "./FileSystem.js";
1
12
  /**
2
13
  * FileObject encapsulates metadata and operations for a file, including path
3
14
  * resolution and existence checks.
@@ -14,20 +25,16 @@
14
25
  * @property {Promise<("none"|"symbolic"|"broken"|"hard"|null)>} linkType - The link kind at this path (async)
15
26
  */
16
27
  export default class FileObject extends FS {
17
- [x: number]: (depth: number, options: object, ins: Function) => string;
28
+ #private;
18
29
  /**
19
- * Creates a FileObject representing the current working file (the file
20
- * that called this method). Parses the stack trace to determine the
21
- * caller's file path.
30
+ * Custom Node.js inspect implementation for console.log output.
22
31
  *
23
- * @returns {FileObject} A new FileObject instance for the calling file
24
- * @throws {Sass} If unable to determine caller file from stack trace
25
- * @example
26
- * // In /home/user/project/src/app.js:
27
- * const thisFile = FileObject.fromCwf()
28
- * console.log(thisFile.path) // /home/user/project/src/app.js
32
+ * @param {number} depth - Inspection depth
33
+ * @param {object} options - Inspect options
34
+ * @param {Function} ins - The inspect function
35
+ * @returns {string} Formatted string representation
29
36
  */
30
- static fromCwf(): FileObject;
37
+ [inspect.custom]: (depth: number, options: object, ins: Function) => string;
31
38
  /**
32
39
  * Constructs a FileObject instance.
33
40
  *
@@ -35,12 +42,27 @@ export default class FileObject extends FS {
35
42
  * @param {DirectoryObject|string|null} [parent] - The parent directory (object or string)
36
43
  */
37
44
  constructor(submitted: string, parent?: DirectoryObject | string | null);
45
+ /**
46
+ * Returns a string representation of the FileObject.
47
+ *
48
+ * @returns {string} String representation of the FileObject
49
+ */
50
+ toString(): string;
38
51
  /**
39
52
  * Returns a JSON-serializable representation of the FileObject.
40
53
  *
41
54
  * @returns {object} Plain object with file metadata
42
55
  */
43
56
  toJSON(): object;
57
+ /**
58
+ * Returns the file path as a primitive value, enabling natural use in
59
+ * string contexts. String and default hints return the file path; number
60
+ * hint returns NaN.
61
+ *
62
+ * @param {"string"|"number"|"default"} hint - The coercion type hint
63
+ * @returns {string|number} The file path, or NaN for numeric coercion
64
+ */
65
+ [Symbol.toPrimitive](hint: "string" | "number" | "default"): string | number;
44
66
  /**
45
67
  * Returns the file path as a primitive string value.
46
68
  *
@@ -144,6 +166,13 @@ export default class FileObject extends FS {
144
166
  * @returns {Promise<boolean>} Whether the file can be written
145
167
  */
146
168
  canWrite(): Promise<boolean>;
169
+ /**
170
+ * Resolves the link kind at this path.
171
+ *
172
+ * @private
173
+ * @returns {Promise<"none"|"symbolic"|"broken"|"hard"|null>} The link kind
174
+ */
175
+ private #fileLinkType;
147
176
  /**
148
177
  * Determines the size of a file.
149
178
  *
@@ -309,17 +338,17 @@ export default class FileObject extends FS {
309
338
  */
310
339
  delete(): Promise<undefined>;
311
340
  /**
312
- * Returns the file path as a primitive value, enabling natural use in
313
- * string contexts. String and default hints return the file path; number
314
- * hint returns NaN.
341
+ * Creates a FileObject representing the current working file (the file
342
+ * that called this method). Parses the stack trace to determine the
343
+ * caller's file path.
315
344
  *
316
- * @param {"string"|"number"|"default"} hint - The coercion type hint
317
- * @returns {string|number} The file path, or NaN for numeric coercion
345
+ * @returns {FileObject} A new FileObject instance for the calling file
346
+ * @throws {Sass} If unable to determine caller file from stack trace
347
+ * @example
348
+ * // In /home/user/project/src/app.js:
349
+ * const thisFile = FileObject.fromCwf()
350
+ * console.log(thisFile.path) // /home/user/project/src/app.js
318
351
  */
319
- [Symbol.toPrimitive](hint: "string" | "number" | "default"): string | number;
320
- #private;
352
+ static fromCwf(): FileObject;
321
353
  }
322
- import FS from "./FileSystem.js";
323
- import DirectoryObject from "./DirectoryObject.js";
324
- import Cache from "./Cache.js";
325
354
  //# sourceMappingURL=FileObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileObject.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;GAcG;AAEH;yBA8Ha,MAAM,WACN,MAAM,oBAEJ,MAAM;IA4jBnB;;;;;;;;;;;OAWG;IACH,kBAPa,UAAU,CAsCtB;IA7sBD;;;;;OAKG;IACH,uBAHW,MAAM,WACN,eAAe,GAAC,MAAM,GAAC,IAAI,EA+DrC;IAWD;;;;OAIG;IACH,UAFa,MAAM,CAalB;IA8BD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;;;;;;;;;;OAaG;IACH,gBAFa,OAAO,CAAC,MAAM,GAAC,UAAU,GAAC,QAAQ,GAAC,MAAM,GAAC,IAAI,CAAC,CAI3D;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;IAoED;;;;OAIG;IACH,QAFa,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;IAED;;;;;OAKG;IACH,YAFa,OAAO,CAAC,IAAI,OAAC,CAAC,CAU1B;IAED;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,kBAJW,KAAK,GACH,UAAU,CAYtB;IAED;;;;OAIG;IACH,eAFa,UAAU,CAOtB;IAED;;;;OAIG;IACH,cAFa,UAAU,CAMtB;IAED;;;;;;;OAOG;IACH,+BAJG;QAAyB,QAAQ,GAAzB,MAAM;QACY,SAAS,GAA3B,OAAO;KACf,GAAU,OAAO,CAAC,MAAM,CAAC,CAa3B;IAED;;;;;;;;;;;OAWG;IACH,cARa,OAAO,CAAC,MAAM,CAAC,CAe3B;IAED;;;;;;;;;;;OAWG;IACH,eARW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAiB9B;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAXW,WAAW,GAAC,IAAI,GAAC,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,CAwB9B;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,yCAZG;QAAyB,IAAI,GAArB,MAAM;QACW,QAAQ,GAAzB,MAAM;QACY,SAAS,GAA3B,OAAO;KACf,GAAU,OAAO,CAAC,OAAO,CAAC,CAqB5B;IAED;;;;OAIG;IACH,UAFa,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;;;;OAYG;IACH,kBATW,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC,CAyB/B;IAED;;;;;;;;;;;;;OAaG;IACH,kBATW,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC,CA0C/B;IAED;;;;;;;;;OASG;IACH,UAPa,OAAO,CAAC,SAAS,CAAC,CAc9B;IApjBD;;;;;;;OAOG;IACH,2BAHW,QAAQ,GAAC,QAAQ,GAAC,SAAS,GACzB,MAAM,GAAC,MAAM,CAQzB;;CAolBF;eA7vBc,iBAAiB;4BADJ,sBAAsB;kBAFhC,YAAY"}
1
+ {"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileObject.js"],"names":[],"mappings":"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"}
@@ -1,10 +1,71 @@
1
+ /**
2
+ * @file FS.js
3
+ *
4
+ * File system utilities for path manipulation, file discovery, and path
5
+ * resolution.
6
+ *
7
+ * Provides glob-based file search, URI conversion, and intelligent path
8
+ * merging.
9
+ */
10
+ export type PathParts = {
11
+ /**
12
+ * - The file name with extension
13
+ */
14
+ base: string;
15
+ /**
16
+ * - The directory path
17
+ */
18
+ dir: string;
19
+ /**
20
+ * - The file extension (including dot)
21
+ */
22
+ ext: string;
23
+ /**
24
+ * - The root of the path
25
+ */
26
+ root: string;
27
+ /**
28
+ * - The file name without extension
29
+ */
30
+ name: string;
31
+ };
1
32
  /**
2
33
  * File system utility class for path operations and file discovery.
3
34
  */
4
35
  export default class FileSystem {
36
+ #private;
5
37
  static fdTypes: readonly string[];
6
38
  static upperFdTypes: readonly string[];
7
- static fdType: any;
39
+ static fdType: object;
40
+ /**
41
+ * Compute the relative path from another file or directory to this instance.
42
+ *
43
+ * If the target is outside the source (i.e., the relative path starts with ".."),
44
+ * returns the absolute path to this instance instead.
45
+ *
46
+ * @param {import("./FileObject.js").default|import("./DirectoryObject.js").default} fileOrDirectoryObject - The source file or directory object
47
+ * @returns {string} The relative path from the source to this instance, or the absolute path if not reachable
48
+ * @throws {Sass} If the parameter is not a FileObject or DirectoryObject
49
+ */
50
+ relativeTo(fileOrDirectoryObject: import("./FileObject.js").default | import("./DirectoryObject.js").default): string;
51
+ /**
52
+ * Watch this file or directory for changes.
53
+ *
54
+ * @param {object} [options] - Watch options
55
+ * @param {Function} [options.onChange] - Callback invoked on change
56
+ * @param {number} [options.debounceMs] - Debounce interval in milliseconds
57
+ * @param {boolean} [options.persistent] - Keep the process alive while watching
58
+ * @returns {Promise<undefined>}
59
+ */
60
+ watch(options?: {
61
+ onChange?: Function;
62
+ debounceMs?: number;
63
+ persistent?: boolean;
64
+ }): Promise<undefined>;
65
+ /**
66
+ * Stop watching this file or directory for changes.
67
+ */
68
+ stopWatching(): void;
8
69
  /**
9
70
  * Fix slashes in a path
10
71
  *
@@ -158,28 +219,7 @@ export default class FileSystem {
158
219
  * @returns {PathParts} The filename parts
159
220
  * @throws {Sass} If not a string of more than 1 character
160
221
  */
161
- static pathParts(pathName: string): {
162
- /**
163
- * - The file name with extension
164
- */
165
- base: string;
166
- /**
167
- * - The directory path
168
- */
169
- dir: string;
170
- /**
171
- * - The file extension (including dot)
172
- */
173
- ext: string;
174
- /**
175
- * - The root of the path
176
- */
177
- root: string;
178
- /**
179
- * - The file name without extension
180
- */
181
- name: string;
182
- };
222
+ static pathParts(pathName: string): PathParts;
183
223
  /**
184
224
  * Determine whether a string is safe to use as a filename on every common
185
225
  * operating system.
@@ -257,35 +297,5 @@ export default class FileSystem {
257
297
  * @returns {string} The current working directory
258
298
  */
259
299
  static get cwd(): string;
260
- /**
261
- * Compute the relative path from another file or directory to this instance.
262
- *
263
- * If the target is outside the source (i.e., the relative path starts with ".."),
264
- * returns the absolute path to this instance instead.
265
- *
266
- * @param {import("./FileObject.js").default|import("./DirectoryObject.js").default} fileOrDirectoryObject - The source file or directory object
267
- * @returns {string} The relative path from the source to this instance, or the absolute path if not reachable
268
- * @throws {Sass} If the parameter is not a FileObject or DirectoryObject
269
- */
270
- relativeTo(fileOrDirectoryObject: import("./FileObject.js").default | import("./DirectoryObject.js").default): string;
271
- /**
272
- * Watch this file or directory for changes.
273
- *
274
- * @param {object} [options] - Watch options
275
- * @param {Function} [options.onChange] - Callback invoked on change
276
- * @param {number} [options.debounceMs] - Debounce interval in milliseconds
277
- * @param {boolean} [options.persistent] - Keep the process alive while watching
278
- * @returns {Promise<undefined>}
279
- */
280
- watch(options?: {
281
- onChange?: Function;
282
- debounceMs?: number;
283
- persistent?: boolean;
284
- }): Promise<undefined>;
285
- /**
286
- * Stop watching this file or directory for changes.
287
- */
288
- stopWatching(): void;
289
- #private;
290
300
  }
291
301
  //# sourceMappingURL=FileSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileSystem.js"],"names":[],"mappings":"AAoGA;;GAEG;AACH;IACE,kCAAwB;IACxB,uCAAkC;IAClC,mBAAsB;IAiEtB;;;;;;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,OAAO,iBAAiB,EAAE,OAAO,GAAC,OAAO,sBAAsB,EAAE,OAAO,MACxE,OAAO,iBAAiB,EAAE,OAAO,GAAC,OAAO,sBAAsB,EAAE,OAAO,GACtE,MAAM,CAYlB;IAED;;;;;;;;;;OAUG;IACH,oCAJW,MAAM,MACN,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;;;;OASG;IACH,oCALW,MAAM,SACN,MAAM,QACN,MAAM,GACJ,MAAM,CA8BlB;IAED;;;;;;;;OAQG;IACH,6BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAmClB;IAED;;;;;;;;;;;;OAYG;IACH,+BATW,MAAM,aACN,MAAM,GACJ,OAAO,CAcnB;IAED;;;;;;;;;;;;;;OAcG;IACH,iCATW,MAAM,MACN,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CAwBvB;IAED;;;;;;;;;;;;;;OAcG;IACH,4BARW,MAAM,MACN,MAAM,GACJ,MAAM,CAYlB;IAED;;;;;;;;;;;;;;;;;;OAkBG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,iBAVW,MAAM,GACJ,OAAO,CAgBnB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,qBAZW,MAAM,gBACN,MAAM,GACJ,MAAM,CA+DlB;IAED;;;;OAIG;IACH,kBAFa,MAAM,CAIlB;IArgBD;;;;;;;;;OASG;IACH,kCAJW,OAAO,iBAAiB,EAAE,OAAO,GAAC,OAAO,sBAAsB,EAAE,OAAO,GACtE,MAAM,CAWlB;IAED;;;;;;;;OAQG;IACH,gBALG;QAA2B,QAAQ;QACV,UAAU,GAA3B,MAAM;QACY,UAAU,GAA5B,OAAO;KACf,GAAU,OAAO,CAAC,SAAS,CAAC,CAwB9B;IAED;;OAEG;IACH,qBAGC;;CA2cF"}
1
+ {"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileSystem.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @file Font.js
3
+ * @description Utility class for detecting Nerd Fonts installed on the system.
4
+ */
1
5
  /**
2
6
  * Utility class for detecting and identifying Nerd Fonts installed on the system.
3
7
  * Supports Windows, macOS, and Linux platforms.
@@ -15,7 +19,7 @@
15
19
  * console.log(fonts) // ["FiraCode", "JetBrainsMono", ...]
16
20
  */
17
21
  export default class Font {
18
- static #cache: Map<any, any>;
22
+ #private;
19
23
  /**
20
24
  * Finds all Nerd Fonts installed on the system.
21
25
  * Detects the current platform and uses platform-specific methods
@@ -85,10 +89,6 @@ export default class Font {
85
89
  * @private
86
90
  */
87
91
  private static #findNerdFontsLinux;
88
- /** @type {Array<RegExp>} Patterns to identify Nerd Fonts by filename */
89
- static #nerdTests: Array<RegExp>;
90
- /** @type {Array<RegExp>} Patterns to identify Nerd Fonts in fc-list output */
91
- static #nerdTestsLinux: Array<RegExp>;
92
92
  /**
93
93
  * Identifies Nerd Fonts from a list of font file objects.
94
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Font.d.ts","sourceRoot":"","sources":["../../../src/node/lib/Font.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;GAeG;AACH;IACE,6BAAyB;IAEzB;;;;;;;;;OASG;IACH,wBALa,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAoBlC;IAED;;;;;;;;OAQG;IACH,uBANa,OAAO,CAAC,OAAO,CAAC,CAQ5B;IAED;;;;;;;;OAQG;IACH,8BALa,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAUlC;IAED;;;;;;OAMG;IACH,4BAEC;IAED;;;;;;;OAOG;IACH,+BAEC;IAED;;;;;OAKG;IACH,qCAgCC;IAED;;;;;OAKG;IACH,iCAyBC;IAED;;;;;OAKG;IACH,mCAoBC;IAED,wEAAwE;IACxE,mBADW,KAAK,CAAC,MAAM,CAAC,CACoB;IAE5C,8EAA8E;IAC9E,wBADW,KAAK,CAAC,MAAM,CAAC,CAC0B;IAElD;;;;;;OAMG;IACH,kCAYC;IAED;;;;;;;;;;OAUG;IACH,yBANa,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAYlC;CACF"}
1
+ {"version":3,"file":"Font.d.ts","sourceRoot":"","sources":["../../../src/node/lib/Font.js"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,IAAI;;IAGvB;;;;;;;;;OASG;IACH,OAAa,aAAa,IALb,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAoBlC;IAED;;;;;;;;OAQG;IACH,OAAa,YAAY,IANZ,OAAO,CAAC,OAAO,CAAC,CAQ5B;IAED;;;;;;;;OAQG;IACH,OAAa,mBAAmB,IALnB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAUlC;IAED;;;;;;OAMG;mBACI,YAAY;IAInB;;;;;;;OAOG;mBACI,eAAe;IAItB;;;;;OAKG;mBACU,qBAAqB;IAkClC;;;;;OAKG;mBACU,iBAAiB;IA2B9B;;;;;OAKG;mBACU,mBAAmB;IA4BhC;;;;;;OAMG;mBACI,kBAAkB;IAczB;;;;;;;;;;OAUG;IACH,MAAM,KAAK,UAAU,IANR,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAYlC;CACF"}