forked from
tokono.ma/diffuse
A music player that connects to your cloud/distributed storage.
1import * as URI from "fast-uri";
2
3/**
4 * @import {Track} from "~/definitions/types.d.ts"
5 */
6
7/**
8 * @param {string} uri
9 *
10 */
11export function trackURIBase(uri) {
12 const p = URI.parse(uri);
13 p.path = undefined;
14 p.query = undefined;
15 return URI.serialize(p);
16}
17
18/**
19 * @param {Track[]} tracks
20 *
21 */
22export function uniqueTrackURIs(tracks) {
23 const set = new Set();
24
25 tracks.forEach((t) => {
26 set.add(trackURIBase(t.uri));
27 });
28
29 return set;
30}