UNPKG

justreddit

Version:

A simple package for getting random posts, random images, random SubReddits, and SubReddit info.

55 lines (54 loc) 2.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.subreddit = subreddit; exports.randomSubreddit = randomSubreddit; const fetch_1 = __importDefault(require("./utils/fetch")); function parseSubreddit({ id, url, display_name, description, over18, lang, active_user_count, allow_images, allow_videos, allow_polls, allow_videogifs, allow_discovery, allow_galleries, should_show_media_in_comments_setting, allow_predictions, allow_talks, accept_followers, subscribers, community_reviewed, emojis_enabled, restrict_posting, all_original_content, created, banner_background_image, mobile_banner_image, primary_color, key_color }) { return { id, url: `https://www.reddit.com/${url}`, language: lang, name: display_name, description, nsfw: over18, subscribers, created: new Date(created * 1000), usersOnline: active_user_count, communityReviewed: community_reviewed, allOriginalContent: all_original_content, colors: { primary: primary_color, key: key_color, }, banners: { desktop: banner_background_image, mobile: mobile_banner_image, }, allows: { posting: !restrict_posting, emojis: emojis_enabled, images: allow_images, videos: allow_videos, polls: allow_polls, videogifs: allow_videogifs, discovery: allow_discovery, galleries: allow_galleries, mediaInComments: should_show_media_in_comments_setting, predictions: allow_predictions, talks: allow_talks, followers: accept_followers, }, }; } async function subreddit(subreddit) { const response = await (0, fetch_1.default)(subreddit); return parseSubreddit(response.data); } async function randomSubreddit() { const response = await (0, fetch_1.default)("subreddits/popular"); const subreddits = response.data.children.filter((subreddit) => subreddit.kind === "t5"); return parseSubreddit(subreddits[Math.floor(Math.random() * subreddits.length)].data); }