diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-02-06 09:56:50 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-02-06 09:56:50 -0400 |
commit | c876fa2573d877f60198b24259d6908a1e775239 (patch) | |
tree | e14961ec0a6b73cfcccb4074bed2a39a085737f5 /src/content/dependencies/generateArtistInfoPageTracksChunkedList.js | |
parent | 10f57c4bbc5fc84d57c32c85a1dae55873088973 (diff) |
content: gAIP{*}ChunkedList: stub processEntries refactor
Diffstat (limited to 'src/content/dependencies/generateArtistInfoPageTracksChunkedList.js')
-rw-r--r-- | src/content/dependencies/generateArtistInfoPageTracksChunkedList.js | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkedList.js b/src/content/dependencies/generateArtistInfoPageTracksChunkedList.js index 654f759..4ad047b 100644 --- a/src/content/dependencies/generateArtistInfoPageTracksChunkedList.js +++ b/src/content/dependencies/generateArtistInfoPageTracksChunkedList.js @@ -19,6 +19,12 @@ export default { extraDependencies: ['html', 'language'], query(artist) { + const processEntries = (things, details) => + things.map(thing => ({ + thing, + entry: details(thing), + })); + const tracksAsArtistAndContributor = artist.tracksAsArtist .filter(track => artist.tracksAsContributor.includes(track)); @@ -31,36 +37,40 @@ export default { artist.tracksAsContributor .filter(track => !artist.tracksAsArtist.includes(track)); - const entries = [ - ...tracksAsArtistAndContributor.map(track => ({ - thing: track, - entry: { + const entriesAsArtistAndContributor = + processEntries( + tracksAsArtistAndContributor, + track => ({ track, album: track.album, date: track.date, contribs: [...track.artistContribs, ...track.contributorContribs], - }, - })), + })); - ...tracksAsArtistOnly.map(track => ({ - thing: track, - entry: { + const entriesAsArtistOnly = + processEntries( + tracksAsArtistOnly, + track => ({ track, album: track.album, date: track.date, contribs: track.artistContribs, - }, - })), + })); - ...tracksAsContributorOnly.map(track => ({ - thing: track, - entry: { + const entriesAsContributorOnly = + processEntries( + tracksAsContributorOnly, + track => ({ track, date: track.date, album: track.album, contribs: track.contributorContribs, - }, - })), + })); + + const entries = [ + ...entriesAsArtistAndContributor, + ...entriesAsArtistOnly, + ...entriesAsContributorOnly, ]; sortEntryThingPairs(entries, sortAlbumsTracksChronologically); |