@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,20 +1,14 @@
1
- import { type MediaType } from 'media-typer';
2
- import { type INativeMetadataCollector } from './common/MetadataCollector.js';
3
- import { type IAudioMetadata, type IOptions, type ParserType } from './type.js';
4
- import type { ITokenizer } from 'strtok3';
5
- export interface IParserLoader {
6
- /**
7
- * Returns a list of supported file extensions
8
- */
9
- extensions: string[];
10
- mimeTypes: string[];
11
- parserType: ParserType;
1
+ import { IOptions, IAudioMetadata, ParserType } from './type';
2
+ import { ITokenizer } from 'strtok3/lib/core';
3
+ import { INativeMetadataCollector } from './common/MetadataCollector';
4
+ export interface ITokenParser {
12
5
  /**
13
- * Lazy load the parser implementation class.
6
+ * Initialize parser with output (metadata), input (tokenizer) & parsing options (options).
7
+ * @param metadata - Output
8
+ * @param tokenizer - Input
9
+ * @param options - Parsing options
14
10
  */
15
- load(): Promise<new (metadata: INativeMetadataCollector, tokenizer: ITokenizer, options: IOptions) => ITokenParser>;
16
- }
17
- export interface ITokenParser {
11
+ init(metadata: INativeMetadataCollector, tokenizer: ITokenizer, options: IOptions): ITokenParser;
18
12
  /**
19
13
  * Parse audio track.
20
14
  * Called after init(...).
@@ -22,23 +16,33 @@ export interface ITokenParser {
22
16
  */
23
17
  parse(): Promise<void>;
24
18
  }
25
- interface IContentType extends MediaType {
19
+ export declare function parseHttpContentType(contentType: string): {
20
+ type: string;
21
+ subtype: string;
22
+ suffix?: string;
26
23
  parameters: {
27
24
  [id: string]: string;
28
25
  };
29
- }
30
- export declare function parseHttpContentType(contentType: string): IContentType;
26
+ };
31
27
  export declare class ParserFactory {
32
- parsers: IParserLoader[];
33
- constructor();
34
- registerParser(parser: IParserLoader): void;
35
- parse(tokenizer: ITokenizer, parserLoader: IParserLoader | undefined, opts?: IOptions): Promise<IAudioMetadata>;
28
+ /**
29
+ * Parse metadata from tokenizer
30
+ * @param tokenizer - Tokenizer
31
+ * @param opts - Options
32
+ * @returns Native metadata
33
+ */
34
+ static parseOnContentType(tokenizer: ITokenizer, opts: IOptions): Promise<IAudioMetadata>;
35
+ static parse(tokenizer: ITokenizer, parserId: ParserType, opts: IOptions): Promise<IAudioMetadata>;
36
36
  /**
37
37
  * @param filePath - Path, filename or extension to audio file
38
- * @return Parser submodule name
38
+ * @return Parser sub-module name
39
+ */
40
+ static getParserIdForExtension(filePath: string): ParserType;
41
+ static loadParser(moduleName: ParserType): Promise<ITokenParser>;
42
+ private static getExtension;
43
+ /**
44
+ * @param httpContentType - HTTP Content-Type, extension, path or filename
45
+ * @returns Parser sub-module name
39
46
  */
40
- findLoaderForExtension(filePath: string | undefined): IParserLoader | undefined;
41
- findLoaderForContentType(httpContentType: string): IParserLoader | undefined;
42
- getSupportedMimeTypes(): string[];
47
+ private static getParserIdForMimeType;
43
48
  }
44
- export {};
@@ -1,28 +1,28 @@
1
- import { fileTypeFromBuffer } from 'file-type';
2
- import ContentType from 'content-type';
3
- import { parse as mimeTypeParse } from 'media-typer';
4
- import initDebug from 'debug';
5
- import { MetadataCollector } from './common/MetadataCollector.js';
6
- import { TrackType } from './type.js';
7
- import { mpegParserLoader } from './mpeg/MpegLoader.js';
8
- import { CouldNotDetermineFileTypeError, UnsupportedFileTypeError } from './ParseError.js';
9
- import { apeParserLoader } from './apev2/Apev2Loader.js';
10
- import { asfParserLoader } from './asf/AsfLoader.js';
11
- import { dsdiffParserLoader } from './dsdiff/DsdiffLoader.js';
12
- import { aiffParserLoader } from './aiff/AiffLoader.js';
13
- import { dsfParserLoader } from './dsf/DsfLoader.js';
14
- import { flacParserLoader } from './flac/FlacLoader.js';
15
- import { matroskaParserLoader } from './matroska/MatroskaLoader.js';
16
- import { mp4ParserLoader } from './mp4/Mp4Loader.js';
17
- import { musepackParserLoader } from './musepack/MusepackLoader.js';
18
- import { oggParserLoader } from './ogg/OggLoader.js';
19
- import { wavpackParserLoader } from './wavpack/WavPackLoader.js';
20
- import { riffParserLoader } from './wav/WaveLoader.js';
21
- import { scanAppendingHeaders } from './core.js';
22
- const debug = initDebug('music-metadata:parser:factory');
23
- export function parseHttpContentType(contentType) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParserFactory = exports.parseHttpContentType = void 0;
4
+ const FileType = require("file-type/core");
5
+ const ContentType = require("content-type");
6
+ const MimeType = require("media-typer");
7
+ const debug_1 = require("debug");
8
+ const MetadataCollector_1 = require("./common/MetadataCollector");
9
+ const AiffParser_1 = require("./aiff/AiffParser");
10
+ const APEv2Parser_1 = require("./apev2/APEv2Parser");
11
+ const AsfParser_1 = require("./asf/AsfParser");
12
+ const FlacParser_1 = require("./flac/FlacParser");
13
+ const MP4Parser_1 = require("./mp4/MP4Parser");
14
+ const MpegParser_1 = require("./mpeg/MpegParser");
15
+ const musepack_1 = require("./musepack");
16
+ const OggParser_1 = require("./ogg/OggParser");
17
+ const WaveParser_1 = require("./wav/WaveParser");
18
+ const WavPackParser_1 = require("./wavpack/WavPackParser");
19
+ const DsfParser_1 = require("./dsf/DsfParser");
20
+ const DsdiffParser_1 = require("./dsdiff/DsdiffParser");
21
+ const MatroskaParser_1 = require("./matroska/MatroskaParser");
22
+ const debug = (0, debug_1.default)('music-metadata:parser:factory');
23
+ function parseHttpContentType(contentType) {
24
24
  const type = ContentType.parse(contentType);
25
- const mime = mimeTypeParse(type.type);
25
+ const mime = MimeType.parse(type.type);
26
26
  return {
27
27
  type: mime.type,
28
28
  subtype: mime.subtype,
@@ -30,112 +30,223 @@ export function parseHttpContentType(contentType) {
30
30
  parameters: type.parameters
31
31
  };
32
32
  }
33
- export class ParserFactory {
34
- constructor() {
35
- this.parsers = [];
36
- [
37
- flacParserLoader,
38
- mpegParserLoader,
39
- apeParserLoader,
40
- mp4ParserLoader,
41
- matroskaParserLoader,
42
- riffParserLoader,
43
- oggParserLoader,
44
- asfParserLoader,
45
- aiffParserLoader,
46
- wavpackParserLoader,
47
- musepackParserLoader,
48
- dsfParserLoader,
49
- dsdiffParserLoader
50
- ].forEach(parser => { this.registerParser(parser); });
51
- }
52
- registerParser(parser) {
53
- this.parsers.push(parser);
54
- }
55
- async parse(tokenizer, parserLoader, opts) {
56
- if (tokenizer.supportsRandomAccess()) {
57
- debug('tokenizer supports random-access, scanning for appending headers');
58
- await scanAppendingHeaders(tokenizer, opts);
59
- }
60
- else {
61
- debug('tokenizer does not support random-access, cannot scan for appending headers');
33
+ exports.parseHttpContentType = parseHttpContentType;
34
+ async function parse(tokenizer, parserId, opts = {}) {
35
+ // Parser found, execute parser
36
+ const parser = await ParserFactory.loadParser(parserId);
37
+ const metadata = new MetadataCollector_1.MetadataCollector(opts);
38
+ await parser.init(metadata, tokenizer, opts).parse();
39
+ return metadata.toCommonMetadata();
40
+ }
41
+ class ParserFactory {
42
+ /**
43
+ * Parse metadata from tokenizer
44
+ * @param tokenizer - Tokenizer
45
+ * @param opts - Options
46
+ * @returns Native metadata
47
+ */
48
+ static async parseOnContentType(tokenizer, opts) {
49
+ const { mimeType, path, url } = await tokenizer.fileInfo;
50
+ // Resolve parser based on MIME-type or file extension
51
+ const parserId = ParserFactory.getParserIdForMimeType(mimeType) || ParserFactory.getParserIdForExtension(path) || ParserFactory.getParserIdForExtension(url);
52
+ if (!parserId) {
53
+ debug('No parser found for MIME-type / extension: ' + mimeType);
62
54
  }
63
- if (!parserLoader) {
64
- const buf = new Uint8Array(4100);
65
- if (tokenizer.fileInfo.mimeType) {
66
- parserLoader = this.findLoaderForContentType(tokenizer.fileInfo.mimeType);
67
- }
68
- if (!parserLoader && tokenizer.fileInfo.path) {
69
- parserLoader = this.findLoaderForExtension(tokenizer.fileInfo.path);
55
+ return this.parse(tokenizer, parserId, opts);
56
+ }
57
+ static async parse(tokenizer, parserId, opts) {
58
+ if (!parserId) {
59
+ // Parser could not be determined on MIME-type or extension
60
+ debug('Guess parser on content...');
61
+ const buf = Buffer.alloc(4100);
62
+ await tokenizer.peekBuffer(buf, { mayBeLess: true });
63
+ if (tokenizer.fileInfo.path) {
64
+ parserId = this.getParserIdForExtension(tokenizer.fileInfo.path);
70
65
  }
71
- if (!parserLoader) {
72
- // Parser could not be determined on MIME-type or extension
73
- debug('Guess parser on content...');
74
- await tokenizer.peekBuffer(buf, { mayBeLess: true });
75
- const guessedType = await fileTypeFromBuffer(buf, { mpegOffsetTolerance: 10 });
76
- if (!guessedType || !guessedType.mime) {
77
- throw new CouldNotDetermineFileTypeError('Failed to determine audio format');
66
+ if (!parserId) {
67
+ const guessedType = await FileType.fromBuffer(buf);
68
+ if (!guessedType) {
69
+ throw new Error('Failed to determine audio format');
78
70
  }
79
71
  debug(`Guessed file type is mime=${guessedType.mime}, extension=${guessedType.ext}`);
80
- parserLoader = this.findLoaderForContentType(guessedType.mime);
81
- if (!parserLoader) {
82
- throw new UnsupportedFileTypeError(`Guessed MIME-type not supported: ${guessedType.mime}`);
72
+ parserId = ParserFactory.getParserIdForMimeType(guessedType.mime);
73
+ if (!parserId) {
74
+ throw new Error('Guessed MIME-type not supported: ' + guessedType.mime);
83
75
  }
84
76
  }
85
77
  }
86
78
  // Parser found, execute parser
87
- debug(`Loading ${parserLoader.parserType} parser...`);
88
- const metadata = new MetadataCollector(opts);
89
- const ParserImpl = await parserLoader.load();
90
- const parser = new ParserImpl(metadata, tokenizer, opts ?? {});
91
- debug(`Parser ${parserLoader.parserType} loaded`);
92
- await parser.parse();
93
- if (metadata.format.trackInfo) {
94
- if (metadata.format.hasAudio === undefined) {
95
- metadata.setFormat('hasAudio', !!metadata.format.trackInfo.find(track => track.type === TrackType.audio));
96
- }
97
- if (metadata.format.hasVideo === undefined) {
98
- metadata.setFormat('hasVideo', !!metadata.format.trackInfo.find(track => track.type === TrackType.video));
99
- }
100
- }
101
- return metadata.toCommonMetadata();
79
+ return parse(tokenizer, parserId, opts);
102
80
  }
103
81
  /**
104
82
  * @param filePath - Path, filename or extension to audio file
105
- * @return Parser submodule name
83
+ * @return Parser sub-module name
106
84
  */
107
- findLoaderForExtension(filePath) {
85
+ static getParserIdForExtension(filePath) {
108
86
  if (!filePath)
109
87
  return;
110
- const extension = getExtension(filePath).toLocaleLowerCase() || filePath;
111
- return this.parsers.find(parser => parser.extensions.indexOf(extension) !== -1);
88
+ const extension = this.getExtension(filePath).toLocaleLowerCase() || filePath;
89
+ switch (extension) {
90
+ case '.mp2':
91
+ case '.mp3':
92
+ case '.m2a':
93
+ case '.aac': // Assume it is ADTS-container
94
+ return 'mpeg';
95
+ case '.ape':
96
+ return 'apev2';
97
+ case '.mp4':
98
+ case '.m4a':
99
+ case '.m4b':
100
+ case '.m4pa':
101
+ case '.m4v':
102
+ case '.m4r':
103
+ case '.3gp':
104
+ return 'mp4';
105
+ case '.wma':
106
+ case '.wmv':
107
+ case '.asf':
108
+ return 'asf';
109
+ case '.flac':
110
+ return 'flac';
111
+ case '.ogg':
112
+ case '.ogv':
113
+ case '.oga':
114
+ case '.ogm':
115
+ case '.ogx':
116
+ case '.opus': // recommended filename extension for Ogg Opus
117
+ case '.spx': // recommended filename extension for Ogg Speex
118
+ return 'ogg';
119
+ case '.aif':
120
+ case '.aiff':
121
+ case '.aifc':
122
+ return 'aiff';
123
+ case '.wav':
124
+ case '.bwf': // Broadcast Wave Format
125
+ return 'riff';
126
+ case '.wv':
127
+ case '.wvp':
128
+ return 'wavpack';
129
+ case '.mpc':
130
+ return 'musepack';
131
+ case '.dsf':
132
+ return 'dsf';
133
+ case '.dff':
134
+ return 'dsdiff';
135
+ case '.mka':
136
+ case '.mkv':
137
+ case '.mk3d':
138
+ case '.mks':
139
+ case '.webm':
140
+ return 'matroska';
141
+ }
112
142
  }
113
- findLoaderForContentType(httpContentType) {
143
+ static async loadParser(moduleName) {
144
+ switch (moduleName) {
145
+ case 'aiff': return new AiffParser_1.AIFFParser();
146
+ case 'adts':
147
+ case 'mpeg':
148
+ return new MpegParser_1.MpegParser();
149
+ case 'apev2': return new APEv2Parser_1.APEv2Parser();
150
+ case 'asf': return new AsfParser_1.AsfParser();
151
+ case 'dsf': return new DsfParser_1.DsfParser();
152
+ case 'dsdiff': return new DsdiffParser_1.DsdiffParser();
153
+ case 'flac': return new FlacParser_1.FlacParser();
154
+ case 'mp4': return new MP4Parser_1.MP4Parser();
155
+ case 'musepack': return new musepack_1.default();
156
+ case 'ogg': return new OggParser_1.OggParser();
157
+ case 'riff': return new WaveParser_1.WaveParser();
158
+ case 'wavpack': return new WavPackParser_1.WavPackParser();
159
+ case 'matroska': return new MatroskaParser_1.MatroskaParser();
160
+ default:
161
+ throw new Error(`Unknown parser type: ${moduleName}`);
162
+ }
163
+ }
164
+ static getExtension(fname) {
165
+ const i = fname.lastIndexOf('.');
166
+ return i === -1 ? '' : fname.slice(i);
167
+ }
168
+ /**
169
+ * @param httpContentType - HTTP Content-Type, extension, path or filename
170
+ * @returns Parser sub-module name
171
+ */
172
+ static getParserIdForMimeType(httpContentType) {
114
173
  let mime;
115
- if (!httpContentType)
116
- return;
117
174
  try {
118
175
  mime = parseHttpContentType(httpContentType);
119
176
  }
120
- catch (_err) {
177
+ catch (err) {
121
178
  debug(`Invalid HTTP Content-Type header value: ${httpContentType}`);
122
179
  return;
123
180
  }
124
181
  const subType = mime.subtype.indexOf('x-') === 0 ? mime.subtype.substring(2) : mime.subtype;
125
- return this.parsers.find(parser => parser.mimeTypes.find(loader => loader.indexOf(`${mime.type}/${subType}`) !== -1));
126
- }
127
- getSupportedMimeTypes() {
128
- const mimeTypeSet = new Set();
129
- this.parsers.forEach(loader => {
130
- loader.mimeTypes.forEach(mimeType => {
131
- mimeTypeSet.add(mimeType);
132
- mimeTypeSet.add(mimeType.replace('/', '/x-'));
133
- });
134
- });
135
- return Array.from(mimeTypeSet);
182
+ switch (mime.type) {
183
+ case 'audio':
184
+ switch (subType) {
185
+ case 'mp3': // Incorrect MIME-type, Chrome, in Web API File object
186
+ case 'mpeg':
187
+ return 'mpeg';
188
+ case 'aac':
189
+ case 'aacp':
190
+ return 'adts';
191
+ case 'flac':
192
+ return 'flac';
193
+ case 'ape':
194
+ case 'monkeys-audio':
195
+ return 'apev2';
196
+ case 'mp4':
197
+ case 'm4a':
198
+ return 'mp4';
199
+ case 'ogg': // RFC 7845
200
+ case 'opus': // RFC 6716
201
+ case 'speex': // RFC 5574
202
+ return 'ogg';
203
+ case 'ms-wma':
204
+ case 'ms-wmv':
205
+ case 'ms-asf':
206
+ return 'asf';
207
+ case 'aiff':
208
+ case 'aif':
209
+ case 'aifc':
210
+ return 'aiff';
211
+ case 'vnd.wave':
212
+ case 'wav':
213
+ case 'wave':
214
+ return 'riff';
215
+ case 'wavpack':
216
+ return 'wavpack';
217
+ case 'musepack':
218
+ return 'musepack';
219
+ case 'matroska':
220
+ case 'webm':
221
+ return 'matroska';
222
+ case 'dsf':
223
+ return 'dsf';
224
+ }
225
+ break;
226
+ case 'video':
227
+ switch (subType) {
228
+ case 'ms-asf':
229
+ case 'ms-wmv':
230
+ return 'asf';
231
+ case 'm4v':
232
+ case 'mp4':
233
+ return 'mp4';
234
+ case 'ogg':
235
+ return 'ogg';
236
+ case 'matroska':
237
+ case 'webm':
238
+ return 'matroska';
239
+ }
240
+ break;
241
+ case 'application':
242
+ switch (subType) {
243
+ case 'vnd.ms-asf':
244
+ return 'asf';
245
+ case 'ogg':
246
+ return 'ogg';
247
+ }
248
+ break;
249
+ }
136
250
  }
137
251
  }
138
- function getExtension(fname) {
139
- const i = fname.lastIndexOf('.');
140
- return i === -1 ? '' : fname.substring(i);
141
- }
252
+ exports.ParserFactory = ParserFactory;
@@ -1,5 +1,5 @@
1
- import { BasicParser } from '../common/BasicParser.js';
2
- import * as iff from '../iff/index.js';
1
+ import { BasicParser } from '../common/BasicParser';
2
+ import * as iff from '../iff';
3
3
  /**
4
4
  * AIFF - Audio Interchange File Format
5
5
  *
@@ -1,13 +1,26 @@
1
- import * as Token from 'token-types';
2
- import initDebug from 'debug';
3
- import * as strtok3 from 'strtok3';
4
- import { ID3v2Parser } from '../id3v2/ID3v2Parser.js';
5
- import { FourCcToken } from '../common/FourCC.js';
6
- import { BasicParser } from '../common/BasicParser.js';
7
- import * as AiffToken from './AiffToken.js';
8
- import { AiffContentError, compressionTypes } from './AiffToken.js';
9
- import * as iff from '../iff/index.js';
10
- const debug = initDebug('music-metadata:parser:aiff');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AIFFParser = void 0;
4
+ const Token = require("token-types");
5
+ const debug_1 = require("debug");
6
+ const strtok3 = require("strtok3/lib/core");
7
+ const ID3v2Parser_1 = require("../id3v2/ID3v2Parser");
8
+ const FourCC_1 = require("../common/FourCC");
9
+ const BasicParser_1 = require("../common/BasicParser");
10
+ const AiffToken = require("./AiffToken");
11
+ const iff = require("../iff");
12
+ const debug = (0, debug_1.default)('music-metadata:parser:aiff');
13
+ const compressionTypes = {
14
+ NONE: 'not compressed PCM Apple Computer',
15
+ sowt: 'PCM (byte swapped)',
16
+ fl32: '32-bit floating point IEEE 32-bit float',
17
+ fl64: '64-bit floating point IEEE 64-bit float Apple Computer',
18
+ alaw: 'ALaw 2:1 8-bit ITU-T G.711 A-law',
19
+ ulaw: 'µLaw 2:1 8-bit ITU-T G.711 µ-law Apple Computer',
20
+ ULAW: 'CCITT G.711 u-law 8-bit ITU-T G.711 µ-law',
21
+ ALAW: 'CCITT G.711 A-law 8-bit ITU-T G.711 A-law',
22
+ FL32: 'Float 32 IEEE 32-bit float '
23
+ };
11
24
  /**
12
25
  * AIFF - Audio Interchange File Format
13
26
  *
@@ -15,16 +28,12 @@ const debug = initDebug('music-metadata:parser:aiff');
15
28
  * - http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/AIFF/AIFF.html
16
29
  * - http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/AIFF/Docs/AIFF-1.3.pdf
17
30
  */
18
- export class AIFFParser extends BasicParser {
19
- constructor() {
20
- super(...arguments);
21
- this.isCompressed = null;
22
- }
31
+ class AIFFParser extends BasicParser_1.BasicParser {
23
32
  async parse() {
24
33
  const header = await this.tokenizer.readToken(iff.Header);
25
34
  if (header.chunkID !== 'FORM')
26
- throw new AiffContentError('Invalid Chunk-ID, expected \'FORM\''); // Not AIFF format
27
- const type = await this.tokenizer.readToken(FourCcToken);
35
+ throw new Error('Invalid Chunk-ID, expected \'FORM\''); // Not AIFF format
36
+ const type = await this.tokenizer.readToken(FourCC_1.FourCcToken);
28
37
  switch (type) {
29
38
  case 'AIFF':
30
39
  this.metadata.setFormat('container', type);
@@ -35,13 +44,12 @@ export class AIFFParser extends BasicParser {
35
44
  this.isCompressed = true;
36
45
  break;
37
46
  default:
38
- throw new AiffContentError(`Unsupported AIFF type: ${type}`);
47
+ throw Error('Unsupported AIFF type: ' + type);
39
48
  }
40
49
  this.metadata.setFormat('lossless', !this.isCompressed);
41
- this.metadata.setAudioOnly();
42
50
  try {
43
51
  while (!this.tokenizer.fileInfo.size || this.tokenizer.fileInfo.size - this.tokenizer.position >= iff.Header.len) {
44
- debug(`Reading AIFF chunk at offset=${this.tokenizer.position}`);
52
+ debug('Reading AIFF chunk at offset=' + this.tokenizer.position);
45
53
  const chunkHeader = await this.tokenizer.readToken(iff.Header);
46
54
  const nextChunk = 2 * Math.round(chunkHeader.chunkSize / 2);
47
55
  const bytesRead = await this.readData(chunkHeader);
@@ -50,7 +58,7 @@ export class AIFFParser extends BasicParser {
50
58
  }
51
59
  catch (err) {
52
60
  if (err instanceof strtok3.EndOfStreamError) {
53
- debug("End-of-stream");
61
+ debug(`End-of-stream`);
54
62
  }
55
63
  else {
56
64
  throw err;
@@ -58,28 +66,22 @@ export class AIFFParser extends BasicParser {
58
66
  }
59
67
  }
60
68
  async readData(header) {
69
+ var _a;
61
70
  switch (header.chunkID) {
62
- case 'COMM': { // The Common Chunk
63
- if (this.isCompressed === null) {
64
- throw new AiffContentError('Failed to parse AIFF.COMM chunk when compression type is unknown');
65
- }
71
+ case 'COMM': // The Common Chunk
66
72
  const common = await this.tokenizer.readToken(new AiffToken.Common(header, this.isCompressed));
67
73
  this.metadata.setFormat('bitsPerSample', common.sampleSize);
68
74
  this.metadata.setFormat('sampleRate', common.sampleRate);
69
75
  this.metadata.setFormat('numberOfChannels', common.numChannels);
70
76
  this.metadata.setFormat('numberOfSamples', common.numSampleFrames);
71
77
  this.metadata.setFormat('duration', common.numSampleFrames / common.sampleRate);
72
- if (common.compressionName || common.compressionType) {
73
- this.metadata.setFormat('codec', common.compressionName ?? compressionTypes[common.compressionType]);
74
- }
78
+ this.metadata.setFormat('codec', (_a = common.compressionName) !== null && _a !== void 0 ? _a : compressionTypes[common.compressionType]);
75
79
  return header.chunkSize;
76
- }
77
- case 'ID3 ': { // ID3-meta-data
80
+ case 'ID3 ': // ID3-meta-data
78
81
  const id3_data = await this.tokenizer.readToken(new Token.Uint8ArrayType(header.chunkSize));
79
82
  const rst = strtok3.fromBuffer(id3_data);
80
- await new ID3v2Parser().parse(this.metadata, rst, this.options);
83
+ await new ID3v2Parser_1.ID3v2Parser().parse(this.metadata, rst, this.options);
81
84
  return header.chunkSize;
82
- }
83
85
  case 'SSND': // Sound Data Chunk
84
86
  if (this.metadata.format.duration) {
85
87
  this.metadata.setFormat('bitrate', 8 * header.chunkSize / this.metadata.format.duration);
@@ -97,8 +99,10 @@ export class AIFFParser extends BasicParser {
97
99
  }
98
100
  async readTextChunk(header) {
99
101
  const value = await this.tokenizer.readToken(new Token.StringType(header.chunkSize, 'ascii'));
100
- const values = value.split('\0').map(v => v.trim()).filter(v => v?.length);
101
- await Promise.all(values.map(v => this.metadata.addTag('AIFF', header.chunkID, v)));
102
+ value.split('\0').map(v => v.trim()).filter(v => v && v.length > 0).forEach(v => {
103
+ this.metadata.addTag('AIFF', header.chunkID, v.trim());
104
+ });
102
105
  return header.chunkSize;
103
106
  }
104
107
  }
108
+ exports.AIFFParser = AIFFParser;
@@ -1,4 +1,4 @@
1
- import { CommonTagMapper } from '../common/GenericTagMapper.js';
1
+ import { CommonTagMapper } from '../common/GenericTagMapper';
2
2
  export declare class AiffTagMapper extends CommonTagMapper {
3
3
  constructor();
4
4
  }
@@ -1,4 +1,7 @@
1
- import { CommonTagMapper } from '../common/GenericTagMapper.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AiffTagMapper = void 0;
4
+ const GenericTagMapper_1 = require("../common/GenericTagMapper");
2
5
  /**
3
6
  * ID3v1 tag mappings
4
7
  */
@@ -8,8 +11,10 @@ const tagMap = {
8
11
  '(c) ': 'copyright',
9
12
  ANNO: 'comment'
10
13
  };
11
- export class AiffTagMapper extends CommonTagMapper {
14
+ class AiffTagMapper extends GenericTagMapper_1.CommonTagMapper {
12
15
  constructor() {
13
16
  super(['AIFF'], tagMap);
14
17
  }
15
18
  }
19
+ exports.AiffTagMapper = AiffTagMapper;
20
+ //# sourceMappingURL=AiffTagMap.js.map