music-metadata 7.12.3 → 7.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +9 -9
- package/README.md +434 -434
- package/lib/ParserFactory.d.ts +48 -48
- package/lib/ParserFactory.js +252 -252
- package/lib/aiff/AiffParser.d.ts +14 -14
- package/lib/aiff/AiffParser.js +96 -84
- package/lib/aiff/AiffToken.d.ts +22 -22
- package/lib/aiff/AiffToken.js +48 -43
- package/lib/apev2/APEv2Parser.d.ts +30 -30
- package/lib/apev2/APEv2Parser.js +164 -164
- package/lib/apev2/APEv2TagMapper.d.ts +4 -4
- package/lib/apev2/APEv2TagMapper.js +86 -86
- package/lib/apev2/APEv2Token.d.ts +100 -100
- package/lib/apev2/APEv2Token.js +126 -126
- package/lib/asf/AsfObject.d.ts +319 -319
- package/lib/asf/AsfObject.js +381 -381
- package/lib/asf/AsfParser.d.ts +17 -17
- package/lib/asf/AsfParser.js +135 -135
- package/lib/asf/AsfTagMapper.d.ts +7 -7
- package/lib/asf/AsfTagMapper.js +95 -95
- package/lib/asf/AsfUtil.d.ts +13 -13
- package/lib/asf/AsfUtil.js +38 -38
- package/lib/asf/GUID.d.ts +84 -84
- package/lib/asf/GUID.js +121 -121
- package/lib/common/BasicParser.d.ts +17 -17
- package/lib/common/BasicParser.js +18 -18
- package/lib/common/CaseInsensitiveTagMap.d.ts +10 -10
- package/lib/common/CaseInsensitiveTagMap.js +21 -21
- package/lib/common/CombinedTagMapper.d.ts +19 -19
- package/lib/common/CombinedTagMapper.js +51 -51
- package/lib/common/FourCC.d.ts +6 -6
- package/lib/common/FourCC.js +28 -28
- package/lib/common/GenericTagMapper.d.ts +51 -51
- package/lib/common/GenericTagMapper.js +55 -55
- package/lib/common/GenericTagTypes.d.ts +33 -33
- package/lib/common/GenericTagTypes.js +131 -131
- package/lib/common/MetadataCollector.d.ts +76 -76
- package/lib/common/MetadataCollector.js +275 -275
- package/lib/common/RandomFileReader.d.ts +22 -22
- package/lib/common/RandomFileReader.js +34 -34
- package/lib/common/RandomUint8ArrayReader.d.ts +18 -18
- package/lib/common/RandomUint8ArrayReader.js +25 -25
- package/lib/common/Util.d.ts +57 -57
- package/lib/common/Util.js +157 -157
- package/lib/core.d.ts +48 -48
- package/lib/core.js +90 -90
- package/lib/dsdiff/DsdiffParser.d.ts +14 -14
- package/lib/dsdiff/DsdiffParser.js +143 -143
- package/lib/dsdiff/DsdiffToken.d.ts +9 -9
- package/lib/dsdiff/DsdiffToken.js +21 -21
- package/lib/dsf/DsfChunk.d.ts +86 -86
- package/lib/dsf/DsfChunk.js +54 -54
- package/lib/dsf/DsfParser.d.ts +9 -9
- package/lib/dsf/DsfParser.js +56 -56
- package/lib/flac/FlacParser.d.ts +28 -28
- package/lib/flac/FlacParser.js +175 -175
- package/lib/id3v1/ID3v1Parser.d.ts +13 -13
- package/lib/id3v1/ID3v1Parser.js +134 -134
- package/lib/id3v1/ID3v1TagMap.d.ts +4 -4
- package/lib/id3v1/ID3v1TagMap.js +22 -22
- package/lib/id3v2/AbstractID3Parser.d.ts +17 -17
- package/lib/id3v2/AbstractID3Parser.js +60 -60
- package/lib/id3v2/FrameParser.d.ts +31 -31
- package/lib/id3v2/FrameParser.js +329 -329
- package/lib/id3v2/ID3v22TagMapper.d.ts +9 -9
- package/lib/id3v2/ID3v22TagMapper.js +55 -55
- package/lib/id3v2/ID3v24TagMapper.d.ts +14 -14
- package/lib/id3v2/ID3v24TagMapper.js +193 -193
- package/lib/id3v2/ID3v2Parser.d.ts +28 -28
- package/lib/id3v2/ID3v2Parser.js +182 -182
- package/lib/id3v2/ID3v2Token.d.ts +73 -73
- package/lib/id3v2/ID3v2Token.js +106 -106
- package/lib/iff/index.d.ts +33 -33
- package/lib/iff/index.js +19 -19
- package/lib/index.d.ts +45 -45
- package/lib/index.js +74 -74
- package/lib/lyrics3/Lyrics3.d.ts +3 -3
- package/lib/lyrics3/Lyrics3.js +17 -17
- package/lib/matroska/MatroskaDtd.d.ts +8 -8
- package/lib/matroska/MatroskaDtd.js +279 -279
- package/lib/matroska/MatroskaParser.d.ts +37 -37
- package/lib/matroska/MatroskaParser.js +235 -235
- package/lib/matroska/MatroskaTagMapper.d.ts +4 -4
- package/lib/matroska/MatroskaTagMapper.js +35 -35
- package/lib/matroska/types.d.ts +175 -175
- package/lib/matroska/types.js +32 -32
- package/lib/mp4/Atom.d.ts +16 -16
- package/lib/mp4/Atom.js +70 -70
- package/lib/mp4/AtomToken.d.ts +395 -395
- package/lib/mp4/AtomToken.js +406 -406
- package/lib/mp4/MP4Parser.d.ts +30 -30
- package/lib/mp4/MP4Parser.js +511 -511
- package/lib/mp4/MP4TagMapper.d.ts +5 -5
- package/lib/mp4/MP4TagMapper.js +115 -115
- package/lib/mpeg/ExtendedLameHeader.d.ts +27 -27
- package/lib/mpeg/ExtendedLameHeader.js +31 -31
- package/lib/mpeg/MpegParser.d.ts +49 -49
- package/lib/mpeg/MpegParser.js +524 -524
- package/lib/mpeg/ReplayGainDataFormat.d.ts +55 -55
- package/lib/mpeg/ReplayGainDataFormat.js +69 -69
- package/lib/mpeg/XingTag.d.ts +45 -45
- package/lib/mpeg/XingTag.js +69 -69
- package/lib/musepack/index.d.ts +5 -5
- package/lib/musepack/index.js +32 -32
- package/lib/musepack/sv7/BitReader.d.ts +13 -13
- package/lib/musepack/sv7/BitReader.js +54 -54
- package/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -8
- package/lib/musepack/sv7/MpcSv7Parser.js +46 -46
- package/lib/musepack/sv7/StreamVersion7.d.ts +28 -28
- package/lib/musepack/sv7/StreamVersion7.js +41 -41
- package/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -6
- package/lib/musepack/sv8/MpcSv8Parser.js +55 -55
- package/lib/musepack/sv8/StreamVersion8.d.ts +40 -40
- package/lib/musepack/sv8/StreamVersion8.js +80 -80
- package/lib/ogg/Ogg.d.ts +72 -72
- package/lib/ogg/Ogg.js +2 -2
- package/lib/ogg/OggParser.d.ts +23 -23
- package/lib/ogg/OggParser.js +126 -126
- package/lib/ogg/opus/Opus.d.ts +48 -48
- package/lib/ogg/opus/Opus.js +28 -28
- package/lib/ogg/opus/OpusParser.d.ts +25 -25
- package/lib/ogg/opus/OpusParser.js +56 -56
- package/lib/ogg/speex/Speex.d.ts +36 -36
- package/lib/ogg/speex/Speex.js +31 -31
- package/lib/ogg/speex/SpeexParser.d.ts +22 -22
- package/lib/ogg/speex/SpeexParser.js +35 -35
- package/lib/ogg/theora/Theora.d.ts +20 -20
- package/lib/ogg/theora/Theora.js +23 -23
- package/lib/ogg/theora/TheoraParser.d.ts +28 -28
- package/lib/ogg/theora/TheoraParser.js +44 -44
- package/lib/ogg/vorbis/Vorbis.d.ts +69 -69
- package/lib/ogg/vorbis/Vorbis.js +78 -78
- package/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -12
- package/lib/ogg/vorbis/VorbisDecoder.js +32 -32
- package/lib/ogg/vorbis/VorbisParser.d.ts +36 -36
- package/lib/ogg/vorbis/VorbisParser.js +128 -128
- package/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -7
- package/lib/ogg/vorbis/VorbisTagMapper.js +132 -132
- package/lib/riff/RiffChunk.d.ts +16 -16
- package/lib/riff/RiffChunk.js +32 -32
- package/lib/riff/RiffInfoTagMap.d.ts +10 -10
- package/lib/riff/RiffInfoTagMap.js +37 -37
- package/lib/type.d.ts +592 -592
- package/lib/type.js +5 -5
- package/lib/wav/BwfChunk.d.ts +17 -17
- package/lib/wav/BwfChunk.js +29 -28
- package/lib/wav/WaveChunk.d.ts +64 -64
- package/lib/wav/WaveChunk.js +65 -65
- package/lib/wav/WaveParser.d.ts +24 -24
- package/lib/wav/WaveParser.js +158 -156
- package/lib/wavpack/WavPackParser.d.ts +14 -14
- package/lib/wavpack/WavPackParser.js +99 -99
- package/lib/wavpack/WavPackToken.d.ts +64 -64
- package/lib/wavpack/WavPackToken.js +76 -76
- package/package.json +150 -150
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isUnique = exports.isSingleton = exports.commonTags = void 0;
|
|
4
|
-
exports.commonTags = {
|
|
5
|
-
year: { multiple: false },
|
|
6
|
-
track: { multiple: false },
|
|
7
|
-
disk: { multiple: false },
|
|
8
|
-
title: { multiple: false },
|
|
9
|
-
artist: { multiple: false },
|
|
10
|
-
artists: { multiple: true, unique: true },
|
|
11
|
-
albumartist: { multiple: false },
|
|
12
|
-
album: { multiple: false },
|
|
13
|
-
date: { multiple: false },
|
|
14
|
-
originaldate: { multiple: false },
|
|
15
|
-
originalyear: { multiple: false },
|
|
16
|
-
comment: { multiple: true, unique: false },
|
|
17
|
-
genre: { multiple: true, unique: true },
|
|
18
|
-
picture: { multiple: true, unique: true },
|
|
19
|
-
composer: { multiple: true, unique: true },
|
|
20
|
-
lyrics: { multiple: true, unique: false },
|
|
21
|
-
albumsort: { multiple: false, unique: true },
|
|
22
|
-
titlesort: { multiple: false, unique: true },
|
|
23
|
-
work: { multiple: false, unique: true },
|
|
24
|
-
artistsort: { multiple: false, unique: true },
|
|
25
|
-
albumartistsort: { multiple: false, unique: true },
|
|
26
|
-
composersort: { multiple: false, unique: true },
|
|
27
|
-
lyricist: { multiple: true, unique: true },
|
|
28
|
-
writer: { multiple: true, unique: true },
|
|
29
|
-
conductor: { multiple: true, unique: true },
|
|
30
|
-
remixer: { multiple: true, unique: true },
|
|
31
|
-
arranger: { multiple: true, unique: true },
|
|
32
|
-
engineer: { multiple: true, unique: true },
|
|
33
|
-
producer: { multiple: true, unique: true },
|
|
34
|
-
technician: { multiple: true, unique: true },
|
|
35
|
-
djmixer: { multiple: true, unique: true },
|
|
36
|
-
mixer: { multiple: true, unique: true },
|
|
37
|
-
label: { multiple: true, unique: true },
|
|
38
|
-
grouping: { multiple: false },
|
|
39
|
-
subtitle: { multiple: true },
|
|
40
|
-
discsubtitle: { multiple: false },
|
|
41
|
-
totaltracks: { multiple: false },
|
|
42
|
-
totaldiscs: { multiple: false },
|
|
43
|
-
compilation: { multiple: false },
|
|
44
|
-
rating: { multiple: true },
|
|
45
|
-
bpm: { multiple: false },
|
|
46
|
-
mood: { multiple: false },
|
|
47
|
-
media: { multiple: false },
|
|
48
|
-
catalognumber: { multiple: true, unique: true },
|
|
49
|
-
tvShow: { multiple: false },
|
|
50
|
-
tvShowSort: { multiple: false },
|
|
51
|
-
tvSeason: { multiple: false },
|
|
52
|
-
tvEpisode: { multiple: false },
|
|
53
|
-
tvEpisodeId: { multiple: false },
|
|
54
|
-
tvNetwork: { multiple: false },
|
|
55
|
-
podcast: { multiple: false },
|
|
56
|
-
podcasturl: { multiple: false },
|
|
57
|
-
releasestatus: { multiple: false },
|
|
58
|
-
releasetype: { multiple: true },
|
|
59
|
-
releasecountry: { multiple: false },
|
|
60
|
-
script: { multiple: false },
|
|
61
|
-
language: { multiple: false },
|
|
62
|
-
copyright: { multiple: false },
|
|
63
|
-
license: { multiple: false },
|
|
64
|
-
encodedby: { multiple: false },
|
|
65
|
-
encodersettings: { multiple: false },
|
|
66
|
-
gapless: { multiple: false },
|
|
67
|
-
barcode: { multiple: false },
|
|
68
|
-
isrc: { multiple: true },
|
|
69
|
-
asin: { multiple: false },
|
|
70
|
-
musicbrainz_recordingid: { multiple: false },
|
|
71
|
-
musicbrainz_trackid: { multiple: false },
|
|
72
|
-
musicbrainz_albumid: { multiple: false },
|
|
73
|
-
musicbrainz_artistid: { multiple: true },
|
|
74
|
-
musicbrainz_albumartistid: { multiple: true },
|
|
75
|
-
musicbrainz_releasegroupid: { multiple: false },
|
|
76
|
-
musicbrainz_workid: { multiple: false },
|
|
77
|
-
musicbrainz_trmid: { multiple: false },
|
|
78
|
-
musicbrainz_discid: { multiple: false },
|
|
79
|
-
acoustid_id: { multiple: false },
|
|
80
|
-
acoustid_fingerprint: { multiple: false },
|
|
81
|
-
musicip_puid: { multiple: false },
|
|
82
|
-
musicip_fingerprint: { multiple: false },
|
|
83
|
-
website: { multiple: false },
|
|
84
|
-
'performer:instrument': { multiple: true, unique: true },
|
|
85
|
-
averageLevel: { multiple: false },
|
|
86
|
-
peakLevel: { multiple: false },
|
|
87
|
-
notes: { multiple: true, unique: false },
|
|
88
|
-
key: { multiple: false },
|
|
89
|
-
originalalbum: { multiple: false },
|
|
90
|
-
originalartist: { multiple: false },
|
|
91
|
-
discogs_artist_id: { multiple: true, unique: true },
|
|
92
|
-
discogs_release_id: { multiple: false },
|
|
93
|
-
discogs_label_id: { multiple: false },
|
|
94
|
-
discogs_master_release_id: { multiple: false },
|
|
95
|
-
discogs_votes: { multiple: false },
|
|
96
|
-
discogs_rating: { multiple: false },
|
|
97
|
-
replaygain_track_peak: { multiple: false },
|
|
98
|
-
replaygain_track_gain: { multiple: false },
|
|
99
|
-
replaygain_album_peak: { multiple: false },
|
|
100
|
-
replaygain_album_gain: { multiple: false },
|
|
101
|
-
replaygain_track_minmax: { multiple: false },
|
|
102
|
-
replaygain_album_minmax: { multiple: false },
|
|
103
|
-
replaygain_undo: { multiple: false },
|
|
104
|
-
description: { multiple: true },
|
|
105
|
-
longDescription: { multiple: false },
|
|
106
|
-
category: { multiple: true },
|
|
107
|
-
hdVideo: { multiple: false },
|
|
108
|
-
keywords: { multiple: true },
|
|
109
|
-
movement: { multiple: false },
|
|
110
|
-
movementIndex: { multiple: false },
|
|
111
|
-
movementTotal: { multiple: false },
|
|
112
|
-
podcastId: { multiple: false },
|
|
113
|
-
showMovement: { multiple: false },
|
|
114
|
-
stik: { multiple: false }
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* @param alias Name of common tag
|
|
118
|
-
* @returns {boolean|*} true if given alias is mapped as a singleton', otherwise false
|
|
119
|
-
*/
|
|
120
|
-
function isSingleton(alias) {
|
|
121
|
-
return exports.commonTags.hasOwnProperty(alias) && !exports.commonTags[alias].multiple;
|
|
122
|
-
}
|
|
123
|
-
exports.isSingleton = isSingleton;
|
|
124
|
-
/**
|
|
125
|
-
* @param alias Common (generic) tag
|
|
126
|
-
* @returns {boolean|*} true if given alias is a singleton or explicitly marked as unique
|
|
127
|
-
*/
|
|
128
|
-
function isUnique(alias) {
|
|
129
|
-
return !exports.commonTags[alias].multiple || exports.commonTags[alias].unique;
|
|
130
|
-
}
|
|
131
|
-
exports.isUnique = isUnique;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUnique = exports.isSingleton = exports.commonTags = void 0;
|
|
4
|
+
exports.commonTags = {
|
|
5
|
+
year: { multiple: false },
|
|
6
|
+
track: { multiple: false },
|
|
7
|
+
disk: { multiple: false },
|
|
8
|
+
title: { multiple: false },
|
|
9
|
+
artist: { multiple: false },
|
|
10
|
+
artists: { multiple: true, unique: true },
|
|
11
|
+
albumartist: { multiple: false },
|
|
12
|
+
album: { multiple: false },
|
|
13
|
+
date: { multiple: false },
|
|
14
|
+
originaldate: { multiple: false },
|
|
15
|
+
originalyear: { multiple: false },
|
|
16
|
+
comment: { multiple: true, unique: false },
|
|
17
|
+
genre: { multiple: true, unique: true },
|
|
18
|
+
picture: { multiple: true, unique: true },
|
|
19
|
+
composer: { multiple: true, unique: true },
|
|
20
|
+
lyrics: { multiple: true, unique: false },
|
|
21
|
+
albumsort: { multiple: false, unique: true },
|
|
22
|
+
titlesort: { multiple: false, unique: true },
|
|
23
|
+
work: { multiple: false, unique: true },
|
|
24
|
+
artistsort: { multiple: false, unique: true },
|
|
25
|
+
albumartistsort: { multiple: false, unique: true },
|
|
26
|
+
composersort: { multiple: false, unique: true },
|
|
27
|
+
lyricist: { multiple: true, unique: true },
|
|
28
|
+
writer: { multiple: true, unique: true },
|
|
29
|
+
conductor: { multiple: true, unique: true },
|
|
30
|
+
remixer: { multiple: true, unique: true },
|
|
31
|
+
arranger: { multiple: true, unique: true },
|
|
32
|
+
engineer: { multiple: true, unique: true },
|
|
33
|
+
producer: { multiple: true, unique: true },
|
|
34
|
+
technician: { multiple: true, unique: true },
|
|
35
|
+
djmixer: { multiple: true, unique: true },
|
|
36
|
+
mixer: { multiple: true, unique: true },
|
|
37
|
+
label: { multiple: true, unique: true },
|
|
38
|
+
grouping: { multiple: false },
|
|
39
|
+
subtitle: { multiple: true },
|
|
40
|
+
discsubtitle: { multiple: false },
|
|
41
|
+
totaltracks: { multiple: false },
|
|
42
|
+
totaldiscs: { multiple: false },
|
|
43
|
+
compilation: { multiple: false },
|
|
44
|
+
rating: { multiple: true },
|
|
45
|
+
bpm: { multiple: false },
|
|
46
|
+
mood: { multiple: false },
|
|
47
|
+
media: { multiple: false },
|
|
48
|
+
catalognumber: { multiple: true, unique: true },
|
|
49
|
+
tvShow: { multiple: false },
|
|
50
|
+
tvShowSort: { multiple: false },
|
|
51
|
+
tvSeason: { multiple: false },
|
|
52
|
+
tvEpisode: { multiple: false },
|
|
53
|
+
tvEpisodeId: { multiple: false },
|
|
54
|
+
tvNetwork: { multiple: false },
|
|
55
|
+
podcast: { multiple: false },
|
|
56
|
+
podcasturl: { multiple: false },
|
|
57
|
+
releasestatus: { multiple: false },
|
|
58
|
+
releasetype: { multiple: true },
|
|
59
|
+
releasecountry: { multiple: false },
|
|
60
|
+
script: { multiple: false },
|
|
61
|
+
language: { multiple: false },
|
|
62
|
+
copyright: { multiple: false },
|
|
63
|
+
license: { multiple: false },
|
|
64
|
+
encodedby: { multiple: false },
|
|
65
|
+
encodersettings: { multiple: false },
|
|
66
|
+
gapless: { multiple: false },
|
|
67
|
+
barcode: { multiple: false },
|
|
68
|
+
isrc: { multiple: true },
|
|
69
|
+
asin: { multiple: false },
|
|
70
|
+
musicbrainz_recordingid: { multiple: false },
|
|
71
|
+
musicbrainz_trackid: { multiple: false },
|
|
72
|
+
musicbrainz_albumid: { multiple: false },
|
|
73
|
+
musicbrainz_artistid: { multiple: true },
|
|
74
|
+
musicbrainz_albumartistid: { multiple: true },
|
|
75
|
+
musicbrainz_releasegroupid: { multiple: false },
|
|
76
|
+
musicbrainz_workid: { multiple: false },
|
|
77
|
+
musicbrainz_trmid: { multiple: false },
|
|
78
|
+
musicbrainz_discid: { multiple: false },
|
|
79
|
+
acoustid_id: { multiple: false },
|
|
80
|
+
acoustid_fingerprint: { multiple: false },
|
|
81
|
+
musicip_puid: { multiple: false },
|
|
82
|
+
musicip_fingerprint: { multiple: false },
|
|
83
|
+
website: { multiple: false },
|
|
84
|
+
'performer:instrument': { multiple: true, unique: true },
|
|
85
|
+
averageLevel: { multiple: false },
|
|
86
|
+
peakLevel: { multiple: false },
|
|
87
|
+
notes: { multiple: true, unique: false },
|
|
88
|
+
key: { multiple: false },
|
|
89
|
+
originalalbum: { multiple: false },
|
|
90
|
+
originalartist: { multiple: false },
|
|
91
|
+
discogs_artist_id: { multiple: true, unique: true },
|
|
92
|
+
discogs_release_id: { multiple: false },
|
|
93
|
+
discogs_label_id: { multiple: false },
|
|
94
|
+
discogs_master_release_id: { multiple: false },
|
|
95
|
+
discogs_votes: { multiple: false },
|
|
96
|
+
discogs_rating: { multiple: false },
|
|
97
|
+
replaygain_track_peak: { multiple: false },
|
|
98
|
+
replaygain_track_gain: { multiple: false },
|
|
99
|
+
replaygain_album_peak: { multiple: false },
|
|
100
|
+
replaygain_album_gain: { multiple: false },
|
|
101
|
+
replaygain_track_minmax: { multiple: false },
|
|
102
|
+
replaygain_album_minmax: { multiple: false },
|
|
103
|
+
replaygain_undo: { multiple: false },
|
|
104
|
+
description: { multiple: true },
|
|
105
|
+
longDescription: { multiple: false },
|
|
106
|
+
category: { multiple: true },
|
|
107
|
+
hdVideo: { multiple: false },
|
|
108
|
+
keywords: { multiple: true },
|
|
109
|
+
movement: { multiple: false },
|
|
110
|
+
movementIndex: { multiple: false },
|
|
111
|
+
movementTotal: { multiple: false },
|
|
112
|
+
podcastId: { multiple: false },
|
|
113
|
+
showMovement: { multiple: false },
|
|
114
|
+
stik: { multiple: false }
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* @param alias Name of common tag
|
|
118
|
+
* @returns {boolean|*} true if given alias is mapped as a singleton', otherwise false
|
|
119
|
+
*/
|
|
120
|
+
function isSingleton(alias) {
|
|
121
|
+
return exports.commonTags.hasOwnProperty(alias) && !exports.commonTags[alias].multiple;
|
|
122
|
+
}
|
|
123
|
+
exports.isSingleton = isSingleton;
|
|
124
|
+
/**
|
|
125
|
+
* @param alias Common (generic) tag
|
|
126
|
+
* @returns {boolean|*} true if given alias is a singleton or explicitly marked as unique
|
|
127
|
+
*/
|
|
128
|
+
function isUnique(alias) {
|
|
129
|
+
return !exports.commonTags[alias].multiple || exports.commonTags[alias].unique;
|
|
130
|
+
}
|
|
131
|
+
exports.isUnique = isUnique;
|
|
132
132
|
//# sourceMappingURL=GenericTagTypes.js.map
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { FormatId, IAudioMetadata, ICommonTagsResult, IFormat, INativeTags, IOptions, IQualityInformation, ITrackInfo } from '../type';
|
|
2
|
-
import { IGenericTag, TagType } from './GenericTagTypes';
|
|
3
|
-
/**
|
|
4
|
-
* Combines all generic-tag-mappers for each tag type
|
|
5
|
-
*/
|
|
6
|
-
export interface IWarningCollector {
|
|
7
|
-
/**
|
|
8
|
-
* Register parser warning
|
|
9
|
-
* @param warning
|
|
10
|
-
*/
|
|
11
|
-
addWarning(warning: string): any;
|
|
12
|
-
}
|
|
13
|
-
export interface INativeMetadataCollector extends IWarningCollector {
|
|
14
|
-
/**
|
|
15
|
-
* Only use this for reading
|
|
16
|
-
*/
|
|
17
|
-
readonly format: IFormat;
|
|
18
|
-
readonly native: INativeTags;
|
|
19
|
-
readonly quality: IQualityInformation;
|
|
20
|
-
/**
|
|
21
|
-
* @returns {boolean} true if one or more tags have been found
|
|
22
|
-
*/
|
|
23
|
-
hasAny(): boolean;
|
|
24
|
-
setFormat(key: FormatId, value: any): void;
|
|
25
|
-
addTag(tagType: TagType, tagId: string, value: any): void;
|
|
26
|
-
addStreamInfo(streamInfo: ITrackInfo): void;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Provided to the parser to uodate the metadata result.
|
|
30
|
-
* Responsible for triggering async updates
|
|
31
|
-
*/
|
|
32
|
-
export declare class MetadataCollector implements INativeMetadataCollector {
|
|
33
|
-
private opts;
|
|
34
|
-
readonly format: IFormat;
|
|
35
|
-
readonly native: INativeTags;
|
|
36
|
-
readonly common: ICommonTagsResult;
|
|
37
|
-
readonly quality: IQualityInformation;
|
|
38
|
-
/**
|
|
39
|
-
* Keeps track of origin priority for each mapped id
|
|
40
|
-
*/
|
|
41
|
-
private readonly commonOrigin;
|
|
42
|
-
/**
|
|
43
|
-
* Maps a tag type to a priority
|
|
44
|
-
*/
|
|
45
|
-
private readonly originPriority;
|
|
46
|
-
private tagMapper;
|
|
47
|
-
constructor(opts: IOptions);
|
|
48
|
-
/**
|
|
49
|
-
* @returns {boolean} true if one or more tags have been found
|
|
50
|
-
*/
|
|
51
|
-
hasAny(): boolean;
|
|
52
|
-
addStreamInfo(streamInfo: ITrackInfo): void;
|
|
53
|
-
setFormat(key: FormatId, value: any): void;
|
|
54
|
-
addTag(tagType: TagType, tagId: string, value: any): void;
|
|
55
|
-
addWarning(warning: string): void;
|
|
56
|
-
postMap(tagType: TagType | 'artificial', tag: IGenericTag): any;
|
|
57
|
-
/**
|
|
58
|
-
* Convert native tags to common tags
|
|
59
|
-
* @returns {IAudioMetadata} Native + common tags
|
|
60
|
-
*/
|
|
61
|
-
toCommonMetadata(): IAudioMetadata;
|
|
62
|
-
/**
|
|
63
|
-
* Fix some common issues with picture object
|
|
64
|
-
* @param picture Picture
|
|
65
|
-
*/
|
|
66
|
-
private postFixPicture;
|
|
67
|
-
/**
|
|
68
|
-
* Convert native tag to common tags
|
|
69
|
-
*/
|
|
70
|
-
private toCommon;
|
|
71
|
-
/**
|
|
72
|
-
* Set generic tag
|
|
73
|
-
*/
|
|
74
|
-
private setGenericTag;
|
|
75
|
-
}
|
|
76
|
-
export declare function joinArtists(artists: string[]): string;
|
|
1
|
+
import { FormatId, IAudioMetadata, ICommonTagsResult, IFormat, INativeTags, IOptions, IQualityInformation, ITrackInfo } from '../type';
|
|
2
|
+
import { IGenericTag, TagType } from './GenericTagTypes';
|
|
3
|
+
/**
|
|
4
|
+
* Combines all generic-tag-mappers for each tag type
|
|
5
|
+
*/
|
|
6
|
+
export interface IWarningCollector {
|
|
7
|
+
/**
|
|
8
|
+
* Register parser warning
|
|
9
|
+
* @param warning
|
|
10
|
+
*/
|
|
11
|
+
addWarning(warning: string): any;
|
|
12
|
+
}
|
|
13
|
+
export interface INativeMetadataCollector extends IWarningCollector {
|
|
14
|
+
/**
|
|
15
|
+
* Only use this for reading
|
|
16
|
+
*/
|
|
17
|
+
readonly format: IFormat;
|
|
18
|
+
readonly native: INativeTags;
|
|
19
|
+
readonly quality: IQualityInformation;
|
|
20
|
+
/**
|
|
21
|
+
* @returns {boolean} true if one or more tags have been found
|
|
22
|
+
*/
|
|
23
|
+
hasAny(): boolean;
|
|
24
|
+
setFormat(key: FormatId, value: any): void;
|
|
25
|
+
addTag(tagType: TagType, tagId: string, value: any): void;
|
|
26
|
+
addStreamInfo(streamInfo: ITrackInfo): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Provided to the parser to uodate the metadata result.
|
|
30
|
+
* Responsible for triggering async updates
|
|
31
|
+
*/
|
|
32
|
+
export declare class MetadataCollector implements INativeMetadataCollector {
|
|
33
|
+
private opts;
|
|
34
|
+
readonly format: IFormat;
|
|
35
|
+
readonly native: INativeTags;
|
|
36
|
+
readonly common: ICommonTagsResult;
|
|
37
|
+
readonly quality: IQualityInformation;
|
|
38
|
+
/**
|
|
39
|
+
* Keeps track of origin priority for each mapped id
|
|
40
|
+
*/
|
|
41
|
+
private readonly commonOrigin;
|
|
42
|
+
/**
|
|
43
|
+
* Maps a tag type to a priority
|
|
44
|
+
*/
|
|
45
|
+
private readonly originPriority;
|
|
46
|
+
private tagMapper;
|
|
47
|
+
constructor(opts: IOptions);
|
|
48
|
+
/**
|
|
49
|
+
* @returns {boolean} true if one or more tags have been found
|
|
50
|
+
*/
|
|
51
|
+
hasAny(): boolean;
|
|
52
|
+
addStreamInfo(streamInfo: ITrackInfo): void;
|
|
53
|
+
setFormat(key: FormatId, value: any): void;
|
|
54
|
+
addTag(tagType: TagType, tagId: string, value: any): void;
|
|
55
|
+
addWarning(warning: string): void;
|
|
56
|
+
postMap(tagType: TagType | 'artificial', tag: IGenericTag): any;
|
|
57
|
+
/**
|
|
58
|
+
* Convert native tags to common tags
|
|
59
|
+
* @returns {IAudioMetadata} Native + common tags
|
|
60
|
+
*/
|
|
61
|
+
toCommonMetadata(): IAudioMetadata;
|
|
62
|
+
/**
|
|
63
|
+
* Fix some common issues with picture object
|
|
64
|
+
* @param picture Picture
|
|
65
|
+
*/
|
|
66
|
+
private postFixPicture;
|
|
67
|
+
/**
|
|
68
|
+
* Convert native tag to common tags
|
|
69
|
+
*/
|
|
70
|
+
private toCommon;
|
|
71
|
+
/**
|
|
72
|
+
* Set generic tag
|
|
73
|
+
*/
|
|
74
|
+
private setGenericTag;
|
|
75
|
+
}
|
|
76
|
+
export declare function joinArtists(artists: string[]): string;
|