From c876fa2573d877f60198b24259d6908a1e775239 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 6 Feb 2024 09:56:50 -0400 Subject: content: gAIP{*}ChunkedList: stub processEntries refactor --- .../generateArtistInfoPageTracksChunkedList.js | 42 +++++++++++++--------- 1 file changed, 26 insertions(+), 16 deletions(-) (limited to 'src/content/dependencies/generateArtistInfoPageTracksChunkedList.js') diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkedList.js b/src/content/dependencies/generateArtistInfoPageTracksChunkedList.js index 654f759c..4ad047b9 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); -- cgit 1.3.0-6-gf8a5