Socket
Socket
Sign inDemoInstall

music-library-index

Package Overview
Dependencies
1
Maintainers
2
Versions
15
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.1 to 1.2.0

15

index.js

@@ -127,5 +127,5 @@ var removeDiacritics = require('diacritics').remove;

if (!track.albumName) {
// ignore album artist if there's no album
track.albumArtistName = track.artistName;
if (track.albumArtistName === this.variousArtistsName) {
track.albumArtistName = "";
track.compilation = true;
}

@@ -170,2 +170,3 @@ track.albumArtistName = track.albumArtistName || "";

albumArtistName = "";
var isCompilation = false;
for (i = 0; i < album.trackList.length; i += 1) {

@@ -179,5 +180,6 @@ track = album.trackList[i];

if (!albumArtistName) albumArtistName = track.artistName;
albumArtistSet[this.getArtistKey(track.artistName)] = true;
albumArtistSet[this.getArtistKey(albumArtistName)] = true;
isCompilation = isCompilation || track.compilation;
}
if (moreThanOneKey(albumArtistSet)) {
if (isCompilation || moreThanOneKey(albumArtistSet)) {
albumArtistName = this.variousArtistsName;

@@ -188,3 +190,2 @@ artistKey = this.variousArtistsKey;

track.compilation = true;
track.albumArtistName = this.variousArtistsName;
}

@@ -216,3 +217,3 @@ } else {

if (variousArtist) {
this.artistList.splice(0, 0, variousArtist);
this.artistList.unshift(variousArtist);
}

@@ -219,0 +220,0 @@ for (i = 0; i < this.artistList.length; i += 1) {

{
"name": "music-library-index",
"version": "1.1.1",
"version": "1.2.0",
"description": "build a searchable javascript object model given track metadata objects",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -79,2 +79,18 @@ # Music Library Index

✓ only creates one album
album by an artist
✓ should be filed under the artist
album by an artist
✓ sorts by disc before track
album artist with no album
✓ shouldn't be various artists
unknown artist, unknown album
✓ should be put into the same album
✓ searching should not affect anything
album with album artist
✓ shouldn't be various artists
```

@@ -140,6 +140,6 @@ var assert = require('assert');

assert.strictEqual(library.albumList.length, 2);
assert.strictEqual(library.trackTable["jqvq-tpiu"].albumArtistName, "Various Artists");
assert.strictEqual(library.trackTable["dldd-itve"].albumArtistName, "Various Artists");
assert.strictEqual(library.trackTable["ukjv-ndsz"].albumArtistName, "Various Artists");
assert.strictEqual(library.trackTable["gfkt-esqz"].albumArtistName, "Various Artists");
assert.strictEqual(library.trackTable["jqvq-tpiu"].albumArtistName, "");
assert.strictEqual(library.trackTable["dldd-itve"].albumArtistName, "");
assert.strictEqual(library.trackTable["ukjv-ndsz"].albumArtistName, "");
assert.strictEqual(library.trackTable["gfkt-esqz"].albumArtistName, "");
});

@@ -409,1 +409,42 @@ });

});
describe("album with album artist", function() {
var library = new MusicLibraryIndex();
var id1 = 'imnd-sxde';
library.addTrack({
key: id1,
name: 'Palladio',
artistName: 'Escala',
albumArtistName: 'Escala',
albumName: 'Escala',
track: 1,
});
var id2 = 'vewu-hqbx';
library.addTrack({
key: id2,
name: 'Requiem for a Tower',
artistName: 'Escala',
albumArtistName: 'Escala',
albumName: 'Escala',
track: 2,
});
var id3 = 'ixbc-oshh';
library.addTrack({
key: id3,
name: 'Kashmir',
artistName: 'Escala; Slash',
albumArtistName: 'Escala',
albumName: 'Escala',
track: 3,
});
library.rebuild();
it("shouldn't be various artists", function() {
assert.strictEqual(library.trackTable[id1].albumArtistName, "Escala");
assert.strictEqual(library.trackTable[id2].albumArtistName, "Escala");
assert.strictEqual(library.artistList.length, 1);
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc