removes requirements for AudioMetadata

This commit is contained in:
Ollie Taylor
2023-02-24 23:29:41 +00:00
parent 34f708b1fa
commit b73cfe49bc
2 changed files with 19 additions and 11 deletions
+13 -5
View File
@@ -10,7 +10,7 @@ import {
audio_start_at,
} from '$lib/context/audio-internals';
import { user_preferences } from '$lib/context/user-preferences';
import type { AudioMetadata } from '$lib/types';
import type { AudioLoadData, AudioLoadOptions, AudioMetadata } from '$lib/types';
import { secondsToTimestamp } from '$lib/utility/seconds-to-timestamp';
import { derived, writable } from 'svelte/store';
@@ -22,15 +22,23 @@ export const time = derived([audio_current_time, audio_ended], ([$seconds, $ende
export const metadata = writable<AudioMetadata | null>(null);
export const data = derived([audio_src, metadata], ([$src, $metadata]) => ({
export const data = derived(
[audio_src, metadata],
([$src, $metadata]) =>
({
...$metadata,
src: $src,
}));
} satisfies AudioLoadData),
);
export const options = derived([audio_start_at, audio_autoplay], ([$start_at, $autoplay]) => ({
export const options = derived(
[audio_start_at, audio_autoplay],
([$start_at, $autoplay]) =>
({
start_at: $start_at,
autoplay: $autoplay,
}));
} satisfies AudioLoadOptions),
);
export const duration = { subscribe: audio_duration.subscribe };
export const loading = { subscribe: audio_loading.subscribe };
+2 -2
View File
@@ -1,9 +1,9 @@
export type AudioPlayerElement = HTMLAudioElement | undefined;
export interface AudioMetadata {
export type AudioMetadata = Partial<{
title: string;
artwork: string;
}
}>;
export interface AudioLoadData extends AudioMetadata {
src: string;