34 lines
742 B
JavaScript
34 lines
742 B
JavaScript
'use strict';
|
|
|
|
const fetch = require('node-fetch');
|
|
const {writeFileSync} = require('fs');
|
|
const stories = 50;
|
|
|
|
async function getStory(id) {
|
|
const storyRes = await fetch(
|
|
`https://hacker-news.firebaseio.com/v0/item/${id}.json`
|
|
);
|
|
return await storyRes.json();
|
|
}
|
|
|
|
async function getTopStories() {
|
|
const topStoriesRes = await fetch(
|
|
'https://hacker-news.firebaseio.com/v0/topstories.js'
|
|
);
|
|
const topStoriesIds = await topStoriesRes.json();
|
|
|
|
const topStories = [];
|
|
for (let i = 0; i < stories; i++) {
|
|
const topStoriesId = topStoriesIds[i];
|
|
|
|
topStories.push(await getStory(topStoriesId));
|
|
}
|
|
|
|
writeFileSync(
|
|
'top-stories.json',
|
|
`window.stories = ${JSON.stringify(topStories)}`
|
|
);
|
|
}
|
|
|
|
getTopStories();
|