@dragon708/docmind-markdown 1.2.5 → 1.2.6

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 (321) 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/package.json +1 -5
  159. package/node_modules/@borewit/text-codec/LICENSE.txt +0 -9
  160. package/node_modules/@borewit/text-codec/README.md +0 -87
  161. package/node_modules/@borewit/text-codec/lib/index.d.ts +0 -6
  162. package/node_modules/@borewit/text-codec/lib/index.js +0 -380
  163. package/node_modules/@borewit/text-codec/package.json +0 -70
  164. package/node_modules/music-metadata/lib/ParseError.d.ts +0 -87
  165. package/node_modules/music-metadata/lib/ParseError.js +0 -38
  166. package/node_modules/music-metadata/lib/aiff/AiffLoader.d.ts +0 -2
  167. package/node_modules/music-metadata/lib/aiff/AiffLoader.js +0 -8
  168. package/node_modules/music-metadata/lib/apev2/Apev2Loader.d.ts +0 -2
  169. package/node_modules/music-metadata/lib/apev2/Apev2Loader.js +0 -8
  170. package/node_modules/music-metadata/lib/asf/AsfGuid.d.ts +0 -83
  171. package/node_modules/music-metadata/lib/asf/AsfGuid.js +0 -109
  172. package/node_modules/music-metadata/lib/asf/AsfLoader.d.ts +0 -2
  173. package/node_modules/music-metadata/lib/asf/AsfLoader.js +0 -8
  174. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.d.ts +0 -2
  175. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.js +0 -8
  176. package/node_modules/music-metadata/lib/dsf/DsfLoader.d.ts +0 -2
  177. package/node_modules/music-metadata/lib/dsf/DsfLoader.js +0 -8
  178. package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +0 -67
  179. package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +0 -218
  180. package/node_modules/music-metadata/lib/ebml/types.d.ts +0 -37
  181. package/node_modules/music-metadata/lib/ebml/types.js +0 -8
  182. package/node_modules/music-metadata/lib/flac/FlacLoader.d.ts +0 -2
  183. package/node_modules/music-metadata/lib/flac/FlacLoader.js +0 -8
  184. package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +0 -45
  185. package/node_modules/music-metadata/lib/flac/FlacToken.js +0 -63
  186. package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +0 -31
  187. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +0 -73
  188. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.d.ts +0 -11
  189. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +0 -17
  190. package/node_modules/music-metadata/lib/lrc/LyricsParser.d.ts +0 -9
  191. package/node_modules/music-metadata/lib/lrc/LyricsParser.js +0 -45
  192. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.d.ts +0 -2
  193. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.js +0 -8
  194. package/node_modules/music-metadata/lib/mp4/Mp4Loader.d.ts +0 -2
  195. package/node_modules/music-metadata/lib/mp4/Mp4Loader.js +0 -8
  196. package/node_modules/music-metadata/lib/mpeg/MpegLoader.d.ts +0 -2
  197. package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +0 -8
  198. package/node_modules/music-metadata/lib/musepack/MusepackConentError.d.ts +0 -15
  199. package/node_modules/music-metadata/lib/musepack/MusepackConentError.js +0 -3
  200. package/node_modules/music-metadata/lib/musepack/MusepackLoader.d.ts +0 -2
  201. package/node_modules/music-metadata/lib/musepack/MusepackLoader.js +0 -8
  202. package/node_modules/music-metadata/lib/musepack/MusepackParser.d.ts +0 -4
  203. package/node_modules/music-metadata/lib/musepack/MusepackParser.js +0 -30
  204. package/node_modules/music-metadata/lib/ogg/OggLoader.d.ts +0 -2
  205. package/node_modules/music-metadata/lib/ogg/OggLoader.js +0 -8
  206. package/node_modules/music-metadata/lib/ogg/OggToken.js +0 -41
  207. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +0 -29
  208. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +0 -74
  209. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +0 -24
  210. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +0 -20
  211. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +0 -25
  212. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.js +0 -39
  213. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +0 -53
  214. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +0 -136
  215. package/node_modules/music-metadata/lib/wav/WaveLoader.d.ts +0 -2
  216. package/node_modules/music-metadata/lib/wav/WaveLoader.js +0 -8
  217. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.d.ts +0 -2
  218. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.js +0 -8
  219. package/node_modules/music-metadata/node_modules/file-type/core.d.ts +0 -253
  220. package/node_modules/music-metadata/node_modules/file-type/core.js +0 -2899
  221. package/node_modules/music-metadata/node_modules/file-type/index.d.ts +0 -98
  222. package/node_modules/music-metadata/node_modules/file-type/index.js +0 -163
  223. package/node_modules/music-metadata/node_modules/file-type/license +0 -9
  224. package/node_modules/music-metadata/node_modules/file-type/package.json +0 -290
  225. package/node_modules/music-metadata/node_modules/file-type/readme.md +0 -667
  226. package/node_modules/music-metadata/node_modules/file-type/supported.js +0 -360
  227. package/node_modules/music-metadata/node_modules/file-type/util.js +0 -60
  228. package/node_modules/music-metadata/node_modules/strtok3/LICENSE.txt +0 -21
  229. package/node_modules/music-metadata/node_modules/strtok3/README.md +0 -399
  230. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.d.ts +0 -76
  231. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.js +0 -111
  232. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.d.ts +0 -29
  233. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.js +0 -53
  234. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.d.ts +0 -29
  235. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.js +0 -52
  236. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.d.ts +0 -37
  237. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.js +0 -61
  238. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +0 -34
  239. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.js +0 -107
  240. package/node_modules/music-metadata/node_modules/strtok3/lib/core.d.ts +0 -40
  241. package/node_modules/music-metadata/node_modules/strtok3/lib/core.js +0 -62
  242. package/node_modules/music-metadata/node_modules/strtok3/lib/index.d.ts +0 -16
  243. package/node_modules/music-metadata/node_modules/strtok3/lib/index.js +0 -22
  244. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +0 -54
  245. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.js +0 -71
  246. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.d.ts +0 -6
  247. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.js +0 -10
  248. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.d.ts +0 -10
  249. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.js +0 -16
  250. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.d.ts +0 -29
  251. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.js +0 -83
  252. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +0 -14
  253. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.js +0 -27
  254. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +0 -19
  255. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +0 -62
  256. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +0 -14
  257. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.js +0 -13
  258. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +0 -5
  259. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +0 -19
  260. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.d.ts +0 -6
  261. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.js +0 -5
  262. package/node_modules/music-metadata/node_modules/strtok3/lib/types.d.ts +0 -139
  263. package/node_modules/music-metadata/node_modules/strtok3/lib/types.js +0 -1
  264. package/node_modules/music-metadata/node_modules/strtok3/package.json +0 -94
  265. package/node_modules/music-metadata/node_modules/token-types/LICENSE.txt +0 -9
  266. package/node_modules/music-metadata/node_modules/token-types/README.md +0 -120
  267. package/node_modules/music-metadata/node_modules/token-types/lib/index.d.ts +0 -135
  268. package/node_modules/music-metadata/node_modules/token-types/lib/index.js +0 -401
  269. package/node_modules/music-metadata/node_modules/token-types/package.json +0 -81
  270. package/node_modules/sprintf-js/.npmignore +0 -1
  271. package/node_modules/sprintf-js/LICENSE +0 -24
  272. package/node_modules/sprintf-js/README.md +0 -88
  273. package/node_modules/sprintf-js/bower.json +0 -14
  274. package/node_modules/sprintf-js/demo/angular.html +0 -20
  275. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
  276. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
  277. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
  278. package/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
  279. package/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
  280. package/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
  281. package/node_modules/sprintf-js/gruntfile.js +0 -36
  282. package/node_modules/sprintf-js/package.json +0 -22
  283. package/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
  284. package/node_modules/sprintf-js/src/sprintf.js +0 -208
  285. package/node_modules/sprintf-js/test/test.js +0 -82
  286. package/node_modules/uint8array-extras/index.d.ts +0 -331
  287. package/node_modules/uint8array-extras/index.js +0 -318
  288. package/node_modules/uint8array-extras/license +0 -9
  289. package/node_modules/uint8array-extras/package.json +0 -54
  290. package/node_modules/uint8array-extras/readme.md +0 -318
  291. package/node_modules/win-guid/LICENSE.txt +0 -9
  292. package/node_modules/win-guid/README.md +0 -113
  293. package/node_modules/win-guid/lib/guid.d.ts +0 -20
  294. package/node_modules/win-guid/lib/guid.js +0 -107
  295. package/node_modules/win-guid/package.json +0 -55
  296. /package/node_modules/{argparse → mammoth/node_modules/argparse}/LICENSE +0 -0
  297. /package/node_modules/{argparse → mammoth/node_modules/argparse}/README.md +0 -0
  298. /package/node_modules/{argparse → mammoth/node_modules/argparse}/index.js +0 -0
  299. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/append/constant.js +0 -0
  300. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/append.js +0 -0
  301. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/count.js +0 -0
  302. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/help.js +0 -0
  303. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/constant.js +0 -0
  304. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/false.js +0 -0
  305. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/true.js +0 -0
  306. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store.js +0 -0
  307. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/subparsers.js +0 -0
  308. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/version.js +0 -0
  309. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action.js +0 -0
  310. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action_container.js +0 -0
  311. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argparse.js +0 -0
  312. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/error.js +0 -0
  313. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/exclusive.js +0 -0
  314. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/group.js +0 -0
  315. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument_parser.js +0 -0
  316. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/const.js +0 -0
  317. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/help/added_formatters.js +0 -0
  318. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/help/formatter.js +0 -0
  319. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/namespace.js +0 -0
  320. /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/utils.js +0 -0
  321. /package/node_modules/{argparse → mammoth/node_modules/argparse}/package.json +0 -0
@@ -1,31 +1,6 @@
1
- import type * as iff from '../iff/index.js';
2
- import type { IGetToken } from 'strtok3';
3
- export declare const compressionTypes: {
4
- NONE: string;
5
- sowt: string;
6
- fl32: string;
7
- fl64: string;
8
- alaw: string;
9
- ulaw: string;
10
- ULAW: string;
11
- ALAW: string;
12
- FL32: string;
13
- };
14
- export type CompressionTypeCode = keyof typeof compressionTypes;
15
- declare const AiffContentError_base: {
16
- new (message: string): {
17
- readonly fileType: string;
18
- toString(): string;
19
- name: "UnexpectedFileContentError";
20
- message: string;
21
- stack?: string;
22
- };
23
- captureStackTrace(targetObject: object, constructorOpt?: Function): void;
24
- prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
25
- stackTraceLimit: number;
26
- };
27
- export declare class AiffContentError extends AiffContentError_base {
28
- }
1
+ /// <reference types="node" />
2
+ import { IGetToken } from 'strtok3';
3
+ import * as iff from '../iff';
29
4
  /**
30
5
  * The Common Chunk.
31
6
  * Describes fundamental parameters of the waveform data such as sample rate, bit resolution, and how many channels of
@@ -36,13 +11,12 @@ export interface ICommon {
36
11
  numSampleFrames: number;
37
12
  sampleSize: number;
38
13
  sampleRate: number;
39
- compressionType?: CompressionTypeCode;
14
+ compressionType?: string;
40
15
  compressionName?: string;
41
16
  }
42
17
  export declare class Common implements IGetToken<ICommon> {
43
- len: number;
44
18
  private isAifc;
19
+ len: number;
45
20
  constructor(header: iff.IChunkHeader, isAifc: boolean);
46
- get(buf: Uint8Array, off: number): ICommon;
21
+ get(buf: Buffer, off: number): ICommon;
47
22
  }
48
- export {};
@@ -1,48 +1,37 @@
1
- import * as Token from 'token-types';
2
- import { FourCcToken } from '../common/FourCC.js';
3
- import { makeUnexpectedFileContentError } from '../ParseError.js';
4
- export const compressionTypes = {
5
- NONE: 'not compressed PCM Apple Computer',
6
- sowt: 'PCM (byte swapped)',
7
- fl32: '32-bit floating point IEEE 32-bit float',
8
- fl64: '64-bit floating point IEEE 64-bit float Apple Computer',
9
- alaw: 'ALaw 2:1 8-bit ITU-T G.711 A-law',
10
- ulaw: 'µLaw 2:1 8-bit ITU-T G.711 µ-law Apple Computer',
11
- ULAW: 'CCITT G.711 u-law 8-bit ITU-T G.711 µ-law',
12
- ALAW: 'CCITT G.711 A-law 8-bit ITU-T G.711 A-law',
13
- FL32: 'Float 32 IEEE 32-bit float '
14
- };
15
- export class AiffContentError extends makeUnexpectedFileContentError('AIFF') {
16
- }
17
- export class Common {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Common = void 0;
4
+ const Token = require("token-types");
5
+ const FourCC_1 = require("../common/FourCC");
6
+ class Common {
18
7
  constructor(header, isAifc) {
19
8
  this.isAifc = isAifc;
20
9
  const minimumChunkSize = isAifc ? 22 : 18;
21
10
  if (header.chunkSize < minimumChunkSize)
22
- throw new AiffContentError(`COMMON CHUNK size should always be at least ${minimumChunkSize}`);
11
+ throw new Error(`COMMON CHUNK size should always be at least ${minimumChunkSize}`);
23
12
  this.len = header.chunkSize;
24
13
  }
25
14
  get(buf, off) {
26
15
  // see: https://cycling74.com/forums/aiffs-80-bit-sample-rate-value
27
- const shift = Token.UINT16_BE.get(buf, off + 8) - 16398;
28
- const baseSampleRate = Token.UINT16_BE.get(buf, off + 8 + 2);
16
+ const shift = buf.readUInt16BE(off + 8) - 16398;
17
+ const baseSampleRate = buf.readUInt16BE(off + 8 + 2);
29
18
  const res = {
30
- numChannels: Token.UINT16_BE.get(buf, off),
31
- numSampleFrames: Token.UINT32_BE.get(buf, off + 2),
32
- sampleSize: Token.UINT16_BE.get(buf, off + 6),
19
+ numChannels: buf.readUInt16BE(off),
20
+ numSampleFrames: buf.readUInt32BE(off + 2),
21
+ sampleSize: buf.readUInt16BE(off + 6),
33
22
  sampleRate: shift < 0 ? baseSampleRate >> Math.abs(shift) : baseSampleRate << shift
34
23
  };
35
24
  if (this.isAifc) {
36
- res.compressionType = FourCcToken.get(buf, off + 18);
25
+ res.compressionType = FourCC_1.FourCcToken.get(buf, off + 18);
37
26
  if (this.len > 22) {
38
- const strLen = Token.UINT8.get(buf, off + 22);
27
+ const strLen = buf.readInt8(off + 22);
39
28
  if (strLen > 0) {
40
29
  const padding = (strLen + 1) % 2;
41
30
  if (23 + strLen + padding === this.len) {
42
- res.compressionName = new Token.StringType(strLen, 'latin1').get(buf, off + 23);
31
+ res.compressionName = new Token.StringType(strLen, 'binary').get(buf, off + 23);
43
32
  }
44
33
  else {
45
- throw new AiffContentError('Illegal pstring length');
34
+ throw new Error('Illegal pstring length');
46
35
  }
47
36
  }
48
37
  else {
@@ -56,3 +45,4 @@ export class Common {
56
45
  return res;
57
46
  }
58
47
  }
48
+ exports.Common = Common;
@@ -1,25 +1,10 @@
1
- import * as strtok3 from 'strtok3';
2
- import type { IOptions, IApeHeader } from '../type.js';
3
- import type { INativeMetadataCollector } from '../common/MetadataCollector.js';
4
- import { BasicParser } from '../common/BasicParser.js';
5
- import { type IFooter, type IHeader } from './APEv2Token.js';
6
- import type { IRandomAccessTokenizer } from 'strtok3';
7
- declare const ApeContentError_base: {
8
- new (message: string): {
9
- readonly fileType: string;
10
- toString(): string;
11
- name: "UnexpectedFileContentError";
12
- message: string;
13
- stack?: string;
14
- };
15
- captureStackTrace(targetObject: object, constructorOpt?: Function): void;
16
- prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
17
- stackTraceLimit: number;
18
- };
19
- export declare class ApeContentError extends ApeContentError_base {
20
- }
21
- export declare function tryParseApeHeader(metadata: INativeMetadataCollector, tokenizer: strtok3.ITokenizer, options: IOptions): Promise<void>;
1
+ import * as strtok3 from 'strtok3/lib/core';
2
+ import { IOptions, IRandomReader, IApeHeader } from '../type';
3
+ import { INativeMetadataCollector } from '../common/MetadataCollector';
4
+ import { BasicParser } from '../common/BasicParser';
5
+ import { IFooter, IHeader } from './APEv2Token';
22
6
  export declare class APEv2Parser extends BasicParser {
7
+ static tryParseApeHeader(metadata: INativeMetadataCollector, tokenizer: strtok3.ITokenizer, options: IOptions): Promise<void>;
23
8
  /**
24
9
  * Calculate the media file duration
25
10
  * @param ah ApeHeader
@@ -28,10 +13,10 @@ export declare class APEv2Parser extends BasicParser {
28
13
  static calculateDuration(ah: IHeader): number;
29
14
  /**
30
15
  * Calculates the APEv1 / APEv2 first field offset
31
- * @param tokenizer
16
+ * @param reader
32
17
  * @param offset
33
18
  */
34
- static findApeFooterOffset(tokenizer: IRandomAccessTokenizer, offset: number): Promise<IApeHeader | undefined>;
19
+ static findApeFooterOffset(reader: IRandomReader, offset: number): Promise<IApeHeader>;
35
20
  private static parseTagFooter;
36
21
  private ape;
37
22
  /**
@@ -43,4 +28,3 @@ export declare class APEv2Parser extends BasicParser {
43
28
  private parseDescriptorExpansion;
44
29
  private parseHeader;
45
30
  }
46
- export {};
@@ -1,25 +1,25 @@
1
- import initDebug from 'debug';
2
- import * as strtok3 from 'strtok3';
3
- import { StringType } from 'token-types';
4
- import * as util from '../common/Util.js';
5
- import { BasicParser } from '../common/BasicParser.js';
6
- import { DataType, DescriptorParser, Header, TagFooter, TagItemHeader } from './APEv2Token.js';
7
- import { makeUnexpectedFileContentError } from '../ParseError.js';
8
- import { textDecode } from '@borewit/text-codec';
9
- const debug = initDebug('music-metadata:parser:APEv2');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APEv2Parser = void 0;
4
+ const debug_1 = require("debug");
5
+ const strtok3 = require("strtok3/lib/core");
6
+ const token_types_1 = require("token-types");
7
+ const util = require("../common/Util");
8
+ const BasicParser_1 = require("../common/BasicParser");
9
+ const APEv2Token_1 = require("./APEv2Token");
10
+ const debug = (0, debug_1.default)('music-metadata:parser:APEv2');
10
11
  const tagFormat = 'APEv2';
11
12
  const preamble = 'APETAGEX';
12
- export class ApeContentError extends makeUnexpectedFileContentError('APEv2') {
13
- }
14
- export function tryParseApeHeader(metadata, tokenizer, options) {
15
- const apeParser = new APEv2Parser(metadata, tokenizer, options);
16
- return apeParser.tryParseApeHeader();
17
- }
18
- export class APEv2Parser extends BasicParser {
13
+ class APEv2Parser extends BasicParser_1.BasicParser {
19
14
  constructor() {
20
15
  super(...arguments);
21
16
  this.ape = {};
22
17
  }
18
+ static tryParseApeHeader(metadata, tokenizer, options) {
19
+ const apeParser = new APEv2Parser();
20
+ apeParser.init(metadata, tokenizer, options);
21
+ return apeParser.tryParseApeHeader();
22
+ }
23
23
  /**
24
24
  * Calculate the media file duration
25
25
  * @param ah ApeHeader
@@ -32,119 +32,109 @@ export class APEv2Parser extends BasicParser {
32
32
  }
33
33
  /**
34
34
  * Calculates the APEv1 / APEv2 first field offset
35
- * @param tokenizer
35
+ * @param reader
36
36
  * @param offset
37
37
  */
38
- static async findApeFooterOffset(tokenizer, offset) {
38
+ static async findApeFooterOffset(reader, offset) {
39
39
  // Search for APE footer header at the end of the file
40
- const apeBuf = new Uint8Array(TagFooter.len);
41
- const position = tokenizer.position;
42
- if (offset <= TagFooter.len) {
43
- debug(`Offset is too small to read APE footer: offset=${offset}`);
44
- return undefined;
45
- }
46
- if (offset > TagFooter.len) {
47
- await tokenizer.readBuffer(apeBuf, { position: offset - TagFooter.len });
48
- tokenizer.setPosition(position);
49
- const tagFooter = TagFooter.get(apeBuf, 0);
50
- if (tagFooter.ID === 'APETAGEX') {
51
- if (tagFooter.flags.isHeader) {
52
- debug(`APE Header found at offset=${offset - TagFooter.len}`);
53
- }
54
- else {
55
- debug(`APE Footer found at offset=${offset - TagFooter.len}`);
56
- offset -= tagFooter.size;
57
- }
58
- return { footer: tagFooter, offset };
59
- }
40
+ const apeBuf = Buffer.alloc(APEv2Token_1.TagFooter.len);
41
+ await reader.randomRead(apeBuf, 0, APEv2Token_1.TagFooter.len, offset - APEv2Token_1.TagFooter.len);
42
+ const tagFooter = APEv2Token_1.TagFooter.get(apeBuf, 0);
43
+ if (tagFooter.ID === 'APETAGEX') {
44
+ debug(`APE footer header at offset=${offset}`);
45
+ return { footer: tagFooter, offset: offset - tagFooter.size };
60
46
  }
61
47
  }
62
48
  static parseTagFooter(metadata, buffer, options) {
63
- const footer = TagFooter.get(buffer, buffer.length - TagFooter.len);
49
+ const footer = APEv2Token_1.TagFooter.get(buffer, buffer.length - APEv2Token_1.TagFooter.len);
64
50
  if (footer.ID !== preamble)
65
- throw new ApeContentError('Unexpected APEv2 Footer ID preamble value');
51
+ throw new Error('Unexpected APEv2 Footer ID preamble value.');
66
52
  strtok3.fromBuffer(buffer);
67
- const apeParser = new APEv2Parser(metadata, strtok3.fromBuffer(buffer), options);
53
+ const apeParser = new APEv2Parser();
54
+ apeParser.init(metadata, strtok3.fromBuffer(buffer), options);
68
55
  return apeParser.parseTags(footer);
69
56
  }
70
57
  /**
71
58
  * Parse APEv1 / APEv2 header if header signature found
72
59
  */
73
60
  async tryParseApeHeader() {
74
- if (this.tokenizer.fileInfo.size && this.tokenizer.fileInfo.size - this.tokenizer.position < TagFooter.len) {
75
- debug("No APEv2 header found, end-of-file reached");
61
+ if (this.tokenizer.fileInfo.size && this.tokenizer.fileInfo.size - this.tokenizer.position < APEv2Token_1.TagFooter.len) {
62
+ debug(`No APEv2 header found, end-of-file reached`);
76
63
  return;
77
64
  }
78
- const footer = await this.tokenizer.peekToken(TagFooter);
65
+ const footer = await this.tokenizer.peekToken(APEv2Token_1.TagFooter);
79
66
  if (footer.ID === preamble) {
80
- await this.tokenizer.ignore(TagFooter.len);
67
+ await this.tokenizer.ignore(APEv2Token_1.TagFooter.len);
81
68
  return this.parseTags(footer);
82
69
  }
83
- debug(`APEv2 header not found at offset=${this.tokenizer.position}`);
84
- if (this.tokenizer.fileInfo.size) {
85
- // Try to read the APEv2 header using just the footer-header
86
- const remaining = this.tokenizer.fileInfo.size - this.tokenizer.position; // ToDo: take ID3v1 into account
87
- const buffer = new Uint8Array(remaining);
88
- await this.tokenizer.readBuffer(buffer);
89
- return APEv2Parser.parseTagFooter(this.metadata, buffer, this.options);
70
+ else {
71
+ debug(`APEv2 header not found at offset=${this.tokenizer.position}`);
72
+ if (this.tokenizer.fileInfo.size) {
73
+ // Try to read the APEv2 header using just the footer-header
74
+ const remaining = this.tokenizer.fileInfo.size - this.tokenizer.position; // ToDo: take ID3v1 into account
75
+ const buffer = Buffer.alloc(remaining);
76
+ await this.tokenizer.readBuffer(buffer);
77
+ return APEv2Parser.parseTagFooter(this.metadata, buffer, this.options);
78
+ }
90
79
  }
91
80
  }
92
81
  async parse() {
93
- const descriptor = await this.tokenizer.readToken(DescriptorParser);
82
+ const descriptor = await this.tokenizer.readToken(APEv2Token_1.DescriptorParser);
94
83
  if (descriptor.ID !== 'MAC ')
95
- throw new ApeContentError('Unexpected descriptor ID');
84
+ throw new Error('Unexpected descriptor ID');
96
85
  this.ape.descriptor = descriptor;
97
- const lenExp = descriptor.descriptorBytes - DescriptorParser.len;
86
+ const lenExp = descriptor.descriptorBytes - APEv2Token_1.DescriptorParser.len;
98
87
  const header = await (lenExp > 0 ? this.parseDescriptorExpansion(lenExp) : this.parseHeader());
99
- this.metadata.setAudioOnly();
100
88
  await this.tokenizer.ignore(header.forwardBytes);
101
89
  return this.tryParseApeHeader();
102
90
  }
103
91
  async parseTags(footer) {
104
- const keyBuffer = new Uint8Array(256); // maximum tag key length
105
- let bytesRemaining = footer.size - TagFooter.len;
92
+ const keyBuffer = Buffer.alloc(256); // maximum tag key length
93
+ let bytesRemaining = footer.size - APEv2Token_1.TagFooter.len;
106
94
  debug(`Parse APE tags at offset=${this.tokenizer.position}, size=${bytesRemaining}`);
107
95
  for (let i = 0; i < footer.fields; i++) {
108
- if (bytesRemaining < TagItemHeader.len) {
96
+ if (bytesRemaining < APEv2Token_1.TagItemHeader.len) {
109
97
  this.metadata.addWarning(`APEv2 Tag-header: ${footer.fields - i} items remaining, but no more tag data to read.`);
110
98
  break;
111
99
  }
112
100
  // Only APEv2 tag has tag item headers
113
- const tagItemHeader = await this.tokenizer.readToken(TagItemHeader);
114
- bytesRemaining -= TagItemHeader.len + tagItemHeader.size;
101
+ const tagItemHeader = await this.tokenizer.readToken(APEv2Token_1.TagItemHeader);
102
+ bytesRemaining -= APEv2Token_1.TagItemHeader.len + tagItemHeader.size;
115
103
  await this.tokenizer.peekBuffer(keyBuffer, { length: Math.min(keyBuffer.length, bytesRemaining) });
116
- let zero = util.findZero(keyBuffer);
117
- const key = await this.tokenizer.readToken(new StringType(zero, 'ascii'));
104
+ let zero = util.findZero(keyBuffer, 0, keyBuffer.length);
105
+ const key = await this.tokenizer.readToken(new token_types_1.StringType(zero, 'ascii'));
118
106
  await this.tokenizer.ignore(1);
119
107
  bytesRemaining -= key.length + 1;
120
108
  switch (tagItemHeader.flags.dataType) {
121
- case DataType.text_utf8: { // utf-8 text-string
122
- const value = await this.tokenizer.readToken(new StringType(tagItemHeader.size, 'utf8'));
109
+ case APEv2Token_1.DataType.text_utf8: { // utf-8 text-string
110
+ const value = await this.tokenizer.readToken(new token_types_1.StringType(tagItemHeader.size, 'utf8'));
123
111
  const values = value.split(/\x00/g);
124
- await Promise.all(values.map(val => this.metadata.addTag(tagFormat, key, val)));
112
+ for (const val of values) {
113
+ this.metadata.addTag(tagFormat, key, val);
114
+ }
125
115
  break;
126
116
  }
127
- case DataType.binary: // binary (probably artwork)
117
+ case APEv2Token_1.DataType.binary: // binary (probably artwork)
128
118
  if (this.options.skipCovers) {
129
119
  await this.tokenizer.ignore(tagItemHeader.size);
130
120
  }
131
121
  else {
132
- const picData = new Uint8Array(tagItemHeader.size);
122
+ const picData = Buffer.alloc(tagItemHeader.size);
133
123
  await this.tokenizer.readBuffer(picData);
134
- zero = util.findZero(picData);
135
- const description = textDecode(picData.subarray(0, zero), 'utf-8');
136
- const data = picData.subarray(zero + 1);
137
- await this.metadata.addTag(tagFormat, key, {
124
+ zero = util.findZero(picData, 0, picData.length);
125
+ const description = picData.toString('utf8', 0, zero);
126
+ const data = Buffer.from(picData.slice(zero + 1));
127
+ this.metadata.addTag(tagFormat, key, {
138
128
  description,
139
129
  data
140
130
  });
141
131
  }
142
132
  break;
143
- case DataType.external_info:
133
+ case APEv2Token_1.DataType.external_info:
144
134
  debug(`Ignore external info ${key}`);
145
135
  await this.tokenizer.ignore(tagItemHeader.size);
146
136
  break;
147
- case DataType.reserved:
137
+ case APEv2Token_1.DataType.reserved:
148
138
  debug(`Ignore external info ${key}`);
149
139
  this.metadata.addWarning(`APEv2 header declares a reserved datatype for "${key}"`);
150
140
  await this.tokenizer.ignore(tagItemHeader.size);
@@ -157,7 +147,7 @@ export class APEv2Parser extends BasicParser {
157
147
  return this.parseHeader();
158
148
  }
159
149
  async parseHeader() {
160
- const header = await this.tokenizer.readToken(Header);
150
+ const header = await this.tokenizer.readToken(APEv2Token_1.Header);
161
151
  // ToDo before
162
152
  this.metadata.setFormat('lossless', true);
163
153
  this.metadata.setFormat('container', 'Monkey\'s Audio');
@@ -165,12 +155,10 @@ export class APEv2Parser extends BasicParser {
165
155
  this.metadata.setFormat('sampleRate', header.sampleRate);
166
156
  this.metadata.setFormat('numberOfChannels', header.channel);
167
157
  this.metadata.setFormat('duration', APEv2Parser.calculateDuration(header));
168
- if (!this.ape.descriptor) {
169
- throw new ApeContentError('Missing APE descriptor');
170
- }
171
158
  return {
172
159
  forwardBytes: this.ape.descriptor.seekTableBytes + this.ape.descriptor.headerDataBytes +
173
160
  this.ape.descriptor.apeFrameDataBytes + this.ape.descriptor.terminatingDataBytes
174
161
  };
175
162
  }
176
163
  }
164
+ exports.APEv2Parser = APEv2Parser;
@@ -1,4 +1,4 @@
1
- import { CaseInsensitiveTagMap } from '../common/CaseInsensitiveTagMap.js';
1
+ import { CaseInsensitiveTagMap } from '../common/CaseInsensitiveTagMap';
2
2
  export declare class APEv2TagMapper extends CaseInsensitiveTagMap {
3
3
  constructor();
4
4
  }
@@ -1,4 +1,7 @@
1
- import { CaseInsensitiveTagMap } from '../common/CaseInsensitiveTagMap.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APEv2TagMapper = void 0;
4
+ const CaseInsensitiveTagMap_1 = require("../common/CaseInsensitiveTagMap");
2
5
  /**
3
6
  * ID3v2.2 tag mappings
4
7
  */
@@ -11,11 +14,10 @@ const apev2TagMap = {
11
14
  Year: 'date',
12
15
  Originalyear: 'originalyear',
13
16
  Originaldate: 'originaldate',
14
- Releasedate: 'releasedate',
15
17
  Comment: 'comment',
16
18
  Track: 'track',
17
19
  Disc: 'disk',
18
- DISCNUMBER: 'disk', // ToDo: backwards compatibility', valid tag?
20
+ DISCNUMBER: 'disk',
19
21
  Genre: 'genre',
20
22
  'Cover Art (Front)': 'picture',
21
23
  'Cover Art (Back)': 'picture',
@@ -76,8 +78,10 @@ const apev2TagMap = {
76
78
  MP3GAIN_MINMAX: 'replaygain_track_minmax',
77
79
  MP3GAIN_UNDO: 'replaygain_undo'
78
80
  };
79
- export class APEv2TagMapper extends CaseInsensitiveTagMap {
81
+ class APEv2TagMapper extends CaseInsensitiveTagMap_1.CaseInsensitiveTagMap {
80
82
  constructor() {
81
83
  super(['APEv2'], apev2TagMap);
82
84
  }
83
85
  }
86
+ exports.APEv2TagMapper = APEv2TagMapper;
87
+ //# sourceMappingURL=APEv2TagMapper.js.map
@@ -1,4 +1,5 @@
1
- import type { IGetToken } from 'strtok3';
1
+ import * as Token from 'token-types';
2
+ import { IGetToken } from 'strtok3/lib/core';
2
3
  /**
3
4
  * APETag versionIndex history / supported formats
4
5
  *
@@ -52,13 +53,12 @@ export interface IFooter {
52
53
  fields: number;
53
54
  flags: ITagFlags;
54
55
  }
55
- export declare const DataType: {
56
- text_utf8: number;
57
- binary: number;
58
- external_info: number;
59
- reserved: number;
60
- };
61
- export type DataType = typeof DataType[keyof typeof DataType];
56
+ export declare enum DataType {
57
+ text_utf8 = 0,
58
+ binary = 1,
59
+ external_info = 2,
60
+ reserved = 3
61
+ }
62
62
  /**
63
63
  * APE_DESCRIPTOR: defines the sizes (and offsets) of all the pieces, as well as the MD5 checksum
64
64
  */
@@ -83,6 +83,7 @@ export interface ITagItemHeader {
83
83
  * APE Tag v2.0 Item Header
84
84
  */
85
85
  export declare const TagItemHeader: IGetToken<ITagItemHeader>;
86
+ export declare const TagField: (footer: any) => Token.Uint8ArrayType;
86
87
  export interface ITagFlags {
87
88
  containsHeader: boolean;
88
89
  containsFooter: boolean;
@@ -90,10 +91,10 @@ export interface ITagFlags {
90
91
  readOnly: boolean;
91
92
  dataType: DataType;
92
93
  }
93
- export declare function parseTagFlags(flags: number): ITagFlags;
94
+ export declare function parseTagFlags(flags: any): ITagFlags;
94
95
  /**
95
96
  * @param num {number}
96
97
  * @param bit 0 is least significant bit (LSB)
97
98
  * @return {boolean} true if bit is 1; otherwise false
98
99
  */
99
- export declare function isBitSet(num: number, bit: number): boolean;
100
+ export declare function isBitSet(num: any, bit: any): boolean;
@@ -1,20 +1,24 @@
1
- import * as Token from 'token-types';
2
- import { FourCcToken } from '../common/FourCC.js';
3
- export const DataType = {
4
- text_utf8: 0,
5
- binary: 1,
6
- external_info: 2,
7
- reserved: 3
8
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBitSet = exports.parseTagFlags = exports.TagField = exports.TagItemHeader = exports.TagFooter = exports.Header = exports.DescriptorParser = exports.DataType = void 0;
4
+ const Token = require("token-types");
5
+ const FourCC_1 = require("../common/FourCC");
6
+ var DataType;
7
+ (function (DataType) {
8
+ DataType[DataType["text_utf8"] = 0] = "text_utf8";
9
+ DataType[DataType["binary"] = 1] = "binary";
10
+ DataType[DataType["external_info"] = 2] = "external_info";
11
+ DataType[DataType["reserved"] = 3] = "reserved";
12
+ })(DataType = exports.DataType || (exports.DataType = {}));
9
13
  /**
10
14
  * APE_DESCRIPTOR: defines the sizes (and offsets) of all the pieces, as well as the MD5 checksum
11
15
  */
12
- export const DescriptorParser = {
16
+ exports.DescriptorParser = {
13
17
  len: 52,
14
18
  get: (buf, off) => {
15
19
  return {
16
20
  // should equal 'MAC '
17
- ID: FourCcToken.get(buf, off),
21
+ ID: FourCC_1.FourCcToken.get(buf, off),
18
22
  // versionIndex number * 1000 (3.81 = 3810) (remember that 4-byte alignment causes this to take 4-bytes)
19
23
  version: Token.UINT32_LE.get(buf, off + 4) / 1000,
20
24
  // the number of descriptor bytes (allows later expansion of this header)
@@ -39,7 +43,7 @@ export const DescriptorParser = {
39
43
  /**
40
44
  * APE_HEADER: describes all of the necessary information about the APE file
41
45
  */
42
- export const Header = {
46
+ exports.Header = {
43
47
  len: 24,
44
48
  get: (buf, off) => {
45
49
  return {
@@ -66,7 +70,7 @@ export const Header = {
66
70
  * APE Tag Header/Footer Version 2.0
67
71
  * TAG: describes all the properties of the file [optional]
68
72
  */
69
- export const TagFooter = {
73
+ exports.TagFooter = {
70
74
  len: 32,
71
75
  get: (buf, off) => {
72
76
  return {
@@ -86,7 +90,7 @@ export const TagFooter = {
86
90
  /**
87
91
  * APE Tag v2.0 Item Header
88
92
  */
89
- export const TagItemHeader = {
93
+ exports.TagItemHeader = {
90
94
  len: 8,
91
95
  get: (buf, off) => {
92
96
  return {
@@ -97,20 +101,27 @@ export const TagItemHeader = {
97
101
  };
98
102
  }
99
103
  };
100
- export function parseTagFlags(flags) {
104
+ const TagField = footer => {
105
+ return new Token.Uint8ArrayType(footer.size - exports.TagFooter.len);
106
+ };
107
+ exports.TagField = TagField;
108
+ function parseTagFlags(flags) {
101
109
  return {
102
110
  containsHeader: isBitSet(flags, 31),
103
111
  containsFooter: isBitSet(flags, 30),
104
- isHeader: isBitSet(flags, 29),
112
+ isHeader: isBitSet(flags, 31),
105
113
  readOnly: isBitSet(flags, 0),
106
114
  dataType: (flags & 6) >> 1
107
115
  };
108
116
  }
117
+ exports.parseTagFlags = parseTagFlags;
109
118
  /**
110
119
  * @param num {number}
111
120
  * @param bit 0 is least significant bit (LSB)
112
121
  * @return {boolean} true if bit is 1; otherwise false
113
122
  */
114
- export function isBitSet(num, bit) {
123
+ function isBitSet(num, bit) {
115
124
  return (num & 1 << bit) !== 0;
116
125
  }
126
+ exports.isBitSet = isBitSet;
127
+ //# sourceMappingURL=APEv2Token.js.map