taglib-wasm 1.0.6 → 1.0.8

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 (45) hide show
  1. package/dist/index.browser.js +285 -41
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/simple.browser.js +265 -20
  5. package/dist/src/constants/additional-properties.d.ts +242 -0
  6. package/dist/src/constants/additional-properties.d.ts.map +1 -0
  7. package/dist/src/constants/additional-properties.js +204 -0
  8. package/dist/src/constants/general-extended-properties.d.ts +7 -3
  9. package/dist/src/constants/general-extended-properties.d.ts.map +1 -1
  10. package/dist/src/constants/general-extended-properties.js +5 -3
  11. package/dist/src/constants/properties.d.ts +239 -3
  12. package/dist/src/constants/properties.d.ts.map +1 -1
  13. package/dist/src/constants/properties.js +3 -1
  14. package/dist/src/constants/tags.d.ts +20 -21
  15. package/dist/src/constants/tags.d.ts.map +1 -1
  16. package/dist/src/constants/tags.js +20 -21
  17. package/dist/src/runtime/wasi-adapter/file-handle.d.ts.map +1 -1
  18. package/dist/src/runtime/wasi-adapter/file-handle.js +9 -1
  19. package/dist/src/simple/tag-operations.d.ts.map +1 -1
  20. package/dist/src/simple/tag-operations.js +8 -4
  21. package/dist/src/simple/with-audio-file.d.ts +3 -2
  22. package/dist/src/simple/with-audio-file.d.ts.map +1 -1
  23. package/dist/src/simple/with-audio-file.js +11 -4
  24. package/dist/src/taglib/audio-file-base.d.ts.map +1 -1
  25. package/dist/src/taglib/audio-file-base.js +8 -2
  26. package/dist/src/taglib/audio-file-interface.d.ts +3 -1
  27. package/dist/src/taglib/audio-file-interface.d.ts.map +1 -1
  28. package/dist/src/taglib/taglib-class.d.ts +1 -0
  29. package/dist/src/taglib/taglib-class.d.ts.map +1 -1
  30. package/dist/src/taglib/taglib-class.js +19 -8
  31. package/dist/src/types/audio-formats.d.ts +25 -0
  32. package/dist/src/types/audio-formats.d.ts.map +1 -1
  33. package/dist/src/types/config.d.ts +1 -1
  34. package/dist/src/types/metadata-mappings.d.ts.map +1 -1
  35. package/dist/src/types/metadata-mappings.js +20 -1
  36. package/dist/src/types/tags.d.ts +24 -0
  37. package/dist/src/types/tags.d.ts.map +1 -1
  38. package/dist/src/version.d.ts +2 -0
  39. package/dist/src/version.d.ts.map +1 -0
  40. package/dist/src/version.js +4 -0
  41. package/dist/src/wasm.d.ts +8 -0
  42. package/dist/src/wasm.d.ts.map +1 -1
  43. package/dist/taglib-web.wasm +0 -0
  44. package/dist/taglib-wrapper.js +1 -1
  45. package/package.json +1 -1
@@ -461,6 +461,215 @@ var init_write = __esm({
461
461
  }
462
462
  });
463
463
 
464
+ // src/constants/additional-properties.ts
465
+ var ADDITIONAL_PROPERTIES;
466
+ var init_additional_properties = __esm({
467
+ "src/constants/additional-properties.ts"() {
468
+ "use strict";
469
+ ADDITIONAL_PROPERTIES = {
470
+ albumArtistSort: {
471
+ key: "ALBUMARTISTSORT",
472
+ description: "Sort name for album artist (for alphabetization)",
473
+ type: "string",
474
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
475
+ mappings: {
476
+ id3v2: { frame: "TSO2" },
477
+ vorbis: "ALBUMARTISTSORT",
478
+ mp4: "soaa"
479
+ }
480
+ },
481
+ composerSort: {
482
+ key: "COMPOSERSORT",
483
+ description: "Sort name for composer (for alphabetization)",
484
+ type: "string",
485
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
486
+ mappings: {
487
+ id3v2: { frame: "TSOC" },
488
+ vorbis: "COMPOSERSORT",
489
+ mp4: "soco"
490
+ }
491
+ },
492
+ subtitle: {
493
+ key: "SUBTITLE",
494
+ description: "Subtitle or description refinement",
495
+ type: "string",
496
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
497
+ mappings: {
498
+ id3v2: { frame: "TIT3" },
499
+ vorbis: "SUBTITLE",
500
+ mp4: "----:com.apple.iTunes:SUBTITLE"
501
+ }
502
+ },
503
+ label: {
504
+ key: "LABEL",
505
+ description: "Record label name",
506
+ type: "string",
507
+ supportedFormats: ["ID3v2", "MP4", "Vorbis", "WAV"],
508
+ mappings: {
509
+ id3v2: { frame: "TPUB" },
510
+ vorbis: "LABEL",
511
+ mp4: "----:com.apple.iTunes:LABEL",
512
+ wav: "IPUB"
513
+ }
514
+ },
515
+ producer: {
516
+ key: "PRODUCER",
517
+ description: "Producer of the recording",
518
+ type: "string",
519
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
520
+ mappings: {
521
+ id3v2: { frame: "TXXX", description: "PRODUCER" },
522
+ vorbis: "PRODUCER",
523
+ mp4: "----:com.apple.iTunes:PRODUCER"
524
+ }
525
+ },
526
+ radioStationOwner: {
527
+ key: "RADIOSTATIONOWNER",
528
+ description: "Owner of the radio station",
529
+ type: "string",
530
+ supportedFormats: ["ID3v2"],
531
+ mappings: {
532
+ id3v2: { frame: "TRSO" }
533
+ }
534
+ },
535
+ asin: {
536
+ key: "ASIN",
537
+ description: "Amazon Standard Identification Number",
538
+ type: "string",
539
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
540
+ mappings: {
541
+ id3v2: { frame: "TXXX", description: "ASIN" },
542
+ vorbis: "ASIN",
543
+ mp4: "----:com.apple.iTunes:ASIN"
544
+ }
545
+ },
546
+ musicbrainzReleaseArtistId: {
547
+ key: "MUSICBRAINZ_ALBUMARTISTID",
548
+ description: "MusicBrainz Release Artist ID (UUID)",
549
+ type: "string",
550
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
551
+ mappings: {
552
+ id3v2: {
553
+ frame: "TXXX",
554
+ description: "MusicBrainz Album Artist Id"
555
+ },
556
+ vorbis: "MUSICBRAINZ_ALBUMARTISTID",
557
+ mp4: "----:com.apple.iTunes:MusicBrainz Album Artist Id"
558
+ }
559
+ },
560
+ musicbrainzWorkId: {
561
+ key: "MUSICBRAINZ_WORKID",
562
+ description: "MusicBrainz Work ID (UUID)",
563
+ type: "string",
564
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
565
+ mappings: {
566
+ id3v2: { frame: "TXXX", description: "MusicBrainz Work Id" },
567
+ vorbis: "MUSICBRAINZ_WORKID",
568
+ mp4: "----:com.apple.iTunes:MusicBrainz Work Id"
569
+ }
570
+ },
571
+ musicbrainzReleaseTrackId: {
572
+ key: "MUSICBRAINZ_RELEASETRACKID",
573
+ description: "MusicBrainz Release Track ID (UUID)",
574
+ type: "string",
575
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
576
+ mappings: {
577
+ id3v2: {
578
+ frame: "TXXX",
579
+ description: "MusicBrainz Release Track Id"
580
+ },
581
+ vorbis: "MUSICBRAINZ_RELEASETRACKID",
582
+ mp4: "----:com.apple.iTunes:MusicBrainz Release Track Id"
583
+ }
584
+ },
585
+ podcastId: {
586
+ key: "PODCASTID",
587
+ description: "Podcast episode identifier",
588
+ type: "string",
589
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
590
+ mappings: {
591
+ id3v2: { frame: "TGID" },
592
+ vorbis: "PODCASTID",
593
+ mp4: "egid"
594
+ }
595
+ },
596
+ podcastUrl: {
597
+ key: "PODCASTURL",
598
+ description: "Podcast feed URL",
599
+ type: "string",
600
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
601
+ mappings: {
602
+ id3v2: { frame: "WFED" },
603
+ vorbis: "PODCASTURL",
604
+ mp4: "purl"
605
+ }
606
+ },
607
+ originalArtist: {
608
+ key: "ORIGINALARTIST",
609
+ description: "Original artist of a cover or remix",
610
+ type: "string",
611
+ supportedFormats: ["ID3v2", "Vorbis"],
612
+ mappings: {
613
+ id3v2: { frame: "TOPE" },
614
+ vorbis: "ORIGINALARTIST"
615
+ }
616
+ },
617
+ originalAlbum: {
618
+ key: "ORIGINALALBUM",
619
+ description: "Original album of a cover or remix",
620
+ type: "string",
621
+ supportedFormats: ["ID3v2", "Vorbis"],
622
+ mappings: {
623
+ id3v2: { frame: "TOAL" },
624
+ vorbis: "ORIGINALALBUM"
625
+ }
626
+ },
627
+ originalDate: {
628
+ key: "ORIGINALDATE",
629
+ description: "Original release date",
630
+ type: "string",
631
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
632
+ mappings: {
633
+ id3v2: { frame: "TDOR" },
634
+ vorbis: "ORIGINALDATE",
635
+ mp4: "----:com.apple.iTunes:ORIGINALDATE"
636
+ }
637
+ },
638
+ script: {
639
+ key: "SCRIPT",
640
+ description: "Writing script used for text (e.g., Latn, Jpan)",
641
+ type: "string",
642
+ supportedFormats: ["MP4", "Vorbis"],
643
+ mappings: {
644
+ vorbis: "SCRIPT",
645
+ mp4: "----:com.apple.iTunes:SCRIPT"
646
+ }
647
+ },
648
+ involvedPeople: {
649
+ key: "INVOLVEDPEOPLE",
650
+ description: "List of involved people and their roles",
651
+ type: "string",
652
+ supportedFormats: ["ID3v2"],
653
+ mappings: {
654
+ id3v2: { frame: "TIPL" }
655
+ }
656
+ },
657
+ encoding: {
658
+ key: "ENCODING",
659
+ description: "Encoding software or settings",
660
+ type: "string",
661
+ supportedFormats: ["ID3v2", "MP4", "Vorbis", "WAV"],
662
+ mappings: {
663
+ id3v2: { frame: "TSSE" },
664
+ vorbis: "ENCODING",
665
+ mp4: "\xA9too",
666
+ wav: "ISFT"
667
+ }
668
+ }
669
+ };
670
+ }
671
+ });
672
+
464
673
  // src/constants/basic-properties.ts
465
674
  var BASIC_PROPERTIES;
466
675
  var init_basic_properties = __esm({
@@ -710,12 +919,14 @@ var init_general_extended_properties = __esm({
710
919
  }
711
920
  },
712
921
  remixedBy: {
713
- key: "REMIXEDBY",
922
+ key: "REMIXER",
714
923
  description: "Person who remixed the track",
715
924
  type: "string",
716
- supportedFormats: ["Vorbis"],
925
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
717
926
  mappings: {
718
- vorbis: "REMIXEDBY"
927
+ id3v2: { frame: "TPE4" },
928
+ vorbis: "REMIXER",
929
+ mp4: "----:com.apple.iTunes:REMIXER"
719
930
  }
720
931
  },
721
932
  language: {
@@ -965,13 +1176,15 @@ var PROPERTIES, _toTagLib, _fromTagLib;
965
1176
  var init_properties = __esm({
966
1177
  "src/constants/properties.ts"() {
967
1178
  "use strict";
1179
+ init_additional_properties();
968
1180
  init_basic_properties();
969
1181
  init_general_extended_properties();
970
1182
  init_specialized_properties();
971
1183
  PROPERTIES = {
972
1184
  ...BASIC_PROPERTIES,
973
1185
  ...GENERAL_EXTENDED_PROPERTIES,
974
- ...SPECIALIZED_PROPERTIES
1186
+ ...SPECIALIZED_PROPERTIES,
1187
+ ...ADDITIONAL_PROPERTIES
975
1188
  };
976
1189
  _toTagLib = {};
977
1190
  _fromTagLib = {};
@@ -1087,6 +1300,9 @@ var init_audio_file_base = __esm({
1087
1300
  if (!propsWrapper) {
1088
1301
  return void 0;
1089
1302
  }
1303
+ const containerFormat = propsWrapper.containerFormat() || "unknown";
1304
+ const mpegVersion = propsWrapper.mpegVersion();
1305
+ const formatVersion = propsWrapper.formatVersion();
1090
1306
  this.cachedAudioProperties = {
1091
1307
  duration: propsWrapper.lengthInSeconds(),
1092
1308
  bitrate: propsWrapper.bitrate(),
@@ -1094,8 +1310,11 @@ var init_audio_file_base = __esm({
1094
1310
  channels: propsWrapper.channels(),
1095
1311
  bitsPerSample: propsWrapper.bitsPerSample(),
1096
1312
  codec: propsWrapper.codec() || "unknown",
1097
- containerFormat: propsWrapper.containerFormat() || "unknown",
1098
- isLossless: propsWrapper.isLossless()
1313
+ containerFormat,
1314
+ isLossless: propsWrapper.isLossless(),
1315
+ ...mpegVersion > 0 ? { mpegVersion, mpegLayer: propsWrapper.mpegLayer() } : {},
1316
+ ...containerFormat === "MP4" || containerFormat === "ASF" ? { isEncrypted: propsWrapper.isEncrypted() } : {},
1317
+ ...formatVersion > 0 ? { formatVersion } : {}
1099
1318
  };
1100
1319
  }
1101
1320
  return this.cachedAudioProperties;
@@ -1442,6 +1661,15 @@ var init_tag_mapping = __esm({
1442
1661
  }
1443
1662
  });
1444
1663
 
1664
+ // src/version.ts
1665
+ var VERSION;
1666
+ var init_version = __esm({
1667
+ "src/version.ts"() {
1668
+ "use strict";
1669
+ VERSION = "1.0.8";
1670
+ }
1671
+ });
1672
+
1445
1673
  // src/runtime/module-loader-browser.ts
1446
1674
  var module_loader_browser_exports = {};
1447
1675
  __export(module_loader_browser_exports, {
@@ -1500,6 +1728,7 @@ var init_taglib_class = __esm({
1500
1728
  init_audio_file_impl();
1501
1729
  init_load_audio_data();
1502
1730
  init_tag_mapping();
1731
+ init_version();
1503
1732
  TagLib = class _TagLib {
1504
1733
  constructor(module) {
1505
1734
  __publicField(this, "module");
@@ -1533,7 +1762,7 @@ var init_taglib_class = __esm({
1533
1762
  const actualInput = isNamedAudioInput(input) ? input.data : input;
1534
1763
  const sourcePath = typeof actualInput === "string" ? actualInput : void 0;
1535
1764
  const opts = {
1536
- partial: false,
1765
+ partial: true,
1537
1766
  maxHeaderSize: 1024 * 1024,
1538
1767
  maxFooterSize: 128 * 1024,
1539
1768
  ...options
@@ -1542,18 +1771,19 @@ var init_taglib_class = __esm({
1542
1771
  actualInput,
1543
1772
  opts
1544
1773
  );
1545
- const buffer = audioData.buffer.slice(
1546
- audioData.byteOffset,
1547
- audioData.byteOffset + audioData.byteLength
1548
- );
1549
- const uint8Array = new Uint8Array(buffer);
1774
+ const uint8Array = actualInput instanceof Uint8Array && audioData.buffer === actualInput.buffer ? new Uint8Array(
1775
+ audioData.buffer.slice(
1776
+ audioData.byteOffset,
1777
+ audioData.byteOffset + audioData.byteLength
1778
+ )
1779
+ ) : audioData;
1550
1780
  const fileHandle = this.module.createFileHandle();
1551
1781
  try {
1552
1782
  const success = fileHandle.loadFromBuffer(uint8Array);
1553
1783
  if (!success) {
1554
1784
  throw new InvalidFormatError(
1555
1785
  "Failed to load audio file. File may be corrupted or in an unsupported format",
1556
- buffer.byteLength
1786
+ uint8Array.byteLength
1557
1787
  );
1558
1788
  }
1559
1789
  return new AudioFileImpl(
@@ -1620,7 +1850,16 @@ var init_taglib_class = __esm({
1620
1850
  }
1621
1851
  /** Returns the taglib-wasm version with embedded TagLib version. */
1622
1852
  version() {
1623
- return "1.0.6 (TagLib 2.2.1)";
1853
+ return `${VERSION} (TagLib ${this.taglibVersion()})`;
1854
+ }
1855
+ taglibVersion() {
1856
+ if (this.module.getVersion) {
1857
+ return this.module.getVersion();
1858
+ }
1859
+ if (this.module.version) {
1860
+ return this.module.version();
1861
+ }
1862
+ return "unknown";
1624
1863
  }
1625
1864
  };
1626
1865
  }
@@ -1689,21 +1928,20 @@ async function getTagLib() {
1689
1928
 
1690
1929
  // src/simple/tag-operations.ts
1691
1930
  init_errors2();
1692
- init_write();
1693
1931
  init_tag_mapping();
1694
1932
 
1695
1933
  // src/simple/with-audio-file.ts
1696
1934
  init_errors2();
1697
- async function withAudioFile(file, fn) {
1935
+ async function withAudioFile(file, fn, options) {
1698
1936
  const taglib = await getTagLib();
1699
- const audioFile = await taglib.open(file);
1937
+ const audioFile = await taglib.open(file, options);
1700
1938
  try {
1701
1939
  if (!audioFile.isValid()) {
1702
1940
  throw new InvalidFormatError(
1703
1941
  "File may be corrupted or in an unsupported format"
1704
1942
  );
1705
1943
  }
1706
- return fn(audioFile);
1944
+ return await fn(audioFile);
1707
1945
  } finally {
1708
1946
  audioFile.dispose();
1709
1947
  }
@@ -1718,6 +1956,12 @@ async function withAudioFileSave(file, fn) {
1718
1956
  );
1719
1957
  }
1720
1958
  return audioFile.getFileBuffer();
1959
+ }, { partial: false });
1960
+ }
1961
+ async function withAudioFileSaveToFile(file, fn) {
1962
+ return withAudioFile(file, async (audioFile) => {
1963
+ fn(audioFile);
1964
+ await audioFile.saveToFile(file);
1721
1965
  });
1722
1966
  }
1723
1967
 
@@ -1740,8 +1984,9 @@ async function applyTagsToFile(file, tags) {
1740
1984
  "applyTagsToFile requires a file path string to save changes"
1741
1985
  );
1742
1986
  }
1743
- const modifiedBuffer = await applyTags(file, tags);
1744
- await writeFileData(file, modifiedBuffer);
1987
+ await withAudioFileSaveToFile(file, (audioFile) => {
1988
+ mergeTagUpdates(audioFile, tags);
1989
+ });
1745
1990
  }
1746
1991
  async function readProperties(file) {
1747
1992
  return withAudioFile(file, (audioFile) => {
@@ -1996,36 +2241,36 @@ var Tags = {
1996
2241
  Publisher: "publisher",
1997
2242
  Mood: "mood",
1998
2243
  Media: "media",
1999
- RadioStationOwner: "RADIOSTATIONOWNER",
2000
- Producer: "PRODUCER",
2001
- Subtitle: "SUBTITLE",
2002
- Label: "LABEL",
2244
+ RadioStationOwner: "radioStationOwner",
2245
+ Producer: "producer",
2246
+ Subtitle: "subtitle",
2247
+ Label: "label",
2003
2248
  // Sorting Properties
2004
2249
  TitleSort: "titleSort",
2005
2250
  ArtistSort: "artistSort",
2006
- AlbumArtistSort: "ALBUMARTISTSORT",
2251
+ AlbumArtistSort: "albumArtistSort",
2007
2252
  AlbumSort: "albumSort",
2008
- ComposerSort: "COMPOSERSORT",
2253
+ ComposerSort: "composerSort",
2009
2254
  // Identifiers
2010
2255
  Isrc: "isrc",
2011
- Asin: "ASIN",
2256
+ Asin: "asin",
2012
2257
  CatalogNumber: "catalogNumber",
2013
2258
  Barcode: "barcode",
2014
2259
  // MusicBrainz Identifiers
2015
2260
  MusicBrainzArtistId: "musicbrainzArtistId",
2016
- MusicBrainzReleaseArtistId: "MUSICBRAINZ_ALBUMARTISTID",
2017
- MusicBrainzWorkId: "MUSICBRAINZ_WORKID",
2261
+ MusicBrainzReleaseArtistId: "musicbrainzReleaseArtistId",
2262
+ MusicBrainzWorkId: "musicbrainzWorkId",
2018
2263
  MusicBrainzReleaseId: "musicbrainzReleaseId",
2019
2264
  MusicBrainzRecordingId: "musicbrainzTrackId",
2020
2265
  MusicBrainzTrackId: "musicbrainzTrackId",
2021
2266
  MusicBrainzReleaseGroupId: "musicbrainzReleaseGroupId",
2022
- MusicBrainzReleaseTrackId: "MUSICBRAINZ_RELEASETRACKID",
2267
+ MusicBrainzReleaseTrackId: "musicbrainzReleaseTrackId",
2023
2268
  // AcoustID
2024
2269
  AcoustidFingerprint: "acoustidFingerprint",
2025
2270
  AcoustidId: "acoustidId",
2026
2271
  // Podcast Properties
2027
- PodcastId: "PODCASTID",
2028
- PodcastUrl: "PODCASTURL",
2272
+ PodcastId: "podcastId",
2273
+ PodcastUrl: "podcastUrl",
2029
2274
  // Grouping and Work
2030
2275
  Grouping: "grouping",
2031
2276
  Work: "work",
@@ -2035,15 +2280,14 @@ var Tags = {
2035
2280
  AlbumPeak: "replayGainAlbumPeak",
2036
2281
  TrackGain: "replayGainTrackGain",
2037
2282
  TrackPeak: "replayGainTrackPeak",
2038
- // Special handling
2039
- OriginalArtist: "ORIGINALARTIST",
2040
- OriginalAlbum: "ORIGINALALBUM",
2041
- OriginalDate: "ORIGINALDATE",
2042
- Script: "SCRIPT",
2043
- InvolvedPeopleList: "INVOLVEDPEOPLELIST",
2044
- // Technical Properties
2045
- EncoderSettings: "ENCODERSETTINGS",
2046
- SourceMedia: "SOURCEMEDIA"
2283
+ // Original release
2284
+ OriginalArtist: "originalArtist",
2285
+ OriginalAlbum: "originalAlbum",
2286
+ OriginalDate: "originalDate",
2287
+ // Miscellaneous
2288
+ Script: "script",
2289
+ InvolvedPeople: "involvedPeople",
2290
+ Encoding: "encoding"
2047
2291
  };
2048
2292
  function isValidTagName(name) {
2049
2293
  return Object.values(Tags).includes(name);
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Main module exports for TagLib-Wasm
3
3
  *
4
- * TagLib v2.1 compiled to WebAssembly with TypeScript bindings
4
+ * TagLib v2.2 compiled to WebAssembly with TypeScript bindings
5
5
  * for universal audio metadata handling across all JavaScript runtimes.
6
6
  *
7
7
  * @module TagLib-Wasm
@@ -49,6 +49,7 @@ export type { AudioCodec, AudioFileInput, AudioProperties, BitrateControlMode, C
49
49
  export { BITRATE_CONTROL_MODE_NAMES, BITRATE_CONTROL_MODE_VALUES, PICTURE_TYPE_NAMES, PICTURE_TYPE_VALUES, } from "./src/types.js";
50
50
  export type { PropertyKey, PropertyValue } from "./src/constants.js";
51
51
  export type { FormatPropertyKey, TagFormat, } from "./src/types/format-property-keys.js";
52
+ export type { TypedAudioProperties } from "./src/types/audio-formats.js";
52
53
  export { COMPLEX_PROPERTIES, COMPLEX_PROPERTY_KEY, } from "./src/constants/complex-properties.js";
53
54
  export type { ComplexPropertyKey, ComplexPropertyKeyMap, ComplexPropertyValueMap, Rating, UnsyncedLyrics, VariantMap, } from "./src/constants/complex-properties.js";
54
55
  export { RatingUtils } from "./src/utils/rating.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}