···
96
96
tracks: Track[],
97
97
initial: Record<string, Track[]> = {},
98
98
): Record<string, Track[]> {
99
99
-
const acc: Record<string, Track[]> = {};
99
99
+
const acc: Record<string, Track[]> = initial;
100
100
101
101
tracks.forEach((track) => {
102
102
const scheme = track.uri.substring(0, track.uri.indexOf(":"));
···
77
77
}
78
78
79
79
const conn = await connections[scheme].promise;
80
80
-
const result = await conn.groupConsult(groups[scheme] || []);
80
80
+
const result = await conn.groupConsult(groups[scheme] || {});
81
81
82
82
return result;
83
83
}),
···
90
90
91
91
async function list(cachedTracks: Track[] = []) {
92
92
const groups = await groupConsult(cachedTracks);
93
93
+
94
94
+
Object.keys(connections).forEach((scheme) => {
95
95
+
if (!groups[scheme]) groups[scheme] = { available: true, tracks: [] };
96
96
+
});
93
97
94
98
const promises = Object.entries(groups).map(
95
99
async ([scheme, { available, tracks }]: [string, ConsultGrouping]) => {