@kkbox/kkbox-javascript-developer-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.
1 lines • 1.31 kB
JavaScript
;var _createClass=function(){function a(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,'value'in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();Object.defineProperty(exports,'__esModule',{value:!0});function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}var Fetcher=function(){function a(b){var c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'TW';_classCallCheck(this,a),this.http=b,this.territory=c}return _createClass(a,[{key:'getPropertyByPath',value:function getPropertyByPath(a,b){b=b.replace(/\[(\w+)\]/g,'.$1'),b=b.replace(/^\./,'');for(var c,d=b.split('.'),e=0,f=d.length;e<f;++e)if(c=d[e],c in a)a=a[c];else return;return a}},{key:'fetchNextPage',value:function fetchNextPage(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'data.paging.next',c=this.getPropertyByPath(a,b);return null!=c&&void 0!==c?this.http.get(c):new Promise(function(a,b){b('Cannot fetch next page')})}},{key:'hasNextPage',value:function hasNextPage(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'data.paging.next',c=this.getPropertyByPath(a,b);return null!=c&&void 0!==c}}]),a}();exports.default=Fetcher;