@dragon708/docmind-markdown 1.2.5 → 1.2.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.
Files changed (328) hide show
  1. package/node_modules/music-metadata/LICENSE.txt +3 -3
  2. package/node_modules/music-metadata/README.md +246 -690
  3. package/node_modules/music-metadata/lib/ParserFactory.d.ts +31 -27
  4. package/node_modules/music-metadata/lib/ParserFactory.js +219 -108
  5. package/node_modules/music-metadata/lib/aiff/AiffParser.d.ts +2 -2
  6. package/node_modules/music-metadata/lib/aiff/AiffParser.js +38 -34
  7. package/node_modules/music-metadata/lib/aiff/AiffTagMap.d.ts +1 -1
  8. package/node_modules/music-metadata/lib/aiff/AiffTagMap.js +7 -2
  9. package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +6 -32
  10. package/node_modules/music-metadata/lib/aiff/AiffToken.js +17 -27
  11. package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +8 -24
  12. package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +66 -78
  13. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.d.ts +1 -1
  14. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +8 -4
  15. package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +11 -10
  16. package/node_modules/music-metadata/lib/apev2/APEv2Token.js +27 -16
  17. package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +53 -59
  18. package/node_modules/music-metadata/lib/asf/AsfObject.js +131 -97
  19. package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +1 -1
  20. package/node_modules/music-metadata/lib/asf/AsfParser.js +43 -42
  21. package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +2 -2
  22. package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +10 -6
  23. package/node_modules/music-metadata/lib/asf/AsfUtil.d.ts +13 -4
  24. package/node_modules/music-metadata/lib/asf/AsfUtil.js +36 -30
  25. package/node_modules/music-metadata/lib/asf/GUID.d.ts +84 -0
  26. package/node_modules/music-metadata/lib/asf/GUID.js +121 -0
  27. package/node_modules/music-metadata/lib/common/BasicParser.d.ts +9 -9
  28. package/node_modules/music-metadata/lib/common/BasicParser.js +7 -2
  29. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +3 -3
  30. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.js +7 -2
  31. package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +5 -5
  32. package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +28 -24
  33. package/node_modules/music-metadata/lib/common/FourCC.d.ts +1 -1
  34. package/node_modules/music-metadata/lib/common/FourCC.js +11 -10
  35. package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +13 -13
  36. package/node_modules/music-metadata/lib/common/GenericTagMapper.js +12 -7
  37. package/node_modules/music-metadata/lib/common/GenericTagTypes.d.ts +6 -7
  38. package/node_modules/music-metadata/lib/common/GenericTagTypes.js +85 -86
  39. package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +10 -20
  40. package/node_modules/music-metadata/lib/common/MetadataCollector.js +69 -100
  41. package/node_modules/music-metadata/lib/common/RandomFileReader.d.ts +22 -0
  42. package/node_modules/music-metadata/lib/common/RandomFileReader.js +34 -0
  43. package/node_modules/music-metadata/lib/common/RandomUint8ArrayReader.d.ts +18 -0
  44. package/node_modules/music-metadata/lib/common/RandomUint8ArrayReader.js +25 -0
  45. package/node_modules/music-metadata/lib/common/Util.d.ts +12 -11
  46. package/node_modules/music-metadata/lib/common/Util.js +53 -47
  47. package/node_modules/music-metadata/lib/core.d.ts +15 -42
  48. package/node_modules/music-metadata/lib/core.js +38 -74
  49. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.d.ts +1 -16
  50. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +44 -55
  51. package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.d.ts +3 -3
  52. package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.js +7 -4
  53. package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +10 -11
  54. package/node_modules/music-metadata/lib/dsf/DsfChunk.js +19 -15
  55. package/node_modules/music-metadata/lib/dsf/DsfParser.d.ts +1 -16
  56. package/node_modules/music-metadata/lib/dsf/DsfParser.js +20 -21
  57. package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +15 -16
  58. package/node_modules/music-metadata/lib/flac/FlacParser.js +119 -69
  59. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +3 -7
  60. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +36 -39
  61. package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.d.ts +1 -1
  62. package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.js +7 -2
  63. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.d.ts +2 -2
  64. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +19 -15
  65. package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +3 -64
  66. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +103 -244
  67. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +2 -2
  68. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +16 -6
  69. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.d.ts +5 -5
  70. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +35 -36
  71. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +6 -11
  72. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +104 -91
  73. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +29 -67
  74. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +36 -76
  75. package/node_modules/music-metadata/lib/iff/index.d.ts +1 -1
  76. package/node_modules/music-metadata/lib/iff/index.js +7 -4
  77. package/node_modules/music-metadata/lib/index.d.ts +31 -8
  78. package/node_modules/music-metadata/lib/index.js +53 -32
  79. package/node_modules/music-metadata/lib/lyrics3/Lyrics3.d.ts +2 -2
  80. package/node_modules/music-metadata/lib/lyrics3/Lyrics3.js +13 -13
  81. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.d.ts +2 -2
  82. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +242 -246
  83. package/node_modules/music-metadata/lib/matroska/MatroskaParser.d.ts +24 -6
  84. package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +218 -124
  85. package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.d.ts +1 -1
  86. package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.js +7 -3
  87. package/node_modules/music-metadata/lib/matroska/types.d.ts +76 -43
  88. package/node_modules/music-metadata/lib/matroska/types.js +33 -27
  89. package/node_modules/music-metadata/lib/mp4/Atom.d.ts +7 -7
  90. package/node_modules/music-metadata/lib/mp4/Atom.js +22 -15
  91. package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +18 -110
  92. package/node_modules/music-metadata/lib/mp4/AtomToken.js +66 -184
  93. package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +4 -6
  94. package/node_modules/music-metadata/lib/mp4/MP4Parser.js +128 -255
  95. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +4 -4
  96. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.js +12 -8
  97. package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.d.ts +5 -5
  98. package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.js +10 -7
  99. package/node_modules/music-metadata/lib/mpeg/MpegParser.d.ts +4 -17
  100. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +131 -176
  101. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +14 -16
  102. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +19 -14
  103. package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +7 -6
  104. package/node_modules/music-metadata/lib/mpeg/XingTag.js +18 -14
  105. package/node_modules/music-metadata/lib/musepack/index.d.ts +5 -0
  106. package/node_modules/music-metadata/lib/musepack/index.js +32 -0
  107. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.d.ts +2 -2
  108. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +24 -16
  109. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.d.ts +1 -1
  110. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +15 -16
  111. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.d.ts +1 -1
  112. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +7 -5
  113. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.d.ts +1 -1
  114. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +17 -18
  115. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.d.ts +3 -5
  116. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +12 -14
  117. package/node_modules/music-metadata/lib/ogg/{OggToken.d.ts → Ogg.d.ts} +6 -17
  118. package/node_modules/music-metadata/lib/ogg/Ogg.js +2 -0
  119. package/node_modules/music-metadata/lib/ogg/OggParser.d.ts +12 -16
  120. package/node_modules/music-metadata/lib/ogg/OggParser.js +102 -101
  121. package/node_modules/music-metadata/lib/ogg/opus/Opus.d.ts +2 -17
  122. package/node_modules/music-metadata/lib/ogg/opus/Opus.js +14 -13
  123. package/node_modules/music-metadata/lib/ogg/opus/OpusParser.d.ts +25 -0
  124. package/node_modules/music-metadata/lib/ogg/opus/{OpusStream.js → OpusParser.js} +18 -18
  125. package/node_modules/music-metadata/lib/ogg/speex/Speex.d.ts +1 -1
  126. package/node_modules/music-metadata/lib/ogg/speex/Speex.js +19 -16
  127. package/node_modules/music-metadata/lib/ogg/speex/SpeexParser.d.ts +22 -0
  128. package/node_modules/music-metadata/lib/ogg/speex/{SpeexStream.js → SpeexParser.js} +13 -9
  129. package/node_modules/music-metadata/lib/ogg/theora/Theora.d.ts +1 -1
  130. package/node_modules/music-metadata/lib/ogg/theora/Theora.js +11 -8
  131. package/node_modules/music-metadata/lib/ogg/theora/TheoraParser.d.ts +28 -0
  132. package/node_modules/music-metadata/lib/ogg/theora/TheoraParser.js +44 -0
  133. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +7 -6
  134. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.js +29 -34
  135. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.d.ts +1 -1
  136. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +9 -6
  137. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisParser.d.ts +36 -0
  138. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisParser.js +128 -0
  139. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.d.ts +3 -3
  140. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +9 -5
  141. package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +5 -5
  142. package/node_modules/music-metadata/lib/riff/RiffChunk.js +9 -5
  143. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +2 -2
  144. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.js +25 -20
  145. package/node_modules/music-metadata/lib/type.d.ts +52 -121
  146. package/node_modules/music-metadata/lib/type.js +6 -2
  147. package/node_modules/music-metadata/lib/wav/BwfChunk.d.ts +1 -1
  148. package/node_modules/music-metadata/lib/wav/BwfChunk.js +11 -8
  149. package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +20 -50
  150. package/node_modules/music-metadata/lib/wav/WaveChunk.js +32 -45
  151. package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +2 -2
  152. package/node_modules/music-metadata/lib/wav/WaveParser.js +39 -46
  153. package/node_modules/music-metadata/lib/wavpack/WavPackParser.d.ts +2 -18
  154. package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +32 -42
  155. package/node_modules/music-metadata/lib/wavpack/WavPackToken.d.ts +18 -14
  156. package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +30 -24
  157. package/node_modules/music-metadata/package.json +74 -81
  158. package/node_modules/{music-metadata/node_modules/strtok3/LICENSE.txt → turndown-plugin-gfm/LICENSE} +21 -21
  159. package/node_modules/turndown-plugin-gfm/README.md +50 -0
  160. package/node_modules/turndown-plugin-gfm/dist/turndown-plugin-gfm.js +165 -0
  161. package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.browser.cjs.js +162 -0
  162. package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.browser.es.js +154 -0
  163. package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.cjs.js +162 -0
  164. package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.js +154 -0
  165. package/node_modules/turndown-plugin-gfm/package.json +43 -0
  166. package/package.json +5 -5
  167. package/node_modules/@borewit/text-codec/LICENSE.txt +0 -9
  168. package/node_modules/@borewit/text-codec/README.md +0 -87
  169. package/node_modules/@borewit/text-codec/lib/index.d.ts +0 -6
  170. package/node_modules/@borewit/text-codec/lib/index.js +0 -380
  171. package/node_modules/@borewit/text-codec/package.json +0 -70
  172. package/node_modules/music-metadata/lib/ParseError.d.ts +0 -87
  173. package/node_modules/music-metadata/lib/ParseError.js +0 -38
  174. package/node_modules/music-metadata/lib/aiff/AiffLoader.d.ts +0 -2
  175. package/node_modules/music-metadata/lib/aiff/AiffLoader.js +0 -8
  176. package/node_modules/music-metadata/lib/apev2/Apev2Loader.d.ts +0 -2
  177. package/node_modules/music-metadata/lib/apev2/Apev2Loader.js +0 -8
  178. package/node_modules/music-metadata/lib/asf/AsfGuid.d.ts +0 -83
  179. package/node_modules/music-metadata/lib/asf/AsfGuid.js +0 -109
  180. package/node_modules/music-metadata/lib/asf/AsfLoader.d.ts +0 -2
  181. package/node_modules/music-metadata/lib/asf/AsfLoader.js +0 -8
  182. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.d.ts +0 -2
  183. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.js +0 -8
  184. package/node_modules/music-metadata/lib/dsf/DsfLoader.d.ts +0 -2
  185. package/node_modules/music-metadata/lib/dsf/DsfLoader.js +0 -8
  186. package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +0 -67
  187. package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +0 -218
  188. package/node_modules/music-metadata/lib/ebml/types.d.ts +0 -37
  189. package/node_modules/music-metadata/lib/ebml/types.js +0 -8
  190. package/node_modules/music-metadata/lib/flac/FlacLoader.d.ts +0 -2
  191. package/node_modules/music-metadata/lib/flac/FlacLoader.js +0 -8
  192. package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +0 -45
  193. package/node_modules/music-metadata/lib/flac/FlacToken.js +0 -63
  194. package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +0 -31
  195. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +0 -73
  196. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.d.ts +0 -11
  197. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +0 -17
  198. package/node_modules/music-metadata/lib/lrc/LyricsParser.d.ts +0 -9
  199. package/node_modules/music-metadata/lib/lrc/LyricsParser.js +0 -45
  200. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.d.ts +0 -2
  201. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.js +0 -8
  202. package/node_modules/music-metadata/lib/mp4/Mp4Loader.d.ts +0 -2
  203. package/node_modules/music-metadata/lib/mp4/Mp4Loader.js +0 -8
  204. package/node_modules/music-metadata/lib/mpeg/MpegLoader.d.ts +0 -2
  205. package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +0 -8
  206. package/node_modules/music-metadata/lib/musepack/MusepackConentError.d.ts +0 -15
  207. package/node_modules/music-metadata/lib/musepack/MusepackConentError.js +0 -3
  208. package/node_modules/music-metadata/lib/musepack/MusepackLoader.d.ts +0 -2
  209. package/node_modules/music-metadata/lib/musepack/MusepackLoader.js +0 -8
  210. package/node_modules/music-metadata/lib/musepack/MusepackParser.d.ts +0 -4
  211. package/node_modules/music-metadata/lib/musepack/MusepackParser.js +0 -30
  212. package/node_modules/music-metadata/lib/ogg/OggLoader.d.ts +0 -2
  213. package/node_modules/music-metadata/lib/ogg/OggLoader.js +0 -8
  214. package/node_modules/music-metadata/lib/ogg/OggToken.js +0 -41
  215. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +0 -29
  216. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +0 -74
  217. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +0 -24
  218. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +0 -20
  219. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +0 -25
  220. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.js +0 -39
  221. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +0 -53
  222. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +0 -136
  223. package/node_modules/music-metadata/lib/wav/WaveLoader.d.ts +0 -2
  224. package/node_modules/music-metadata/lib/wav/WaveLoader.js +0 -8
  225. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.d.ts +0 -2
  226. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.js +0 -8
  227. package/node_modules/music-metadata/node_modules/file-type/core.d.ts +0 -253
  228. package/node_modules/music-metadata/node_modules/file-type/core.js +0 -2899
  229. package/node_modules/music-metadata/node_modules/file-type/index.d.ts +0 -98
  230. package/node_modules/music-metadata/node_modules/file-type/index.js +0 -163
  231. package/node_modules/music-metadata/node_modules/file-type/license +0 -9
  232. package/node_modules/music-metadata/node_modules/file-type/package.json +0 -290
  233. package/node_modules/music-metadata/node_modules/file-type/readme.md +0 -667
  234. package/node_modules/music-metadata/node_modules/file-type/supported.js +0 -360
  235. package/node_modules/music-metadata/node_modules/file-type/util.js +0 -60
  236. package/node_modules/music-metadata/node_modules/strtok3/README.md +0 -399
  237. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.d.ts +0 -76
  238. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.js +0 -111
  239. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.d.ts +0 -29
  240. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.js +0 -53
  241. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.d.ts +0 -29
  242. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.js +0 -52
  243. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.d.ts +0 -37
  244. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.js +0 -61
  245. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +0 -34
  246. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.js +0 -107
  247. package/node_modules/music-metadata/node_modules/strtok3/lib/core.d.ts +0 -40
  248. package/node_modules/music-metadata/node_modules/strtok3/lib/core.js +0 -62
  249. package/node_modules/music-metadata/node_modules/strtok3/lib/index.d.ts +0 -16
  250. package/node_modules/music-metadata/node_modules/strtok3/lib/index.js +0 -22
  251. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +0 -54
  252. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.js +0 -71
  253. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.d.ts +0 -6
  254. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.js +0 -10
  255. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.d.ts +0 -10
  256. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.js +0 -16
  257. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.d.ts +0 -29
  258. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.js +0 -83
  259. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +0 -14
  260. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.js +0 -27
  261. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +0 -19
  262. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +0 -62
  263. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +0 -14
  264. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.js +0 -13
  265. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +0 -5
  266. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +0 -19
  267. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.d.ts +0 -6
  268. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.js +0 -5
  269. package/node_modules/music-metadata/node_modules/strtok3/lib/types.d.ts +0 -139
  270. package/node_modules/music-metadata/node_modules/strtok3/lib/types.js +0 -1
  271. package/node_modules/music-metadata/node_modules/strtok3/package.json +0 -94
  272. package/node_modules/music-metadata/node_modules/token-types/LICENSE.txt +0 -9
  273. package/node_modules/music-metadata/node_modules/token-types/README.md +0 -120
  274. package/node_modules/music-metadata/node_modules/token-types/lib/index.d.ts +0 -135
  275. package/node_modules/music-metadata/node_modules/token-types/lib/index.js +0 -401
  276. package/node_modules/music-metadata/node_modules/token-types/package.json +0 -81
  277. package/node_modules/sprintf-js/.npmignore +0 -1
  278. package/node_modules/sprintf-js/LICENSE +0 -24
  279. package/node_modules/sprintf-js/README.md +0 -88
  280. package/node_modules/sprintf-js/bower.json +0 -14
  281. package/node_modules/sprintf-js/demo/angular.html +0 -20
  282. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
  283. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
  284. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
  285. package/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
  286. package/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
  287. package/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
  288. package/node_modules/sprintf-js/gruntfile.js +0 -36
  289. package/node_modules/sprintf-js/package.json +0 -22
  290. package/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
  291. package/node_modules/sprintf-js/src/sprintf.js +0 -208
  292. package/node_modules/sprintf-js/test/test.js +0 -82
  293. package/node_modules/uint8array-extras/index.d.ts +0 -331
  294. package/node_modules/uint8array-extras/index.js +0 -318
  295. package/node_modules/uint8array-extras/license +0 -9
  296. package/node_modules/uint8array-extras/package.json +0 -54
  297. package/node_modules/uint8array-extras/readme.md +0 -318
  298. package/node_modules/win-guid/LICENSE.txt +0 -9
  299. package/node_modules/win-guid/README.md +0 -113
  300. package/node_modules/win-guid/lib/guid.d.ts +0 -20
  301. package/node_modules/win-guid/lib/guid.js +0 -107
  302. package/node_modules/win-guid/package.json +0 -55
  303. /package/node_modules/{argparse → mammoth/node_modules/argparse}/LICENSE +0 -0
  304. /package/node_modules/{argparse → mammoth/node_modules/argparse}/README.md +0 -0
  305. /package/node_modules/{argparse → mammoth/node_modules/argparse}/index.js +0 -0
  306. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/append/constant.js +0 -0
  307. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/append.js +0 -0
  308. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/count.js +0 -0
  309. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/help.js +0 -0
  310. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/constant.js +0 -0
  311. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/false.js +0 -0
  312. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/true.js +0 -0
  313. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store.js +0 -0
  314. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/subparsers.js +0 -0
  315. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/version.js +0 -0
  316. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action.js +0 -0
  317. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action_container.js +0 -0
  318. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argparse.js +0 -0
  319. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/error.js +0 -0
  320. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/exclusive.js +0 -0
  321. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/group.js +0 -0
  322. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument_parser.js +0 -0
  323. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/const.js +0 -0
  324. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/help/added_formatters.js +0 -0
  325. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/help/formatter.js +0 -0
  326. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/namespace.js +0 -0
  327. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/utils.js +0 -0
  328. /package/node_modules/{argparse → mammoth/node_modules/argparse}/package.json +0 -0
@@ -1,7 +1,9 @@
1
- import { UINT32_LE } from 'token-types';
2
- import { CommonTagMapper } from '../common/GenericTagMapper.js';
3
- import { CaseInsensitiveTagMap } from '../common/CaseInsensitiveTagMap.js';
4
- import { decodeString } from '../common/Util.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ID3v24TagMapper = void 0;
4
+ const GenericTagMapper_1 = require("../common/GenericTagMapper");
5
+ const CaseInsensitiveTagMap_1 = require("../common/CaseInsensitiveTagMap");
6
+ const util = require("../common/Util");
5
7
  /**
6
8
  * ID3v2.3/ID3v2.4 tag mappings
7
9
  */
@@ -12,7 +14,7 @@ const id3v24TagMap = {
12
14
  'TXXX:Artists': 'artists',
13
15
  TPE2: 'albumartist',
14
16
  TALB: 'album',
15
- TDRV: 'date', // [ 'date', 'year' ] ToDo: improve 'year' mapping
17
+ TDRV: 'date',
16
18
  /**
17
19
  * Original release year
18
20
  */
@@ -21,7 +23,7 @@ const id3v24TagMap = {
21
23
  TCON: 'genre',
22
24
  APIC: 'picture',
23
25
  TCOM: 'composer',
24
- USLT: 'lyrics',
26
+ 'USLT:description': 'lyrics',
25
27
  TSOA: 'albumsort',
26
28
  TSOT: 'titlesort',
27
29
  TOAL: 'originalalbum',
@@ -85,7 +87,7 @@ const id3v24TagMap = {
85
87
  WOAR: 'website',
86
88
  // id3v2.4
87
89
  // ToDo: In same sequence as defined at http://id3.org/id3v2.4.0-frames
88
- TDRC: 'date', // date YYYY-MM-DD
90
+ TDRC: 'date',
89
91
  TYER: 'year',
90
92
  TDOR: 'originaldate',
91
93
  // 'TMCL:instrument': 'performer:instrument',
@@ -133,18 +135,16 @@ const id3v24TagMap = {
133
135
  PCST: 'podcast',
134
136
  TCAT: 'category',
135
137
  TDES: 'description',
136
- TDRL: 'releasedate',
138
+ TDRL: 'date',
137
139
  TGID: 'podcastId',
138
140
  TKWD: 'keywords',
139
- WFED: 'podcasturl',
140
- GRP1: 'grouping',
141
- PCNT: 'playCounter',
141
+ WFED: 'podcasturl'
142
142
  };
143
- export class ID3v24TagMapper extends CaseInsensitiveTagMap {
143
+ class ID3v24TagMapper extends CaseInsensitiveTagMap_1.CaseInsensitiveTagMap {
144
144
  static toRating(popm) {
145
145
  return {
146
146
  source: popm.email,
147
- rating: popm.rating > 0 ? (popm.rating - 1) / 254 * CommonTagMapper.maxRatingScore : undefined
147
+ rating: popm.rating > 0 ? (popm.rating - 1) / 254 * GenericTagMapper_1.CommonTagMapper.maxRatingScore : undefined
148
148
  };
149
149
  }
150
150
  constructor() {
@@ -154,37 +154,34 @@ export class ID3v24TagMapper extends CaseInsensitiveTagMap {
154
154
  * Handle post mapping exceptions / correction
155
155
  * @param tag to post map
156
156
  * @param warnings Wil be used to register (collect) warnings
157
+ * @return Common value e.g. "Buena Vista Social Club"
157
158
  */
158
159
  postMap(tag, warnings) {
159
160
  switch (tag.id) {
160
- case 'UFID':
161
- {
162
- // decode MusicBrainz Recording Id
163
- const idTag = tag.value;
164
- if (idTag.owner_identifier === 'http://musicbrainz.org') {
165
- tag.id += `:${idTag.owner_identifier}`;
166
- tag.value = decodeString(idTag.identifier, 'latin1'); // latin1 == iso-8859-1
167
- }
161
+ case 'UFID': // decode MusicBrainz Recording Id
162
+ if (tag.value.owner_identifier === 'http://musicbrainz.org') {
163
+ tag.id += ':' + tag.value.owner_identifier;
164
+ tag.value = util.decodeString(tag.value.identifier, 'latin1'); // latin1 == iso-8859-1
168
165
  }
169
166
  break;
170
167
  case 'PRIV':
171
- {
172
- const customTag = tag.value;
173
- switch (customTag.owner_identifier) {
174
- // decode Windows Media Player
175
- case 'AverageLevel':
176
- case 'PeakValue':
177
- tag.id += `:${customTag.owner_identifier}`;
178
- tag.value = customTag.data.length === 4 ? UINT32_LE.get(customTag.data, 0) : null;
179
- if (tag.value === null) {
180
- warnings.addWarning('Failed to parse PRIV:PeakValue');
181
- }
182
- break;
183
- default:
184
- warnings.addWarning(`Unknown PRIV owner-identifier: ${customTag.data}`);
185
- }
168
+ switch (tag.value.owner_identifier) {
169
+ // decode Windows Media Player
170
+ case 'AverageLevel':
171
+ case 'PeakValue':
172
+ tag.id += ':' + tag.value.owner_identifier;
173
+ tag.value = tag.value.data.length === 4 ? tag.value.data.readUInt32LE(0) : null;
174
+ if (tag.value === null) {
175
+ warnings.addWarning(`Failed to parse PRIV:PeakValue`);
176
+ }
177
+ break;
178
+ default:
179
+ warnings.addWarning(`Unknown PRIV owner-identifier: ${tag.value.owner_identifier}`);
186
180
  }
187
181
  break;
182
+ case 'COMM':
183
+ tag.value = tag.value ? tag.value.text : null;
184
+ break;
188
185
  case 'POPM':
189
186
  tag.value = ID3v24TagMapper.toRating(tag.value);
190
187
  break;
@@ -193,3 +190,5 @@ export class ID3v24TagMapper extends CaseInsensitiveTagMap {
193
190
  }
194
191
  }
195
192
  }
193
+ exports.ID3v24TagMapper = ID3v24TagMapper;
194
+ //# sourceMappingURL=ID3v24TagMapper.js.map
@@ -1,8 +1,10 @@
1
- import type { ITokenizer } from 'strtok3';
2
- import type { IOptions } from '../type.js';
3
- import type { INativeMetadataCollector } from '../common/MetadataCollector.js';
1
+ import { ITokenizer } from 'strtok3/lib/core';
2
+ import { IOptions } from '../type';
3
+ import { INativeMetadataCollector } from '../common/MetadataCollector';
4
4
  export declare class ID3v2Parser {
5
5
  static removeUnsyncBytes(buffer: Uint8Array): Uint8Array;
6
+ private static getFrameHeaderLength;
7
+ private static readFrameFlags;
6
8
  private static readFrameData;
7
9
  /**
8
10
  * Create a combined tag key, of tag & description
@@ -20,14 +22,7 @@ export declare class ID3v2Parser {
20
22
  parseExtendedHeader(): Promise<void>;
21
23
  parseExtendedHeaderData(dataRemaining: number, extendedHeaderSize: number): Promise<void>;
22
24
  parseId3Data(dataLen: number): Promise<void>;
23
- private handleTag;
24
25
  private addTag;
25
26
  private parseMetadata;
26
- /**
27
- * Convert parsed ID3v2 chapter frames (CHAP / CTOC) to generic `format.chapters`.
28
- *
29
- * This function expects the `native` tags already to contain parsed `CHAP` and `CTOC` frame values,
30
- * as produced by `FrameParser.readData`.
31
- */
32
- private static mapId3v2Chapters;
27
+ private readFrameHeader;
33
28
  }
@@ -1,15 +1,11 @@
1
- import * as Token from 'token-types';
2
- import { FrameParser, Id3v2ContentError } from './FrameParser.js';
3
- import { ExtendedHeader, ID3v2Header } from './ID3v2Token.js';
4
- import { getFrameHeaderLength, readFrameHeader } from './FrameHeader.js';
5
- export class ID3v2Parser {
6
- constructor() {
7
- this.tokenizer = undefined;
8
- this.id3Header = undefined;
9
- this.metadata = undefined;
10
- this.headerType = undefined;
11
- this.options = undefined;
12
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ID3v2Parser = void 0;
4
+ const Token = require("token-types");
5
+ const util = require("../common/Util");
6
+ const FrameParser_1 = require("./FrameParser");
7
+ const ID3v2Token_1 = require("./ID3v2Token");
8
+ class ID3v2Parser {
13
9
  static removeUnsyncBytes(buffer) {
14
10
  let readI = 0;
15
11
  let writeI = 0;
@@ -23,24 +19,51 @@ export class ID3v2Parser {
23
19
  if (readI < buffer.length) {
24
20
  buffer[writeI++] = buffer[readI];
25
21
  }
26
- return buffer.subarray(0, writeI);
22
+ return buffer.slice(0, writeI);
23
+ }
24
+ static getFrameHeaderLength(majorVer) {
25
+ switch (majorVer) {
26
+ case 2:
27
+ return 6;
28
+ case 3:
29
+ case 4:
30
+ return 10;
31
+ default:
32
+ throw new Error('header versionIndex is incorrect');
33
+ }
34
+ }
35
+ static readFrameFlags(b) {
36
+ return {
37
+ status: {
38
+ tag_alter_preservation: util.getBit(b, 0, 6),
39
+ file_alter_preservation: util.getBit(b, 0, 5),
40
+ read_only: util.getBit(b, 0, 4)
41
+ },
42
+ format: {
43
+ grouping_identity: util.getBit(b, 1, 7),
44
+ compression: util.getBit(b, 1, 3),
45
+ encryption: util.getBit(b, 1, 2),
46
+ unsynchronisation: util.getBit(b, 1, 1),
47
+ data_length_indicator: util.getBit(b, 1, 0)
48
+ }
49
+ };
27
50
  }
28
51
  static readFrameData(uint8Array, frameHeader, majorVer, includeCovers, warningCollector) {
29
- const frameParser = new FrameParser(majorVer, warningCollector);
52
+ const frameParser = new FrameParser_1.FrameParser(majorVer, warningCollector);
30
53
  switch (majorVer) {
31
54
  case 2:
32
55
  return frameParser.readData(uint8Array, frameHeader.id, includeCovers);
33
56
  case 3:
34
57
  case 4:
35
- if (frameHeader.flags?.format.unsynchronisation) {
58
+ if (frameHeader.flags.format.unsynchronisation) {
36
59
  uint8Array = ID3v2Parser.removeUnsyncBytes(uint8Array);
37
60
  }
38
- if (frameHeader.flags?.format.data_length_indicator) {
39
- uint8Array = uint8Array.subarray(4, uint8Array.length);
61
+ if (frameHeader.flags.format.data_length_indicator) {
62
+ uint8Array = uint8Array.slice(4, uint8Array.length);
40
63
  }
41
64
  return frameParser.readData(uint8Array, frameHeader.id, includeCovers);
42
65
  default:
43
- throw makeUnexpectedMajorVersionError(majorVer);
66
+ throw new Error('Unexpected majorVer: ' + majorVer);
44
67
  }
45
68
  }
46
69
  /**
@@ -50,26 +73,23 @@ export class ID3v2Parser {
50
73
  * @returns string e.g. COM:iTunPGAP
51
74
  */
52
75
  static makeDescriptionTagName(tag, description) {
53
- return tag + (description ? `:${description}` : '');
76
+ return tag + (description ? ':' + description : '');
54
77
  }
55
78
  async parse(metadata, tokenizer, options) {
56
79
  this.tokenizer = tokenizer;
57
80
  this.metadata = metadata;
58
81
  this.options = options;
59
- const id3Header = await this.tokenizer.readToken(ID3v2Header);
82
+ const id3Header = await this.tokenizer.readToken(ID3v2Token_1.ID3v2Header);
60
83
  if (id3Header.fileIdentifier !== 'ID3') {
61
- throw new Id3v2ContentError('expected ID3-header file-identifier \'ID3\' was not found');
84
+ throw new Error('expected ID3-header file-identifier \'ID3\' was not found');
62
85
  }
63
86
  this.id3Header = id3Header;
64
- this.headerType = (`ID3v2.${id3Header.version.major}`);
65
- await (id3Header.flags.isExtendedHeader ? this.parseExtendedHeader() : this.parseId3Data(id3Header.size));
66
- // Post process
67
- const chapters = ID3v2Parser.mapId3v2Chapters(this.metadata.native[this.headerType]);
68
- this.metadata.setFormat('chapters', chapters);
87
+ this.headerType = ('ID3v2.' + id3Header.version.major);
88
+ return id3Header.flags.isExtendedHeader ? this.parseExtendedHeader() : this.parseId3Data(id3Header.size);
69
89
  }
70
90
  async parseExtendedHeader() {
71
- const extendedHeader = await this.tokenizer.readToken(ExtendedHeader);
72
- const dataRemaining = extendedHeader.size - ExtendedHeader.len;
91
+ const extendedHeader = await this.tokenizer.readToken(ID3v2Token_1.ExtendedHeader);
92
+ const dataRemaining = extendedHeader.size - ID3v2Token_1.ExtendedHeader.len;
73
93
  return dataRemaining > 0 ? this.parseExtendedHeaderData(dataRemaining, extendedHeader.size) : this.parseId3Data(this.id3Header.size - extendedHeader.size);
74
94
  }
75
95
  async parseExtendedHeaderData(dataRemaining, extendedHeaderSize) {
@@ -79,22 +99,35 @@ export class ID3v2Parser {
79
99
  async parseId3Data(dataLen) {
80
100
  const uint8Array = await this.tokenizer.readToken(new Token.Uint8ArrayType(dataLen));
81
101
  for (const tag of this.parseMetadata(uint8Array)) {
82
- switch (tag.id) {
83
- case 'TXXX':
84
- if (tag.value) {
85
- await this.handleTag(tag, tag.value.text, () => tag.value.description);
102
+ if (tag.id === 'TXXX') {
103
+ if (tag.value) {
104
+ for (const text of tag.value.text) {
105
+ this.addTag(ID3v2Parser.makeDescriptionTagName(tag.id, tag.value.description), text);
86
106
  }
87
- break;
88
- default:
89
- await (Array.isArray(tag.value) ? Promise.all(tag.value.map(value => this.addTag(tag.id, value))) : this.addTag(tag.id, tag.value));
107
+ }
108
+ }
109
+ else if (tag.id === 'COM') {
110
+ for (const value of tag.value) {
111
+ this.addTag(ID3v2Parser.makeDescriptionTagName(tag.id, value.description), value.text);
112
+ }
113
+ }
114
+ else if (tag.id === 'COMM') {
115
+ for (const value of tag.value) {
116
+ this.addTag(ID3v2Parser.makeDescriptionTagName(tag.id, value.description), value);
117
+ }
118
+ }
119
+ else if (Array.isArray(tag.value)) {
120
+ for (const value of tag.value) {
121
+ this.addTag(tag.id, value);
122
+ }
123
+ }
124
+ else {
125
+ this.addTag(tag.id, tag.value);
90
126
  }
91
127
  }
92
128
  }
93
- async handleTag(tag, values, descriptor, resolveValue = value => value) {
94
- await Promise.all(values.map(value => this.addTag(ID3v2Parser.makeDescriptionTagName(tag.id, descriptor(value)), resolveValue(value))));
95
- }
96
- async addTag(id, value) {
97
- await this.metadata.addTag(this.headerType, id, value);
129
+ addTag(id, value) {
130
+ this.metadata.addTag(this.headerType, id, value);
98
131
  }
99
132
  parseMetadata(data) {
100
133
  let offset = 0;
@@ -102,16 +135,14 @@ export class ID3v2Parser {
102
135
  while (true) {
103
136
  if (offset === data.length)
104
137
  break;
105
- const frameHeaderLength = getFrameHeaderLength(this.id3Header.version.major);
138
+ const frameHeaderLength = ID3v2Parser.getFrameHeaderLength(this.id3Header.version.major);
106
139
  if (offset + frameHeaderLength > data.length) {
107
140
  this.metadata.addWarning('Illegal ID3v2 tag length');
108
141
  break;
109
142
  }
110
- const frameHeaderBytes = data.subarray(offset, offset + frameHeaderLength);
111
- offset += frameHeaderLength;
112
- const frameHeader = readFrameHeader(frameHeaderBytes, this.id3Header.version.major, this.metadata);
113
- const frameDataBytes = data.subarray(offset, offset + frameHeader.length);
114
- offset += frameHeader.length;
143
+ const frameHeaderBytes = data.slice(offset, offset += frameHeaderLength);
144
+ const frameHeader = this.readFrameHeader(frameHeaderBytes, this.id3Header.version.major);
145
+ const frameDataBytes = data.slice(offset, offset += frameHeader.length);
115
146
  const values = ID3v2Parser.readFrameData(frameDataBytes, frameHeader, this.id3Header.version.major, !this.options.skipCovers, this.metadata);
116
147
  if (values) {
117
148
  tags.push({ id: frameHeader.id, value: values });
@@ -119,51 +150,33 @@ export class ID3v2Parser {
119
150
  }
120
151
  return tags;
121
152
  }
122
- /**
123
- * Convert parsed ID3v2 chapter frames (CHAP / CTOC) to generic `format.chapters`.
124
- *
125
- * This function expects the `native` tags already to contain parsed `CHAP` and `CTOC` frame values,
126
- * as produced by `FrameParser.readData`.
127
- */
128
- static mapId3v2Chapters(id3Tags) {
129
- if (!id3Tags)
130
- return;
131
- const chapFrames = id3Tags.filter(t => t.id === 'CHAP');
132
- if (!chapFrames?.length)
133
- return;
134
- const tocFrames = id3Tags.filter(t => t.id === 'CTOC');
135
- const topLevelToc = tocFrames?.find(t => t.value.flags?.topLevel);
136
- const chapterById = new Map();
137
- for (const chap of chapFrames) {
138
- chapterById.set(chap.value.label, chap.value);
139
- }
140
- const orderedIds = topLevelToc?.value.childElementIds;
141
- const chapters = [];
142
- const source = orderedIds ?? [...chapterById.keys()];
143
- for (const id of source) {
144
- const chap = chapterById.get(id);
145
- if (!chap)
146
- continue;
147
- const frames = chap.frames;
148
- const title = frames.get('TIT2');
149
- if (!title)
150
- continue; // title is required
151
- chapters.push({
152
- id,
153
- title,
154
- url: frames.get('WXXX'),
155
- start: chap.info.startTime / 1000,
156
- end: chap.info.endTime / 1000,
157
- image: frames.get('APIC')
158
- });
159
- }
160
- // If no ordered CTOC, sort by time
161
- if (!orderedIds) {
162
- chapters.sort((a, b) => a.start - b.start);
153
+ readFrameHeader(uint8Array, majorVer) {
154
+ let header;
155
+ switch (majorVer) {
156
+ case 2:
157
+ header = {
158
+ id: Buffer.from(uint8Array.slice(0, 3)).toString('ascii'),
159
+ length: Token.UINT24_BE.get(uint8Array, 3)
160
+ };
161
+ if (!header.id.match(/[A-Z0-9]{3}/g)) {
162
+ this.metadata.addWarning(`Invalid ID3v2.${this.id3Header.version.major} frame-header-ID: ${header.id}`);
163
+ }
164
+ break;
165
+ case 3:
166
+ case 4:
167
+ header = {
168
+ id: Buffer.from(uint8Array.slice(0, 4)).toString('ascii'),
169
+ length: (majorVer === 4 ? ID3v2Token_1.UINT32SYNCSAFE : Token.UINT32_BE).get(uint8Array, 4),
170
+ flags: ID3v2Parser.readFrameFlags(uint8Array.slice(8, 10))
171
+ };
172
+ if (!header.id.match(/[A-Z0-9]{4}/g)) {
173
+ this.metadata.addWarning(`Invalid ID3v2.${this.id3Header.version.major} frame-header-ID: ${header.id}`);
174
+ }
175
+ break;
176
+ default:
177
+ throw new Error('Unexpected majorVer: ' + majorVer);
163
178
  }
164
- return chapters.length ? chapters : undefined;
179
+ return header;
165
180
  }
166
181
  }
167
- function makeUnexpectedMajorVersionError(majorVer) {
168
- throw new Id3v2ContentError(`Unexpected majorVer: ${majorVer}`);
169
- }
182
+ exports.ID3v2Parser = ID3v2Parser;
@@ -1,32 +1,32 @@
1
- import type { IGetToken } from 'strtok3';
2
- import * as util from '../common/Util.js';
1
+ import { IGetToken } from 'strtok3/lib/core';
2
+ import * as util from '../common/Util';
3
3
  /**
4
4
  * The picture type according to the ID3v2 APIC frame
5
5
  * Ref: http://id3.org/id3v2.3.0#Attached_picture
6
6
  */
7
- export declare const AttachedPictureType: {
8
- 0: string;
9
- 1: string;
10
- 2: string;
11
- 3: string;
12
- 4: string;
13
- 5: string;
14
- 6: string;
15
- 7: string;
16
- 8: string;
17
- 9: string;
18
- 10: string;
19
- 11: string;
20
- 12: string;
21
- 13: string;
22
- 14: string;
23
- 15: string;
24
- 16: string;
25
- 17: string;
26
- 18: string;
27
- 19: string;
28
- 20: string;
29
- };
7
+ export declare enum AttachedPictureType {
8
+ 'Other' = 0,
9
+ "32x32 pixels 'file icon' (PNG only)" = 1,
10
+ 'Other file icon' = 2,
11
+ 'Cover (front)' = 3,
12
+ 'Cover (back)' = 4,
13
+ 'Leaflet page' = 5,
14
+ 'Media (e.g. label side of CD)' = 6,
15
+ 'Lead artist/lead performer/soloist' = 7,
16
+ 'Artist/performer' = 8,
17
+ 'Conductor' = 9,
18
+ 'Band/Orchestra' = 10,
19
+ 'Composer' = 11,
20
+ 'Lyricist/text writer' = 12,
21
+ 'Recording Location' = 13,
22
+ 'During recording' = 14,
23
+ 'During performance' = 15,
24
+ 'Movie/video screen capture' = 16,
25
+ 'A bright coloured fish' = 17,
26
+ 'Illustration' = 18,
27
+ 'Band/artist logotype' = 19,
28
+ 'Publisher/Studio logotype' = 20
29
+ }
30
30
  export type ID3v2MajorVersion = 2 | 3 | 4;
31
31
  export interface IExtendedHeader {
32
32
  size: number;
@@ -34,30 +34,14 @@ export interface IExtendedHeader {
34
34
  sizeOfPadding: number;
35
35
  crcDataPresent: boolean;
36
36
  }
37
- /**
38
- * https://id3.org/id3v2.3.0#Synchronised_lyrics.2Ftext
39
- */
40
- export declare const LyricsContentType: {
41
- other: number;
42
- lyrics: number;
43
- text: number;
44
- movement_part: number;
45
- events: number;
46
- chord: number;
47
- trivia_pop: number;
48
- };
49
- export type LyricsContentType = typeof LyricsContentType[keyof typeof LyricsContentType];
50
- export declare const TimestampFormat: {
51
- notSynchronized: number;
52
- mpegFrameNumber: number;
53
- milliseconds: number;
54
- };
55
- export type TimestampFormat = typeof TimestampFormat[keyof typeof TimestampFormat];
56
37
  /**
57
38
  * 28 bits (representing up to 256MB) integer, the msb is 0 to avoid 'false syncsignals'.
58
39
  * 4 * %0xxxxxxx
59
40
  */
60
- export declare const UINT32SYNCSAFE: IGetToken<number>;
41
+ export declare const UINT32SYNCSAFE: {
42
+ get: (buf: Uint8Array, off: number) => number;
43
+ len: number;
44
+ };
61
45
  /**
62
46
  * ID3v2 tag header
63
47
  */
@@ -87,25 +71,3 @@ export interface ITextEncoding {
87
71
  bom?: boolean;
88
72
  }
89
73
  export declare const TextEncodingToken: IGetToken<ITextEncoding>;
90
- /**
91
- * `USLT` frame fields
92
- */
93
- export interface ITextHeader {
94
- encoding: ITextEncoding;
95
- language: string;
96
- }
97
- /**
98
- * Used to read first portion of `SYLT` frame
99
- */
100
- export declare const TextHeader: IGetToken<ITextHeader>;
101
- /**
102
- * SYLT` frame fields
103
- */
104
- export interface ISyncTextHeader extends ITextHeader {
105
- contentType: LyricsContentType;
106
- timeStampFormat: TimestampFormat;
107
- }
108
- /**
109
- * Used to read first portion of `SYLT` frame
110
- */
111
- export declare const SyncTextHeader: IGetToken<ISyncTextHeader>;