/spotify-wrapper

I created this simple Spotify wrapper to learn TDD

Primary LanguageJavaScriptMIT LicenseMIT

Spotify Wrapper

Build Status

Coverage Status

A wrapper to work with the Spotify Web API.

Browser Support

This library relies on Fetch API. And this API is supported in the following browsers.

Chrome Firefox Opera Safari IE
39+ ✔ 42+ ✔ 29+ ✔ 10.1+ ✔ Nope ✘

Dependencies

This library depends on fetch to make requests to the Spotify Web API. For environments that don't support fetch, you'll need to provide a polyfill to browser or polyfill to Node.

Installation

$ npm install mws-spotify-wrapper --save

How to use

ES6

import SpotifyWrapper from 'mws-spotify-wrapper';

CommonJS

global.fetch = require('node-fetch');

var SpotifyWrapper = require('mws-spotify-wrapper').default;

UMD in Browser

<!-- to import non-minified version -->
<script src="spotify-wrapper.umd.js"></script>

<!-- to import minified version -->
<script src="spotify-wrapper.umd.min.js"></script>

After that the library will be available to the Global as SpotifyWrapper class. Follow an example:

const spotify = new SpotifyWrapper({
  token: 'token',
});

const albums = spotify.search.albums('Chosen artist');

Methods

Follow the methods that the library provides.

search.albums(query)

Search for informations about Albums with provided query. Test in Spotify Web Console with type defined as album.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.albums.search('Incubus')
  .then(data => {
    // do what you want with the data
  })

search.artists(query)

Search for informations about Artists with provided query. Test in Spotify Web Console with type defined as artist.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.artists('Incubus')
  .then(data => {
    // do what you want with the data
  })

search.tracks(query)

Search for informations about Tracks with provided query. Test in Spotify Web Console with type defined as track.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.tracks('Drive')
  .then(data => {
    // do what you want with the data
  })

search.playlists(query)

Search for informations about Playlist with provided query. Test in Spotify Web Console with type defined as playlist.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.playlists('Happy Day')
  .then(data => {
    // do what you want with the data
  })

album.getAlbum(id)

Search for informations about a specific Album with provided id. Test in Spotify Web Console.

Arguments

Argument Type Options
id string 'Specific id'

Example

spotify.album.getAlbum('4aawyAB9vmqN3uQ7FjRGTy')
  .then(data => {
    // do what you want with the data
  })

album.getAlbums(ids)

Search for informations about some Albums with all id's. Test in Spotify Web Console.

Arguments

Argument Type Options
ids Array of strings ['id1', 'id2']

Example

spotify.album.getAlbums(['4aawyAB9vmqN3uQ7FjRGTy', '1A2GTWGtFfWp7KSQTwWOyo'])
  .then(data => {
    // do what you want with the data
  })

album.getTracks(id)

Search for all tracks in a specific Album with provided id. Test in Spotify Web Console.

Arguments

Argument Type Options
id string 'Specific id'

Example

spotify.album.getTracks('4aawyAB9vmqN3uQ7FjRGTy')
  .then(data => {
    // do what you want with the data
  })

License

This project is licensed under the MIT License - see the LICENSE.md file for details