@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,27 +1,23 @@
1
- import { BasicParser } from '../common/BasicParser.js';
2
- declare const OggContentError_base: {
3
- new (message: string): {
4
- readonly fileType: string;
5
- toString(): string;
6
- name: "UnexpectedFileContentError";
7
- message: string;
8
- stack?: string;
9
- };
10
- captureStackTrace(targetObject: object, constructorOpt?: Function): void;
11
- prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
12
- stackTraceLimit: number;
13
- };
14
- export declare class OggContentError extends OggContentError_base {
1
+ import { IGetToken } from 'strtok3/lib/core';
2
+ import { BasicParser } from '../common/BasicParser';
3
+ import * as Ogg from './Ogg';
4
+ export declare class SegmentTable implements IGetToken<Ogg.ISegmentTable> {
5
+ private static sum;
6
+ len: number;
7
+ constructor(header: Ogg.IPageHeader);
8
+ get(buf: any, off: any): Ogg.ISegmentTable;
15
9
  }
16
10
  /**
17
11
  * Parser for Ogg logical bitstream framing
18
12
  */
19
13
  export declare class OggParser extends BasicParser {
20
- private streams;
14
+ private static Header;
15
+ private header;
16
+ private pageNumber;
17
+ private pageConsumer;
21
18
  /**
22
19
  * Parse page
23
20
  * @returns {Promise<void>}
24
21
  */
25
22
  parse(): Promise<void>;
26
23
  }
27
- export {};
@@ -1,125 +1,126 @@
1
- import * as Token from 'token-types';
2
- import { EndOfStreamError } from 'strtok3';
3
- import initDebug from 'debug';
4
- import { BasicParser } from '../common/BasicParser.js';
5
- import { VorbisStream } from './vorbis/VorbisStream.js';
6
- import { OpusStream } from './opus/OpusStream.js';
7
- import { SpeexStream } from './speex/SpeexStream.js';
8
- import { TheoraStream } from './theora/TheoraStream.js';
9
- import { makeUnexpectedFileContentError } from '../ParseError.js';
10
- import { PageHeader, SegmentTable } from './OggToken.js';
11
- import { FlacStream } from './flac/FlacStream.js';
12
- export class OggContentError extends makeUnexpectedFileContentError('Ogg') {
13
- }
14
- const debug = initDebug('music-metadata:parser:ogg');
15
- class OggStream {
16
- constructor(metadata, streamSerial, options) {
17
- this.pageNumber = 0;
18
- this.closed = false;
19
- this.metadata = metadata;
20
- this.streamSerial = streamSerial;
21
- this.options = options;
22
- }
23
- async parsePage(tokenizer, header) {
24
- this.pageNumber = header.pageSequenceNo;
25
- debug('serial=%s page#=%s, Ogg.id=%s', header.streamSerialNumber, header.pageSequenceNo, header.capturePattern);
26
- const segmentTable = await tokenizer.readToken(new SegmentTable(header));
27
- debug('totalPageSize=%s', segmentTable.totalPageSize);
28
- const pageData = await tokenizer.readToken(new Token.Uint8ArrayType(segmentTable.totalPageSize));
29
- debug('firstPage=%s, lastPage=%s, continued=%s', header.headerType.firstPage, header.headerType.lastPage, header.headerType.continued);
30
- if (header.headerType.firstPage) {
31
- this.metadata.setFormat('container', 'Ogg');
32
- const idData = pageData.subarray(0, 7); // Copy this portion
33
- const asciiId = Array.from(idData)
34
- .filter(b => b >= 32 && b <= 126) // Keep only printable ASCII
35
- .map(b => String.fromCharCode(b))
36
- .join('');
37
- switch (asciiId) {
38
- case 'vorbis': // Ogg/Vorbis
39
- debug(`Set Ogg stream serial ${header.streamSerialNumber}, codec=Vorbis`);
40
- this.pageConsumer = new VorbisStream(this.metadata, this.options);
41
- break;
42
- case 'OpusHea': // Ogg/Opus
43
- debug('Set page consumer to Ogg/Opus');
44
- this.pageConsumer = new OpusStream(this.metadata, this.options, tokenizer);
45
- break;
46
- case 'Speex ': // Ogg/Speex
47
- debug('Set page consumer to Ogg/Speex');
48
- this.pageConsumer = new SpeexStream(this.metadata, this.options, tokenizer);
49
- break;
50
- case 'fishead':
51
- case 'theora': // Ogg/Theora
52
- debug('Set page consumer to Ogg/Theora');
53
- this.pageConsumer = new TheoraStream(this.metadata, this.options, tokenizer);
54
- break;
55
- case 'FLAC': // Ogg/Theora
56
- debug('Set page consumer to Vorbis');
57
- this.pageConsumer = new FlacStream(this.metadata, this.options, tokenizer);
58
- break;
59
- default:
60
- throw new OggContentError(`Ogg codec not recognized (id=${asciiId}`);
61
- }
62
- }
63
- if (header.headerType.lastPage) {
64
- this.closed = true;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OggParser = exports.SegmentTable = void 0;
4
+ const Token = require("token-types");
5
+ const core_1 = require("strtok3/lib/core");
6
+ const debug_1 = require("debug");
7
+ const util = require("../common/Util");
8
+ const FourCC_1 = require("../common/FourCC");
9
+ const BasicParser_1 = require("../common/BasicParser");
10
+ const VorbisParser_1 = require("./vorbis/VorbisParser");
11
+ const OpusParser_1 = require("./opus/OpusParser");
12
+ const SpeexParser_1 = require("./speex/SpeexParser");
13
+ const TheoraParser_1 = require("./theora/TheoraParser");
14
+ const debug = (0, debug_1.default)('music-metadata:parser:ogg');
15
+ class SegmentTable {
16
+ static sum(buf, off, len) {
17
+ let s = 0;
18
+ for (let i = off; i < off + len; ++i) {
19
+ s += buf[i];
65
20
  }
66
- if (this.pageConsumer) {
67
- await this.pageConsumer.parsePage(header, pageData);
68
- }
69
- else
70
- throw new Error('pageConsumer should be initialized');
21
+ return s;
22
+ }
23
+ constructor(header) {
24
+ this.len = header.page_segments;
25
+ }
26
+ get(buf, off) {
27
+ return {
28
+ totalPageSize: SegmentTable.sum(buf, off, this.len)
29
+ };
71
30
  }
72
31
  }
32
+ exports.SegmentTable = SegmentTable;
73
33
  /**
74
34
  * Parser for Ogg logical bitstream framing
75
35
  */
76
- export class OggParser extends BasicParser {
77
- constructor() {
78
- super(...arguments);
79
- this.streams = new Map();
80
- }
36
+ class OggParser extends BasicParser_1.BasicParser {
81
37
  /**
82
38
  * Parse page
83
39
  * @returns {Promise<void>}
84
40
  */
85
41
  async parse() {
86
- this.streams = new Map();
87
- let enfOfStream = false;
88
- let header;
42
+ debug('pos=%s, parsePage()', this.tokenizer.position);
89
43
  try {
44
+ let header;
90
45
  do {
91
- header = await this.tokenizer.readToken(PageHeader);
46
+ header = await this.tokenizer.readToken(OggParser.Header);
92
47
  if (header.capturePattern !== 'OggS')
93
- throw new OggContentError('Invalid Ogg capture pattern');
94
- let stream = this.streams.get(header.streamSerialNumber);
95
- if (!stream) {
96
- stream = new OggStream(this.metadata, header.streamSerialNumber, this.options);
97
- this.streams.set(header.streamSerialNumber, stream);
98
- }
99
- await stream.parsePage(this.tokenizer, header);
100
- if (stream.pageNumber > 12 && !(this.options.duration && [...this.streams.values()].find(stream => stream.pageConsumer?.durationOnLastPage))) {
101
- debug("Stop processing Ogg stream");
102
- break;
48
+ throw new Error('Invalid Ogg capture pattern');
49
+ this.metadata.setFormat('container', 'Ogg');
50
+ this.header = header;
51
+ this.pageNumber = header.pageSequenceNo;
52
+ debug('page#=%s, Ogg.id=%s', header.pageSequenceNo, header.capturePattern);
53
+ const segmentTable = await this.tokenizer.readToken(new SegmentTable(header));
54
+ debug('totalPageSize=%s', segmentTable.totalPageSize);
55
+ const pageData = await this.tokenizer.readToken(new Token.Uint8ArrayType(segmentTable.totalPageSize));
56
+ debug('firstPage=%s, lastPage=%s, continued=%s', header.headerType.firstPage, header.headerType.lastPage, header.headerType.continued);
57
+ if (header.headerType.firstPage) {
58
+ const id = new Token.StringType(7, 'ascii').get(Buffer.from(pageData), 0);
59
+ switch (id) {
60
+ case '\x01vorbis': // Ogg/Vorbis
61
+ debug('Set page consumer to Ogg/Vorbis');
62
+ this.pageConsumer = new VorbisParser_1.VorbisParser(this.metadata, this.options);
63
+ break;
64
+ case 'OpusHea': // Ogg/Opus
65
+ debug('Set page consumer to Ogg/Opus');
66
+ this.pageConsumer = new OpusParser_1.OpusParser(this.metadata, this.options, this.tokenizer);
67
+ break;
68
+ case 'Speex ': // Ogg/Speex
69
+ debug('Set page consumer to Ogg/Speex');
70
+ this.pageConsumer = new SpeexParser_1.SpeexParser(this.metadata, this.options, this.tokenizer);
71
+ break;
72
+ case 'fishead':
73
+ case '\x00theora': // Ogg/Theora
74
+ debug('Set page consumer to Ogg/Theora');
75
+ this.pageConsumer = new TheoraParser_1.TheoraParser(this.metadata, this.options, this.tokenizer);
76
+ break;
77
+ default:
78
+ throw new Error('gg audio-codec not recognized (id=' + id + ')');
79
+ }
103
80
  }
104
- } while (![...this.streams.values()].every(item => item.closed));
81
+ this.pageConsumer.parsePage(header, pageData);
82
+ } while (!header.headerType.lastPage);
105
83
  }
106
84
  catch (err) {
107
- if (err instanceof EndOfStreamError) {
108
- debug("Reached end-of-stream");
109
- enfOfStream = true;
85
+ if (err instanceof core_1.EndOfStreamError) {
86
+ this.metadata.addWarning('Last OGG-page is not marked with last-page flag');
87
+ debug(`End-of-stream`);
88
+ this.metadata.addWarning('Last OGG-page is not marked with last-page flag');
89
+ if (this.header) {
90
+ this.pageConsumer.calculateDuration(this.header);
91
+ }
110
92
  }
111
- else if (err instanceof OggContentError) {
112
- this.metadata.addWarning(`Corrupt Ogg content at ${this.tokenizer.position}`);
93
+ else if (err.message.startsWith('FourCC')) {
94
+ if (this.pageNumber > 0) {
95
+ // ignore this error: work-around if last OGG-page is not marked with last-page flag
96
+ this.metadata.addWarning('Invalid FourCC ID, maybe last OGG-page is not marked with last-page flag');
97
+ this.pageConsumer.flush();
98
+ }
113
99
  }
114
- else
100
+ else {
115
101
  throw err;
116
- }
117
- for (const stream of this.streams.values()) {
118
- if (!stream.closed) {
119
- this.metadata.addWarning(`End-of-stream reached before reaching last page in Ogg stream serial=${stream.streamSerial}`);
120
- await stream.pageConsumer?.flush();
121
102
  }
122
- stream.pageConsumer?.calculateDuration(enfOfStream);
123
103
  }
124
104
  }
125
105
  }
106
+ OggParser.Header = {
107
+ len: 27,
108
+ get: (buf, off) => {
109
+ return {
110
+ capturePattern: FourCC_1.FourCcToken.get(buf, off),
111
+ version: Token.UINT8.get(buf, off + 4),
112
+ headerType: {
113
+ continued: util.getBit(buf, off + 5, 0),
114
+ firstPage: util.getBit(buf, off + 5, 1),
115
+ lastPage: util.getBit(buf, off + 5, 2)
116
+ },
117
+ // packet_flag: buf.readUInt8(off + 5),
118
+ absoluteGranulePosition: Number(Token.UINT64_LE.get(buf, off + 6)),
119
+ streamSerialNumber: Token.UINT32_LE.get(buf, off + 14),
120
+ pageSequenceNo: Token.UINT32_LE.get(buf, off + 18),
121
+ pageChecksum: Token.UINT32_LE.get(buf, off + 22),
122
+ page_segments: Token.UINT8.get(buf, off + 26)
123
+ };
124
+ }
125
+ };
126
+ exports.OggParser = OggParser;
@@ -1,4 +1,4 @@
1
- import type { IGetToken } from 'strtok3';
1
+ import { IGetToken } from 'strtok3/lib/core';
2
2
  /**
3
3
  * Opus ID Header interface
4
4
  * Ref: https://wiki.xiph.org/OggOpus#ID_Header
@@ -37,20 +37,6 @@ export interface IIdHeader {
37
37
  */
38
38
  channelMapping: number;
39
39
  }
40
- declare const OpusContentError_base: {
41
- new (message: string): {
42
- readonly fileType: string;
43
- toString(): string;
44
- name: "UnexpectedFileContentError";
45
- message: string;
46
- stack?: string;
47
- };
48
- captureStackTrace(targetObject: object, constructorOpt?: Function): void;
49
- prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
50
- stackTraceLimit: number;
51
- };
52
- export declare class OpusContentError extends OpusContentError_base {
53
- }
54
40
  /**
55
41
  * Opus ID Header parser
56
42
  * Ref: https://wiki.xiph.org/OggOpus#ID_Header
@@ -58,6 +44,5 @@ export declare class OpusContentError extends OpusContentError_base {
58
44
  export declare class IdHeader implements IGetToken<IIdHeader> {
59
45
  len: number;
60
46
  constructor(len: number);
61
- get(buf: Uint8Array, off: number): IIdHeader;
47
+ get(buf: any, off: any): IIdHeader;
62
48
  }
63
- export {};
@@ -1,27 +1,28 @@
1
- import * as Token from 'token-types';
2
- import { makeUnexpectedFileContentError } from '../../ParseError.js';
3
- export class OpusContentError extends makeUnexpectedFileContentError('Opus') {
4
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdHeader = void 0;
4
+ const Token = require("token-types");
5
5
  /**
6
6
  * Opus ID Header parser
7
7
  * Ref: https://wiki.xiph.org/OggOpus#ID_Header
8
8
  */
9
- export class IdHeader {
9
+ class IdHeader {
10
10
  constructor(len) {
11
+ this.len = len;
11
12
  if (len < 19) {
12
- throw new OpusContentError('ID-header-page 0 should be at least 19 bytes long');
13
+ throw new Error("ID-header-page 0 should be at least 19 bytes long");
13
14
  }
14
- this.len = len;
15
15
  }
16
16
  get(buf, off) {
17
17
  return {
18
18
  magicSignature: new Token.StringType(8, 'ascii').get(buf, off + 0),
19
- version: Token.UINT8.get(buf, off + 8),
20
- channelCount: Token.UINT8.get(buf, off + 9),
21
- preSkip: Token.UINT16_LE.get(buf, off + 10),
22
- inputSampleRate: Token.UINT32_LE.get(buf, off + 12),
23
- outputGain: Token.UINT16_LE.get(buf, off + 16),
24
- channelMapping: Token.UINT8.get(buf, off + 18)
19
+ version: buf.readUInt8(off + 8),
20
+ channelCount: buf.readUInt8(off + 9),
21
+ preSkip: buf.readInt16LE(off + 10),
22
+ inputSampleRate: buf.readInt32LE(off + 12),
23
+ outputGain: buf.readInt16LE(off + 16),
24
+ channelMapping: buf.readUInt8(off + 18)
25
25
  };
26
26
  }
27
27
  }
28
+ exports.IdHeader = IdHeader;
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ import { ITokenizer } from 'strtok3/lib/core';
3
+ import { IPageHeader } from '../Ogg';
4
+ import { VorbisParser } from '../vorbis/VorbisParser';
5
+ import { IOptions } from '../../type';
6
+ import { INativeMetadataCollector } from '../../common/MetadataCollector';
7
+ /**
8
+ * Opus parser
9
+ * Internet Engineering Task Force (IETF) - RFC 6716
10
+ * Used by OggParser
11
+ */
12
+ export declare class OpusParser extends VorbisParser {
13
+ private tokenizer;
14
+ private idHeader;
15
+ private lastPos;
16
+ constructor(metadata: INativeMetadataCollector, options: IOptions, tokenizer: ITokenizer);
17
+ /**
18
+ * Parse first Opus Ogg page
19
+ * @param {IPageHeader} header
20
+ * @param {Buffer} pageData
21
+ */
22
+ protected parseFirstPage(header: IPageHeader, pageData: Buffer): void;
23
+ protected parseFullPage(pageData: Buffer): void;
24
+ calculateDuration(header: IPageHeader): void;
25
+ }
@@ -1,50 +1,49 @@
1
- import * as Token from 'token-types';
2
- import { VorbisStream } from '../vorbis/VorbisStream.js';
3
- import * as Opus from './Opus.js';
4
- import { OpusContentError } from './Opus.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpusParser = void 0;
4
+ const Token = require("token-types");
5
+ const VorbisParser_1 = require("../vorbis/VorbisParser");
6
+ const Opus = require("./Opus");
5
7
  /**
6
8
  * Opus parser
7
9
  * Internet Engineering Task Force (IETF) - RFC 6716
8
- * Used by OggStream
10
+ * Used by OggParser
9
11
  */
10
- export class OpusStream extends VorbisStream {
12
+ class OpusParser extends VorbisParser_1.VorbisParser {
11
13
  constructor(metadata, options, tokenizer) {
12
14
  super(metadata, options);
13
- this.idHeader = null;
14
- this.lastPos = -1;
15
15
  this.tokenizer = tokenizer;
16
- this.durationOnLastPage = true;
16
+ this.lastPos = -1;
17
17
  }
18
18
  /**
19
19
  * Parse first Opus Ogg page
20
20
  * @param {IPageHeader} header
21
- * @param {Uint8Array} pageData
21
+ * @param {Buffer} pageData
22
22
  */
23
- parseFirstPage(_header, pageData) {
23
+ parseFirstPage(header, pageData) {
24
24
  this.metadata.setFormat('codec', 'Opus');
25
25
  // Parse Opus ID Header
26
26
  this.idHeader = new Opus.IdHeader(pageData.length).get(pageData, 0);
27
27
  if (this.idHeader.magicSignature !== "OpusHead")
28
- throw new OpusContentError("Illegal ogg/Opus magic-signature");
28
+ throw new Error("Illegal ogg/Opus magic-signature");
29
29
  this.metadata.setFormat('sampleRate', this.idHeader.inputSampleRate);
30
30
  this.metadata.setFormat('numberOfChannels', this.idHeader.channelCount);
31
- this.metadata.setAudioOnly();
32
31
  }
33
- async parseFullPage(pageData) {
32
+ parseFullPage(pageData) {
34
33
  const magicSignature = new Token.StringType(8, 'ascii').get(pageData, 0);
35
34
  switch (magicSignature) {
36
35
  case 'OpusTags':
37
- await this.parseUserCommentList(pageData, 8);
36
+ this.parseUserCommentList(pageData, 8);
38
37
  this.lastPos = this.tokenizer.position - pageData.length;
39
38
  break;
40
39
  default:
41
40
  break;
42
41
  }
43
42
  }
44
- calculateDuration(enfOfStream) {
45
- if (this.lastPageHeader && (enfOfStream || this.lastPageHeader.headerType.lastPage) && this.metadata.format.sampleRate && this.lastPageHeader.absoluteGranulePosition >= 0) {
43
+ calculateDuration(header) {
44
+ if (this.metadata.format.sampleRate && header.absoluteGranulePosition >= 0) {
46
45
  // Calculate duration
47
- const pos_48bit = this.lastPageHeader.absoluteGranulePosition - this.idHeader.preSkip;
46
+ const pos_48bit = header.absoluteGranulePosition - this.idHeader.preSkip;
48
47
  this.metadata.setFormat('numberOfSamples', pos_48bit);
49
48
  this.metadata.setFormat('duration', pos_48bit / 48000);
50
49
  if (this.lastPos !== -1 && this.tokenizer.fileInfo.size && this.metadata.format.duration) {
@@ -54,3 +53,4 @@ export class OpusStream extends VorbisStream {
54
53
  }
55
54
  }
56
55
  }
56
+ exports.OpusParser = OpusParser;
@@ -1,4 +1,4 @@
1
- import type { IGetToken } from 'strtok3';
1
+ import { IGetToken } from 'strtok3/lib/core';
2
2
  /**
3
3
  * Speex Header Packet
4
4
  * Ref: https://www.speex.org/docs/manual/speex-manual/node8.html#SECTION00830000000000000000
@@ -1,28 +1,31 @@
1
- import * as Token from 'token-types';
2
- import * as util from '../../common/Util.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Header = void 0;
4
+ const Token = require("token-types");
5
+ const util = require("../../common/Util");
3
6
  /**
4
7
  * Speex Header Packet
5
8
  * Ref: https://www.speex.org/docs/manual/speex-manual/node8.html#SECTION00830000000000000000
6
9
  */
7
- export const Header = {
10
+ exports.Header = {
8
11
  len: 80,
9
12
  get: (buf, off) => {
10
13
  return {
11
14
  speex: new Token.StringType(8, 'ascii').get(buf, off + 0),
12
15
  version: util.trimRightNull(new Token.StringType(20, 'ascii').get(buf, off + 8)),
13
- version_id: Token.INT32_LE.get(buf, off + 28),
14
- header_size: Token.INT32_LE.get(buf, off + 32),
15
- rate: Token.INT32_LE.get(buf, off + 36),
16
- mode: Token.INT32_LE.get(buf, off + 40),
17
- mode_bitstream_version: Token.INT32_LE.get(buf, off + 44),
18
- nb_channels: Token.INT32_LE.get(buf, off + 48),
19
- bitrate: Token.INT32_LE.get(buf, off + 52),
20
- frame_size: Token.INT32_LE.get(buf, off + 56),
21
- vbr: Token.INT32_LE.get(buf, off + 60),
22
- frames_per_packet: Token.INT32_LE.get(buf, off + 64),
23
- extra_headers: Token.INT32_LE.get(buf, off + 68),
24
- reserved1: Token.INT32_LE.get(buf, off + 72),
25
- reserved2: Token.INT32_LE.get(buf, off + 76)
16
+ version_id: buf.readInt32LE(off + 28),
17
+ header_size: buf.readInt32LE(off + 32),
18
+ rate: buf.readInt32LE(off + 36),
19
+ mode: buf.readInt32LE(off + 40),
20
+ mode_bitstream_version: buf.readInt32LE(off + 44),
21
+ nb_channels: buf.readInt32LE(off + 48),
22
+ bitrate: buf.readInt32LE(off + 52),
23
+ frame_size: buf.readInt32LE(off + 56),
24
+ vbr: buf.readInt32LE(off + 60),
25
+ frames_per_packet: buf.readInt32LE(off + 64),
26
+ extra_headers: buf.readInt32LE(off + 68),
27
+ reserved1: buf.readInt32LE(off + 72),
28
+ reserved2: buf.readInt32LE(off + 76)
26
29
  };
27
30
  }
28
31
  };
@@ -0,0 +1,22 @@
1
+ /// <reference types="node" />
2
+ import { ITokenizer } from 'strtok3/lib/core';
3
+ import { IPageHeader } from '../Ogg';
4
+ import { VorbisParser } from '../vorbis/VorbisParser';
5
+ import { IOptions } from '../../type';
6
+ import { INativeMetadataCollector } from '../../common/MetadataCollector';
7
+ /**
8
+ * Speex, RFC 5574
9
+ * Ref:
10
+ * - https://www.speex.org/docs/manual/speex-manual/
11
+ * - https://tools.ietf.org/html/rfc5574
12
+ */
13
+ export declare class SpeexParser extends VorbisParser {
14
+ private tokenizer;
15
+ constructor(metadata: INativeMetadataCollector, options: IOptions, tokenizer: ITokenizer);
16
+ /**
17
+ * Parse first Speex Ogg page
18
+ * @param {IPageHeader} header
19
+ * @param {Buffer} pageData
20
+ */
21
+ protected parseFirstPage(header: IPageHeader, pageData: Buffer): void;
22
+ }
@@ -1,23 +1,27 @@
1
- import initDebug from 'debug';
2
- import { VorbisStream } from '../vorbis/VorbisStream.js';
3
- import * as Speex from './Speex.js';
4
- const debug = initDebug('music-metadata:parser:ogg:speex');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpeexParser = void 0;
4
+ const debug_1 = require("debug");
5
+ const VorbisParser_1 = require("../vorbis/VorbisParser");
6
+ const Speex = require("./Speex");
7
+ const debug = (0, debug_1.default)('music-metadata:parser:ogg:speex');
5
8
  /**
6
9
  * Speex, RFC 5574
7
10
  * Ref:
8
11
  * - https://www.speex.org/docs/manual/speex-manual/
9
12
  * - https://tools.ietf.org/html/rfc5574
10
13
  */
11
- export class SpeexStream extends VorbisStream {
12
- constructor(metadata, options, _tokenizer) {
14
+ class SpeexParser extends VorbisParser_1.VorbisParser {
15
+ constructor(metadata, options, tokenizer) {
13
16
  super(metadata, options);
17
+ this.tokenizer = tokenizer;
14
18
  }
15
19
  /**
16
20
  * Parse first Speex Ogg page
17
21
  * @param {IPageHeader} header
18
- * @param {Uint8Array} pageData
22
+ * @param {Buffer} pageData
19
23
  */
20
- parseFirstPage(_header, pageData) {
24
+ parseFirstPage(header, pageData) {
21
25
  debug('First Ogg/Speex page');
22
26
  const speexHeader = Speex.Header.get(pageData, 0);
23
27
  this.metadata.setFormat('codec', `Speex ${speexHeader.version}`);
@@ -26,6 +30,6 @@ export class SpeexStream extends VorbisStream {
26
30
  if (speexHeader.bitrate !== -1) {
27
31
  this.metadata.setFormat('bitrate', speexHeader.bitrate);
28
32
  }
29
- this.metadata.setAudioOnly();
30
33
  }
31
34
  }
35
+ exports.SpeexParser = SpeexParser;
@@ -1,4 +1,4 @@
1
- import type { IGetToken } from 'strtok3';
1
+ import { IGetToken } from 'strtok3/lib/core';
2
2
  /**
3
3
  * 6.2 Identification Header
4
4
  * Ref: https://theora.org/doc/Theora.pdf: 6.2 Identification Header Decode
@@ -1,20 +1,23 @@
1
- import * as Token from 'token-types';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentificationHeader = void 0;
4
+ const Token = require("token-types");
2
5
  /**
3
6
  * 6.2 Identification Header
4
7
  * Ref: https://theora.org/doc/Theora.pdf: 6.2 Identification Header Decode
5
8
  */
6
- export const IdentificationHeader = {
9
+ exports.IdentificationHeader = {
7
10
  len: 42,
8
11
  get: (buf, off) => {
9
12
  return {
10
13
  id: new Token.StringType(7, 'ascii').get(buf, off),
11
- vmaj: Token.UINT8.get(buf, off + 7),
12
- vmin: Token.UINT8.get(buf, off + 8),
13
- vrev: Token.UINT8.get(buf, off + 9),
14
- vmbw: Token.UINT16_BE.get(buf, off + 10),
15
- vmbh: Token.UINT16_BE.get(buf, off + 17),
14
+ vmaj: buf.readUInt8(off + 7),
15
+ vmin: buf.readUInt8(off + 8),
16
+ vrev: buf.readUInt8(off + 9),
17
+ vmbw: buf.readUInt16BE(off + 10),
18
+ vmbh: buf.readUInt16BE(off + 17),
16
19
  nombr: Token.UINT24_BE.get(buf, off + 37),
17
- nqual: Token.UINT8.get(buf, off + 40)
20
+ nqual: buf.readUInt8(off + 40)
18
21
  };
19
22
  }
20
23
  };
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ import { ITokenizer } from 'strtok3/lib/core';
3
+ import { IOptions } from '../../type';
4
+ import { INativeMetadataCollector } from '../../common/MetadataCollector';
5
+ import * as Ogg from '../Ogg';
6
+ /**
7
+ * Ref:
8
+ * - https://theora.org/doc/Theora.pdf
9
+ */
10
+ export declare class TheoraParser implements Ogg.IPageConsumer {
11
+ private metadata;
12
+ private tokenizer;
13
+ constructor(metadata: INativeMetadataCollector, options: IOptions, tokenizer: ITokenizer);
14
+ /**
15
+ * Vorbis 1 parser
16
+ * @param header Ogg Page Header
17
+ * @param pageData Page data
18
+ */
19
+ parsePage(header: Ogg.IPageHeader, pageData: Buffer): void;
20
+ flush(): void;
21
+ calculateDuration(header: Ogg.IPageHeader): void;
22
+ /**
23
+ * Parse first Theora Ogg page. the initial identification header packet
24
+ * @param {IPageHeader} header
25
+ * @param {Buffer} pageData
26
+ */
27
+ protected parseFirstPage(header: Ogg.IPageHeader, pageData: Buffer): void;
28
+ }