taglib-wasm 1.0.5 → 1.0.7
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 +38 -443
- package/dist/index.browser.d.ts +2 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +76 -103
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/simple.browser.js +74 -103
- package/dist/src/errors/base.d.ts +1 -1
- package/dist/src/errors/base.d.ts.map +1 -1
- package/dist/src/errors/base.js +2 -1
- package/dist/src/folder-api/folder-operations.d.ts +2 -1
- package/dist/src/folder-api/folder-operations.d.ts.map +1 -1
- package/dist/src/folder-api/types.d.ts.map +1 -1
- package/dist/src/folder-api/types.js +4 -1
- package/dist/src/runtime/wasi-adapter/file-handle.d.ts.map +1 -1
- package/dist/src/runtime/wasi-adapter/file-handle.js +12 -2
- package/dist/src/runtime/wasi-adapter/wasm-io.d.ts.map +1 -1
- package/dist/src/runtime/wasi-adapter/wasm-io.js +9 -0
- package/dist/src/runtime/wasi-host.d.ts.map +1 -1
- package/dist/src/runtime/wasi-host.js +5 -0
- package/dist/src/simple/batch-operations.d.ts +4 -4
- package/dist/src/simple/batch-operations.d.ts.map +1 -1
- package/dist/src/simple/batch-operations.js +4 -1
- package/dist/src/simple/picture-operations.d.ts.map +1 -1
- package/dist/src/simple/picture-operations.js +6 -50
- package/dist/src/simple/tag-operations.d.ts.map +1 -1
- package/dist/src/simple/tag-operations.js +12 -65
- package/dist/src/simple/with-audio-file.d.ts +5 -0
- package/dist/src/simple/with-audio-file.d.ts.map +1 -0
- package/dist/src/simple/with-audio-file.js +32 -0
- package/dist/src/taglib/audio-file-base.d.ts +3 -3
- package/dist/src/taglib/audio-file-base.d.ts.map +1 -1
- package/dist/src/taglib/audio-file-base.js +8 -2
- package/dist/src/taglib/audio-file-impl.d.ts +2 -2
- package/dist/src/taglib/audio-file-impl.d.ts.map +1 -1
- package/dist/src/taglib/audio-file-interface.d.ts +3 -1
- package/dist/src/taglib/audio-file-interface.d.ts.map +1 -1
- package/dist/src/taglib/taglib-class.d.ts +4 -2
- package/dist/src/taglib/taglib-class.d.ts.map +1 -1
- package/dist/src/taglib/taglib-class.js +19 -5
- package/dist/src/types/audio-formats.d.ts +37 -3
- package/dist/src/types/audio-formats.d.ts.map +1 -1
- package/dist/src/types/audio-formats.js +6 -0
- package/dist/src/types/format-property-keys.d.ts +1 -1
- package/dist/src/types/format-property-keys.d.ts.map +1 -1
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +4 -0
- package/dist/src/wasm.d.ts +8 -0
- package/dist/src/wasm.d.ts.map +1 -1
- package/dist/taglib-web.wasm +0 -0
- package/dist/taglib-wrapper.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-operations.d.ts","sourceRoot":"","sources":["../../../src/simple/tag-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tag-operations.d.ts","sourceRoot":"","sources":["../../../src/simple/tag-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,MAAM,aAAa,CAAC;AAUrB;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,CAAC,CAKtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GACtB,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC,CAY1B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAW/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAKrB"}
|
|
@@ -1,49 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FileOperationError,
|
|
3
|
-
InvalidFormatError,
|
|
4
|
-
MetadataError
|
|
5
|
-
} from "../errors.js";
|
|
1
|
+
import { FileOperationError, MetadataError } from "../errors.js";
|
|
6
2
|
import { writeFileData } from "../utils/write.js";
|
|
7
3
|
import {
|
|
8
4
|
mapPropertiesToExtendedTag,
|
|
9
5
|
mergeTagUpdates
|
|
10
6
|
} from "../utils/tag-mapping.js";
|
|
11
7
|
import { getTagLib } from "./config.js";
|
|
8
|
+
import { withAudioFile, withAudioFileSave } from "./with-audio-file.js";
|
|
12
9
|
async function readTags(file) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
throw new InvalidFormatError(
|
|
18
|
-
"File may be corrupted or in an unsupported format"
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
const props = audioFile.properties();
|
|
22
|
-
return mapPropertiesToExtendedTag(props);
|
|
23
|
-
} finally {
|
|
24
|
-
audioFile.dispose();
|
|
25
|
-
}
|
|
10
|
+
return withAudioFile(
|
|
11
|
+
file,
|
|
12
|
+
(audioFile) => mapPropertiesToExtendedTag(audioFile.properties())
|
|
13
|
+
);
|
|
26
14
|
}
|
|
27
15
|
async function applyTags(file, tags) {
|
|
28
|
-
|
|
29
|
-
const audioFile = await taglib.open(file);
|
|
30
|
-
try {
|
|
31
|
-
if (!audioFile.isValid()) {
|
|
32
|
-
throw new InvalidFormatError(
|
|
33
|
-
"File may be corrupted or in an unsupported format"
|
|
34
|
-
);
|
|
35
|
-
}
|
|
16
|
+
return withAudioFileSave(file, (audioFile) => {
|
|
36
17
|
mergeTagUpdates(audioFile, tags);
|
|
37
|
-
|
|
38
|
-
throw new FileOperationError(
|
|
39
|
-
"save",
|
|
40
|
-
"Failed to save metadata changes. The file may be read-only or corrupted."
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
return audioFile.getFileBuffer();
|
|
44
|
-
} finally {
|
|
45
|
-
audioFile.dispose();
|
|
46
|
-
}
|
|
18
|
+
});
|
|
47
19
|
}
|
|
48
20
|
async function applyTagsToFile(file, tags) {
|
|
49
21
|
if (typeof file !== "string") {
|
|
@@ -56,14 +28,7 @@ async function applyTagsToFile(file, tags) {
|
|
|
56
28
|
await writeFileData(file, modifiedBuffer);
|
|
57
29
|
}
|
|
58
30
|
async function readProperties(file) {
|
|
59
|
-
|
|
60
|
-
const audioFile = await taglib.open(file);
|
|
61
|
-
try {
|
|
62
|
-
if (!audioFile.isValid()) {
|
|
63
|
-
throw new InvalidFormatError(
|
|
64
|
-
"File may be corrupted or in an unsupported format"
|
|
65
|
-
);
|
|
66
|
-
}
|
|
31
|
+
return withAudioFile(file, (audioFile) => {
|
|
67
32
|
const props = audioFile.audioProperties();
|
|
68
33
|
if (!props) {
|
|
69
34
|
throw new MetadataError(
|
|
@@ -73,9 +38,7 @@ async function readProperties(file) {
|
|
|
73
38
|
);
|
|
74
39
|
}
|
|
75
40
|
return props;
|
|
76
|
-
}
|
|
77
|
-
audioFile.dispose();
|
|
78
|
-
}
|
|
41
|
+
});
|
|
79
42
|
}
|
|
80
43
|
async function isValidAudioFile(file) {
|
|
81
44
|
try {
|
|
@@ -103,26 +66,10 @@ async function readFormat(file) {
|
|
|
103
66
|
}
|
|
104
67
|
}
|
|
105
68
|
async function clearTags(file) {
|
|
106
|
-
|
|
107
|
-
const audioFile = await taglib.open(file);
|
|
108
|
-
try {
|
|
109
|
-
if (!audioFile.isValid()) {
|
|
110
|
-
throw new InvalidFormatError(
|
|
111
|
-
"File may be corrupted or in an unsupported format"
|
|
112
|
-
);
|
|
113
|
-
}
|
|
69
|
+
return withAudioFileSave(file, (audioFile) => {
|
|
114
70
|
audioFile.setProperties({});
|
|
115
71
|
audioFile.removePictures();
|
|
116
|
-
|
|
117
|
-
throw new FileOperationError(
|
|
118
|
-
"save",
|
|
119
|
-
"Failed to save metadata changes. The file may be read-only or corrupted."
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
return audioFile.getFileBuffer();
|
|
123
|
-
} finally {
|
|
124
|
-
audioFile.dispose();
|
|
125
|
-
}
|
|
72
|
+
});
|
|
126
73
|
}
|
|
127
74
|
export {
|
|
128
75
|
applyTags,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AudioFile } from "../taglib/audio-file-interface.js";
|
|
2
|
+
import type { AudioFileInput } from "../types.js";
|
|
3
|
+
export declare function withAudioFile<T>(file: AudioFileInput, fn: (audioFile: AudioFile) => T): Promise<T>;
|
|
4
|
+
export declare function withAudioFileSave(file: AudioFileInput, fn: (audioFile: AudioFile) => void): Promise<Uint8Array>;
|
|
5
|
+
//# sourceMappingURL=with-audio-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-audio-file.d.ts","sourceRoot":"","sources":["../../../src/simple/with-audio-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GACjC,OAAO,CAAC,UAAU,CAAC,CAWrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FileOperationError, InvalidFormatError } from "../errors.js";
|
|
2
|
+
import { getTagLib } from "./config.js";
|
|
3
|
+
async function withAudioFile(file, fn) {
|
|
4
|
+
const taglib = await getTagLib();
|
|
5
|
+
const audioFile = await taglib.open(file);
|
|
6
|
+
try {
|
|
7
|
+
if (!audioFile.isValid()) {
|
|
8
|
+
throw new InvalidFormatError(
|
|
9
|
+
"File may be corrupted or in an unsupported format"
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
return fn(audioFile);
|
|
13
|
+
} finally {
|
|
14
|
+
audioFile.dispose();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
async function withAudioFileSave(file, fn) {
|
|
18
|
+
return withAudioFile(file, (audioFile) => {
|
|
19
|
+
fn(audioFile);
|
|
20
|
+
if (!audioFile.save()) {
|
|
21
|
+
throw new FileOperationError(
|
|
22
|
+
"save",
|
|
23
|
+
"Failed to save metadata changes. The file may be read-only or corrupted."
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
return audioFile.getFileBuffer();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
withAudioFile,
|
|
31
|
+
withAudioFileSave
|
|
32
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FileHandle, TagLibModule } from "../wasm.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AudioProperties, FileType, OpenOptions, PropertyMap } from "../types.js";
|
|
3
3
|
import type { MutableTag } from "./mutable-tag.js";
|
|
4
4
|
import type { TypedAudioFile } from "./audio-file-interface.js";
|
|
5
5
|
/**
|
|
@@ -13,10 +13,10 @@ export declare abstract class BaseAudioFileImpl {
|
|
|
13
13
|
protected fileHandle: FileHandle | null;
|
|
14
14
|
protected cachedAudioProperties: AudioProperties | null;
|
|
15
15
|
protected readonly sourcePath?: string;
|
|
16
|
-
protected originalSource?:
|
|
16
|
+
protected originalSource?: string | Uint8Array | ArrayBuffer | File;
|
|
17
17
|
protected isPartiallyLoaded: boolean;
|
|
18
18
|
protected readonly partialLoadOptions?: OpenOptions;
|
|
19
|
-
constructor(module: TagLibModule, fileHandle: FileHandle, sourcePath?: string, originalSource?:
|
|
19
|
+
constructor(module: TagLibModule, fileHandle: FileHandle, sourcePath?: string, originalSource?: string | Uint8Array | ArrayBuffer | File, isPartiallyLoaded?: boolean, partialLoadOptions?: OpenOptions);
|
|
20
20
|
protected get handle(): FileHandle;
|
|
21
21
|
getFormat(): FileType;
|
|
22
22
|
isFormat<F extends FileType>(format: F): this is TypedAudioFile<F>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-file-base.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAEV,
|
|
1
|
+
{"version":3,"file":"audio-file-base.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAEV,eAAe,EAEf,QAAQ,EACR,WAAW,EACX,WAAW,EACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;GAKG;AACH,8BAAsB,iBAAiB;IASnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IARzC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,SAAS,CAAC,qBAAqB,EAAE,eAAe,GAAG,IAAI,CAAQ;IAC/D,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAS;IAC7C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;gBAG/B,MAAM,EAAE,YAAY,EACvC,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,EACzD,iBAAiB,GAAE,OAAe,EAClC,kBAAkB,CAAC,EAAE,WAAW;IASlC,SAAS,KAAK,MAAM,IAAI,UAAU,CAKjC;IAED,SAAS,IAAI,QAAQ;IAIrB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC;IAIlE,GAAG,IAAI,UAAU;IA+DjB,eAAe,IAAI,eAAe,GAAG,SAAS;IAkC9C,UAAU,IAAI,WAAW;IAIzB,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQ5C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK5C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7C,KAAK,IAAI,OAAO;IAIhB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQ3C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOhC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,IAAI;IAQf,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGzB"}
|
|
@@ -97,6 +97,9 @@ class BaseAudioFileImpl {
|
|
|
97
97
|
if (!propsWrapper) {
|
|
98
98
|
return void 0;
|
|
99
99
|
}
|
|
100
|
+
const containerFormat = propsWrapper.containerFormat() || "unknown";
|
|
101
|
+
const mpegVersion = propsWrapper.mpegVersion();
|
|
102
|
+
const formatVersion = propsWrapper.formatVersion();
|
|
100
103
|
this.cachedAudioProperties = {
|
|
101
104
|
duration: propsWrapper.lengthInSeconds(),
|
|
102
105
|
bitrate: propsWrapper.bitrate(),
|
|
@@ -104,8 +107,11 @@ class BaseAudioFileImpl {
|
|
|
104
107
|
channels: propsWrapper.channels(),
|
|
105
108
|
bitsPerSample: propsWrapper.bitsPerSample(),
|
|
106
109
|
codec: propsWrapper.codec() || "unknown",
|
|
107
|
-
containerFormat
|
|
108
|
-
isLossless: propsWrapper.isLossless()
|
|
110
|
+
containerFormat,
|
|
111
|
+
isLossless: propsWrapper.isLossless(),
|
|
112
|
+
...mpegVersion > 0 ? { mpegVersion, mpegLayer: propsWrapper.mpegLayer() } : {},
|
|
113
|
+
...containerFormat === "MP4" || containerFormat === "ASF" ? { isEncrypted: propsWrapper.isEncrypted() } : {},
|
|
114
|
+
...formatVersion > 0 ? { formatVersion } : {}
|
|
109
115
|
};
|
|
110
116
|
}
|
|
111
117
|
return this.cachedAudioProperties;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FileHandle, TagLibModule } from "../wasm.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { OpenOptions, Picture } from "../types.js";
|
|
3
3
|
import type { Rating } from "../constants/complex-properties.js";
|
|
4
4
|
import type { AudioFile } from "./audio-file-interface.js";
|
|
5
5
|
import { BaseAudioFileImpl } from "./audio-file-base.js";
|
|
@@ -10,7 +10,7 @@ import { BaseAudioFileImpl } from "./audio-file-base.js";
|
|
|
10
10
|
* Use TagLib.open() to create instances.
|
|
11
11
|
*/
|
|
12
12
|
export declare class AudioFileImpl extends BaseAudioFileImpl implements AudioFile {
|
|
13
|
-
constructor(module: TagLibModule, fileHandle: FileHandle, sourcePath?: string, originalSource?:
|
|
13
|
+
constructor(module: TagLibModule, fileHandle: FileHandle, sourcePath?: string, originalSource?: string | Uint8Array | ArrayBuffer | File, isPartiallyLoaded?: boolean, partialLoadOptions?: OpenOptions);
|
|
14
14
|
save(): boolean;
|
|
15
15
|
getFileBuffer(): Uint8Array;
|
|
16
16
|
saveToFile(path?: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-file-impl.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"audio-file-impl.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAIjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,iBAAkB,YAAW,SAAS;gBAErE,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,EACzD,iBAAiB,GAAE,OAAe,EAClC,kBAAkB,CAAC,EAAE,WAAW;IAYlC,IAAI,IAAI,OAAO;IAYf,aAAa,IAAI,UAAU;IAKrB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D9C,WAAW,IAAI,OAAO,EAAE;IAUxB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAStC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASlC,cAAc,IAAI,IAAI;IAItB,UAAU,IAAI,MAAM,EAAE;IAUtB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAQnC,SAAS,IAAI,MAAM,GAAG,SAAS;IAK/B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAGhD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AudioProperties, FileType, Picture, PropertyMap } from "../types.js";
|
|
2
|
+
import type { TypedAudioProperties } from "../types/audio-formats.js";
|
|
2
3
|
import type { Rating } from "../constants/complex-properties.js";
|
|
3
4
|
import type { MutableTag } from "./mutable-tag.js";
|
|
4
5
|
import type { FormatPropertyKey } from "../types/format-property-keys.js";
|
|
@@ -75,8 +76,9 @@ export interface AudioFile {
|
|
|
75
76
|
* Note: The string-accepting overloads are intentionally removed. If you need
|
|
76
77
|
* arbitrary string keys (e.g. custom tags), use the un-narrowed AudioFile reference.
|
|
77
78
|
*/
|
|
78
|
-
export interface TypedAudioFile<F extends FileType> extends Omit<AudioFile, "getProperty" | "setProperty"> {
|
|
79
|
+
export interface TypedAudioFile<F extends FileType> extends Omit<AudioFile, "getProperty" | "setProperty" | "audioProperties"> {
|
|
79
80
|
getFormat(): F;
|
|
81
|
+
audioProperties(): TypedAudioProperties<F> | undefined;
|
|
80
82
|
getProperty<K extends FormatPropertyKey<F>>(key: K): import("../constants.js").PropertyValue<K> | undefined;
|
|
81
83
|
setProperty<K extends FormatPropertyKey<F>>(key: K, value: import("../constants.js").PropertyValue<K>): void;
|
|
82
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-file-interface.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,OAAO,EACP,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,SAAS,IAAI,QAAQ,CAAC;IAEtB,6DAA6D;IAC7D,GAAG,IAAI,UAAU,CAAC;IAElB,mEAAmE;IACnE,eAAe,IAAI,eAAe,GAAG,SAAS,CAAC;IAE/C,sDAAsD;IACtD,UAAU,IAAI,WAAW,CAAC;IAE1B,0DAA0D;IAC1D,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAE7C,0DAA0D;IAC1D,WAAW,CAAC,CAAC,SAAS,OAAO,iBAAiB,EAAE,WAAW,EACzD,GAAG,EAAE,CAAC,GACL,OAAO,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE1D,2DAA2D;IAC3D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE7C,mDAAmD;IACnD,WAAW,CAAC,CAAC,SAAS,OAAO,iBAAiB,EAAE,WAAW,EACzD,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,OAAO,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,GAChD,IAAI,CAAC;IAER,oDAAoD;IACpD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9C,gFAAgF;IAChF,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IAEnE,wCAAwC;IACxC,KAAK,IAAI,OAAO,CAAC;IAEjB,yCAAyC;IACzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5C,yCAAyC;IACzC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C,4CAA4C;IAC5C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,gDAAgD;IAChD,IAAI,IAAI,OAAO,CAAC;IAEhB,0EAA0E;IAC1E,aAAa,IAAI,UAAU,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,8DAA8D;IAC9D,OAAO,IAAI,OAAO,CAAC;IAEnB,sDAAsD;IACtD,WAAW,IAAI,OAAO,EAAE,CAAC;IAEzB,wEAAwE;IACxE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEvC,8CAA8C;IAC9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnC,+CAA+C;IAC/C,cAAc,IAAI,IAAI,CAAC;IAEvB,gEAAgE;IAChE,UAAU,IAAI,MAAM,EAAE,CAAC;IAEvB,6DAA6D;IAC7D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpC,8DAA8D;IAC9D,SAAS,IAAI,MAAM,GAAG,SAAS,CAAC;IAEhC,mDAAmD;IACnD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhD,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;IAEhB,uDAAuD;IACvD,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,CAChD,SAAQ,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"audio-file-interface.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WasmModule } from "../wasm.js";
|
|
2
2
|
import type { AudioFileInput, OpenOptions, TagInput } from "../types.js";
|
|
3
3
|
import type { LoadTagLibOptions } from "../runtime/loader-types.js";
|
|
4
|
+
import { type NamedAudioInput } from "../types/audio-formats.js";
|
|
4
5
|
import type { AudioFile } from "./audio-file-interface.js";
|
|
5
6
|
/**
|
|
6
7
|
* Main TagLib interface for audio metadata operations.
|
|
@@ -17,7 +18,7 @@ export declare class TagLib {
|
|
|
17
18
|
static initialize(options?: LoadTagLibOptions): Promise<TagLib>;
|
|
18
19
|
/**
|
|
19
20
|
* Open an audio file for reading and writing metadata.
|
|
20
|
-
* @param input - File path, Uint8Array, ArrayBuffer,
|
|
21
|
+
* @param input - File path, Uint8Array, ArrayBuffer, File object, or NamedAudioInput.
|
|
21
22
|
* @param options - Partial-loading options for large files.
|
|
22
23
|
* @returns An AudioFile instance (use `using` for automatic cleanup).
|
|
23
24
|
* @throws {TagLibInitializationError} If the module is not properly initialized.
|
|
@@ -35,7 +36,7 @@ export declare class TagLib {
|
|
|
35
36
|
* @throws {FileOperationError} If saving to disk fails.
|
|
36
37
|
*/
|
|
37
38
|
edit(input: string, fn: (file: AudioFile) => void | Promise<void>): Promise<void>;
|
|
38
|
-
edit(input: Uint8Array | ArrayBuffer | File, fn: (file: AudioFile) => void | Promise<void>): Promise<Uint8Array>;
|
|
39
|
+
edit(input: Uint8Array | ArrayBuffer | File | NamedAudioInput, fn: (file: AudioFile) => void | Promise<void>): Promise<Uint8Array>;
|
|
39
40
|
/**
|
|
40
41
|
* Update tags in a file and save to disk in one operation.
|
|
41
42
|
* @param path - Path to the audio file.
|
|
@@ -55,6 +56,7 @@ export declare class TagLib {
|
|
|
55
56
|
copyWithTags(sourcePath: string, destPath: string, tags: Partial<TagInput>): Promise<void>;
|
|
56
57
|
/** Returns the taglib-wasm version with embedded TagLib version. */
|
|
57
58
|
version(): string;
|
|
59
|
+
private taglibVersion;
|
|
58
60
|
}
|
|
59
61
|
/**
|
|
60
62
|
* Create a TagLib instance from a pre-loaded Wasm module.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taglib-class.d.ts","sourceRoot":"","sources":["../../../src/taglib/taglib-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"taglib-class.d.ts","sourceRoot":"","sources":["../../../src/taglib/taglib-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM3D;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,UAAU;IAI9B;;;;;OAKG;WACU,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMrE;;;;;;;OAOG;IACG,IAAI,CACR,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,CAAC;IAyDrB;;;;;;;;;OASG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC;IACV,IAAI,CACR,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,GAAG,eAAe,EACxD,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC;IAmBtB;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE;;;;;;;OAOG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC;IAUhB,oEAAoE;IACpE,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,aAAa;CAStB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtE"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
+
import {
|
|
5
|
+
isNamedAudioInput
|
|
6
|
+
} from "../types/audio-formats.js";
|
|
4
7
|
import { InvalidFormatError, TagLibInitializationError } from "../errors.js";
|
|
5
8
|
import { AudioFileImpl } from "./audio-file-impl.js";
|
|
6
9
|
import { loadAudioData } from "./load-audio-data.js";
|
|
7
10
|
import { mergeTagUpdates } from "../utils/tag-mapping.js";
|
|
11
|
+
import { VERSION } from "../version.js";
|
|
8
12
|
class TagLib {
|
|
9
13
|
constructor(module) {
|
|
10
14
|
__publicField(this, "module");
|
|
@@ -23,7 +27,7 @@ class TagLib {
|
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
29
|
* Open an audio file for reading and writing metadata.
|
|
26
|
-
* @param input - File path, Uint8Array, ArrayBuffer,
|
|
30
|
+
* @param input - File path, Uint8Array, ArrayBuffer, File object, or NamedAudioInput.
|
|
27
31
|
* @param options - Partial-loading options for large files.
|
|
28
32
|
* @returns An AudioFile instance (use `using` for automatic cleanup).
|
|
29
33
|
* @throws {TagLibInitializationError} If the module is not properly initialized.
|
|
@@ -35,7 +39,8 @@ class TagLib {
|
|
|
35
39
|
"TagLib module not properly initialized: createFileHandle not found. Make sure the module is fully loaded before calling open."
|
|
36
40
|
);
|
|
37
41
|
}
|
|
38
|
-
const
|
|
42
|
+
const actualInput = isNamedAudioInput(input) ? input.data : input;
|
|
43
|
+
const sourcePath = typeof actualInput === "string" ? actualInput : void 0;
|
|
39
44
|
const opts = {
|
|
40
45
|
partial: false,
|
|
41
46
|
maxHeaderSize: 1024 * 1024,
|
|
@@ -43,7 +48,7 @@ class TagLib {
|
|
|
43
48
|
...options
|
|
44
49
|
};
|
|
45
50
|
const { data: audioData, isPartiallyLoaded } = await loadAudioData(
|
|
46
|
-
|
|
51
|
+
actualInput,
|
|
47
52
|
opts
|
|
48
53
|
);
|
|
49
54
|
const buffer = audioData.buffer.slice(
|
|
@@ -64,7 +69,7 @@ class TagLib {
|
|
|
64
69
|
this.module,
|
|
65
70
|
fileHandle,
|
|
66
71
|
sourcePath,
|
|
67
|
-
|
|
72
|
+
actualInput,
|
|
68
73
|
isPartiallyLoaded,
|
|
69
74
|
opts
|
|
70
75
|
);
|
|
@@ -124,7 +129,16 @@ class TagLib {
|
|
|
124
129
|
}
|
|
125
130
|
/** Returns the taglib-wasm version with embedded TagLib version. */
|
|
126
131
|
version() {
|
|
127
|
-
return
|
|
132
|
+
return `${VERSION} (TagLib ${this.taglibVersion()})`;
|
|
133
|
+
}
|
|
134
|
+
taglibVersion() {
|
|
135
|
+
if (this.module.getVersion) {
|
|
136
|
+
return this.module.getVersion();
|
|
137
|
+
}
|
|
138
|
+
if (this.module.version) {
|
|
139
|
+
return this.module.version();
|
|
140
|
+
}
|
|
141
|
+
return "unknown";
|
|
128
142
|
}
|
|
129
143
|
}
|
|
130
144
|
async function createTagLib(module) {
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Named audio input for buffer-based operations.
|
|
3
|
+
* Provides a name for correlation in batch results.
|
|
4
|
+
*/
|
|
5
|
+
export interface NamedAudioInput {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly data: Uint8Array | ArrayBuffer;
|
|
8
|
+
}
|
|
1
9
|
/**
|
|
2
10
|
* Input types accepted by TagLib-Wasm for audio files
|
|
3
11
|
*/
|
|
4
|
-
export type AudioFileInput = string | Uint8Array | ArrayBuffer | File;
|
|
12
|
+
export type AudioFileInput = string | Uint8Array | ArrayBuffer | File | NamedAudioInput;
|
|
13
|
+
export declare function isNamedAudioInput(input: AudioFileInput): input is NamedAudioInput;
|
|
5
14
|
/**
|
|
6
15
|
* Supported file types detected by TagLib.
|
|
7
16
|
* "unknown" indicates the format could not be determined.
|
|
@@ -15,7 +24,7 @@ export type AudioFileInput = string | Uint8Array | ArrayBuffer | File;
|
|
|
15
24
|
* }
|
|
16
25
|
* ```
|
|
17
26
|
*/
|
|
18
|
-
export type FileType = "MP3" | "MP4" | "FLAC" | "OGG" | "OPUS" | "WAV" | "AIFF" | "ASF" | "APE" | "DSF" | "DSDIFF" | "WV" | "MPC" | "TTA" | "SHN" | "MOD" | "S3M" | "IT" | "XM" | "OggFLAC" | "SPEEX" | "unknown";
|
|
27
|
+
export type FileType = "MP3" | "MP4" | "FLAC" | "OGG" | "OPUS" | "WAV" | "AIFF" | "ASF" | "APE" | "DSF" | "DSDIFF" | "WV" | "MPC" | "TTA" | "SHN" | "MOD" | "S3M" | "IT" | "XM" | "OggFLAC" | "SPEEX" | "MATROSKA" | "unknown";
|
|
19
28
|
/**
|
|
20
29
|
* Container formats for audio files.
|
|
21
30
|
* A container format defines how audio data and metadata are stored in a file.
|
|
@@ -28,7 +37,7 @@ export type FileType = "MP3" | "MP4" | "FLAC" | "OGG" | "OPUS" | "WAV" | "AIFF"
|
|
|
28
37
|
* console.log(`Codec: ${props.codec}`); // "AAC"
|
|
29
38
|
* ```
|
|
30
39
|
*/
|
|
31
|
-
export type ContainerFormat = "MP3" | "MP4" | "FLAC" | "OGG" | "WAV" | "AIFF" | "ASF" | "APE" | "DSF" | "DSDIFF" | "WavPack" | "MPC" | "TTA" | "Shorten" | "MOD" | "S3M" | "IT" | "XM" | "unknown";
|
|
40
|
+
export type ContainerFormat = "MP3" | "MP4" | "FLAC" | "OGG" | "WAV" | "AIFF" | "ASF" | "APE" | "DSF" | "DSDIFF" | "WavPack" | "MPC" | "TTA" | "Shorten" | "MOD" | "S3M" | "IT" | "XM" | "Matroska" | "unknown";
|
|
32
41
|
/**
|
|
33
42
|
* Audio codecs (compression formats) for audio data.
|
|
34
43
|
* A codec defines how audio is encoded/compressed within a container.
|
|
@@ -87,4 +96,29 @@ export interface AudioProperties {
|
|
|
87
96
|
/** Format-specific version number (APE, WavPack, TTA, etc.) */
|
|
88
97
|
readonly formatVersion?: number;
|
|
89
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* AudioProperties narrowed by file format, making format-specific fields required.
|
|
101
|
+
*
|
|
102
|
+
* After narrowing via `isFormat()`, optional fields that are guaranteed present
|
|
103
|
+
* for a given format become required:
|
|
104
|
+
* - MP3: `mpegVersion`, `mpegLayer`
|
|
105
|
+
* - MP4/ASF: `isEncrypted`
|
|
106
|
+
* - APE/WV/TTA/MPC/SHN: `formatVersion`
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* if (file.isFormat("MP3")) {
|
|
111
|
+
* const props = file.audioProperties();
|
|
112
|
+
* props?.mpegVersion; // number (not number | undefined)
|
|
113
|
+
* }
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export type TypedAudioProperties<F extends FileType> = F extends "MP3" ? AudioProperties & {
|
|
117
|
+
readonly mpegVersion: number;
|
|
118
|
+
readonly mpegLayer: number;
|
|
119
|
+
} : F extends "MP4" | "ASF" ? AudioProperties & {
|
|
120
|
+
readonly isEncrypted: boolean;
|
|
121
|
+
} : F extends "APE" | "WV" | "TTA" | "MPC" | "SHN" ? AudioProperties & {
|
|
122
|
+
readonly formatVersion: number;
|
|
123
|
+
} : AudioProperties;
|
|
90
124
|
//# sourceMappingURL=audio-formats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-formats.d.ts","sourceRoot":"","sources":["../../../src/types/audio-formats.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"audio-formats.d.ts","sourceRoot":"","sources":["../../../src/types/audio-formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { FileType } from "./audio-formats.js";
|
|
8
8
|
export type TagFormat = "ID3v2" | "MP4" | "Vorbis" | "WAV";
|
|
9
|
-
export type FileTypeToTagFormat<F extends FileType> = F extends "MP3" | "AIFF" ? "ID3v2" : F extends "MP4" ? "MP4" : F extends "FLAC" | "OGG" | "OPUS" | "OggFLAC" | "SPEEX" ? "Vorbis" : F extends "WAV" ? "WAV" : TagFormat;
|
|
9
|
+
export type FileTypeToTagFormat<F extends FileType> = F extends "MP3" | "AIFF" ? "ID3v2" : F extends "MP4" ? "MP4" : F extends "FLAC" | "OGG" | "OPUS" | "OggFLAC" | "SPEEX" | "MATROSKA" ? "Vorbis" : F extends "WAV" ? "WAV" : TagFormat;
|
|
10
10
|
type AllPropertyDefs = typeof import("../constants/basic-properties.js").BASIC_PROPERTIES & typeof import("../constants/general-extended-properties.js").GENERAL_EXTENDED_PROPERTIES & typeof import("../constants/specialized-properties.js").SPECIALIZED_PROPERTIES;
|
|
11
11
|
type PropertyKeysForTagFormat<TF extends TagFormat> = {
|
|
12
12
|
[K in keyof AllPropertyDefs]: TF extends AllPropertyDefs[K]["supportedFormats"][number] ? K : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-property-keys.d.ts","sourceRoot":"","sources":["../../../src/types/format-property-keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAM3D,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,KAAK,GAAG,MAAM,GAC1E,OAAO,GACP,CAAC,SAAS,KAAK,GAAG,KAAK,GACvB,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"format-property-keys.d.ts","sourceRoot":"","sources":["../../../src/types/format-property-keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAM3D,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,KAAK,GAAG,MAAM,GAC1E,OAAO,GACP,CAAC,SAAS,KAAK,GAAG,KAAK,GACvB,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAClE,QAAQ,GACV,CAAC,SAAS,KAAK,GAAG,KAAK,GACvB,SAAS,CAAC;AAId,KAAK,eAAe,GAChB,cAAc,kCAAkC,EAAE,gBAAgB,GAClE,cAAc,6CAA6C,EAAE,2BAA2B,GACxF,cAAc,wCAAwC,EAAE,sBAAsB,CAAC;AAEnF,KAAK,wBAAwB,CAAC,EAAE,SAAS,SAAS,IAAI;KACnD,CAAC,IAAI,MAAM,eAAe,GAAG,EAAE,SAC9B,eAAe,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;CAC7D,CAAC,MAAM,eAAe,CAAC,CAAC;AAEzB,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,IAAI,wBAAwB,CAC1E,mBAAmB,CAAC,CAAC,CAAC,CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/src/wasm.d.ts
CHANGED
|
@@ -93,6 +93,10 @@ export interface AudioPropertiesWrapper {
|
|
|
93
93
|
codec(): string;
|
|
94
94
|
containerFormat(): string;
|
|
95
95
|
isLossless(): boolean;
|
|
96
|
+
mpegVersion(): number;
|
|
97
|
+
mpegLayer(): number;
|
|
98
|
+
isEncrypted(): boolean;
|
|
99
|
+
formatVersion(): number;
|
|
96
100
|
}
|
|
97
101
|
/**
|
|
98
102
|
* TagLib WebAssembly module interface.
|
|
@@ -108,6 +112,10 @@ export interface TagLibModule extends Omit<EmscriptenModule, "then"> {
|
|
|
108
112
|
AudioPropertiesWrapper: new () => AudioPropertiesWrapper;
|
|
109
113
|
/** @internal Create a new file handle for audio file operations */
|
|
110
114
|
createFileHandle(): FileHandle;
|
|
115
|
+
/** @internal Embind function: returns TagLib version (e.g. "2.2.1") */
|
|
116
|
+
getVersion?(): string;
|
|
117
|
+
/** @internal WASI adapter: returns TagLib version (e.g. "2.2.1") */
|
|
118
|
+
version?(): string;
|
|
111
119
|
/** @internal C-style function: create file from buffer */
|
|
112
120
|
_taglib_file_new_from_buffer?(ptr: number, size: number): number;
|
|
113
121
|
/** @internal C-style function: delete file handle */
|
package/dist/src/wasm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,gBAAgB;IAE/B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAGhC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,KAAK,CAAC,CACJ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,EAAE,GAAG,EAAE,GACV,GAAG,CAAC;IACP,KAAK,CAAC,CACJ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAE3B,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAChC,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvC,EAAE,CAAC,EAAE,GAAG,CAAC;IAGT,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAGD,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC1C,OAAO,IAAI,OAAO,CAAC;IACnB,IAAI,IAAI,OAAO,CAAC;IAChB,SAAS,IAAI,MAAM,CAAC;IACpB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACrD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC;IACjB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,IAAI,UAAU,CAAC;IACrB,kBAAkB,IAAI,sBAAsB,GAAG,IAAI,CAAC;IACpD,SAAS,IAAI,UAAU,CAAC;IACxB,WAAW,IAAI,UAAU,EAAE,CAAC;IAC5B,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACtC,cAAc,IAAI,IAAI,CAAC;IACvB,UAAU,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnE,UAAU,CACR,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAC9D,IAAI,CAAC;IACR,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,IAAI,MAAM,CAAC;IACjB,KAAK,IAAI,MAAM,CAAC;IAChB,OAAO,IAAI,MAAM,CAAC;IAClB,KAAK,IAAI,MAAM,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,KAAK,IAAI,MAAM,CAAC;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,IAAI,MAAM,CAAC;IAC1B,oBAAoB,IAAI,MAAM,CAAC;IAC/B,OAAO,IAAI,MAAM,CAAC;IAClB,UAAU,IAAI,MAAM,CAAC;IACrB,QAAQ,IAAI,MAAM,CAAC;IACnB,aAAa,IAAI,MAAM,CAAC;IACxB,KAAK,IAAI,MAAM,CAAC;IAChB,eAAe,IAAI,MAAM,CAAC;IAC1B,UAAU,IAAI,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/wasm.ts"],"names":[],"mappings":"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"}
|
package/dist/taglib-web.wasm
CHANGED
|
Binary file
|