Skip to content
← Public packages

@kentcdodds/spotify

Spotify playback, playlist, search, library, and device helpers.

src/exports/get-queue.ts

21 lines · 875 B · TypeScript
import { getQueue, normalizePlaybackItem } from '../lib/spotify-api.ts'
import type { GetQueueParams } from '../lib/export-types.ts'

/**
 * Read the current Spotify playback queue for an account.
 * All params accept an optional `account` ('personal' | 'family', default 'personal').
 * @returns Object with currentlyPlaying and queue arrays of normalized track items.
 * @example
 * import getQueue from 'kody:@kentcdodds/spotify/get-queue'
 * const queue = await getQueue({ account: 'personal' })
 * // => { currentlyPlaying: { name: '...' }, queue: [{ name: '...' }] }
 */
async function getSpotifyQueue(params: GetQueueParams = {}) {
	const queue = await getQueue(params)
	return {
		currentlyPlaying: normalizePlaybackItem(queue.currently_playing),
		queue: Array.isArray(queue.queue) ? queue.queue.map(normalizePlaybackItem) : [],
	}
}

export default getSpotifyQueue