music-metadata 11.8.2 → 11.8.3

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.
@@ -47,7 +47,7 @@ export class ParserFactory {
47
47
  musepackParserLoader,
48
48
  dsfParserLoader,
49
49
  dsdiffParserLoader
50
- ].forEach(parser => this.registerParser(parser));
50
+ ].forEach(parser => { this.registerParser(parser); });
51
51
  }
52
52
  registerParser(parser) {
53
53
  this.parsers.push(parser);
@@ -51,4 +51,3 @@ export declare function dbToRatio(dB: number): number;
51
51
  * @param value string holding a ratio like '0.034' or '-7.54 dB'
52
52
  */
53
53
  export declare function toRatio(value: string): IRatio | undefined;
54
- export declare function uint8ArrayToHex(array: Uint8Array): string;
@@ -129,7 +129,6 @@ export function dbToRatio(dB) {
129
129
  */
130
130
  export function toRatio(value) {
131
131
  const ps = value.split(' ').map(p => p.trim().toLowerCase());
132
- // @ts-ignore
133
132
  if (ps.length >= 1) {
134
133
  const v = Number.parseFloat(ps[0]);
135
134
  return ps.length === 2 && ps[1] === 'db' ? {
@@ -141,13 +140,3 @@ export function toRatio(value) {
141
140
  };
142
141
  }
143
142
  }
144
- const byteToHexLookupTable = Array.from({ length: 256 }, (_, index) => index.toString(16).padStart(2, '0'));
145
- export function uint8ArrayToHex(array) {
146
- // Concatenating a string is faster than using an array.
147
- let hexString = '';
148
- // eslint-disable-next-line unicorn/no-for-loop -- Max performance is critical.
149
- for (let index = 0; index < array.length; index++) {
150
- hexString += byteToHexLookupTable[array[index]];
151
- }
152
- return hexString;
153
- }
@@ -6,7 +6,7 @@ import { Atom } from './Atom.js';
6
6
  import * as AtomToken from './AtomToken.js';
7
7
  import { ChapterTrackReferenceBox, Mp4ContentError, } from './AtomToken.js';
8
8
  import { TrackType } from '../type.js';
9
- import { uint8ArrayToHex } from '../common/Util.js';
9
+ import { uint8ArrayToHex } from 'uint8array-extras';
10
10
  import { textDecode } from '@borewit/text-codec';
11
11
  const debug = initDebug('music-metadata:parser:MP4');
12
12
  const tagFormat = 'iTunes';
@@ -433,7 +433,7 @@ export class MP4Parser extends BasicParser {
433
433
  }
434
434
  }
435
435
  async parseTrackBox(trakBox) {
436
- // @ts-ignore
436
+ // @ts-expect-error
437
437
  const track = {
438
438
  media: {},
439
439
  fragments: []
@@ -4,7 +4,7 @@ import { FourCcToken } from '../common/FourCC.js';
4
4
  import { BasicParser } from '../common/BasicParser.js';
5
5
  import { BlockHeaderToken, MetadataIdToken } from './WavPackToken.js';
6
6
  import initDebug from 'debug';
7
- import { uint8ArrayToHex } from '../common/Util.js';
7
+ import { uint8ArrayToHex } from 'uint8array-extras';
8
8
  import { makeUnexpectedFileContentError } from '../ParseError.js';
9
9
  const debug = initDebug('music-metadata:parser:WavPack');
10
10
  export class WavPackContentError extends makeUnexpectedFileContentError('WavPack') {
package/package.json CHANGED
@@ -1,148 +1,149 @@
1
- {
2
- "name": "music-metadata",
3
- "description": "Music metadata parser for Node.js, supporting virtual any audio and tag format.",
4
- "version": "11.8.2",
5
- "author": {
6
- "name": "Borewit",
7
- "url": "https://github.com/Borewit"
8
- },
9
- "funding": [
10
- {
11
- "type": "github",
12
- "url": "https://github.com/sponsors/Borewit"
13
- },
14
- {
15
- "type": "buymeacoffee",
16
- "url": "https://buymeacoffee.com/borewit"
17
- }
18
- ],
19
- "sideEffects": false,
20
- "type": "module",
21
- "exports": {
22
- "node": {
23
- "import": "./lib/index.js",
24
- "module-sync": "./lib/index.js",
25
- "types": "./lib/index.d.ts"
26
- },
27
- "default": {
28
- "import": "./lib/core.js",
29
- "module-sync": "./lib/core.js",
30
- "types": "./lib/core.d.ts"
31
- }
32
- },
33
- "types": "lib/index.d.ts",
34
- "files": [
35
- "lib/**/*.js",
36
- "lib/**/*.d.ts"
37
- ],
38
- "keywords": [
39
- "music",
40
- "metadata",
41
- "meta",
42
- "audio",
43
- "tag",
44
- "tags",
45
- "duration",
46
- "MusicBrainz",
47
- "Discogs",
48
- "Picard",
49
- "ID3",
50
- "ID3v1",
51
- "ID3v2",
52
- "m4a",
53
- "m4b",
54
- "mp3",
55
- "mp4",
56
- "Vorbis",
57
- "ogg",
58
- "flac",
59
- "Matroska",
60
- "WebM",
61
- "EBML",
62
- "asf",
63
- "wma",
64
- "wmv",
65
- "ape",
66
- "MonkeyAudio",
67
- "aiff",
68
- "wav",
69
- "WavPack",
70
- "Opus",
71
- "speex",
72
- "musepack",
73
- "mpc",
74
- "dsd",
75
- "dsf",
76
- "mpc",
77
- "dff",
78
- "dsdiff",
79
- "aac",
80
- "adts",
81
- "length",
82
- "chapter",
83
- "info",
84
- "parse",
85
- "parser",
86
- "bwf",
87
- "slt",
88
- "lyrics"
89
- ],
90
- "scripts": {
91
- "clean": "del-cli 'lib/**/*.js' 'lib/**/*.js.map' 'lib/**/*.d.ts' 'test/**/*.js' 'test/**/*.js.map' 'test/**/*.js' 'test/**/*.js.map' 'doc-gen/**/*.js' 'doc-gen/**/*.js.map'",
92
- "compile-src": "tsc -p lib --sourceMap false",
93
- "compile-test": "tsc -p test",
94
- "compile-doc": "tsc -p doc-gen",
95
- "compile": "yarn run compile-src && yarn compile-test && yarn compile-doc",
96
- "lint:ts": "biome check",
97
- "lint:md": "yarn run remark -u remark-preset-lint-consistent .",
98
- "lint": "yarn run lint:ts && yarn run lint:md",
99
- "test": "mocha",
100
- "build": "yarn run clean && yarn compile && yarn run doc-gen",
101
- "prepublishOnly": "yarn run build",
102
- "test-coverage": "c8 yarn run test",
103
- "send-codacy": "c8 report --reporter=text-lcov | codacy-coverage",
104
- "doc-gen": "yarn node doc-gen/gen.js",
105
- "typecheck": "tsc --project ./lib/tsconfig.json --noEmit && tsc --project ./test/tsconfig.json --noEmit",
106
- "update-biome": "yarn add -D --exact @biomejs/biome && npx @biomejs/biome migrate --write"
107
- },
108
- "dependencies": {
109
- "@borewit/text-codec": "^0.1.0",
110
- "@tokenizer/token": "^0.3.0",
111
- "content-type": "^1.0.5",
112
- "debug": "^4.4.1",
113
- "file-type": "^21.0.0",
114
- "media-typer": "^1.1.0",
115
- "strtok3": "^10.3.4",
116
- "token-types": "^6.1.1"
117
- },
118
- "devDependencies": {
119
- "@biomejs/biome": "2.1.4",
120
- "@types/chai": "^5.2.2",
121
- "@types/chai-as-promised": "^8.0.2",
122
- "@types/content-type": "^1.1.9",
123
- "@types/debug": "^4.1.12",
124
- "@types/media-typer": "^1.1.3",
125
- "@types/mocha": "^10.0.10",
126
- "@types/node": "^24.2.1",
127
- "c8": "^10.1.3",
128
- "chai": "^5.2.1",
129
- "chai-as-promised": "^8.0.1",
130
- "del-cli": "^6.0.0",
131
- "mime": "^4.0.7",
132
- "mocha": "^11.7.1",
133
- "node-readable-to-web-readable-stream": "^0.4.2",
134
- "remark-cli": "^12.0.1",
135
- "remark-preset-lint-consistent": "^6.0.1",
136
- "ts-node": "^10.9.2",
137
- "typescript": "^5.9.2"
138
- },
139
- "engines": {
140
- "node": ">=18"
141
- },
142
- "repository": "github:Borewit/music-metadata",
143
- "license": "MIT",
144
- "bugs": {
145
- "url": "https://github.com/Borewit/music-metadata/issues"
146
- },
147
- "packageManager": "yarn@4.9.2"
148
- }
1
+ {
2
+ "name": "music-metadata",
3
+ "description": "Music metadata parser for Node.js, supporting virtual any audio and tag format.",
4
+ "version": "11.8.3",
5
+ "author": {
6
+ "name": "Borewit",
7
+ "url": "https://github.com/Borewit"
8
+ },
9
+ "funding": [
10
+ {
11
+ "type": "github",
12
+ "url": "https://github.com/sponsors/Borewit"
13
+ },
14
+ {
15
+ "type": "buymeacoffee",
16
+ "url": "https://buymeacoffee.com/borewit"
17
+ }
18
+ ],
19
+ "sideEffects": false,
20
+ "type": "module",
21
+ "exports": {
22
+ "node": {
23
+ "import": "./lib/index.js",
24
+ "module-sync": "./lib/index.js",
25
+ "types": "./lib/index.d.ts"
26
+ },
27
+ "default": {
28
+ "import": "./lib/core.js",
29
+ "module-sync": "./lib/core.js",
30
+ "types": "./lib/core.d.ts"
31
+ }
32
+ },
33
+ "types": "lib/index.d.ts",
34
+ "files": [
35
+ "lib/**/*.js",
36
+ "lib/**/*.d.ts"
37
+ ],
38
+ "keywords": [
39
+ "music",
40
+ "metadata",
41
+ "meta",
42
+ "audio",
43
+ "tag",
44
+ "tags",
45
+ "duration",
46
+ "MusicBrainz",
47
+ "Discogs",
48
+ "Picard",
49
+ "ID3",
50
+ "ID3v1",
51
+ "ID3v2",
52
+ "m4a",
53
+ "m4b",
54
+ "mp3",
55
+ "mp4",
56
+ "Vorbis",
57
+ "ogg",
58
+ "flac",
59
+ "Matroska",
60
+ "WebM",
61
+ "EBML",
62
+ "asf",
63
+ "wma",
64
+ "wmv",
65
+ "ape",
66
+ "MonkeyAudio",
67
+ "aiff",
68
+ "wav",
69
+ "WavPack",
70
+ "Opus",
71
+ "speex",
72
+ "musepack",
73
+ "mpc",
74
+ "dsd",
75
+ "dsf",
76
+ "mpc",
77
+ "dff",
78
+ "dsdiff",
79
+ "aac",
80
+ "adts",
81
+ "length",
82
+ "chapter",
83
+ "info",
84
+ "parse",
85
+ "parser",
86
+ "bwf",
87
+ "slt",
88
+ "lyrics"
89
+ ],
90
+ "scripts": {
91
+ "clean": "del-cli 'lib/**/*.js' 'lib/**/*.js.map' 'lib/**/*.d.ts' 'test/**/*.js' 'test/**/*.js.map' 'test/**/*.js' 'test/**/*.js.map' 'doc-gen/**/*.js' 'doc-gen/**/*.js.map'",
92
+ "compile-src": "tsc -p lib --sourceMap false",
93
+ "compile-test": "tsc -p test",
94
+ "compile-doc": "tsc -p doc-gen",
95
+ "compile": "yarn run compile-src && yarn compile-test && yarn compile-doc",
96
+ "lint:ts": "biome check",
97
+ "lint:md": "yarn run remark -u remark-preset-lint-consistent .",
98
+ "lint": "yarn run lint:ts && yarn run lint:md",
99
+ "test": "mocha",
100
+ "build": "yarn run clean && yarn compile && yarn run doc-gen",
101
+ "prepublishOnly": "yarn run build",
102
+ "test-coverage": "c8 yarn run test",
103
+ "send-codacy": "c8 report --reporter=text-lcov | codacy-coverage",
104
+ "doc-gen": "yarn node doc-gen/gen.js",
105
+ "typecheck": "tsc --project ./lib/tsconfig.json --noEmit && tsc --project ./test/tsconfig.json --noEmit",
106
+ "update-biome": "yarn add -D --exact @biomejs/biome && npx @biomejs/biome migrate --write"
107
+ },
108
+ "dependencies": {
109
+ "@borewit/text-codec": "^0.2.0",
110
+ "@tokenizer/token": "^0.3.0",
111
+ "content-type": "^1.0.5",
112
+ "debug": "^4.4.1",
113
+ "file-type": "^21.0.0",
114
+ "media-typer": "^1.1.0",
115
+ "strtok3": "^10.3.4",
116
+ "token-types": "^6.1.1",
117
+ "uint8array-extras": "^1.4.1"
118
+ },
119
+ "devDependencies": {
120
+ "@biomejs/biome": "2.2.0",
121
+ "@types/chai": "^5.2.2",
122
+ "@types/chai-as-promised": "^8.0.2",
123
+ "@types/content-type": "^1.1.9",
124
+ "@types/debug": "^4.1.12",
125
+ "@types/media-typer": "^1.1.3",
126
+ "@types/mocha": "^10.0.10",
127
+ "@types/node": "^24.2.1",
128
+ "c8": "^10.1.3",
129
+ "chai": "^5.2.1",
130
+ "chai-as-promised": "^8.0.1",
131
+ "del-cli": "^6.0.0",
132
+ "mime": "^4.0.7",
133
+ "mocha": "^11.7.1",
134
+ "node-readable-to-web-readable-stream": "^0.4.2",
135
+ "remark-cli": "^12.0.1",
136
+ "remark-preset-lint-consistent": "^6.0.1",
137
+ "ts-node": "^10.9.2",
138
+ "typescript": "^5.9.2"
139
+ },
140
+ "engines": {
141
+ "node": ">=18"
142
+ },
143
+ "repository": "github:Borewit/music-metadata",
144
+ "license": "MIT",
145
+ "bugs": {
146
+ "url": "https://github.com/Borewit/music-metadata/issues"
147
+ },
148
+ "packageManager": "yarn@4.9.2"
149
+ }