diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-07-03 23:12:03 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-07-03 23:12:03 -0300 |
commit | 5408d6660b22b9ddee8c4a297c89fca92ae2d505 (patch) | |
tree | fe0bbb257fb1e478806a500d5ef8166085f8bbf7 /src/content/dependencies/listAlbumsByDuration.js | |
parent | 4e3cb1d34c8bd68032b736ee3f6cfe0aeb495ee4 (diff) |
content: listArtistsBy{CommentaryEntries,Name} + syntax changes
Diffstat (limited to 'src/content/dependencies/listAlbumsByDuration.js')
-rw-r--r-- | src/content/dependencies/listAlbumsByDuration.js | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/content/dependencies/listAlbumsByDuration.js b/src/content/dependencies/listAlbumsByDuration.js index e922ebc..650a5d1 100644 --- a/src/content/dependencies/listAlbumsByDuration.js +++ b/src/content/dependencies/listAlbumsByDuration.js @@ -1,5 +1,5 @@ import {stitchArrays} from '../../util/sugar.js'; -import {getTotalDuration} from '../../util/wiki-data.js'; +import {filterByCount, getTotalDuration, sortByCount} from '../../util/wiki-data.js'; export default { contentDependencies: ['generateListingPage', 'linkAlbum'], @@ -10,17 +10,13 @@ export default { }, query({albumData}, spec) { - const albumToDuration = - new Map(albumData.map(album => [album, getTotalDuration(album.tracks)])); + const albums = albumData.slice(); + const durations = albums.map(album => getTotalDuration(album.tracks)); - return { - spec, + filterByCount(albums, durations); + sortByCount(albums, durations, {greatestFirst: true}); - albums: - albumData - .filter(album => albumToDuration.get(album) > 0) - .sort((a, b) => albumToDuration.get(b) - albumToDuration.get(a)), - }; + return {spec, albums, durations}; }, relations(relation, query) { @@ -35,9 +31,7 @@ export default { data(query) { return { - durations: - query.albums - .map(album => getTotalDuration(album.tracks)), + durations: query.durations, }; }, |