mirror of
https://github.com/GenderDysphoria/GenderDysphoria.fyi.git
synced 2025-01-31 07:16:17 +00:00
Move parseTweetId into page-tweets
This commit is contained in:
parent
de4dfd765d
commit
0b96c071fc
@ -107,3 +107,32 @@ function getTwitterClient (config) {
|
||||
.get('statuses/lookup', { id: tweetids.join(','), tweet_mode: 'extended' })
|
||||
.catch((e) => { log.error(e); return []; });
|
||||
}
|
||||
|
||||
const tweeturl = /https?:\/\/twitter\.com\/(?:#!\/)?(?:\w+)\/status(?:es)?\/(\d+)/i;
|
||||
const tweetidcheck = /^\d+$/;
|
||||
function parseTweetId (tweetid) {
|
||||
// we can't trust an id that isn't a string
|
||||
if (typeof tweetid !== 'string') return false;
|
||||
|
||||
const match = tweetid.match(tweeturl);
|
||||
if (match) return match[1];
|
||||
if (tweetid.match(tweetidcheck)) return tweetid;
|
||||
return false;
|
||||
}
|
||||
|
||||
exports.parseTweetId = parseTweetId;
|
||||
|
||||
exports.attachTweets = function (tweetids, tweets) {
|
||||
function attachTweet (dict, tweetid) {
|
||||
const tweet = tweets[tweetid];
|
||||
if (!tweet) return;
|
||||
dict[tweetid] = tweet;
|
||||
|
||||
if (tweet.quoted_status_id_str) attachTweet(dict, tweet.quoted_status_id_str);
|
||||
}
|
||||
|
||||
return tweetids.reduce((dict, tweetid) => {
|
||||
attachTweet(dict, tweetid);
|
||||
return dict;
|
||||
}, {});
|
||||
};
|
||||
|
@ -8,6 +8,7 @@ const actions = require('./actions');
|
||||
const { URL } = require('url');
|
||||
const { resolve, readFile, isCleanUrl, TYPE, ENGINE } = require('./resolve');
|
||||
const { isObject, isString } = require('./lib/util');
|
||||
const { parseTweetId } = require('./page-tweets');
|
||||
|
||||
const pkg = require(resolve('package.json'));
|
||||
const frontmatter = require('front-matter');
|
||||
@ -131,17 +132,3 @@ module.exports = exports = class Page extends File {
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/* Utility Functions **************************************************/
|
||||
|
||||
const tweeturl = /https?:\/\/twitter\.com\/(?:#!\/)?(?:\w+)\/status(?:es)?\/(\d+)/i;
|
||||
const tweetidcheck = /^\d+$/;
|
||||
function parseTweetId (tweetid) {
|
||||
// we can't trust an id that isn't a string
|
||||
if (typeof tweetid !== 'string') return false;
|
||||
|
||||
const match = tweetid.match(tweeturl);
|
||||
if (match) return match[1];
|
||||
if (tweetid.match(tweetidcheck)) return tweetid;
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user