GenderDysphoria.fyi/build/twitter-thread.js

35 lines
846 B
JavaScript
Raw Normal View History

const twitterClient = require('./twitter-client');
module.exports = exports = async function loadThread (tweetid) {
const tc = await twitterClient();
async function quoteds (tweet) {
if (!tweet.quoted_status_id_str) return [];
const [ qt ] = await tc.get(tweet.quoted_status_id_str);
if (!qt) return [];
return [ qt.id_str, ...(await quoteds(qt)) ];
}
const embeds = [];
const dependencies = [];
let id = tweetid;
do {
const [ tweet ] = await tc.get(id);
if (!tweet) break;
embeds.unshift(tweet.id_str);
dependencies.unshift(tweet.id_str);
if (tweet.quoted_status_id_str) {
const qts = await quoteds(tweet);
if (qts.length) dependencies.unshift(...qts);
}
id = tweet.in_reply_to_status_id_str;
} while (id);
await tc.write();
return [ embeds, dependencies ];
};