UNPKG

@kkbox/kkbox-js-sdk

Version:

KKBOX Open API developer SDK for JavaScript. Use it to easily access KKBOX open API to get various metadata about KKBOX's tracks, albums, artists, playlists and stations.

143 lines (106 loc) 4.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _HttpClient = _interopRequireDefault(require("./HttpClient")); var _SearchFetcher = _interopRequireDefault(require("./SearchFetcher")); var _TrackFetcher = _interopRequireDefault(require("./TrackFetcher")); var _AlbumFetcher = _interopRequireDefault(require("./AlbumFetcher")); var _ArtistFetcher = _interopRequireDefault(require("./ArtistFetcher")); var _FeaturedPlaylistFetcher = _interopRequireDefault(require("./FeaturedPlaylistFetcher")); var _FeaturedPlaylistCategoryFetcher = _interopRequireDefault(require("./FeaturedPlaylistCategoryFetcher")); var _NewReleaseCategoryFetcher = _interopRequireDefault(require("./NewReleaseCategoryFetcher")); var _NewHitsPlaylistFetcher = _interopRequireDefault(require("./NewHitsPlaylistFetcher")); var _GenreStationFetcher = _interopRequireDefault(require("./GenreStationFetcher")); var _MoodStationFetcher = _interopRequireDefault(require("./MoodStationFetcher")); var _ChartFetcher = _interopRequireDefault(require("./ChartFetcher")); var _SharedPlaylistFetcher = _interopRequireDefault(require("./SharedPlaylistFetcher")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * Fetch KKBOX resources. */ var Api = /*#__PURE__*/ function () { /** * Need access token to initialize. * * @param {string} token - Get via Auth. * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher. * @example new Api(token); * @example new Api(token, 'TW'); */ function Api(token) { var territory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'TW'; _classCallCheck(this, Api); this.territory = territory; this.httpClient = undefined; this.setToken(token); } /** * Set new token and create fetchers with the new token. * * @param {string} token - Get via Auth. * @example api.setToken(token); */ _createClass(Api, [{ key: "setToken", value: function setToken(token) { this.httpClient = new _HttpClient["default"](token); /** * @type {SearchFetcher} */ this.searchFetcher = new _SearchFetcher["default"](this.httpClient, this.territory); /** * @type {TrackFetcher} */ this.trackFetcher = new _TrackFetcher["default"](this.httpClient, this.territory); /** * @type {AlbumFetcher} */ this.albumFetcher = new _AlbumFetcher["default"](this.httpClient, this.territory); /** * @type {ArtistFetcher} */ this.artistFetcher = new _ArtistFetcher["default"](this.httpClient, this.territory); /** * @type {FeaturedPlaylistFetcher} */ this.featuredPlaylistFetcher = new _FeaturedPlaylistFetcher["default"](this.httpClient, this.territory); /** * @type {FeaturedPlaylistCategoryFetcher} */ this.featuredPlaylistCategoryFetcher = new _FeaturedPlaylistCategoryFetcher["default"](this.httpClient, this.territory); /** * @type {NewReleaseCategoryFetcher} */ this.newReleaseCategoryFetcher = new _NewReleaseCategoryFetcher["default"](this.httpClient, this.territory); /** * @type {NewHitsPlaylistFetcher} */ this.newHitsPlaylistFetcher = new _NewHitsPlaylistFetcher["default"](this.httpClient, this.territory); /** * @type {GenreStationFetcher} */ this.genreStationFetcher = new _GenreStationFetcher["default"](this.httpClient, this.territory); /** * @type {MoodStationFetcher} */ this.moodStationFetcher = new _MoodStationFetcher["default"](this.httpClient, this.territory); /** * @type {ChartFetcher} */ this.chartFetcher = new _ChartFetcher["default"](this.httpClient, this.territory); /** * @type {SharedPlaylistFetcher} */ this.sharedPlaylistFetcher = new _SharedPlaylistFetcher["default"](this.httpClient, this.territory); } }]); return Api; }(); exports["default"] = Api;