@devvit/reddit 0.11.17-next-2025-05-28-417d95f5a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +26 -0
- package/README.md +5 -0
- package/RedditClient.d.ts +1155 -0
- package/RedditClient.d.ts.map +1 -0
- package/RedditClient.js +1417 -0
- package/common.d.ts +10 -0
- package/common.d.ts.map +1 -0
- package/common.js +5 -0
- package/getReddit.d.ts +3 -0
- package/getReddit.d.ts.map +1 -0
- package/getReddit.js +8 -0
- package/getRedditApiPlugins.d.ts +23 -0
- package/getRedditApiPlugins.d.ts.map +1 -0
- package/getRedditApiPlugins.js +25 -0
- package/getUserActionsPlugin.d.ts +6 -0
- package/getUserActionsPlugin.d.ts.map +1 -0
- package/getUserActionsPlugin.js +12 -0
- package/graphql/GraphQL.d.ts +10 -0
- package/graphql/GraphQL.d.ts.map +1 -0
- package/graphql/GraphQL.js +27 -0
- package/helpers/makeGettersEnumerable.d.ts +2 -0
- package/helpers/makeGettersEnumerable.d.ts.map +1 -0
- package/helpers/makeGettersEnumerable.js +19 -0
- package/helpers/permissions.d.ts +6 -0
- package/helpers/permissions.d.ts.map +1 -0
- package/helpers/permissions.js +24 -0
- package/helpers/richtextToString.d.ts +3 -0
- package/helpers/richtextToString.d.ts.map +1 -0
- package/helpers/richtextToString.js +14 -0
- package/helpers/textFallbackToRichtext.d.ts +4 -0
- package/helpers/textFallbackToRichtext.d.ts.map +1 -0
- package/helpers/textFallbackToRichtext.js +14 -0
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +1 -0
- package/models/Comment.d.ts +138 -0
- package/models/Comment.d.ts.map +1 -0
- package/models/Comment.js +597 -0
- package/models/Flair.d.ts +171 -0
- package/models/Flair.d.ts.map +1 -0
- package/models/Flair.js +293 -0
- package/models/Listing.d.ts +53 -0
- package/models/Listing.d.ts.map +1 -0
- package/models/Listing.js +101 -0
- package/models/ModAction.d.ts +32 -0
- package/models/ModAction.d.ts.map +1 -0
- package/models/ModAction.js +70 -0
- package/models/ModMail.d.ts +655 -0
- package/models/ModMail.d.ts.map +1 -0
- package/models/ModMail.js +723 -0
- package/models/ModNote.d.ts +57 -0
- package/models/ModNote.d.ts.map +1 -0
- package/models/ModNote.js +103 -0
- package/models/Post.d.ts +491 -0
- package/models/Post.d.ts.map +1 -0
- package/models/Post.js +1022 -0
- package/models/PrivateMessage.d.ts +52 -0
- package/models/PrivateMessage.d.ts.map +1 -0
- package/models/PrivateMessage.js +126 -0
- package/models/Subreddit.d.ts +606 -0
- package/models/Subreddit.d.ts.map +1 -0
- package/models/Subreddit.js +750 -0
- package/models/User.d.ts +238 -0
- package/models/User.d.ts.map +1 -0
- package/models/User.js +458 -0
- package/models/Vault.d.ts +32 -0
- package/models/Vault.d.ts.map +1 -0
- package/models/Vault.js +25 -0
- package/models/Widget.d.ts +133 -0
- package/models/Widget.d.ts.map +1 -0
- package/models/Widget.js +467 -0
- package/models/WikiPage.d.ts +137 -0
- package/models/WikiPage.d.ts.map +1 -0
- package/models/WikiPage.js +329 -0
- package/models/index.d.ts +14 -0
- package/models/index.d.ts.map +1 -0
- package/models/index.js +13 -0
- package/package.json +46 -0
- package/tests/comment.api.test.d.ts.map +1 -0
- package/tests/flair.api.test.d.ts.map +1 -0
- package/tests/modmail.api.test.d.ts.map +1 -0
- package/tests/modnote.api.test.d.ts.map +1 -0
- package/tests/post.api.test.d.ts.map +1 -0
- package/tests/subreddit.api.test.d.ts.map +1 -0
- package/tests/user.api.test.d.ts.map +1 -0
- package/tests/utils/createTestPreview.d.ts +2 -0
- package/tests/utils/createTestPreview.d.ts.map +1 -0
- package/tests/utils/createTestPreview.js +5 -0
- package/tests/utils/redditApiPluginsMock.d.ts +203 -0
- package/tests/utils/redditApiPluginsMock.d.ts.map +1 -0
- package/tests/utils/redditApiPluginsMock.js +202 -0
- package/tests/utils/runWithTestContext.d.ts +4 -0
- package/tests/utils/runWithTestContext.d.ts.map +1 -0
- package/tests/utils/runWithTestContext.js +12 -0
- package/tests/utils/userActionsPluginMock.d.ts +6 -0
- package/tests/utils/userActionsPluginMock.d.ts.map +1 -0
- package/tests/utils/userActionsPluginMock.js +5 -0
package/common.d.ts
ADDED
package/common.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;CAIR,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC"}
|
package/common.js
ADDED
package/getReddit.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReddit.d.ts","sourceRoot":"","sources":["../src/getReddit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,wBAAgB,SAAS,IAAI,YAAY,CAKxC"}
|
package/getReddit.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Flair, type GraphQL, type LinksAndComments, type Listings, type Moderation, type ModNote, type NewModmail, type PrivateMessages, type Subreddits, type Users, type Widgets, type Wiki } from '@devvit/protos';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export type RedditApiPluginClient = {
|
|
6
|
+
Flair: Flair;
|
|
7
|
+
GraphQL: GraphQL;
|
|
8
|
+
LinksAndComments: LinksAndComments;
|
|
9
|
+
Listings: Listings;
|
|
10
|
+
ModNote: ModNote;
|
|
11
|
+
Moderation: Moderation;
|
|
12
|
+
NewModmail: NewModmail;
|
|
13
|
+
PrivateMessages: PrivateMessages;
|
|
14
|
+
Subreddits: Subreddits;
|
|
15
|
+
Users: Users;
|
|
16
|
+
Widgets: Widgets;
|
|
17
|
+
Wiki: Wiki;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function getRedditApiPlugins(): RedditApiPluginClient;
|
|
23
|
+
//# sourceMappingURL=getRedditApiPlugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getRedditApiPlugins.d.ts","sourceRoot":"","sources":["../src/getRedditApiPlugins.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,OAAO,EAEZ,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EAEb,KAAK,UAAU,EAEf,KAAK,OAAO,EAEZ,KAAK,UAAU,EAEf,KAAK,eAAe,EAEpB,KAAK,UAAU,EAEf,KAAK,KAAK,EAEV,KAAK,OAAO,EAEZ,KAAK,IAAI,EAEV,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAIF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,qBAAqB,CAkB3D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FlairDefinition, GraphQLDefinition, LinksAndCommentsDefinition, ListingsDefinition, ModerationDefinition, ModNoteDefinition, NewModmailDefinition, PrivateMessagesDefinition, SubredditsDefinition, UsersDefinition, WidgetsDefinition, WikiDefinition, } from '@devvit/protos';
|
|
2
|
+
import { getDevvitConfig } from '@devvit/server/get-devvit-config.js';
|
|
3
|
+
let redditApiPlugin;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export function getRedditApiPlugins() {
|
|
8
|
+
if (!redditApiPlugin) {
|
|
9
|
+
redditApiPlugin = {
|
|
10
|
+
Flair: getDevvitConfig().use(FlairDefinition),
|
|
11
|
+
GraphQL: getDevvitConfig().use(GraphQLDefinition),
|
|
12
|
+
LinksAndComments: getDevvitConfig().use(LinksAndCommentsDefinition),
|
|
13
|
+
Listings: getDevvitConfig().use(ListingsDefinition),
|
|
14
|
+
ModNote: getDevvitConfig().use(ModNoteDefinition),
|
|
15
|
+
Moderation: getDevvitConfig().use(ModerationDefinition),
|
|
16
|
+
NewModmail: getDevvitConfig().use(NewModmailDefinition),
|
|
17
|
+
PrivateMessages: getDevvitConfig().use(PrivateMessagesDefinition),
|
|
18
|
+
Subreddits: getDevvitConfig().use(SubredditsDefinition),
|
|
19
|
+
Users: getDevvitConfig().use(UsersDefinition),
|
|
20
|
+
Widgets: getDevvitConfig().use(WidgetsDefinition),
|
|
21
|
+
Wiki: getDevvitConfig().use(WikiDefinition),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return redditApiPlugin;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserActionsPlugin.d.ts","sourceRoot":"","sources":["../src/getUserActionsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AAKzE;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAKlD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { UserActionsDefinition } from '@devvit/protos';
|
|
2
|
+
import { getDevvitConfig } from '@devvit/server/get-devvit-config.js';
|
|
3
|
+
let userActionsPlugin;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export function getUserActionsPlugin() {
|
|
8
|
+
if (!userActionsPlugin) {
|
|
9
|
+
userActionsPlugin = getDevvitConfig().use(UserActionsDefinition);
|
|
10
|
+
}
|
|
11
|
+
return userActionsPlugin;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { QueryResponse } from '@devvit/protos';
|
|
2
|
+
import type { JSONObject } from '@devvit/shared-types/json.js';
|
|
3
|
+
export declare class GraphQL {
|
|
4
|
+
#private;
|
|
5
|
+
/** @internal */
|
|
6
|
+
static queryWithQueryString(q: string): Promise<QueryResponse>;
|
|
7
|
+
/** @internal */
|
|
8
|
+
static query(operationName: string, id: string, variables: JSONObject): Promise<QueryResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=GraphQL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQL.d.ts","sourceRoot":"","sources":["../../src/graphql/GraphQL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,qBAAa,OAAO;;IAClB,gBAAgB;IAChB,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAS9D,gBAAgB;IAChB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;CAc/F"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _a, _GraphQL_metadata_get;
|
|
7
|
+
import { getContext } from '@devvit/server';
|
|
8
|
+
import { getRedditApiPlugins } from '../getRedditApiPlugins.js';
|
|
9
|
+
export class GraphQL {
|
|
10
|
+
/** @internal */
|
|
11
|
+
static queryWithQueryString(q) {
|
|
12
|
+
return getRedditApiPlugins().GraphQL.Query({
|
|
13
|
+
query: q,
|
|
14
|
+
}, __classPrivateFieldGet(this, _a, "a", _GraphQL_metadata_get));
|
|
15
|
+
}
|
|
16
|
+
/** @internal */
|
|
17
|
+
static query(operationName, id, variables) {
|
|
18
|
+
return getRedditApiPlugins().GraphQL.PersistedQuery({
|
|
19
|
+
operationName,
|
|
20
|
+
id,
|
|
21
|
+
variables,
|
|
22
|
+
}, __classPrivateFieldGet(this, _a, "a", _GraphQL_metadata_get));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
_a = GraphQL, _GraphQL_metadata_get = function _GraphQL_metadata_get() {
|
|
26
|
+
return getContext().debug.metadata;
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeGettersEnumerable.d.ts","sourceRoot":"","sources":["../../src/helpers/makeGettersEnumerable.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkBvD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function makeGettersEnumerable(obj) {
|
|
2
|
+
// Get a list of all the properties on this class's constructor.
|
|
3
|
+
const descriptors = Object.getOwnPropertyDescriptors(obj.constructor.prototype);
|
|
4
|
+
// For each property on the constructor...
|
|
5
|
+
for (const [key, descriptor] of Object.entries(descriptors)) {
|
|
6
|
+
// If it's a getter...
|
|
7
|
+
if (descriptor.get) {
|
|
8
|
+
// Create a property **on this object directly** that mirrors the one on the prototype, except it's
|
|
9
|
+
// enumerable. It has to be on the object directly for things like Object.keys() to find it. For details,
|
|
10
|
+
// see the MSDN documentation on how this works:
|
|
11
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties#traversing_object_properties
|
|
12
|
+
// This feels silly to me, but it's the only way that actually works.
|
|
13
|
+
Object.defineProperty(obj, key, {
|
|
14
|
+
...descriptor,
|
|
15
|
+
enumerable: true,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ModeratorPermission } from '../models/User.js';
|
|
2
|
+
export declare const MODERATOR_PERMISSIONS: ModeratorPermission[];
|
|
3
|
+
export declare function formatPermissions(permissions: string[], allPermissions: string[]): string;
|
|
4
|
+
export declare function formatModeratorPermissions(permissions: string[]): string;
|
|
5
|
+
export declare function validModPermissions(permissions: string[]): ModeratorPermission[];
|
|
6
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/helpers/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAYtD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAIzF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAExE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAIhF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const MODERATOR_PERMISSIONS = [
|
|
2
|
+
'all',
|
|
3
|
+
'wiki',
|
|
4
|
+
'posts',
|
|
5
|
+
'access',
|
|
6
|
+
'mail',
|
|
7
|
+
'config',
|
|
8
|
+
'flair',
|
|
9
|
+
'channels',
|
|
10
|
+
'chat_config',
|
|
11
|
+
'chat_operator',
|
|
12
|
+
'community_chat',
|
|
13
|
+
];
|
|
14
|
+
export function formatPermissions(permissions, allPermissions) {
|
|
15
|
+
return allPermissions
|
|
16
|
+
.map((permission) => (permissions.includes(permission) ? '+' : '-') + permission)
|
|
17
|
+
.join(',');
|
|
18
|
+
}
|
|
19
|
+
export function formatModeratorPermissions(permissions) {
|
|
20
|
+
return formatPermissions(permissions, MODERATOR_PERMISSIONS);
|
|
21
|
+
}
|
|
22
|
+
export function validModPermissions(permissions) {
|
|
23
|
+
return permissions.filter((permission) => MODERATOR_PERMISSIONS.includes(permission));
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"richtextToString.d.ts","sourceRoot":"","sources":["../../src/helpers/richtextToString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAYpF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
|
|
2
|
+
export function richtextToString(richtext) {
|
|
3
|
+
let richtextString;
|
|
4
|
+
if (richtext instanceof RichTextBuilder) {
|
|
5
|
+
richtextString = richtext.build();
|
|
6
|
+
}
|
|
7
|
+
else if (typeof richtext === 'object') {
|
|
8
|
+
richtextString = JSON.stringify(richtext);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
richtextString = richtext;
|
|
12
|
+
}
|
|
13
|
+
return richtextString;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textFallbackToRichtext.d.ts","sourceRoot":"","sources":["../../src/helpers/textFallbackToRichtext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEnG,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,GACxC,qBAAqB,6BAA6B,KACjD,MAG6D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export const getCustomPostRichTextFallback = (textFallbackOptions) => 'text' in textFallbackOptions
|
|
4
|
+
? textFallbackOptions.text
|
|
5
|
+
: richTextToTextFallbackString(textFallbackOptions.richtext);
|
|
6
|
+
const richTextToTextFallbackString = (textFallback) => {
|
|
7
|
+
if (textFallback instanceof RichTextBuilder) {
|
|
8
|
+
return textFallback.build();
|
|
9
|
+
}
|
|
10
|
+
else if (typeof textFallback === 'object') {
|
|
11
|
+
return JSON.stringify(textFallback);
|
|
12
|
+
}
|
|
13
|
+
return textFallback;
|
|
14
|
+
};
|
package/index.d.ts
ADDED
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getReddit } from './getReddit.js';
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { Comment as CommentProto, RedditObject } from '@devvit/protos';
|
|
2
|
+
import type { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
|
|
3
|
+
import type { T1ID, T2ID, T3ID, T5ID } from '@devvit/shared-types/tid.js';
|
|
4
|
+
import { Listing } from './Listing.js';
|
|
5
|
+
import { User } from './User.js';
|
|
6
|
+
export type CommentSort = 'confidence' | 'top' | 'new' | 'controversial' | 'old' | 'random' | 'qa' | 'live';
|
|
7
|
+
export type GetCommentsOptions = {
|
|
8
|
+
postId: string;
|
|
9
|
+
commentId?: string | undefined;
|
|
10
|
+
depth?: number;
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
limit?: number;
|
|
13
|
+
sort?: CommentSort;
|
|
14
|
+
};
|
|
15
|
+
export type CommentSubmissionOptions = {
|
|
16
|
+
text: string;
|
|
17
|
+
runAs?: 'USER' | 'APP';
|
|
18
|
+
} | {
|
|
19
|
+
richtext: object | RichTextBuilder;
|
|
20
|
+
runAs?: 'USER' | 'APP';
|
|
21
|
+
};
|
|
22
|
+
export type EditCommentOptions = CommentSubmissionOptions;
|
|
23
|
+
export type ReplyToCommentOptions = CommentSubmissionOptions;
|
|
24
|
+
export type GetCommentsByUserOptions = {
|
|
25
|
+
username: string;
|
|
26
|
+
sort?: 'hot' | 'new' | 'top' | 'controversial';
|
|
27
|
+
timeframe?: 'hour' | 'day' | 'week' | 'month' | 'year' | 'all';
|
|
28
|
+
pageSize?: number;
|
|
29
|
+
limit?: number;
|
|
30
|
+
after?: string;
|
|
31
|
+
before?: string;
|
|
32
|
+
};
|
|
33
|
+
export declare class Comment {
|
|
34
|
+
#private;
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
constructor(data: RedditObject | CommentProto);
|
|
39
|
+
get id(): T1ID;
|
|
40
|
+
get authorId(): T2ID | undefined;
|
|
41
|
+
get authorName(): string;
|
|
42
|
+
get subredditId(): T5ID;
|
|
43
|
+
get subredditName(): string;
|
|
44
|
+
get body(): string;
|
|
45
|
+
get createdAt(): Date;
|
|
46
|
+
get parentId(): T1ID | T3ID;
|
|
47
|
+
get postId(): T3ID;
|
|
48
|
+
get replies(): Listing<Comment>;
|
|
49
|
+
get distinguishedBy(): string | undefined;
|
|
50
|
+
get locked(): boolean;
|
|
51
|
+
get stickied(): boolean;
|
|
52
|
+
get removed(): boolean;
|
|
53
|
+
get approved(): boolean;
|
|
54
|
+
get approvedAtUtc(): number;
|
|
55
|
+
get bannedAtUtc(): number;
|
|
56
|
+
get spam(): boolean;
|
|
57
|
+
get edited(): boolean;
|
|
58
|
+
get numReports(): number;
|
|
59
|
+
get collapsedBecauseCrowdControl(): boolean;
|
|
60
|
+
get score(): number;
|
|
61
|
+
get permalink(): string;
|
|
62
|
+
get userReportReasons(): string[];
|
|
63
|
+
get modReportReasons(): string[];
|
|
64
|
+
get url(): string;
|
|
65
|
+
get ignoringReports(): boolean;
|
|
66
|
+
toJSON(): Pick<Comment, 'id' | 'authorName' | 'subredditId' | 'subredditName' | 'body' | 'createdAt' | 'parentId' | 'postId' | 'replies' | 'approved' | 'locked' | 'removed' | 'stickied' | 'spam' | 'edited' | 'distinguishedBy' | 'numReports' | 'collapsedBecauseCrowdControl' | 'score' | 'permalink' | 'userReportReasons' | 'modReportReasons' | 'url' | 'ignoringReports'>;
|
|
67
|
+
isLocked(): boolean;
|
|
68
|
+
isApproved(): boolean;
|
|
69
|
+
isRemoved(): boolean;
|
|
70
|
+
isSpam(): boolean;
|
|
71
|
+
isStickied(): boolean;
|
|
72
|
+
isDistinguished(): boolean;
|
|
73
|
+
isEdited(): boolean;
|
|
74
|
+
isIgnoringReports(): boolean;
|
|
75
|
+
delete(): Promise<void>;
|
|
76
|
+
edit(options: EditCommentOptions): Promise<this>;
|
|
77
|
+
approve(): Promise<void>;
|
|
78
|
+
remove(isSpam?: boolean): Promise<void>;
|
|
79
|
+
lock(): Promise<void>;
|
|
80
|
+
unlock(): Promise<void>;
|
|
81
|
+
reply(options: ReplyToCommentOptions): Promise<Comment>;
|
|
82
|
+
getAuthor(): Promise<User | undefined>;
|
|
83
|
+
distinguish(makeSticky?: boolean): Promise<void>;
|
|
84
|
+
distinguishAsAdmin(makeSticky?: boolean): Promise<void>;
|
|
85
|
+
undistinguish(): Promise<void>;
|
|
86
|
+
ignoreReports(): Promise<void>;
|
|
87
|
+
unignoreReports(): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Add a mod note for why the comment was removed
|
|
90
|
+
*
|
|
91
|
+
* @param options.reasonId id of a Removal Reason - you can leave this as an empty string if you don't have one
|
|
92
|
+
* @param options.modNote the reason for removal (maximum 100 characters) (optional)
|
|
93
|
+
* @returns
|
|
94
|
+
*/
|
|
95
|
+
addRemovalNote(options: {
|
|
96
|
+
reasonId: string;
|
|
97
|
+
modNote?: string;
|
|
98
|
+
}): Promise<void>;
|
|
99
|
+
/** @internal */
|
|
100
|
+
static getById(id: T1ID): Promise<Comment>;
|
|
101
|
+
/** @internal */
|
|
102
|
+
static getComments(options: GetCommentsOptions): Listing<Comment>;
|
|
103
|
+
/** @internal */
|
|
104
|
+
static edit(options: CommentSubmissionOptions & {
|
|
105
|
+
id: T1ID;
|
|
106
|
+
}): Promise<Comment>;
|
|
107
|
+
/** @internal */
|
|
108
|
+
static delete(id: T1ID): Promise<void>;
|
|
109
|
+
/** @internal */
|
|
110
|
+
static approve(id: T1ID): Promise<void>;
|
|
111
|
+
/** @internal */
|
|
112
|
+
static remove(id: T1ID, isSpam?: boolean): Promise<void>;
|
|
113
|
+
/** @internal */
|
|
114
|
+
static lock(id: T1ID): Promise<void>;
|
|
115
|
+
/** @internal */
|
|
116
|
+
static unlock(id: T1ID): Promise<void>;
|
|
117
|
+
/** @internal */
|
|
118
|
+
static submit(options: CommentSubmissionOptions & {
|
|
119
|
+
id: T1ID | T3ID;
|
|
120
|
+
}): Promise<Comment>;
|
|
121
|
+
/** @internal */
|
|
122
|
+
static distinguish(id: T1ID, sticky: boolean, asAdmin: boolean): Promise<{
|
|
123
|
+
distinguishedBy: string | undefined;
|
|
124
|
+
stickied: boolean;
|
|
125
|
+
}>;
|
|
126
|
+
/** @internal */
|
|
127
|
+
static undistinguish(id: T1ID): Promise<{
|
|
128
|
+
distinguishedBy: string | undefined;
|
|
129
|
+
stickied: boolean;
|
|
130
|
+
}>;
|
|
131
|
+
/** @internal */
|
|
132
|
+
static getCommentsByUser(options: GetCommentsByUserOptions): Listing<Comment>;
|
|
133
|
+
/** @internal */
|
|
134
|
+
static ignoreReports(id: T1ID): Promise<void>;
|
|
135
|
+
/** @internal */
|
|
136
|
+
static unignoreReports(id: T1ID): Promise<void>;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=Comment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Comment.d.ts","sourceRoot":"","sources":["../../src/models/Comment.ts"],"names":[],"mappings":"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"}
|