@breadstone-infrastructure/utilities 0.0.31 → 0.0.33

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.
@@ -22,8 +22,8 @@ export declare namespace CustomElementManifest {
22
22
  /**
23
23
  * A reference to an export of a module.
24
24
  *
25
- * All references are required to be publically accessible, so the canonical
26
- * representation of a refernce it the export it's available from.
25
+ * All references are required to be publicly accessible, so the canonical
26
+ * representation of a reference it the export it's available from.
27
27
  */
28
28
  interface Reference {
29
29
  name: string;
package/IO/Directory.d.ts CHANGED
@@ -34,11 +34,11 @@ export declare class Directory {
34
34
  */
35
35
  static count(path: string): number;
36
36
  /**
37
- * Gets the size of a direcory.
37
+ * Gets the size of a directory.
38
38
  * @public
39
39
  * @static
40
40
  * @param {string} path The path.
41
- * @returns {number} The direcory size.
41
+ * @returns {number} The directory size.
42
42
  */
43
43
  static size(path: string): number;
44
44
  /**
package/IO/Directory.js CHANGED
@@ -83,11 +83,11 @@ class Directory {
83
83
  return fse.readdirSync(path).length;
84
84
  }
85
85
  /**
86
- * Gets the size of a direcory.
86
+ * Gets the size of a directory.
87
87
  * @public
88
88
  * @static
89
89
  * @param {string} path The path.
90
- * @returns {number} The direcory size.
90
+ * @returns {number} The directory size.
91
91
  */
92
92
  static size(path) {
93
93
  const { separator } = Path_1.Path;
package/IO/File.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Encoding } from './Encoding';
2
2
  import type { IResxEntry } from './Resx';
3
- import type { SymbolicLink } from './SymbolikLink';
3
+ import type { SymbolicLink } from './SymbolicLink';
4
4
  import { type JSONObject } from './Json';
5
5
  export declare class File {
6
6
  /**
@@ -27,9 +27,10 @@ export declare class File {
27
27
  * @static
28
28
  * @param {string} path The file to open for reading.
29
29
  * @param {Encoding} encoding The encoding applied to the contents of the file.
30
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
30
31
  * @returns {string} A string containing all text in the file.
31
32
  */
32
- static readAllText(path: string, encoding?: Encoding): string;
33
+ static readAllText(path: string, encoding?: Encoding, validateCase?: boolean): string;
33
34
  /**
34
35
  * Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
35
36
  * @public
@@ -45,9 +46,10 @@ export declare class File {
45
46
  * @param {string} path The file to write to.
46
47
  * @param {string} contents The string to write to the file.
47
48
  * @param {Encoding} encoding The encoding to apply to the string.
49
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
48
50
  * @returns {void}
49
51
  */
50
- static writeAllText(path: string, contents: string, encoding?: Encoding): void;
52
+ static writeAllText(path: string, contents: string, encoding?: Encoding, validateCase?: boolean): void;
51
53
  /**
52
54
  * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
53
55
  * @public
@@ -144,5 +146,14 @@ export declare class File {
144
146
  * @param {SymbolicLink} symbolicLink The type of symbolic should create.
145
147
  */
146
148
  static createSymbolicLink(src: string, dest: string, symbolicLink: SymbolicLink): void;
149
+ /**
150
+ * Ensures that a given path exists with exact casing.
151
+ * Throws an error if the casing does not match the file system.
152
+ * @private
153
+ * @static
154
+ * @param {string} inputPath The path to check.
155
+ * @returns {void}
156
+ */
157
+ private static ensureCaseSensitive;
147
158
  }
148
159
  //# sourceMappingURL=File.d.ts.map
package/IO/File.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAI/C,qBAAa,IAAI;IAIb;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO3C;;;;;;;;OAQG;WACW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,IAAI;IAIlG;;;;;;;OAOG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAAG,MAAM;IAW5E;;;;;;OAMG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;;;;;OAQG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAAG,IAAI;IAkB7F;;;;;;;;OAQG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAE,QAAiB,GAAG,IAAI;IAQ1F;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOxC;;;;;;;OAOG;WACW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMtE;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IASnD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAuB1D;;;;;OAKG;WACW,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAmBtD;;;;;;;;OAQG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,KAAa,EAAE,QAAQ,GAAE,KAAK,GAAG,QAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAcjI;;;;;;;OAOG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAIlE;;;;;;;;OAQG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,MAAa,GAAG,MAAM;IAiB3E;;;;;;;OAOG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKxC;;;;;;;;OAQG;WACW,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;CAYhG"}
1
+ {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAI/C,qBAAa,IAAI;IAIb;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO3C;;;;;;;;OAQG;WACW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,IAAI;IAIlG;;;;;;;;OAQG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM;IAe3G;;;;;;OAMG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;;;;;;OASG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,EAAE,YAAY,GAAE,OAAe,GAAG,IAAI;IAsB5H;;;;;;;;OAQG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAE,QAAiB,GAAG,IAAI;IAQ1F;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOxC;;;;;;;OAOG;WACW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMtE;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IASnD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAuB1D;;;;;OAKG;WACW,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAmBtD;;;;;;;;OAQG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,KAAa,EAAE,QAAQ,GAAE,KAAK,GAAG,QAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAcjI;;;;;;;OAOG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAIlE;;;;;;;;OAQG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,MAAa,GAAG,MAAM;IAiB3E;;;;;;;OAOG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKxC;;;;;;;;OAQG;WACW,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAU7F;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAoBrC"}
package/IO/File.js CHANGED
@@ -79,9 +79,13 @@ class File {
79
79
  * @static
80
80
  * @param {string} path The file to open for reading.
81
81
  * @param {Encoding} encoding The encoding applied to the contents of the file.
82
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
82
83
  * @returns {string} A string containing all text in the file.
83
84
  */
84
- static readAllText(path, encoding = 'utf8') {
85
+ static readAllText(path, encoding = 'utf8', validateCase = false) {
86
+ if (validateCase) {
87
+ File.ensureCaseSensitive(path);
88
+ }
85
89
  if (fs.existsSync(path)) {
86
90
  let content = fs.readFileSync(path, encoding);
87
91
  if (content.charCodeAt(0) === 0xFEFF) {
@@ -108,13 +112,17 @@ class File {
108
112
  * @param {string} path The file to write to.
109
113
  * @param {string} contents The string to write to the file.
110
114
  * @param {Encoding} encoding The encoding to apply to the string.
115
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
111
116
  * @returns {void}
112
117
  */
113
- static writeAllText(path, contents, encoding = 'utf8') {
118
+ static writeAllText(path, contents, encoding = 'utf8', validateCase = false) {
119
+ if (validateCase) {
120
+ File.ensureCaseSensitive(path);
121
+ }
114
122
  const dirname = Path_1.Path.getDirectoryName(path);
115
123
  if (!fs.existsSync(dirname)) {
116
124
  fse.mkdirsSync(dirname);
117
- File.writeAllText(path, contents);
125
+ File.writeAllText(path, contents, encoding, validateCase);
118
126
  }
119
127
  else {
120
128
  if (fs.existsSync(path)) {
@@ -319,6 +327,30 @@ class File {
319
327
  }
320
328
  fse.symlinkSync(src, dest, symbolicLink);
321
329
  }
330
+ /**
331
+ * Ensures that a given path exists with exact casing.
332
+ * Throws an error if the casing does not match the file system.
333
+ * @private
334
+ * @static
335
+ * @param {string} inputPath The path to check.
336
+ * @returns {void}
337
+ */
338
+ static ensureCaseSensitive(inputPath) {
339
+ const resolvedPath = Path_1.Path.resolve(inputPath);
340
+ const parts = resolvedPath.split(Path_1.Path.separator).filter(Boolean);
341
+ let current = Path_1.Path.isAbsolute(resolvedPath) ? Path_1.Path.separator : '';
342
+ for (const part of parts) {
343
+ const entries = fs.readdirSync(current || '.', { withFileTypes: true });
344
+ const match = entries.find((entry) => entry.name === part);
345
+ if (!match) {
346
+ const suggestion = entries.map((e) => e.name).find((name) => name.toLowerCase() === part.toLowerCase());
347
+ throw new Error(`Path casing mismatch: expected '${part}' in '${current}', but not found. ${suggestion
348
+ ? `Did you mean: '${suggestion}'?`
349
+ : ''}`);
350
+ }
351
+ current = Path_1.Path.combine(current, part);
352
+ }
353
+ }
322
354
  }
323
355
  exports.File = File;
324
356
  //# sourceMappingURL=File.js.map
package/IO/File.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Path.Test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.Test.d.ts","sourceRoot":"","sources":["../../src/IO/Path.Test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const vitest_1 = require("vitest");
5
+ const Path_1 = require("./Path");
6
+ // #endregion
7
+ (0, vitest_1.describe)('Path', () => {
8
+ (0, vitest_1.it)('should return the correct path separator', () => {
9
+ (0, vitest_1.expect)(Path_1.Path.separator).toBe(require('path').sep);
10
+ });
11
+ (0, vitest_1.it)('should change the file extension', () => {
12
+ (0, vitest_1.expect)(Path_1.Path.changeExtension('file.txt', '.json')).toBe('file.json');
13
+ (0, vitest_1.expect)(Path_1.Path.changeExtension('file', '.json')).toBe('file.json');
14
+ (0, vitest_1.expect)(Path_1.Path.changeExtension('file.txt', '')).toBe('file');
15
+ (0, vitest_1.expect)(Path_1.Path.changeExtension('', '.json')).toBe('');
16
+ });
17
+ (0, vitest_1.it)('should return the directory name', () => {
18
+ (0, vitest_1.expect)(Path_1.Path.getDirectoryName('/path/to/file.txt')).toBe('/path/to');
19
+ });
20
+ (0, vitest_1.it)('should return an array of directory segments', () => {
21
+ (0, vitest_1.expect)(Path_1.Path.getDirectorySegments('/path/to/file.txt')).toEqual(['', 'path', 'to']);
22
+ });
23
+ (0, vitest_1.it)('should return the file name with extension', () => {
24
+ (0, vitest_1.expect)(Path_1.Path.getFileName('/path/to/file.txt')).toBe('file.txt');
25
+ });
26
+ (0, vitest_1.it)('should return the file name without extension', () => {
27
+ (0, vitest_1.expect)(Path_1.Path.getFileNameWithoutExtension('/path/to/file.txt')).toBe('file');
28
+ });
29
+ (0, vitest_1.it)('should return the file extension', () => {
30
+ (0, vitest_1.expect)(Path_1.Path.getExtension('file.txt')).toBe('txt');
31
+ (0, vitest_1.expect)(Path_1.Path.getExtension('file.txt', true)).toBe('.txt');
32
+ });
33
+ (0, vitest_1.it)('should return a random alphanumeric file name', () => {
34
+ const fileName = Path_1.Path.getRandomFileName(true);
35
+ (0, vitest_1.expect)(fileName).toMatch(/^[a-zA-Z0-9]+$/);
36
+ (0, vitest_1.expect)(fileName.length).toBe(8);
37
+ });
38
+ (0, vitest_1.it)('should return a random file name with special characters', () => {
39
+ const fileName = Path_1.Path.getRandomFileName();
40
+ (0, vitest_1.expect)(fileName).not.toMatch(/[\s]/);
41
+ (0, vitest_1.expect)(fileName.length).toBe(8);
42
+ });
43
+ (0, vitest_1.it)('should combine paths', () => {
44
+ (0, vitest_1.expect)(Path_1.Path.combine('/path', 'to', 'file.txt')).toBe(require('path').join('/path', 'to', 'file.txt'));
45
+ });
46
+ (0, vitest_1.it)('should normalize a path with backslashes', () => {
47
+ (0, vitest_1.expect)(Path_1.Path.normalize('\\path\\to\\file')).toBe('/path/to/file');
48
+ (0, vitest_1.expect)(Path_1.Path.normalize('/path/to/file/')).toBe('/path/to/file');
49
+ (0, vitest_1.expect)(Path_1.Path.normalize('/path/to/file/', false)).toBe('/path/to/file/');
50
+ });
51
+ (0, vitest_1.it)('should resolve paths', () => {
52
+ (0, vitest_1.expect)(Path_1.Path.resolve('/path', './to')).toBe(require('path').resolve('/path', './to'));
53
+ });
54
+ (0, vitest_1.it)('should determine if a path is absolute', () => {
55
+ (0, vitest_1.expect)(Path_1.Path.isAbsolute('/absolute/path')).toBe(true);
56
+ (0, vitest_1.expect)(Path_1.Path.isAbsolute('relative/path')).toBe(false);
57
+ });
58
+ (0, vitest_1.it)('should return matching paths for a glob pattern', () => {
59
+ const mockGlob = {
60
+ matchSync: vitest_1.vi.fn(() => [{ path: '/path/to/file.txt' }])
61
+ };
62
+ vitest_1.vi.spyOn(require('./Glob'), 'Glob').mockReturnValue(mockGlob);
63
+ const result = Path_1.Path.glob('/path/**/*.txt');
64
+ (0, vitest_1.expect)(result).toEqual(['/path/to/file.txt']);
65
+ });
66
+ (0, vitest_1.it)('should calculate the relative path between two paths', () => {
67
+ const from = '/data/orandea/test/aaa';
68
+ const to = '/data/orandea/impl/bbb';
69
+ (0, vitest_1.expect)(Path_1.Path.relative(from, to)).toBe('../../impl/bbb');
70
+ });
71
+ (0, vitest_1.it)('should calculate the relative path between two paths', () => {
72
+ const from = '/data/orandea/test';
73
+ const to = '/data/orandea/test/file.ts';
74
+ (0, vitest_1.expect)(Path_1.Path.relative(from, to)).toBe('file.ts');
75
+ });
76
+ });
77
+ //# sourceMappingURL=Path.Test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.Test.js","sourceRoot":"","sources":["../../src/IO/Path.Test.ts"],"names":[],"mappings":"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"}
package/IO/Path.d.ts CHANGED
@@ -12,8 +12,8 @@ export declare class Path {
12
12
  * @public
13
13
  * @static
14
14
  * @param {string} path The path
15
- * @param {string} extension The extenison
16
- * @returns {string} The function returns a file path with the same root, directory, and base name parts as path, but with the file extension changed to the specified extension. If path is null, the function returns null. If path does not contain a file extension, the new file extension is appended to the path. If extension is null, any exsiting extension is removed from path.
15
+ * @param {string} extension The extension
16
+ * @returns {string} The function returns a file path with the same root, directory, and base name parts as path, but with the file extension changed to the specified extension. If path is null, the function returns null. If path does not contain a file extension, the new file extension is appended to the path. If extension is null, any existing extension is removed from path.
17
17
  */
18
18
  static changeExtension(path: string, extension: string): string;
19
19
  /**
package/IO/Path.js CHANGED
@@ -58,8 +58,8 @@ class Path {
58
58
  * @public
59
59
  * @static
60
60
  * @param {string} path The path
61
- * @param {string} extension The extenison
62
- * @returns {string} The function returns a file path with the same root, directory, and base name parts as path, but with the file extension changed to the specified extension. If path is null, the function returns null. If path does not contain a file extension, the new file extension is appended to the path. If extension is null, any exsiting extension is removed from path.
61
+ * @param {string} extension The extension
62
+ * @returns {string} The function returns a file path with the same root, directory, and base name parts as path, but with the file extension changed to the specified extension. If path is null, the function returns null. If path does not contain a file extension, the new file extension is appended to the path. If extension is null, any existing extension is removed from path.
63
63
  */
64
64
  static changeExtension(path, extension) {
65
65
  if (path) {
@@ -0,0 +1,6 @@
1
+ export declare enum SymbolicLink {
2
+ File = "file",
3
+ Directory = "dir",
4
+ Junction = "junction"
5
+ }
6
+ //# sourceMappingURL=SymbolicLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SymbolicLink.d.ts","sourceRoot":"","sources":["../../src/IO/SymbolicLink.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,SAAS,QAAQ;IACjB,QAAQ,aAAa;CACxB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SymbolicLink = void 0;
4
+ var SymbolicLink;
5
+ (function (SymbolicLink) {
6
+ SymbolicLink["File"] = "file";
7
+ SymbolicLink["Directory"] = "dir";
8
+ SymbolicLink["Junction"] = "junction";
9
+ })(SymbolicLink || (exports.SymbolicLink = SymbolicLink = {}));
10
+ //# sourceMappingURL=SymbolicLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SymbolicLink.js","sourceRoot":"","sources":["../../src/IO/SymbolicLink.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;AACzB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LoggerUtils.Test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerUtils.Test.d.ts","sourceRoot":"","sources":["../../src/Logging/LoggerUtils.Test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const LoggerUtils_1 = require("./LoggerUtils");
5
+ const Logger_1 = require("./Logger");
6
+ const String_1 = require("../System/String");
7
+ (0, vitest_1.describe)('LoggerUtils', () => {
8
+ const mockLogger = {
9
+ logInfo: vitest_1.vi.fn(),
10
+ logError: vitest_1.vi.fn(),
11
+ logWarning: vitest_1.vi.fn(),
12
+ logNeutral: vitest_1.vi.fn()
13
+ };
14
+ (0, vitest_1.beforeAll)(() => {
15
+ vitest_1.vi.spyOn(Logger_1.Logger, 'instance').mockReturnValue(mockLogger);
16
+ });
17
+ (0, vitest_1.beforeEach)(() => {
18
+ vitest_1.vi.clearAllMocks();
19
+ });
20
+ (0, vitest_1.it)('should log a formatted header', () => {
21
+ const title = 'Test Header';
22
+ LoggerUtils_1.LoggerUtils.logHeader(title);
23
+ (0, vitest_1.expect)(mockLogger.logInfo).toHaveBeenCalledWith(vitest_1.expect.stringContaining(title), { color: 'magenta' });
24
+ });
25
+ (0, vitest_1.it)('should log a footer', () => {
26
+ LoggerUtils_1.LoggerUtils.logFooter();
27
+ (0, vitest_1.expect)(mockLogger.logInfo).toHaveBeenCalledWith(vitest_1.expect.stringContaining('-'.repeat(80)), { color: 'magenta' });
28
+ });
29
+ (0, vitest_1.it)('should log a summary with errors, warnings, and success messages', () => {
30
+ LoggerUtils_1.LoggerUtils.logSummary({
31
+ error: ['2 errors found', true],
32
+ success: ['All tests passed', true],
33
+ waring: ['1 warning found', true]
34
+ });
35
+ (0, vitest_1.expect)(mockLogger.logInfo).toHaveBeenCalledWith('Summary', { color: 'magenta' });
36
+ (0, vitest_1.expect)(mockLogger.logError).toHaveBeenCalledWith(' - Errors: 2 errors found', { color: 'red' });
37
+ (0, vitest_1.expect)(mockLogger.logWarning).toHaveBeenCalledWith(' - Warnings: 1 warning found', { color: 'yellow' });
38
+ (0, vitest_1.expect)(mockLogger.logInfo).toHaveBeenCalledWith(' - Success: All tests passed', { color: 'green' });
39
+ });
40
+ (0, vitest_1.it)('should log only success if no errors or warnings are present', () => {
41
+ LoggerUtils_1.LoggerUtils.logSummary({
42
+ success: ['Everything is great', true]
43
+ });
44
+ (0, vitest_1.expect)(mockLogger.logInfo).toHaveBeenCalledWith('Summary', { color: 'magenta' });
45
+ (0, vitest_1.expect)(mockLogger.logInfo).toHaveBeenCalledWith(' - Success: Everything is great', { color: 'green' });
46
+ (0, vitest_1.expect)(mockLogger.logError).not.toHaveBeenCalled();
47
+ (0, vitest_1.expect)(mockLogger.logWarning).not.toHaveBeenCalled();
48
+ });
49
+ (0, vitest_1.it)('should log a tree structure', () => {
50
+ const tree = [
51
+ {
52
+ label: 'Node 1',
53
+ nodes: [{ label: 'Child 1' }, { label: 'Child 2' }]
54
+ },
55
+ { label: 'Node 2' }
56
+ ];
57
+ LoggerUtils_1.LoggerUtils.logTree('Root', tree);
58
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith('Root', undefined);
59
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(' └─ Node 1', vitest_1.expect.anything());
60
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(' └─ Child 1', vitest_1.expect.anything());
61
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(' └─ Child 2', vitest_1.expect.anything());
62
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(' └─ Node 2', vitest_1.expect.anything());
63
+ });
64
+ (0, vitest_1.it)('should log an empty line', () => {
65
+ LoggerUtils_1.LoggerUtils.logEmpty();
66
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(String_1.StringExtensions.newLine, { noNewLine: false });
67
+ });
68
+ (0, vitest_1.it)('should log a key-value pair', () => {
69
+ LoggerUtils_1.LoggerUtils.logPair('Key', 'Value');
70
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(' ┌─ Key', undefined);
71
+ (0, vitest_1.expect)(mockLogger.logNeutral).toHaveBeenCalledWith(' └─ Value', undefined);
72
+ });
73
+ });
74
+ //# sourceMappingURL=LoggerUtils.Test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerUtils.Test.js","sourceRoot":"","sources":["../../src/Logging/LoggerUtils.Test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@breadstone-infrastructure/utilities",
3
3
  "description": "Common utility classes and functions",
4
- "version": "0.0.31",
4
+ "version": "0.0.33",
5
5
  "license": "MIT",
6
6
  "author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
7
7
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "dependencies": {
16
16
  "argparse": "^2.0.1",
17
17
  "dir-glob": "^3.0.1",
18
- "es-toolkit": "^1.38.0",
18
+ "es-toolkit": "^1.39.3",
19
19
  "fast-glob": "^3.3.3",
20
20
  "fs-extra": "^11.3.0",
21
21
  "jsonc-parser": "^3.3.1",