@spotify/web-api-ts-sdk
Version:
A typescript SDK for the Spotify Web API
79 lines • 3.41 kB
JavaScript
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
;