function createReviewController({ fetchJson }) { function endpoint(item) { const [owner, repo] = String(item.repository || '').split('/'); if (!owner || !repo || !Number.isInteger(Number(item.number))) { throw new Error('This review link is invalid.'); } return 'api/v1/repos/' + encodeURIComponent(owner) + '/' + encodeURIComponent(repo) + '/pulls/' + Number(item.number) + '/review'; } async function load(item) { return fetchJson(endpoint(item), { headers: { Accept: 'application/json' } }); } return { load }; } if (typeof module !== 'undefined' && module.exports) { module.exports = createReviewController; }