New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jsrwrap

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsrwrap - npm Package Compare versions

Comparing version 0.1.10 to 0.1.11

23

lib/subreddit.d.ts
import { Jsrwrap } from './jsrwrap.js';
import type { SubmissionData } from './types/submission.js';
import type { SubredditData } from './types/subreddit.js';
import type { SubredditData, Widget } from './types/subreddit.js';
type ListingParams = {

@@ -30,24 +30,5 @@ before?: string;

getSubmissions(options: GetSubmissionOptions): Promise<SubmissionData[]>;
getSidebar(): Promise<{
content: {
widgets: {
items: {
[key: string]: import("./types/subreddit.js").Widget;
};
layout: {
idCardWidget: string;
topbar: {
order: string[];
};
sidebar: {
order: string[];
};
moderatorWidget: string;
};
};
};
style: import("./types/subreddit.js").StructuredStylesStyle;
}>;
getSidebar(): Promise<Widget[]>;
search(params: SearchParams): Promise<SubmissionData[]>;
}
export {};

32

lib/subreddit.js

@@ -18,2 +18,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

}
function parseWidgets(data) {
const widgets = [];
const widgetItems = data.structuredStyles.data.content.widgets.items;
const widgetLayoutInfo = data.structuredStyles.data.content.widgets.layout;
widgets.push(widgetItems[widgetLayoutInfo.idCardWidget]);
for (const item of widgetLayoutInfo.topbar.order) {
widgets.push(widgetItems[item]);
}
for (const item of widgetLayoutInfo.sidebar.order) {
widgets.push(widgetItems[item]);
}
return widgets;
}
// Unused - Keeping for if it could be used later for getSidebar
// function getAboutFromGatewayData(data: SubredditGatewayData) {
// const id = Object.keys(data.subredditAboutInfo)[0];
// const about = data.subredditAboutInfo[id];
// const subredditInfo = data.subreddits[id];
// const style = data.structuredStyles.data.style;
// return {
// subscribers: about.subscribers,
// description: about.publicDescription,
// created: about.created,
// accountsActive: about.accountsActive,
// bannerBackgroundImage: style.bannerBackgroundImage,
// mobileBannerImage: style.mobileBannerImage,
// communityIcon: style.communityIcon
// };
// }
export class Subreddit {

@@ -40,3 +69,4 @@ constructor(_reddit, subreddit) {

const subGatewayData = (yield res.json());
return subGatewayData.structuredStyles.data;
const widgets = parseWidgets(subGatewayData);
return widgets;
});

@@ -43,0 +73,0 @@ }

@@ -113,2 +113,11 @@ import type { FlairRichtext, Sort, SubredditType } from './submission.js';

export interface SubredditGatewayData {
subreddits: {
[key: string]: {
title: string;
displayText: string;
name: string;
url: string;
isNSFW: boolean;
};
};
subredditAboutInfo: {

@@ -221,3 +230,3 @@ [key: string]: {

width: number;
linkUrl: string;
linkUrl: string | null;
height: string;

@@ -224,0 +233,0 @@ }[];

{
"name": "jsrwrap",
"version": "0.1.10",
"version": "0.1.11",
"description": "API wrapper for Reddit",

@@ -5,0 +5,0 @@ "repository": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc