UNPKG

gatsby-source-pixiv

Version:

Gatsby source plugin for fetching pixiv data

57 lines (48 loc) 1.49 kB
"use strict"; exports.__esModule = true; exports.getUserDetail = getUserDetail; exports.getUserIllusts = getUserIllusts; exports.getUserBookmarksIllust = getUserBookmarksIllust; const pixivAppApi = require("pixiv-api-client"); async function getUserDetail({ refreshToken, user_id }) { const pixiv = new pixivAppApi(); await pixiv.refreshAccessToken(refreshToken); return pixiv.userDetail(user_id); } async function getUserIllusts({ refreshToken, user_id, maxArtworks }) { const pixiv = new pixivAppApi(); await pixiv.refreshAccessToken(refreshToken); let json = await pixiv.userIllusts(user_id); let hasNext = !!json.next_url; let illusts = json.illusts; while (hasNext && maxArtworks && illusts.length >= maxArtworks) { json = await pixiv.requestUrl(json.next_url); hasNext = !!json.next_url; illusts = illusts.concat(json.illusts); } return illusts.splice(0, maxArtworks || illusts.length); } async function getUserBookmarksIllust({ refreshToken, user_id, maxArtworks }) { const pixiv = new pixivAppApi(); await pixiv.refreshAccessToken(refreshToken); let json = await pixiv.userBookmarksIllust(user_id); let hasNext = !!json.next_url; let illusts = json.illusts; while (hasNext && maxArtworks && illusts.length >= maxArtworks) { json = await pixiv.requestUrl(json.next_url); hasNext = !!json.next_url; illusts = illusts.concat(json.illusts); } return illusts.splice(0, maxArtworks || illusts.length); }