lastfm-nodejs-client 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +140 -74
- package/dist/@types/album/addTags.d.ts +11 -0
- package/dist/@types/album/getInfo.d.ts +11 -0
- package/dist/@types/album/getTags.d.ts +11 -0
- package/dist/@types/album/getTopTags.d.ts +10 -0
- package/dist/@types/album/removeTag.d.ts +11 -0
- package/dist/@types/album/search.d.ts +10 -0
- package/dist/@types/artist/addTags.d.ts +10 -0
- package/dist/@types/artist/getCorrection.d.ts +9 -0
- package/dist/@types/artist/getInfo.d.ts +10 -0
- package/dist/@types/artist/getSimilar.d.ts +10 -0
- package/dist/@types/artist/getTags.d.ts +10 -0
- package/dist/@types/artist/getTopAlbums.d.ts +11 -0
- package/dist/@types/artist/getTopTags.d.ts +9 -0
- package/dist/@types/artist/getTopTracks.d.ts +11 -0
- package/dist/@types/artist/removeTag.d.ts +10 -0
- package/dist/@types/artist/search.d.ts +10 -0
- package/dist/@types/auth/getMobileSession.d.ts +11 -0
- package/dist/@types/auth/getSession.d.ts +10 -0
- package/dist/@types/auth.d.ts +9 -6
- package/dist/@types/chart/topArtists.d.ts +11 -0
- package/dist/@types/chart/topTags.d.ts +8 -0
- package/dist/@types/chart/topTracks.d.ts +8 -0
- package/dist/@types/config.d.ts +13 -11
- package/dist/@types/createOptions.d.ts +23 -0
- package/dist/@types/geo/getTopArtists.d.ts +10 -0
- package/dist/@types/geo/getTopTracks.d.ts +10 -0
- package/dist/@types/getFriends.d.ts +6 -3
- package/dist/@types/getInfo.d.ts +5 -3
- package/dist/@types/getLovedTracks.d.ts +7 -3
- package/dist/@types/getRecentTracks.d.ts +7 -3
- package/dist/@types/getTopAlbums.d.ts +7 -3
- package/dist/@types/getTopArtists.d.ts +7 -3
- package/dist/@types/getTopTracks.d.ts +7 -3
- package/dist/@types/getUserTopTags.d.ts +6 -3
- package/dist/@types/getWeeklyAlbumChart.d.ts +7 -3
- package/dist/@types/getWeeklyArtistChart.d.ts +7 -3
- package/dist/@types/getWeeklyChartList.d.ts +8 -3
- package/dist/@types/getWeeklyTrackChart.d.ts +7 -3
- package/dist/@types/index.d.ts +31 -89
- package/dist/@types/library/getArtists.d.ts +10 -0
- package/dist/@types/method.d.ts +25 -77
- package/dist/@types/request.d.ts +23 -0
- package/dist/@types/tag/getInfo.d.ts +9 -0
- package/dist/@types/tag/getSimilar.d.ts +8 -0
- package/dist/@types/tag/getTopAlbums.d.ts +10 -0
- package/dist/@types/tag/getTopArtists.d.ts +10 -0
- package/dist/@types/tag/getTopTags.d.ts +7 -0
- package/dist/@types/tag/getWeeklyChartList.d.ts +9 -0
- package/dist/@types/tag/topTracks.d.ts +6 -3
- package/dist/@types/track/addTags.d.ts +11 -0
- package/dist/@types/track/getCorrection.d.ts +10 -0
- package/dist/@types/track/getInfo.d.ts +11 -0
- package/dist/@types/track/getSimilar.d.ts +11 -0
- package/dist/@types/track/getTags.d.ts +11 -0
- package/dist/@types/track/getTopTags.d.ts +10 -0
- package/dist/@types/track/love.d.ts +10 -0
- package/dist/@types/track/removeTag.d.ts +11 -0
- package/dist/@types/track/scrobble.d.ts +12 -0
- package/dist/@types/track/search.d.ts +11 -0
- package/dist/@types/track/unlove.d.ts +10 -0
- package/dist/@types/track/updateNowPlaying.d.ts +11 -0
- package/dist/@types/user/getPersonalTags.d.ts +12 -0
- package/dist/album/addTags.js +11 -0
- package/dist/album/addTags.js.map +1 -1
- package/dist/album/getInfo.js +11 -0
- package/dist/album/getInfo.js.map +1 -1
- package/dist/album/getTags.js +11 -0
- package/dist/album/getTags.js.map +1 -1
- package/dist/album/getTopTags.js +10 -0
- package/dist/album/getTopTags.js.map +1 -1
- package/dist/album/removeTag.js +11 -0
- package/dist/album/removeTag.js.map +1 -1
- package/dist/album/search.js +10 -0
- package/dist/album/search.js.map +1 -1
- package/dist/artist/addTags.js +10 -0
- package/dist/artist/addTags.js.map +1 -1
- package/dist/artist/getCorrection.js +9 -0
- package/dist/artist/getCorrection.js.map +1 -1
- package/dist/artist/getInfo.js +10 -0
- package/dist/artist/getInfo.js.map +1 -1
- package/dist/artist/getSimilar.js +10 -0
- package/dist/artist/getSimilar.js.map +1 -1
- package/dist/artist/getTags.js +10 -0
- package/dist/artist/getTags.js.map +1 -1
- package/dist/artist/getTopAlbums.js +11 -0
- package/dist/artist/getTopAlbums.js.map +1 -1
- package/dist/artist/getTopTags.js +9 -0
- package/dist/artist/getTopTags.js.map +1 -1
- package/dist/artist/getTopTracks.js +11 -0
- package/dist/artist/getTopTracks.js.map +1 -1
- package/dist/artist/removeTag.js +10 -0
- package/dist/artist/removeTag.js.map +1 -1
- package/dist/artist/search.js +10 -0
- package/dist/artist/search.js.map +1 -1
- package/dist/auth/getMobileSession.js +11 -0
- package/dist/auth/getMobileSession.js.map +1 -1
- package/dist/auth/getSession.js +10 -0
- package/dist/auth/getSession.js.map +1 -1
- package/dist/auth.js +9 -6
- package/dist/auth.js.map +1 -1
- package/dist/chart/topArtists.js +11 -0
- package/dist/chart/topArtists.js.map +1 -1
- package/dist/chart/topTags.js +8 -0
- package/dist/chart/topTags.js.map +1 -1
- package/dist/chart/topTracks.js +8 -0
- package/dist/chart/topTracks.js.map +1 -1
- package/dist/cjs/album/addTags.js +11 -0
- package/dist/cjs/album/addTags.js.map +1 -1
- package/dist/cjs/album/getInfo.js +11 -0
- package/dist/cjs/album/getInfo.js.map +1 -1
- package/dist/cjs/album/getTags.js +11 -0
- package/dist/cjs/album/getTags.js.map +1 -1
- package/dist/cjs/album/getTopTags.js +10 -0
- package/dist/cjs/album/getTopTags.js.map +1 -1
- package/dist/cjs/album/removeTag.js +11 -0
- package/dist/cjs/album/removeTag.js.map +1 -1
- package/dist/cjs/album/search.js +10 -0
- package/dist/cjs/album/search.js.map +1 -1
- package/dist/cjs/artist/addTags.js +10 -0
- package/dist/cjs/artist/addTags.js.map +1 -1
- package/dist/cjs/artist/getCorrection.js +9 -0
- package/dist/cjs/artist/getCorrection.js.map +1 -1
- package/dist/cjs/artist/getInfo.js +10 -0
- package/dist/cjs/artist/getInfo.js.map +1 -1
- package/dist/cjs/artist/getSimilar.js +10 -0
- package/dist/cjs/artist/getSimilar.js.map +1 -1
- package/dist/cjs/artist/getTags.js +10 -0
- package/dist/cjs/artist/getTags.js.map +1 -1
- package/dist/cjs/artist/getTopAlbums.js +11 -0
- package/dist/cjs/artist/getTopAlbums.js.map +1 -1
- package/dist/cjs/artist/getTopTags.js +9 -0
- package/dist/cjs/artist/getTopTags.js.map +1 -1
- package/dist/cjs/artist/getTopTracks.js +11 -0
- package/dist/cjs/artist/getTopTracks.js.map +1 -1
- package/dist/cjs/artist/removeTag.js +10 -0
- package/dist/cjs/artist/removeTag.js.map +1 -1
- package/dist/cjs/artist/search.js +10 -0
- package/dist/cjs/artist/search.js.map +1 -1
- package/dist/cjs/auth/getMobileSession.js +11 -0
- package/dist/cjs/auth/getMobileSession.js.map +1 -1
- package/dist/cjs/auth/getSession.js +10 -0
- package/dist/cjs/auth/getSession.js.map +1 -1
- package/dist/cjs/auth.js +9 -6
- package/dist/cjs/auth.js.map +1 -1
- package/dist/cjs/chart/topArtists.js +11 -0
- package/dist/cjs/chart/topArtists.js.map +1 -1
- package/dist/cjs/chart/topTags.js +8 -0
- package/dist/cjs/chart/topTags.js.map +1 -1
- package/dist/cjs/chart/topTracks.js +8 -0
- package/dist/cjs/chart/topTracks.js.map +1 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/createOptions.js +23 -0
- package/dist/cjs/createOptions.js.map +1 -1
- package/dist/cjs/geo/getTopArtists.js +10 -0
- package/dist/cjs/geo/getTopArtists.js.map +1 -1
- package/dist/cjs/geo/getTopTracks.js +10 -0
- package/dist/cjs/geo/getTopTracks.js.map +1 -1
- package/dist/cjs/getFriends.js +6 -3
- package/dist/cjs/getFriends.js.map +1 -1
- package/dist/cjs/getInfo.js +5 -3
- package/dist/cjs/getInfo.js.map +1 -1
- package/dist/cjs/getLovedTracks.js +7 -3
- package/dist/cjs/getLovedTracks.js.map +1 -1
- package/dist/cjs/getRecentTracks.js +7 -3
- package/dist/cjs/getRecentTracks.js.map +1 -1
- package/dist/cjs/getTopAlbums.js +7 -3
- package/dist/cjs/getTopAlbums.js.map +1 -1
- package/dist/cjs/getTopArtists.js +7 -3
- package/dist/cjs/getTopArtists.js.map +1 -1
- package/dist/cjs/getTopTracks.js +7 -3
- package/dist/cjs/getTopTracks.js.map +1 -1
- package/dist/cjs/getUserTopTags.js +6 -3
- package/dist/cjs/getUserTopTags.js.map +1 -1
- package/dist/cjs/getWeeklyAlbumChart.js +7 -3
- package/dist/cjs/getWeeklyAlbumChart.js.map +1 -1
- package/dist/cjs/getWeeklyArtistChart.js +7 -3
- package/dist/cjs/getWeeklyArtistChart.js.map +1 -1
- package/dist/cjs/getWeeklyChartList.js +8 -3
- package/dist/cjs/getWeeklyChartList.js.map +1 -1
- package/dist/cjs/getWeeklyTrackChart.js +7 -3
- package/dist/cjs/getWeeklyTrackChart.js.map +1 -1
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/library/getArtists.js +10 -0
- package/dist/cjs/library/getArtists.js.map +1 -1
- package/dist/cjs/method.js +11 -0
- package/dist/cjs/method.js.map +1 -1
- package/dist/cjs/request.js +30 -0
- package/dist/cjs/request.js.map +1 -1
- package/dist/cjs/tag/getInfo.js +9 -0
- package/dist/cjs/tag/getInfo.js.map +1 -1
- package/dist/cjs/tag/getSimilar.js +8 -0
- package/dist/cjs/tag/getSimilar.js.map +1 -1
- package/dist/cjs/tag/getTopAlbums.js +10 -0
- package/dist/cjs/tag/getTopAlbums.js.map +1 -1
- package/dist/cjs/tag/getTopArtists.js +10 -0
- package/dist/cjs/tag/getTopArtists.js.map +1 -1
- package/dist/cjs/tag/getTopTags.js +7 -0
- package/dist/cjs/tag/getTopTags.js.map +1 -1
- package/dist/cjs/tag/getWeeklyChartList.js +9 -0
- package/dist/cjs/tag/getWeeklyChartList.js.map +1 -1
- package/dist/cjs/tag/topTracks.js +6 -3
- package/dist/cjs/tag/topTracks.js.map +1 -1
- package/dist/cjs/track/addTags.js +11 -0
- package/dist/cjs/track/addTags.js.map +1 -1
- package/dist/cjs/track/getCorrection.js +10 -0
- package/dist/cjs/track/getCorrection.js.map +1 -1
- package/dist/cjs/track/getInfo.js +11 -0
- package/dist/cjs/track/getInfo.js.map +1 -1
- package/dist/cjs/track/getSimilar.js +11 -0
- package/dist/cjs/track/getSimilar.js.map +1 -1
- package/dist/cjs/track/getTags.js +11 -0
- package/dist/cjs/track/getTags.js.map +1 -1
- package/dist/cjs/track/getTopTags.js +10 -0
- package/dist/cjs/track/getTopTags.js.map +1 -1
- package/dist/cjs/track/love.js +10 -0
- package/dist/cjs/track/love.js.map +1 -1
- package/dist/cjs/track/removeTag.js +11 -0
- package/dist/cjs/track/removeTag.js.map +1 -1
- package/dist/cjs/track/scrobble.js +12 -0
- package/dist/cjs/track/scrobble.js.map +1 -1
- package/dist/cjs/track/search.js +11 -0
- package/dist/cjs/track/search.js.map +1 -1
- package/dist/cjs/track/unlove.js +10 -0
- package/dist/cjs/track/unlove.js.map +1 -1
- package/dist/cjs/track/updateNowPlaying.js +11 -0
- package/dist/cjs/track/updateNowPlaying.js.map +1 -1
- package/dist/cjs/user/getPersonalTags.js +12 -0
- package/dist/cjs/user/getPersonalTags.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/createOptions.js +23 -0
- package/dist/createOptions.js.map +1 -1
- package/dist/geo/getTopArtists.js +10 -0
- package/dist/geo/getTopArtists.js.map +1 -1
- package/dist/geo/getTopTracks.js +10 -0
- package/dist/geo/getTopTracks.js.map +1 -1
- package/dist/getFriends.js +6 -3
- package/dist/getFriends.js.map +1 -1
- package/dist/getInfo.js +5 -3
- package/dist/getInfo.js.map +1 -1
- package/dist/getLovedTracks.js +7 -3
- package/dist/getLovedTracks.js.map +1 -1
- package/dist/getRecentTracks.js +7 -3
- package/dist/getRecentTracks.js.map +1 -1
- package/dist/getTopAlbums.js +7 -3
- package/dist/getTopAlbums.js.map +1 -1
- package/dist/getTopArtists.js +7 -3
- package/dist/getTopArtists.js.map +1 -1
- package/dist/getTopTracks.js +7 -3
- package/dist/getTopTracks.js.map +1 -1
- package/dist/getUserTopTags.js +6 -3
- package/dist/getUserTopTags.js.map +1 -1
- package/dist/getWeeklyAlbumChart.js +7 -3
- package/dist/getWeeklyAlbumChart.js.map +1 -1
- package/dist/getWeeklyArtistChart.js +7 -3
- package/dist/getWeeklyArtistChart.js.map +1 -1
- package/dist/getWeeklyChartList.js +8 -3
- package/dist/getWeeklyChartList.js.map +1 -1
- package/dist/getWeeklyTrackChart.js +7 -3
- package/dist/getWeeklyTrackChart.js.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/library/getArtists.js +10 -0
- package/dist/library/getArtists.js.map +1 -1
- package/dist/method.js +11 -0
- package/dist/method.js.map +1 -1
- package/dist/request.js +30 -0
- package/dist/request.js.map +1 -1
- package/dist/tag/getInfo.js +9 -0
- package/dist/tag/getInfo.js.map +1 -1
- package/dist/tag/getSimilar.js +8 -0
- package/dist/tag/getSimilar.js.map +1 -1
- package/dist/tag/getTopAlbums.js +10 -0
- package/dist/tag/getTopAlbums.js.map +1 -1
- package/dist/tag/getTopArtists.js +10 -0
- package/dist/tag/getTopArtists.js.map +1 -1
- package/dist/tag/getTopTags.js +7 -0
- package/dist/tag/getTopTags.js.map +1 -1
- package/dist/tag/getWeeklyChartList.js +9 -0
- package/dist/tag/getWeeklyChartList.js.map +1 -1
- package/dist/tag/topTracks.js +6 -3
- package/dist/tag/topTracks.js.map +1 -1
- package/dist/track/addTags.js +11 -0
- package/dist/track/addTags.js.map +1 -1
- package/dist/track/getCorrection.js +10 -0
- package/dist/track/getCorrection.js.map +1 -1
- package/dist/track/getInfo.js +11 -0
- package/dist/track/getInfo.js.map +1 -1
- package/dist/track/getSimilar.js +11 -0
- package/dist/track/getSimilar.js.map +1 -1
- package/dist/track/getTags.js +11 -0
- package/dist/track/getTags.js.map +1 -1
- package/dist/track/getTopTags.js +10 -0
- package/dist/track/getTopTags.js.map +1 -1
- package/dist/track/love.js +10 -0
- package/dist/track/love.js.map +1 -1
- package/dist/track/removeTag.js +11 -0
- package/dist/track/removeTag.js.map +1 -1
- package/dist/track/scrobble.js +12 -0
- package/dist/track/scrobble.js.map +1 -1
- package/dist/track/search.js +11 -0
- package/dist/track/search.js.map +1 -1
- package/dist/track/unlove.js +10 -0
- package/dist/track/unlove.js.map +1 -1
- package/dist/track/updateNowPlaying.js +11 -0
- package/dist/track/updateNowPlaying.js.map +1 -1
- package/dist/user/getPersonalTags.js +12 -0
- package/dist/user/getPersonalTags.js.map +1 -1
- package/package.json +7 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topTags.js","sourceRoot":"","sources":["../../../src/chart/topTags.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"topTags.js","sourceRoot":"","sources":["../../../src/chart/topTags.ts"],"names":[],"mappings":";;;;;AAYA,oCAGC;AAdD,0DAAoD;AACpD,+DAAoC;AAEpC;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,IAAY;IAC7D,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAM,IAAA,oBAAO,EAAuB,OAAO,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -6,6 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.chartTopTracks = chartTopTracks;
|
|
7
7
|
const createOptions_js_1 = require("../createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("../request.js"));
|
|
9
|
+
/**
|
|
10
|
+
* Get the top tracks chart on Last.fm.
|
|
11
|
+
*
|
|
12
|
+
* @see https://www.last.fm/api/show/chart.getTopTracks
|
|
13
|
+
* @param method - The Last.fm API method string (`method.chart.getTopTracks`)
|
|
14
|
+
* @param page - Page number to fetch
|
|
15
|
+
* @returns Paginated list of the most popular tracks globally
|
|
16
|
+
*/
|
|
9
17
|
async function chartTopTracks(method, page) {
|
|
10
18
|
const options = (0, createOptions_js_1.createOptions)(method, page);
|
|
11
19
|
return await (0, request_js_1.default)(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topTracks.js","sourceRoot":"","sources":["../../../src/chart/topTracks.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"topTracks.js","sourceRoot":"","sources":["../../../src/chart/topTracks.ts"],"names":[],"mappings":";;;;;AAYA,wCAGC;AAdD,0DAAoD;AACpD,+DAAoC;AAEpC;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,IAAY;IAC/D,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAM,IAAA,oBAAO,EAAyB,OAAO,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/cjs/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;GAQG;AACU,QAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;GAQG;AACU,QAAA,MAAM,GAAW;IAC5B,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;IACxC,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;IACzC,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;IAC9C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;KACX;IACD,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;IACnD,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;CACvC,CAAC"}
|
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createOptions = createOptions;
|
|
4
|
+
/**
|
|
5
|
+
* Builds a request options object for use with `request` or `signedRequest`.
|
|
6
|
+
*
|
|
7
|
+
* @param method - The Last.fm API method string (e.g. `'user.getInfo'`)
|
|
8
|
+
* @param user - Last.fm username
|
|
9
|
+
* @param period - Time period (`overall`, `7day`, `1month`, `3month`, `6month`, `12month`)
|
|
10
|
+
* @param limit - Number of results to return per page
|
|
11
|
+
* @param page - Page number for paginated results (1-indexed)
|
|
12
|
+
* @param from - Unix timestamp; only return scrobbles after this time
|
|
13
|
+
* @param tag - Tag name
|
|
14
|
+
* @param artist - Artist name
|
|
15
|
+
* @param album - Album title
|
|
16
|
+
* @param track - Track title
|
|
17
|
+
* @param country - Country name as defined by the ISO 3166-1 standard
|
|
18
|
+
* @param autocorrect - Set to `'1'` to auto-correct misspelled artist/track names
|
|
19
|
+
* @param mbid - MusicBrainz ID for the resource
|
|
20
|
+
* @param lang - ISO 639 alpha-2 language code for localised text (default `'en'`)
|
|
21
|
+
* @param sk - Session key obtained via the auth flow
|
|
22
|
+
* @param token - Authentication token from `auth.getToken`
|
|
23
|
+
* @param tags - Comma-separated list of user-supplied tags (max 10)
|
|
24
|
+
* @param timestamp - Unix timestamp of the scrobble
|
|
25
|
+
* @returns A request options object ready to pass to `request` or `signedRequest`
|
|
26
|
+
*/
|
|
4
27
|
function createOptions(method, user, period, limit, page, from, tag, artist, album, track, country, autocorrect, mbid, lang, sk, token, tags, timestamp) {
|
|
5
28
|
return {
|
|
6
29
|
method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOptions.js","sourceRoot":"","sources":["../../src/createOptions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createOptions.js","sourceRoot":"","sources":["../../src/createOptions.ts"],"names":[],"mappings":";;AAuBA,sCAwCC;AA/DD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,aAAa,CAC3B,MAAc,EACd,IAAY,EACZ,MAAe,EACf,KAAc,EACd,IAAa,EACb,IAAa,EACb,GAAY,EACZ,MAAe,EACf,KAAc,EACd,KAAc,EACd,OAAgB,EAChB,WAAoB,EACpB,IAAa,EACb,IAAa,EACb,EAAW,EACX,KAAc,EACd,IAAa,EACb,SAAkB;IAElB,OAAO;QACL,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,GAAG;QACH,MAAM;QACN,KAAK;QACL,IAAI;QACJ,MAAM;QACN,KAAK;QACL,KAAK;QACL,OAAO;QACP,WAAW;QACX,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,KAAK;QACL,IAAI;QACJ,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -5,6 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.geoGetTopArtists = geoGetTopArtists;
|
|
7
7
|
const request_js_1 = __importDefault(require("../request.js"));
|
|
8
|
+
/**
|
|
9
|
+
* Get the most popular artists on Last.fm by country.
|
|
10
|
+
*
|
|
11
|
+
* @see https://www.last.fm/api/show/geo.getTopArtists
|
|
12
|
+
* @param method - The Last.fm API method string (`method.geo.getTopArtists`)
|
|
13
|
+
* @param country - Country name as defined by the ISO 3166-1 standard
|
|
14
|
+
* @param limit - Number of results per page (default `'50'`)
|
|
15
|
+
* @param page - Page number to fetch (default `'1'`)
|
|
16
|
+
* @returns Paginated list of top artists for the given country
|
|
17
|
+
*/
|
|
8
18
|
async function geoGetTopArtists(method, country, limit = '50', page = '1') {
|
|
9
19
|
return await (0, request_js_1.default)({ method, country, limit, page });
|
|
10
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTopArtists.js","sourceRoot":"","sources":["../../../src/geo/getTopArtists.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getTopArtists.js","sourceRoot":"","sources":["../../../src/geo/getTopArtists.ts"],"names":[],"mappings":";;;;;AAaA,4CAEC;AAdD,+DAAoC;AAEpC;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAe,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG;IAC9F,OAAO,MAAM,IAAA,oBAAO,EAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -5,6 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.geoGetTopTracks = geoGetTopTracks;
|
|
7
7
|
const request_js_1 = __importDefault(require("../request.js"));
|
|
8
|
+
/**
|
|
9
|
+
* Get the most popular tracks on Last.fm by country.
|
|
10
|
+
*
|
|
11
|
+
* @see https://www.last.fm/api/show/geo.getTopTracks
|
|
12
|
+
* @param method - The Last.fm API method string (`method.geo.getTopTracks`)
|
|
13
|
+
* @param country - Country name as defined by the ISO 3166-1 standard
|
|
14
|
+
* @param limit - Number of results per page (default `'50'`)
|
|
15
|
+
* @param page - Page number to fetch (default `'1'`)
|
|
16
|
+
* @returns Paginated list of top tracks for the given country
|
|
17
|
+
*/
|
|
8
18
|
async function geoGetTopTracks(method, country, limit = '50', page = '1') {
|
|
9
19
|
return await (0, request_js_1.default)({ method, country, limit, page });
|
|
10
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTopTracks.js","sourceRoot":"","sources":["../../../src/geo/getTopTracks.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getTopTracks.js","sourceRoot":"","sources":["../../../src/geo/getTopTracks.ts"],"names":[],"mappings":";;;;;AAaA,0CAEC;AAdD,+DAAoC;AAEpC;;;;;;;;;GASG;AACI,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAe,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG;IAC7F,OAAO,MAAM,IAAA,oBAAO,EAAuB,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC"}
|
package/dist/cjs/getFriends.js
CHANGED
|
@@ -7,10 +7,13 @@ exports.getFriends = getFriends;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get a list of the user's friends on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getFriends
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getFriends
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getFriends`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param limit - Number of results per page
|
|
16
|
+
* @returns A list of the user's friends with their profile information
|
|
14
17
|
*/
|
|
15
18
|
async function getFriends(method, user, limit) {
|
|
16
19
|
const options = (0, createOptions_js_1.createOptions)(method, user, undefined, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFriends.js","sourceRoot":"","sources":["../../src/getFriends.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getFriends.js","sourceRoot":"","sources":["../../src/getFriends.ts"],"names":[],"mappings":";;;;;AAaA,gCAOC;AAnBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,IAAY,EACZ,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,MAAM,IAAA,oBAAO,EAAkB,OAAO,CAAC,CAAC;AACjD,CAAC"}
|
package/dist/cjs/getInfo.js
CHANGED
|
@@ -7,10 +7,12 @@ exports.getInfo = getInfo;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get information about a user profile on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getInfo
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getInfo
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getInfo`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @returns User profile information including name, playcount, and registration date
|
|
14
16
|
*/
|
|
15
17
|
async function getInfo(method, user) {
|
|
16
18
|
const options = (0, createOptions_js_1.createOptions)(method, user);
|
package/dist/cjs/getInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInfo.js","sourceRoot":"","sources":["../../src/getInfo.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getInfo.js","sourceRoot":"","sources":["../../src/getInfo.ts"],"names":[],"mappings":";;;;;AAYA,0BAGC;AAdD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;GAOG;AACI,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;IACxD,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAM,IAAA,oBAAO,EAAe,OAAO,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -7,10 +7,14 @@ exports.getLovedTracks = getLovedTracks;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get the last 50 tracks loved by a user on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getLovedTracks
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getLovedTracks
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getLovedTracks`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - The time period to retrieve loved tracks for
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's loved tracks
|
|
14
18
|
*/
|
|
15
19
|
async function getLovedTracks(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLovedTracks.js","sourceRoot":"","sources":["../../src/getLovedTracks.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getLovedTracks.js","sourceRoot":"","sources":["../../src/getLovedTracks.ts"],"names":[],"mappings":";;;;;AAcA,wCAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAAsB,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -7,10 +7,14 @@ exports.getRecentTracks = getRecentTracks;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get a list of the recent tracks listened to by a user on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getRecentTracks
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getRecentTracks
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getRecentTracks`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param limit - Number of results per page
|
|
16
|
+
* @param from - Unix timestamp; only return tracks scrobbled after this time
|
|
17
|
+
* @returns The user's recent tracks including any currently playing track
|
|
14
18
|
*/
|
|
15
19
|
async function getRecentTracks(method, user, limit, from) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, undefined, limit, undefined, from);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRecentTracks.js","sourceRoot":"","sources":["../../src/getRecentTracks.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getRecentTracks.js","sourceRoot":"","sources":["../../src/getRecentTracks.ts"],"names":[],"mappings":";;;;;AAcA,0CAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,IAAY,EACZ,KAAa,EACb,IAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/E,OAAO,MAAM,IAAA,oBAAO,EAAuB,OAAO,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/cjs/getTopAlbums.js
CHANGED
|
@@ -7,10 +7,14 @@ exports.getTopAlbums = getTopAlbums;
|
|
|
7
7
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
8
8
|
const createOptions_js_1 = require("./createOptions.js");
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get the top albums listened to by a user on Last.fm, over a given time period.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getTopAlbums
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getTopAlbums
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getTopAlbums`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - Time period (`overall`, `7day`, `1month`, `3month`, `6month`, `12month`)
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's top albums for the given period
|
|
14
18
|
*/
|
|
15
19
|
async function getTopAlbums(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTopAlbums.js","sourceRoot":"","sources":["../../src/getTopAlbums.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getTopAlbums.js","sourceRoot":"","sources":["../../src/getTopAlbums.ts"],"names":[],"mappings":";;;;;AAcA,oCAQC;AArBD,8DAAmC;AACnC,yDAAmD;AAEnD;;;;;;;;;GASG;AACI,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAAoB,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -7,10 +7,14 @@ exports.getTopArtists = getTopArtists;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get the top artists listened to by a user on Last.fm, over a given time period.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getTopArtists
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getTopArtists
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getTopArtists`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - Time period (`overall`, `7day`, `1month`, `3month`, `6month`, `12month`)
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's top artists for the given period
|
|
14
18
|
*/
|
|
15
19
|
async function getTopArtists(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTopArtists.js","sourceRoot":"","sources":["../../src/getTopArtists.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getTopArtists.js","sourceRoot":"","sources":["../../src/getTopArtists.ts"],"names":[],"mappings":";;;;;AAcA,sCAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAAqB,OAAO,CAAC,CAAC;AACpD,CAAC"}
|
package/dist/cjs/getTopTracks.js
CHANGED
|
@@ -7,10 +7,14 @@ exports.getTopTracks = getTopTracks;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get the top tracks listened to by a user on Last.fm, over a given time period.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getTopTracks
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getTopTracks
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getTopTracks`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - Time period (`overall`, `7day`, `1month`, `3month`, `6month`, `12month`)
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's top tracks for the given period
|
|
14
18
|
*/
|
|
15
19
|
async function getTopTracks(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTopTracks.js","sourceRoot":"","sources":["../../src/getTopTracks.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getTopTracks.js","sourceRoot":"","sources":["../../src/getTopTracks.ts"],"names":[],"mappings":";;;;;AAcA,oCAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAAmB,OAAO,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -7,10 +7,13 @@ exports.getUserTopTags = getUserTopTags;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get the top tags used by a user on Last.fm, ordered by tag count.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getTopTags
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getTopTags
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getTopTags`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param limit - Maximum number of tags to return
|
|
16
|
+
* @returns The user's most-used tags ordered by count
|
|
14
17
|
*/
|
|
15
18
|
async function getUserTopTags(method, user, limit) {
|
|
16
19
|
const options = (0, createOptions_js_1.createOptions)(method, user, undefined, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserTopTags.js","sourceRoot":"","sources":["../../src/getUserTopTags.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getUserTopTags.js","sourceRoot":"","sources":["../../src/getUserTopTags.ts"],"names":[],"mappings":";;;;;AAaA,wCAOC;AAnBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;GAQG;AACI,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,IAAY,EACZ,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,MAAM,IAAA,oBAAO,EAAsB,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -7,10 +7,14 @@ exports.getWeeklyAlbumChart = getWeeklyAlbumChart;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get a list of the albums in a user's weekly album chart on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getWeeklyAlbumChart
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getWeeklyAlbumChart
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getWeeklyAlbumChart`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - The time period for the chart
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's weekly album chart
|
|
14
18
|
*/
|
|
15
19
|
async function getWeeklyAlbumChart(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWeeklyAlbumChart.js","sourceRoot":"","sources":["../../src/getWeeklyAlbumChart.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getWeeklyAlbumChart.js","sourceRoot":"","sources":["../../src/getWeeklyAlbumChart.ts"],"names":[],"mappings":";;;;;AAcA,kDAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAA2B,OAAO,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -7,10 +7,14 @@ exports.getWeeklyArtistChart = getWeeklyArtistChart;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get a list of the artists in a user's weekly artist chart on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getWeeklyArtistChart
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getWeeklyArtistChart
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getWeeklyArtistChart`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - The time period for the chart
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's weekly artist chart
|
|
14
18
|
*/
|
|
15
19
|
async function getWeeklyArtistChart(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWeeklyArtistChart.js","sourceRoot":"","sources":["../../src/getWeeklyArtistChart.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getWeeklyArtistChart.js","sourceRoot":"","sources":["../../src/getWeeklyArtistChart.ts"],"names":[],"mappings":";;;;;AAcA,oDAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAA4B,OAAO,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -7,10 +7,15 @@ exports.getWeeklyChartList = getWeeklyChartList;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get a list of available charts for a user on Last.fm, expressed as date ranges
|
|
11
|
+
* which can be sent to the chart services.
|
|
11
12
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getWeeklyChartList
|
|
13
|
-
* @
|
|
13
|
+
* @see https://www.last.fm/api/show/user.getWeeklyChartList
|
|
14
|
+
* @param method - The Last.fm API method string (`method.user.getWeeklyChartList`)
|
|
15
|
+
* @param user - The Last.fm username
|
|
16
|
+
* @param period - The time period for the chart list
|
|
17
|
+
* @param limit - Number of results per page
|
|
18
|
+
* @returns A list of date ranges representing available weekly charts for this user
|
|
14
19
|
*/
|
|
15
20
|
async function getWeeklyChartList(method, user, period, limit) {
|
|
16
21
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWeeklyChartList.js","sourceRoot":"","sources":["../../src/getWeeklyChartList.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getWeeklyChartList.js","sourceRoot":"","sources":["../../src/getWeeklyChartList.ts"],"names":[],"mappings":";;;;;AAeA,gDAQC;AAtBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAA0B,OAAO,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -7,10 +7,14 @@ exports.getWeeklyTrackChart = getWeeklyTrackChart;
|
|
|
7
7
|
const createOptions_js_1 = require("./createOptions.js");
|
|
8
8
|
const request_js_1 = __importDefault(require("./request.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Get a list of the tracks in a user's weekly track chart on Last.fm.
|
|
11
11
|
*
|
|
12
|
-
* https://www.last.fm/api/show/user.getWeeklyTrackChart
|
|
13
|
-
* @
|
|
12
|
+
* @see https://www.last.fm/api/show/user.getWeeklyTrackChart
|
|
13
|
+
* @param method - The Last.fm API method string (`method.user.getWeeklyTrackChart`)
|
|
14
|
+
* @param user - The Last.fm username
|
|
15
|
+
* @param period - The time period for the chart
|
|
16
|
+
* @param limit - Number of results per page
|
|
17
|
+
* @returns The user's weekly track chart
|
|
14
18
|
*/
|
|
15
19
|
async function getWeeklyTrackChart(method, user, period, limit) {
|
|
16
20
|
const options = (0, createOptions_js_1.createOptions)(method, user, period, limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWeeklyTrackChart.js","sourceRoot":"","sources":["../../src/getWeeklyTrackChart.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getWeeklyTrackChart.js","sourceRoot":"","sources":["../../src/getWeeklyTrackChart.ts"],"names":[],"mappings":";;;;;AAcA,kDAQC;AArBD,yDAAmD;AACnD,8DAAmC;AAEnC;;;;;;;;;GASG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,MAAM,IAAA,oBAAO,EAA2B,OAAO,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -67,6 +67,27 @@ const scrobble_js_1 = require("./track/scrobble.js");
|
|
|
67
67
|
const updateNowPlaying_js_1 = require("./track/updateNowPlaying.js");
|
|
68
68
|
// User
|
|
69
69
|
const getPersonalTags_js_1 = require("./user/getPersonalTags.js");
|
|
70
|
+
/**
|
|
71
|
+
* Creates a Last.fm API client with all supported methods organised by namespace.
|
|
72
|
+
*
|
|
73
|
+
* Use the {@link method} constant (exposed as `api.method`) to pass the correct
|
|
74
|
+
* method string to each API function.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* import LastFmApi from 'lastfm-nodejs-client';
|
|
79
|
+
*
|
|
80
|
+
* const api = LastFmApi();
|
|
81
|
+
*
|
|
82
|
+
* // Read-only: get a user's top artists
|
|
83
|
+
* const topArtists = await api.getTopArtists(api.method.user.getTopArtists, 'username', '7day', '10');
|
|
84
|
+
*
|
|
85
|
+
* // Write: scrobble a track (requires session key)
|
|
86
|
+
* await api.track.trackScrobble(api.method.track.scrobble, 'Artist', 'Track', String(Date.now() / 1000 | 0), 'Album', sk);
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @returns An object containing all Last.fm API methods organised by namespace.
|
|
90
|
+
*/
|
|
70
91
|
const LastFmApi = () => {
|
|
71
92
|
return {
|
|
72
93
|
auth: auth_js_1.auth,
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,uCAAiC;AACjC,2CAAqC;AACrC,mDAA6C;AAC7C,6CAAuC;AACvC,2DAAqD;AACrD,6DAAuD;AACvD,uDAAiD;AACjD,yDAAmD;AACnD,2DAAqD;AACrD,uDAAiD;AACjD,qEAA+D;AAC/D,uEAAiE;AACjE,mEAA6D;AAC7D,qEAA+D;AAC/D,2CAAqC;AACrC,mDAAkD;AAClD,uDAAsD;AACtD,yDAAwD;AACxD,qDAAkD;AAElD,QAAQ;AACR,mDAAkD;AAClD,mDAAkD;AAClD,yDAAwD;AACxD,iDAAgD;AAChD,mDAAkD;AAClD,uDAAsD;AAEtD,SAAS;AACT,gEAAgE;AAChE,oDAAoD;AACpD,0DAA0D;AAC1D,oDAAoD;AACpD,8DAA8D;AAC9D,0DAA0D;AAC1D,8DAA8D;AAC9D,kDAAkD;AAClD,oDAAoD;AACpD,wDAAwD;AAExD,OAAO;AACP,oEAAkE;AAClE,wDAAsD;AAEtD,MAAM;AACN,6DAA0D;AAC1D,2DAAwD;AAExD,UAAU;AACV,2DAA4D;AAE5D,MAAM;AACN,iDAA8C;AAC9C,uDAAoD;AACpD,2DAAwD;AACxD,6DAA0D;AAC1D,uDAAoD;AACpD,uEAAoE;AAEpE,QAAQ;AACR,+DAA8D;AAC9D,mDAAkD;AAClD,yDAAwD;AACxD,mDAAkD;AAClD,yDAAwD;AACxD,iDAAgD;AAChD,6CAA4C;AAC5C,iDAAgD;AAChD,mDAAkD;AAClD,uDAAsD;AACtD,qDAAoD;AACpD,qEAAoE;AAEpE,OAAO;AACP,kEAAgE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.libraryGetArtists = libraryGetArtists;
|
|
7
7
|
const request_js_1 = __importDefault(require("../request.js"));
|
|
8
|
+
/**
|
|
9
|
+
* A paginated list of all the artists in a user's library, with playcounts and tag counts.
|
|
10
|
+
*
|
|
11
|
+
* @see https://www.last.fm/api/show/library.getArtists
|
|
12
|
+
* @param method - The Last.fm API method string (`method.library.getArtists`)
|
|
13
|
+
* @param user - The Last.fm username whose library to fetch
|
|
14
|
+
* @param limit - Number of results per page (default `'50'`)
|
|
15
|
+
* @param page - Page number to fetch (default `'1'`)
|
|
16
|
+
* @returns Paginated list of artists from the user's library
|
|
17
|
+
*/
|
|
8
18
|
async function libraryGetArtists(method, user, limit = '50', page = '1') {
|
|
9
19
|
return await (0, request_js_1.default)({ method, user, limit, page });
|
|
10
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getArtists.js","sourceRoot":"","sources":["../../../src/library/getArtists.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getArtists.js","sourceRoot":"","sources":["../../../src/library/getArtists.ts"],"names":[],"mappings":";;;;;AAaA,8CAEC;AAdD,+DAAoC;AAEpC;;;;;;;;;GASG;AACI,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,IAAY,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG;IAC5F,OAAO,MAAM,IAAA,oBAAO,EAAyB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC"}
|
package/dist/cjs/method.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.method = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Constant map of all Last.fm API method name strings, organised by namespace.
|
|
6
|
+
*
|
|
7
|
+
* Pass the appropriate value to API functions as the `method` parameter.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const api = LastFmApi();
|
|
12
|
+
* const info = await api.getInfo(api.method.user.getInfo, 'username');
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
4
15
|
exports.method = {
|
|
5
16
|
album: {
|
|
6
17
|
addTags: 'album.addTags',
|
package/dist/cjs/method.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/method.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/method.ts"],"names":[],"mappings":";;;AA6GA;;;;;;;;;;GAUG;AACU,QAAA,MAAM,GAAW;IAC5B,KAAK,EAAE;QACL,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,kBAAkB;QAC9B,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,cAAc;KACvB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,gBAAgB;QACzB,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE,gBAAgB;QACzB,YAAY,EAAE,qBAAqB;QACnC,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,qBAAqB;QACnC,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,eAAe;KACxB;IACD,IAAI,EAAE;QACJ,gBAAgB,EAAE,uBAAuB;QACzC,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,eAAe;KAC1B;IACD,KAAK,EAAE;QACL,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,qBAAqB;KACrC;IACD,GAAG,EAAE;QACH,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,kBAAkB;KACjC;IACD,OAAO,EAAE;QACP,UAAU,EAAE,oBAAoB;KACjC;IACD,GAAG,EAAE;QACH,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,kBAAkB;QAChC,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,kBAAkB;QAChC,kBAAkB,EAAE,wBAAwB;KAC7C;IACD,KAAK,EAAE;QACL,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,qBAAqB;QACpC,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,kBAAkB;QAC9B,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,wBAAwB;KAC3C;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,cAAc;QACvB,cAAc,EAAE,qBAAqB;QACrC,eAAe,EAAE,sBAAsB;QACvC,eAAe,EAAE,sBAAsB;QACvC,YAAY,EAAE,mBAAmB;QACjC,aAAa,EAAE,oBAAoB;QACnC,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,mBAAmB;QACjC,mBAAmB,EAAE,0BAA0B;QAC/C,oBAAoB,EAAE,2BAA2B;QACjD,kBAAkB,EAAE,yBAAyB;QAC7C,mBAAmB,EAAE,0BAA0B;KAChD;CACF,CAAC"}
|
package/dist/cjs/request.js
CHANGED
|
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.signedRequest = void 0;
|
|
4
4
|
const config_js_1 = require("./config.js");
|
|
5
5
|
const md5_js_1 = require("./md5.js");
|
|
6
|
+
/**
|
|
7
|
+
* Last.fm API error codes.
|
|
8
|
+
* @see https://www.last.fm/api/errorcodes
|
|
9
|
+
*/
|
|
6
10
|
var ErrorResponse;
|
|
7
11
|
(function (ErrorResponse) {
|
|
8
12
|
ErrorResponse[ErrorResponse["InvalidService"] = 2] = "InvalidService";
|
|
@@ -20,6 +24,13 @@ var ErrorResponse;
|
|
|
20
24
|
ErrorResponse[ErrorResponse["SuspendedAPIKey"] = 26] = "SuspendedAPIKey";
|
|
21
25
|
ErrorResponse[ErrorResponse["RateLimitExceeded"] = 29] = "RateLimitExceeded";
|
|
22
26
|
})(ErrorResponse || (ErrorResponse = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Assembles the full Last.fm API request URL from the given options,
|
|
29
|
+
* appending the API key and JSON format automatically.
|
|
30
|
+
*
|
|
31
|
+
* @param options - Request options containing the method and any query parameters
|
|
32
|
+
* @returns The fully-formed URL string
|
|
33
|
+
*/
|
|
23
34
|
const buildUrl = (options) => {
|
|
24
35
|
const params = new URLSearchParams();
|
|
25
36
|
params.append('method', options.method);
|
|
@@ -81,6 +92,14 @@ const ErrorMessages = {
|
|
|
81
92
|
[ErrorResponse.SuspendedAPIKey]: 'Suspended API key',
|
|
82
93
|
[ErrorResponse.RateLimitExceeded]: 'Rate limit exceeded',
|
|
83
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* Performs a GET request to the Last.fm API.
|
|
97
|
+
*
|
|
98
|
+
* Throws an `Error` on HTTP failure or if the Last.fm response body contains an error code.
|
|
99
|
+
*
|
|
100
|
+
* @param options - Request options specifying the method and query parameters
|
|
101
|
+
* @returns The parsed JSON response typed as `Response`
|
|
102
|
+
*/
|
|
84
103
|
const request = async (options) => {
|
|
85
104
|
const url = buildUrl(options);
|
|
86
105
|
const res = await fetch(url, {
|
|
@@ -98,6 +117,17 @@ const request = async (options) => {
|
|
|
98
117
|
}
|
|
99
118
|
return body;
|
|
100
119
|
};
|
|
120
|
+
/**
|
|
121
|
+
* Performs an MD5-signed POST request to the Last.fm API.
|
|
122
|
+
*
|
|
123
|
+
* Used for write operations (scrobble, love, addTags, auth sessions).
|
|
124
|
+
* Generates an `api_sig` by sorting all parameters alphabetically, concatenating
|
|
125
|
+
* `key+value` pairs, appending the shared secret, and MD5-hashing the result.
|
|
126
|
+
*
|
|
127
|
+
* @param options - Request options specifying the method and POST body parameters
|
|
128
|
+
* @param secret - The Last.fm shared secret used to generate the API signature
|
|
129
|
+
* @returns The parsed JSON response typed as `Response`
|
|
130
|
+
*/
|
|
101
131
|
const signedRequest = async (options, secret) => {
|
|
102
132
|
const params = new URLSearchParams();
|
|
103
133
|
// Collect all params (excluding format/callback)
|
package/dist/cjs/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AACrC,qCAA+B;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}
|