taglib-wasm 0.3.11 → 0.3.12

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 CHANGED
@@ -1,16 +1,18 @@
1
1
  # TagLib-Wasm
2
2
 
3
+ [![Tests](https://github.com/CharlesWiltgen/taglib-wasm/actions/workflows/test.yml/badge.svg)](https://github.com/CharlesWiltgen/taglib-wasm/actions/workflows/test.yml)
3
4
  [![npm version](https://img.shields.io/npm/v/taglib-wasm.svg?logo=nodedotjs&logoColor=f5f5f5)](https://www.npmjs.com/package/taglib-wasm)
4
5
  [![npm downloads](https://img.shields.io/npm/dm/taglib-wasm.svg)](https://www.npmjs.com/package/taglib-wasm)
5
- [![License](https://img.shields.io/npm/l/taglib-wasm.svg)](https://github.com/CharlesWiltgen/taglib-wasm/blob/main/LICENSE)
6
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178c6.svg?logo=typescript&logoColor=f5f5f5)](https://www.typescriptlang.org/)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/CharlesWiltgen/taglib-wasm/blob/main/LICENSE)
7
+ <br>[![TypeScript](https://img.shields.io/badge/TypeScript-5-3178c6.svg?logo=typescript&logoColor=f5f5f5)](https://www.typescriptlang.org/)
7
8
  [![Built with Emscripten](https://img.shields.io/badge/Built%20with-Emscripten-4B9BFF.svg)](https://emscripten.org/)
9
+ [![Built with TagLib](https://img.shields.io/badge/Built%20with-TagLib-brightgreen.svg)](https://taglib.org/)
8
10
  <br>[![Deno](https://img.shields.io/badge/Deno-000000?logo=deno&logoColor=white)](https://deno.land/)
9
11
  [![Node.js](https://img.shields.io/badge/Node.js-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org/)
10
12
  [![Bun](https://img.shields.io/badge/Bun-000000?logo=bun&logoColor=white)](https://bun.sh/)
11
13
  [![Cloudflare Workers](https://img.shields.io/badge/Cloudflare%20Workers-F38020?logo=cloudflare&logoColor=white)](https://workers.cloudflare.com/)
12
14
  [![Electron](https://img.shields.io/badge/Electron-47848F?logo=electron&logoColor=white)](https://www.electronjs.org/)
13
- [![Browser](https://img.shields.io/badge/Browser-4285F4?logo=googlechrome&logoColor=white)]()
15
+ [![Browsers](https://img.shields.io/badge/Browser-4285F4?logo=googlechrome&logoColor=white)]()
14
16
 
15
17
  **TagLib-Wasm** is the universal tagging library for TypeScript platforms: Deno,
16
18
  Node.js, Bun, Cloudflare Workers, Electron, and browsers. It’s the answer to the
package/dist/index.d.ts CHANGED
@@ -63,8 +63,7 @@ export { EnvironmentError, FileOperationError, InvalidFormatError, isEnvironment
63
63
  * @see {@link getCoverArt} - Get primary cover art data
64
64
  * @see {@link setCoverArt} - Set primary cover art
65
65
  */
66
- export { readProperties, readTags, applyTags, updateTags, writeTags, // Deprecated but exported for backward compatibility
67
- readPictures, applyPictures, addPicture, clearPictures, getCoverArt, setCoverArt, findPictureByType, replacePictureByType, getPictureMetadata, isValidAudioFile, getFormat, clearTags } from "./src/simple.ts";
66
+ export { addPicture, applyPictures, applyTags, clearPictures, clearTags, findPictureByType, getCoverArt, getFormat, getPictureMetadata, isValidAudioFile, readPictures, readProperties, readTags, replacePictureByType, setCoverArt, updateTags, writeTags, } from "./src/simple.ts";
68
67
  /**
69
68
  * Constants and utilities for tag name validation.
70
69
  * @see {@link Tags} - Standard tag name constants
@@ -79,14 +78,14 @@ export { FormatMappings, getAllTagNames, isValidTagName, Tags, } from "./src/con
79
78
  * @see {@link importCoverArt} - Import cover art from file
80
79
  * @see {@link copyCoverArt} - Copy cover art between files
81
80
  */
82
- export { exportCoverArt, exportPictureByType, exportAllPictures, importCoverArt, importPictureWithType, loadPictureFromFile, savePictureToFile, copyCoverArt, findCoverArtFiles } from "./src/file-utils.ts";
81
+ export { copyCoverArt, exportAllPictures, exportCoverArt, exportPictureByType, findCoverArtFiles, importCoverArt, importPictureWithType, loadPictureFromFile, savePictureToFile, } from "./src/file-utils.ts";
83
82
  /**
84
83
  * Web browser utilities for cover art operations.
85
84
  * @see {@link pictureToDataURL} - Convert picture to data URL
86
85
  * @see {@link setCoverArtFromCanvas} - Set cover art from HTML canvas
87
86
  * @see {@link displayPicture} - Display picture in HTML img element
88
87
  */
89
- export { pictureToDataURL, dataURLToPicture, setCoverArtFromCanvas, canvasToPicture, imageFileToPicture, displayPicture, createPictureDownloadURL, createPictureGallery } from "./src/web-utils.ts";
88
+ export { canvasToPicture, createPictureDownloadURL, createPictureGallery, dataURLToPicture, displayPicture, imageFileToPicture, pictureToDataURL, setCoverArtFromCanvas, } from "./src/web-utils.ts";
90
89
  /**
91
90
  * Type exports for TypeScript users.
92
91
  * These types define the structure of metadata, audio properties,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH;;;;;GAKG;AACH,OAAO,EACL,aAAa,IAAI,SAAS,EAC1B,YAAY,EACZ,MAAM,GACP,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;GAUG;AACH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EAAG,qDAAqD;AACjE,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,GACL,MAAM,oBAAoB,CAAC;AAC5B;;;;;GAKG;AACH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;GASG;AACH,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,GAAG,EACH,YAAY,EACZ,OAAO,GACR,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAK9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH;;;;;GAKG;AACH,OAAO,EACL,aAAa,IAAI,SAAS,EAC1B,YAAY,EACZ,MAAM,GACP,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;GAUG;AACH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,OAAO,EACL,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,GACL,MAAM,oBAAoB,CAAC;AAC5B;;;;;GAKG;AACH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;GASG;AACH,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,GAAG,EACH,YAAY,EACZ,OAAO,GACR,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAO9D"}
package/dist/index.js CHANGED
@@ -23,23 +23,23 @@ import {
23
23
  UnsupportedFormatError
24
24
  } from "./src/errors.ts";
25
25
  import {
26
- readProperties,
27
- readTags,
28
- applyTags,
29
- updateTags,
30
- writeTags,
31
- readPictures,
32
- applyPictures,
33
26
  addPicture,
27
+ applyPictures,
28
+ applyTags,
34
29
  clearPictures,
35
- getCoverArt,
36
- setCoverArt,
30
+ clearTags,
37
31
  findPictureByType,
38
- replacePictureByType,
32
+ getCoverArt,
33
+ getFormat,
39
34
  getPictureMetadata,
40
35
  isValidAudioFile,
41
- getFormat,
42
- clearTags
36
+ readPictures,
37
+ readProperties,
38
+ readTags,
39
+ replacePictureByType,
40
+ setCoverArt,
41
+ updateTags,
42
+ writeTags
43
43
  } from "./src/simple.ts";
44
44
  import {
45
45
  FormatMappings,
@@ -48,25 +48,25 @@ import {
48
48
  Tags
49
49
  } from "./src/constants.ts";
50
50
  import {
51
+ copyCoverArt,
52
+ exportAllPictures,
51
53
  exportCoverArt,
52
54
  exportPictureByType,
53
- exportAllPictures,
55
+ findCoverArtFiles,
54
56
  importCoverArt,
55
57
  importPictureWithType,
56
58
  loadPictureFromFile,
57
- savePictureToFile,
58
- copyCoverArt,
59
- findCoverArtFiles
59
+ savePictureToFile
60
60
  } from "./src/file-utils.ts";
61
61
  import {
62
- pictureToDataURL,
63
- dataURLToPicture,
64
- setCoverArtFromCanvas,
65
62
  canvasToPicture,
66
- imageFileToPicture,
67
- displayPicture,
68
63
  createPictureDownloadURL,
69
- createPictureGallery
64
+ createPictureGallery,
65
+ dataURLToPicture,
66
+ displayPicture,
67
+ imageFileToPicture,
68
+ pictureToDataURL,
69
+ setCoverArtFromCanvas
70
70
  } from "./src/web-utils.ts";
71
71
  import { PictureType } from "./src/types.ts";
72
72
  async function loadTagLibModule() {
package/dist/index.ts CHANGED
@@ -87,24 +87,24 @@ export {
87
87
  * @see {@link getCoverArt} - Get primary cover art data
88
88
  * @see {@link setCoverArt} - Set primary cover art
89
89
  */
90
- export {
91
- readProperties,
92
- readTags,
93
- applyTags,
94
- updateTags,
95
- writeTags, // Deprecated but exported for backward compatibility
96
- readPictures,
97
- applyPictures,
90
+ export {
98
91
  addPicture,
92
+ applyPictures,
93
+ applyTags,
99
94
  clearPictures,
100
- getCoverArt,
101
- setCoverArt,
95
+ clearTags,
102
96
  findPictureByType,
103
- replacePictureByType,
97
+ getCoverArt,
98
+ getFormat,
104
99
  getPictureMetadata,
105
100
  isValidAudioFile,
106
- getFormat,
107
- clearTags
101
+ readPictures,
102
+ readProperties,
103
+ readTags,
104
+ replacePictureByType,
105
+ setCoverArt,
106
+ updateTags,
107
+ writeTags, // Deprecated but exported for backward compatibility
108
108
  } from "./src/simple.ts";
109
109
 
110
110
  /**
@@ -127,15 +127,15 @@ export {
127
127
  * @see {@link copyCoverArt} - Copy cover art between files
128
128
  */
129
129
  export {
130
+ copyCoverArt,
131
+ exportAllPictures,
130
132
  exportCoverArt,
131
133
  exportPictureByType,
132
- exportAllPictures,
134
+ findCoverArtFiles,
133
135
  importCoverArt,
134
136
  importPictureWithType,
135
137
  loadPictureFromFile,
136
138
  savePictureToFile,
137
- copyCoverArt,
138
- findCoverArtFiles
139
139
  } from "./src/file-utils.ts";
140
140
 
141
141
  /**
@@ -145,14 +145,14 @@ export {
145
145
  * @see {@link displayPicture} - Display picture in HTML img element
146
146
  */
147
147
  export {
148
- pictureToDataURL,
149
- dataURLToPicture,
150
- setCoverArtFromCanvas,
151
148
  canvasToPicture,
152
- imageFileToPicture,
153
- displayPicture,
154
149
  createPictureDownloadURL,
155
- createPictureGallery
150
+ createPictureGallery,
151
+ dataURLToPicture,
152
+ displayPicture,
153
+ imageFileToPicture,
154
+ pictureToDataURL,
155
+ setCoverArtFromCanvas,
156
156
  } from "./src/web-utils.ts";
157
157
 
158
158
  /**
@@ -214,7 +214,9 @@ import type { TagLibModule } from "./src/wasm.ts";
214
214
  */
215
215
  export async function loadTagLibModule(): Promise<TagLibModule> {
216
216
  // Now that we're using ES6 modules, we can use dynamic import directly
217
- const { default: createTagLibModule } = await import("./build/taglib-wrapper.js");
217
+ const { default: createTagLibModule } = await import(
218
+ "./build/taglib-wrapper.js"
219
+ );
218
220
  const module = await createTagLibModule();
219
221
  return module as TagLibModule;
220
222
  }
@@ -50,17 +50,17 @@ export declare class UnsupportedFormatError extends TagLibError {
50
50
  * Error thrown during file operations (read, write, save)
51
51
  */
52
52
  export declare class FileOperationError extends TagLibError {
53
- readonly operation: 'read' | 'write' | 'save';
53
+ readonly operation: "read" | "write" | "save";
54
54
  readonly path?: string | undefined;
55
- constructor(operation: 'read' | 'write' | 'save', message: string, path?: string | undefined, context?: Record<string, unknown>);
55
+ constructor(operation: "read" | "write" | "save", message: string, path?: string | undefined, context?: Record<string, unknown>);
56
56
  }
57
57
  /**
58
58
  * Error thrown when metadata operations fail
59
59
  */
60
60
  export declare class MetadataError extends TagLibError {
61
- readonly operation: 'read' | 'write';
61
+ readonly operation: "read" | "write";
62
62
  readonly field?: string | undefined;
63
- constructor(operation: 'read' | 'write', message: string, field?: string | undefined, context?: Record<string, unknown>);
63
+ constructor(operation: "read" | "write", message: string, field?: string | undefined, context?: Record<string, unknown>);
64
64
  }
65
65
  /**
66
66
  * Error thrown when Wasm memory operations fail
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -5,19 +5,26 @@
5
5
  /**
6
6
  * List of audio formats supported by taglib-wasm
7
7
  */
8
- export const SUPPORTED_FORMATS = ['MP3', 'MP4', 'M4A', 'FLAC', 'OGG', 'WAV'] as const;
8
+ export const SUPPORTED_FORMATS = [
9
+ "MP3",
10
+ "MP4",
11
+ "M4A",
12
+ "FLAC",
13
+ "OGG",
14
+ "WAV",
15
+ ] as const;
9
16
 
10
17
  /**
11
18
  * Error codes for programmatic error handling
12
19
  */
13
20
  export enum TagLibErrorCode {
14
- INITIALIZATION_FAILED = 'INITIALIZATION_FAILED',
15
- INVALID_FORMAT = 'INVALID_FORMAT',
16
- UNSUPPORTED_FORMAT = 'UNSUPPORTED_FORMAT',
17
- FILE_OPERATION_FAILED = 'FILE_OPERATION_FAILED',
18
- METADATA_ERROR = 'METADATA_ERROR',
19
- MEMORY_ERROR = 'MEMORY_ERROR',
20
- ENVIRONMENT_ERROR = 'ENVIRONMENT_ERROR',
21
+ INITIALIZATION_FAILED = "INITIALIZATION_FAILED",
22
+ INVALID_FORMAT = "INVALID_FORMAT",
23
+ UNSUPPORTED_FORMAT = "UNSUPPORTED_FORMAT",
24
+ FILE_OPERATION_FAILED = "FILE_OPERATION_FAILED",
25
+ METADATA_ERROR = "METADATA_ERROR",
26
+ MEMORY_ERROR = "MEMORY_ERROR",
27
+ ENVIRONMENT_ERROR = "ENVIRONMENT_ERROR",
21
28
  }
22
29
 
23
30
  /**
@@ -27,10 +34,10 @@ export class TagLibError extends Error {
27
34
  constructor(
28
35
  message: string,
29
36
  public readonly code: TagLibErrorCode,
30
- public readonly context?: Record<string, unknown>
37
+ public readonly context?: Record<string, unknown>,
31
38
  ) {
32
39
  super(message);
33
- this.name = 'TagLibError';
40
+ this.name = "TagLibError";
34
41
  Object.setPrototypeOf(this, TagLibError.prototype);
35
42
  }
36
43
  }
@@ -41,11 +48,11 @@ export class TagLibError extends Error {
41
48
  export class TagLibInitializationError extends TagLibError {
42
49
  constructor(message: string, context?: Record<string, unknown>) {
43
50
  super(
44
- createErrorMessage('Failed to initialize TagLib Wasm module', message),
51
+ createErrorMessage("Failed to initialize TagLib Wasm module", message),
45
52
  TagLibErrorCode.INITIALIZATION_FAILED,
46
- context
53
+ context,
47
54
  );
48
- this.name = 'TagLibInitializationError';
55
+ this.name = "TagLibInitializationError";
49
56
  Object.setPrototypeOf(this, TagLibInitializationError.prototype);
50
57
  }
51
58
  }
@@ -57,23 +64,25 @@ export class InvalidFormatError extends TagLibError {
57
64
  constructor(
58
65
  message: string,
59
66
  public readonly bufferSize?: number,
60
- context?: Record<string, unknown>
67
+ context?: Record<string, unknown>,
61
68
  ) {
62
69
  const details = [`Invalid audio file format: ${message}`];
63
-
70
+
64
71
  if (bufferSize !== undefined) {
65
72
  details.push(`Buffer size: ${formatFileSize(bufferSize)}`);
66
73
  if (bufferSize < 1024) {
67
- details.push('Audio files must be at least 1KB to contain valid headers.');
74
+ details.push(
75
+ "Audio files must be at least 1KB to contain valid headers.",
76
+ );
68
77
  }
69
78
  }
70
-
79
+
71
80
  super(
72
- details.join('. '),
81
+ details.join(". "),
73
82
  TagLibErrorCode.INVALID_FORMAT,
74
- { ...context, bufferSize }
83
+ { ...context, bufferSize },
75
84
  );
76
- this.name = 'InvalidFormatError';
85
+ this.name = "InvalidFormatError";
77
86
  Object.setPrototypeOf(this, InvalidFormatError.prototype);
78
87
  }
79
88
  }
@@ -85,14 +94,16 @@ export class UnsupportedFormatError extends TagLibError {
85
94
  constructor(
86
95
  public readonly format: string,
87
96
  public readonly supportedFormats: readonly string[] = SUPPORTED_FORMATS,
88
- context?: Record<string, unknown>
97
+ context?: Record<string, unknown>,
89
98
  ) {
90
99
  super(
91
- `Unsupported audio format: ${format}. Supported formats: ${supportedFormats.join(', ')}`,
100
+ `Unsupported audio format: ${format}. Supported formats: ${
101
+ supportedFormats.join(", ")
102
+ }`,
92
103
  TagLibErrorCode.UNSUPPORTED_FORMAT,
93
- { ...context, format, supportedFormats }
104
+ { ...context, format, supportedFormats },
94
105
  );
95
- this.name = 'UnsupportedFormatError';
106
+ this.name = "UnsupportedFormatError";
96
107
  Object.setPrototypeOf(this, UnsupportedFormatError.prototype);
97
108
  }
98
109
  }
@@ -102,23 +113,23 @@ export class UnsupportedFormatError extends TagLibError {
102
113
  */
103
114
  export class FileOperationError extends TagLibError {
104
115
  constructor(
105
- public readonly operation: 'read' | 'write' | 'save',
116
+ public readonly operation: "read" | "write" | "save",
106
117
  message: string,
107
118
  public readonly path?: string,
108
- context?: Record<string, unknown>
119
+ context?: Record<string, unknown>,
109
120
  ) {
110
121
  const details = [`Failed to ${operation} file`];
111
122
  if (path) {
112
123
  details.push(`Path: ${path}`);
113
124
  }
114
125
  details.push(message);
115
-
126
+
116
127
  super(
117
- details.join('. '),
128
+ details.join(". "),
118
129
  TagLibErrorCode.FILE_OPERATION_FAILED,
119
- { ...context, operation, path }
130
+ { ...context, operation, path },
120
131
  );
121
- this.name = 'FileOperationError';
132
+ this.name = "FileOperationError";
122
133
  Object.setPrototypeOf(this, FileOperationError.prototype);
123
134
  }
124
135
  }
@@ -128,23 +139,23 @@ export class FileOperationError extends TagLibError {
128
139
  */
129
140
  export class MetadataError extends TagLibError {
130
141
  constructor(
131
- public readonly operation: 'read' | 'write',
142
+ public readonly operation: "read" | "write",
132
143
  message: string,
133
144
  public readonly field?: string,
134
- context?: Record<string, unknown>
145
+ context?: Record<string, unknown>,
135
146
  ) {
136
147
  const details = [`Failed to ${operation} metadata`];
137
148
  if (field) {
138
149
  details.push(`Field: ${field}`);
139
150
  }
140
151
  details.push(message);
141
-
152
+
142
153
  super(
143
- details.join('. '),
154
+ details.join(". "),
144
155
  TagLibErrorCode.METADATA_ERROR,
145
- { ...context, operation, field }
156
+ { ...context, operation, field },
146
157
  );
147
- this.name = 'MetadataError';
158
+ this.name = "MetadataError";
148
159
  Object.setPrototypeOf(this, MetadataError.prototype);
149
160
  }
150
161
  }
@@ -155,11 +166,11 @@ export class MetadataError extends TagLibError {
155
166
  export class MemoryError extends TagLibError {
156
167
  constructor(message: string, context?: Record<string, unknown>) {
157
168
  super(
158
- createErrorMessage('Memory allocation failed', message),
169
+ createErrorMessage("Memory allocation failed", message),
159
170
  TagLibErrorCode.MEMORY_ERROR,
160
- context
171
+ context,
161
172
  );
162
- this.name = 'MemoryError';
173
+ this.name = "MemoryError";
163
174
  Object.setPrototypeOf(this, MemoryError.prototype);
164
175
  }
165
176
  }
@@ -172,19 +183,19 @@ export class EnvironmentError extends TagLibError {
172
183
  public readonly environment: string,
173
184
  message: string,
174
185
  public readonly requiredFeature?: string,
175
- context?: Record<string, unknown>
186
+ context?: Record<string, unknown>,
176
187
  ) {
177
188
  const details = [`Environment '${environment}' ${message}`];
178
189
  if (requiredFeature) {
179
190
  details.push(`Required feature: ${requiredFeature}`);
180
191
  }
181
-
192
+
182
193
  super(
183
- details.join('. '),
194
+ details.join(". "),
184
195
  TagLibErrorCode.ENVIRONMENT_ERROR,
185
- { ...context, environment, requiredFeature }
196
+ { ...context, environment, requiredFeature },
186
197
  );
187
- this.name = 'EnvironmentError';
198
+ this.name = "EnvironmentError";
188
199
  Object.setPrototypeOf(this, EnvironmentError.prototype);
189
200
  }
190
201
  }
@@ -212,15 +223,21 @@ export function isTagLibError(error: unknown): error is TagLibError {
212
223
  return error instanceof TagLibError;
213
224
  }
214
225
 
215
- export function isInvalidFormatError(error: unknown): error is InvalidFormatError {
226
+ export function isInvalidFormatError(
227
+ error: unknown,
228
+ ): error is InvalidFormatError {
216
229
  return error instanceof InvalidFormatError;
217
230
  }
218
231
 
219
- export function isUnsupportedFormatError(error: unknown): error is UnsupportedFormatError {
232
+ export function isUnsupportedFormatError(
233
+ error: unknown,
234
+ ): error is UnsupportedFormatError {
220
235
  return error instanceof UnsupportedFormatError;
221
236
  }
222
237
 
223
- export function isFileOperationError(error: unknown): error is FileOperationError {
238
+ export function isFileOperationError(
239
+ error: unknown,
240
+ ): error is FileOperationError {
224
241
  return error instanceof FileOperationError;
225
242
  }
226
243
 
@@ -234,4 +251,4 @@ export function isMemoryError(error: unknown): error is MemoryError {
234
251
 
235
252
  export function isEnvironmentError(error: unknown): error is EnvironmentError {
236
253
  return error instanceof EnvironmentError;
237
- }
254
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/file-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACrD,GACL,OAAO,CAAC,MAAM,EAAE,CAAC,CAgDnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,WAAoC,EAC1C,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC,CAmDD"}
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/file-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACrD,GACL,OAAO,CAAC,MAAM,EAAE,CAAC,CAgDnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,WAAoC,EAC1C,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC,CA6DD"}