UNPKG

@spotify/web-api-ts-sdk

Version:
79 lines 3.41 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const EndpointsBase_js_1 = __importDefault(require("./EndpointsBase.js")); class PlayerEndpoints extends EndpointsBase_js_1.default { getPlaybackState(market, additional_types) { const params = this.paramsFor({ market, additional_types }); return this.getRequest(`me/player${params}`); } getAvailableDevices() { return this.getRequest('me/player/devices'); } getCurrentlyPlayingTrack(market, additional_types) { const params = this.paramsFor({ market, additional_types }); return this.getRequest(`me/player/currently-playing${params}`); } getRecentlyPlayedTracks(limit, queryRange) { const paramObj = { limit }; if (queryRange) { if (queryRange.type === "before") { paramObj.before = queryRange.timestamp; } else if (queryRange.type === "after") { paramObj.after = queryRange.timestamp; } } const params = this.paramsFor(paramObj); return this.getRequest(`me/player/recently-played${params}`); } getUsersQueue() { return this.getRequest('me/player/queue'); } async transferPlayback(device_ids, play) { if (device_ids.length > 1) { throw new Error("Although an array is accepted, only a single device_id is currently supported. Supplying more than one will return 400 Bad Request"); } await this.putRequest('me/player', { device_ids, play }); } async startResumePlayback(device_id, context_uri, uris, offset, positionMs) { const params = this.paramsFor({ device_id }); await this.putRequest(`me/player/play${params}`, { context_uri, uris, offset, positionMs }); } async pausePlayback(device_id) { const params = this.paramsFor({ device_id }); await this.putRequest(`me/player/pause${params}`); } async skipToNext(device_id) { const params = this.paramsFor({ device_id }); await this.postRequest(`me/player/next${params}`); } async skipToPrevious(device_id) { const params = this.paramsFor({ device_id }); await this.postRequest(`me/player/previous${params}`); } async seekToPosition(position_ms, device_id) { const params = this.paramsFor({ position_ms, device_id }); await this.putRequest(`me/player/seek${params}`); } async setRepeatMode(state, device_id) { const params = this.paramsFor({ state, device_id }); await this.putRequest(`me/player/repeat${params}`); } async setPlaybackVolume(volume_percent, device_id) { const params = this.paramsFor({ volume_percent, device_id }); await this.putRequest(`me/player/volume${params}`); } async togglePlaybackShuffle(state, device_id) { const params = this.paramsFor({ state, device_id }); await this.putRequest(`me/player/shuffle${params}`); } async addItemToPlaybackQueue(uri, device_id) { const params = this.paramsFor({ uri, device_id }); await this.postRequest(`me/player/queue${params}`); } } exports.default = PlayerEndpoints; //# sourceMappingURL=PlayerEndpoints.js.map