@devvit/public-api 0.11.1 → 0.11.2-next-2024-10-21-e213fb2ae.0
Sign up to get free protection for your applications and to get access to all the features.
- package/apis/reddit/models/Post.d.ts +33 -1
- package/apis/reddit/models/Post.d.ts.map +1 -1
- package/apis/reddit/models/Post.js +140 -4
- package/meta.json +94 -4
- package/meta.min.json +43 -4
- package/package.json +6 -6
- package/public-api.d.ts +43 -1
- package/public-api.iife.js +1785 -206
- package/public-api.min.js +5 -5
- package/public-api.min.js.map +4 -4
- package/version.json +5 -5
@@ -64,7 +64,10 @@ export type SubmitMediaOptions = CommonSubmitPostOptions & {
|
|
64
64
|
videoPosterUrl: string;
|
65
65
|
};
|
66
66
|
export type SubmitSelfPostOptions = PostTextOptions & CommonSubmitPostOptions;
|
67
|
-
export type
|
67
|
+
export type SubmitCustomPostTextFallbackOptions = {
|
68
|
+
textFallback?: CustomPostTextFallbackOptions;
|
69
|
+
};
|
70
|
+
export type SubmitCustomPostOptions = CommonSubmitPostOptions & SubmitCustomPostTextFallbackOptions & {
|
68
71
|
preview: JSX.Element;
|
69
72
|
};
|
70
73
|
export type CommonSubmitPostOptions = {
|
@@ -269,6 +272,35 @@ export declare class Post {
|
|
269
272
|
isIgnoringReports(): boolean;
|
270
273
|
isDistinguishedBy(): string | undefined;
|
271
274
|
edit(options: PostTextOptions): Promise<void>;
|
275
|
+
/**
|
276
|
+
* Set the suggested sort for comments on a Post.
|
277
|
+
*
|
278
|
+
* @throws {Error} Throws an error if the suggested sort could not be set.
|
279
|
+
* @example
|
280
|
+
* ```ts
|
281
|
+
* const post = await reddit.getPostById(context.postId);
|
282
|
+
* await post.setSuggestedCommentSort("NEW");
|
283
|
+
* ```
|
284
|
+
*/
|
285
|
+
setSuggestedCommentSort(suggestedSort: PostSuggestedCommentSort): Promise<void>;
|
286
|
+
/**
|
287
|
+
* Set a lightweight UI that shows while the custom post renders
|
288
|
+
*
|
289
|
+
* @param {JSX.ComponentFunction} ui - A JSX component function that returns a simple ui to be rendered.
|
290
|
+
* @throws {Error} Throws an error if the preview could not be set.
|
291
|
+
* @example
|
292
|
+
* ```ts
|
293
|
+
* const preview = (
|
294
|
+
* <vstack height="100%" width="100%" alignment="middle center">
|
295
|
+
* <text size="large">An updated preview!</text>
|
296
|
+
* </vstack>
|
297
|
+
* );
|
298
|
+
* const post = await reddit.getPostById(context.postId);
|
299
|
+
* await post.setCustomPostPreview(() => preview);
|
300
|
+
* ```
|
301
|
+
*/
|
302
|
+
setCustomPostPreview(ui: JSX.ComponentFunction): Promise<void>;
|
303
|
+
setTextFallback(options: CustomPostTextFallbackOptions): Promise<void>;
|
272
304
|
addComment(options: CommentSubmissionOptions): Promise<Comment>;
|
273
305
|
delete(): Promise<void>;
|
274
306
|
approve(): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Post.d.ts","sourceRoot":"","sources":["../../../../src/apis/reddit/models/Post.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"Post.d.ts","sourceRoot":"","sources":["../../../../src/apis/reddit/models/Post.ts"],"names":[],"mappings":"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"}
|
@@ -10,15 +10,19 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
11
11
|
};
|
12
12
|
var _Post_id, _Post_authorId, _Post_authorName, _Post_createdAt, _Post_subredditId, _Post_subredditName, _Post_permalink, _Post_title, _Post_body, _Post_bodyHtml, _Post_url, _Post_score, _Post_numberOfComments, _Post_numberOfReports, _Post_thumbnail, _Post_approved, _Post_approvedAtUtc, _Post_bannedAtUtc, _Post_spam, _Post_stickied, _Post_removed, _Post_removedBy, _Post_removedByCategory, _Post_archived, _Post_edited, _Post_locked, _Post_nsfw, _Post_quarantined, _Post_spoiler, _Post_hidden, _Post_ignoringReports, _Post_distinguishedBy, _Post_flair, _Post_secureMedia, _Post_modReportReasons, _Post_userReportReasons, _Post_metadata;
|
13
|
-
import { Block } from '@devvit/protos';
|
13
|
+
import { Block, CustomPostDefinition, Definition, UIEventHandlerDefinition, UIResponse, } from '@devvit/protos';
|
14
|
+
import { LinkedBundle } from '@devvit/protos/types/devvit/runtime/bundle.js';
|
14
15
|
import { assertNonNull } from '@devvit/shared-types/NonNull.js';
|
15
16
|
import { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
|
16
17
|
import { asT2ID, asT3ID, asT5ID, isT3ID } from '@devvit/shared-types/tid.js';
|
17
|
-
import { fromByteArray } from 'base64-js';
|
18
|
+
import { fromByteArray, toByteArray } from 'base64-js';
|
18
19
|
import { Devvit } from '../../../devvit/Devvit.js';
|
19
20
|
import { BlocksReconciler } from '../../../devvit/internals/blocks/BlocksReconciler.js';
|
21
|
+
import { BlocksHandler } from '../../../devvit/internals/blocks/handler/BlocksHandler.js';
|
22
|
+
import { GraphQL } from '../graphql/GraphQL.js';
|
20
23
|
import { makeGettersEnumerable } from '../helpers/makeGettersEnumerable.js';
|
21
24
|
import { richtextToString } from '../helpers/richtextToString.js';
|
25
|
+
import { getCustomPostRichTextFallback } from '../helpers/textFallbackToRichtext.js';
|
22
26
|
import { Comment } from './Comment.js';
|
23
27
|
import { Listing } from './Listing.js';
|
24
28
|
import { ModNote } from './ModNote.js';
|
@@ -360,6 +364,49 @@ export class Post {
|
|
360
364
|
__classPrivateFieldSet(this, _Post_body, newPost.body, "f");
|
361
365
|
__classPrivateFieldSet(this, _Post_edited, newPost.edited, "f");
|
362
366
|
}
|
367
|
+
/**
|
368
|
+
* Set the suggested sort for comments on a Post.
|
369
|
+
*
|
370
|
+
* @throws {Error} Throws an error if the suggested sort could not be set.
|
371
|
+
* @example
|
372
|
+
* ```ts
|
373
|
+
* const post = await reddit.getPostById(context.postId);
|
374
|
+
* await post.setSuggestedCommentSort("NEW");
|
375
|
+
* ```
|
376
|
+
*/
|
377
|
+
async setSuggestedCommentSort(suggestedSort) {
|
378
|
+
await Post.setSuggestedCommentSort({ id: this.id, subredditId: __classPrivateFieldGet(this, _Post_subredditId, "f"), suggestedSort }, __classPrivateFieldGet(this, _Post_metadata, "f"));
|
379
|
+
}
|
380
|
+
/**
|
381
|
+
* Set a lightweight UI that shows while the custom post renders
|
382
|
+
*
|
383
|
+
* @param {JSX.ComponentFunction} ui - A JSX component function that returns a simple ui to be rendered.
|
384
|
+
* @throws {Error} Throws an error if the preview could not be set.
|
385
|
+
* @example
|
386
|
+
* ```ts
|
387
|
+
* const preview = (
|
388
|
+
* <vstack height="100%" width="100%" alignment="middle center">
|
389
|
+
* <text size="large">An updated preview!</text>
|
390
|
+
* </vstack>
|
391
|
+
* );
|
392
|
+
* const post = await reddit.getPostById(context.postId);
|
393
|
+
* await post.setCustomPostPreview(() => preview);
|
394
|
+
* ```
|
395
|
+
*/
|
396
|
+
async setCustomPostPreview(ui) {
|
397
|
+
const newPost = await Post.setCustomPostPreview({
|
398
|
+
id: this.id,
|
399
|
+
body: this.body,
|
400
|
+
ui,
|
401
|
+
}, __classPrivateFieldGet(this, _Post_metadata, "f"));
|
402
|
+
__classPrivateFieldSet(this, _Post_body, newPost.body, "f");
|
403
|
+
__classPrivateFieldSet(this, _Post_edited, newPost.edited, "f");
|
404
|
+
}
|
405
|
+
async setTextFallback(options) {
|
406
|
+
const newPost = await Post.setTextFallback(options, this.id, __classPrivateFieldGet(this, _Post_metadata, "f"));
|
407
|
+
__classPrivateFieldSet(this, _Post_body, newPost.body, "f");
|
408
|
+
__classPrivateFieldSet(this, _Post_edited, newPost.edited, "f");
|
409
|
+
}
|
363
410
|
async addComment(options) {
|
364
411
|
return Comment.submit({
|
365
412
|
id: this.id,
|
@@ -484,12 +531,13 @@ export class Post {
|
|
484
531
|
const reconciler = new BlocksReconciler(() => options.preview, undefined, {}, metadata, undefined);
|
485
532
|
const previewBlock = await reconciler.buildBlocksUI();
|
486
533
|
const encodedCached = Block.encode(previewBlock).finish();
|
487
|
-
const { ...sanitizedOptions } = options;
|
534
|
+
const { textFallback, ...sanitizedOptions } = options;
|
535
|
+
const richtextFallback = textFallback ? getCustomPostRichTextFallback(textFallback) : '';
|
488
536
|
const submitRequest = {
|
489
537
|
kind: 'custom',
|
490
538
|
sr: options.subredditName,
|
491
539
|
richtextJson: fromByteArray(encodedCached),
|
492
|
-
richtextFallback
|
540
|
+
richtextFallback,
|
493
541
|
...sanitizedOptions,
|
494
542
|
};
|
495
543
|
response = await client.SubmitCustomPost(submitRequest, metadata);
|
@@ -548,6 +596,94 @@ export class Post {
|
|
548
596
|
return Post.getById(id, metadata);
|
549
597
|
}
|
550
598
|
/** @internal */
|
599
|
+
static async setSuggestedCommentSort(options, metadata) {
|
600
|
+
const operationName = 'SetSuggestedSort';
|
601
|
+
const persistedQueryHash = 'cf6052acc7fefaa65b710625b81dba8041f258313aafe9730e2a3dc855e5d10d';
|
602
|
+
const response = await GraphQL.query(operationName, persistedQueryHash, {
|
603
|
+
input: {
|
604
|
+
subredditId: options.subredditId,
|
605
|
+
postId: options.id,
|
606
|
+
sort: options.suggestedSort,
|
607
|
+
},
|
608
|
+
}, metadata);
|
609
|
+
if (!response.data?.setSuggestedSort?.ok) {
|
610
|
+
throw new Error('Failed to set suggested sort');
|
611
|
+
}
|
612
|
+
}
|
613
|
+
/** @internal */
|
614
|
+
static async setCustomPostPreview(options, metadata) {
|
615
|
+
if (!metadata) {
|
616
|
+
throw new Error('Failed to set custom post preview. Metadata not found');
|
617
|
+
}
|
618
|
+
// Get skinny bundle from post
|
619
|
+
const bundleMatches = new RegExp(/DX_Bundle:\n\n {4}(?<bundle>[^\n]*)/g).exec(options.body ?? '');
|
620
|
+
if (!bundleMatches?.groups?.['bundle']) {
|
621
|
+
throw new Error(`Failed to set custom post preview. Couldn't find bundle in post ${options.id}`);
|
622
|
+
}
|
623
|
+
const origBundle = toByteArray(bundleMatches.groups['bundle']);
|
624
|
+
const myBundle = LinkedBundle.decode(origBundle);
|
625
|
+
// Ensure we have all the correct definitions
|
626
|
+
myBundle.provides = [CustomPostDefinition, UIEventHandlerDefinition].map((d) => Definition.toSerializable(d));
|
627
|
+
const newBundle = fromByteArray(LinkedBundle.encode(myBundle).finish());
|
628
|
+
// Get fallback text from post, if it exists
|
629
|
+
const fallbackMatches = new RegExp(/DX_RichtextFallback:\n\n {4}(?<fallback>[^\n]*)/g).exec(options.body ?? '');
|
630
|
+
const textFallback = fallbackMatches?.groups?.['fallback'];
|
631
|
+
const handler = new BlocksHandler(options.ui);
|
632
|
+
const handlerResponse = UIResponse.fromJSON(await handler.handle({ events: [] }, metadata));
|
633
|
+
const block = handlerResponse.blocks;
|
634
|
+
const cached = fromByteArray(Block.encode(block).finish());
|
635
|
+
const postRTJson = new RichTextBuilder()
|
636
|
+
.heading({ level: 1 }, (h) => h.rawText('DX_Bundle:'))
|
637
|
+
.codeBlock({ language: '' }, (c) => {
|
638
|
+
c.rawText(newBundle);
|
639
|
+
})
|
640
|
+
.heading({ level: 1 }, (h) => h.rawText('DX_Config:'))
|
641
|
+
.codeBlock({ language: '' }, (c) => {
|
642
|
+
c.rawText('EgA=');
|
643
|
+
})
|
644
|
+
.heading({ level: 1 }, (h) => h.rawText('DX_Cached:'))
|
645
|
+
.codeBlock({ language: '' }, (c) => {
|
646
|
+
c.rawText(cached);
|
647
|
+
});
|
648
|
+
if (textFallback) {
|
649
|
+
postRTJson
|
650
|
+
.heading({ level: 1 }, (h) => h.rawText('DX_RichtextFallback:'))
|
651
|
+
.codeBlock({ language: '' }, (c) => {
|
652
|
+
c.rawText(textFallback);
|
653
|
+
});
|
654
|
+
}
|
655
|
+
const operationName = 'UpdatePost';
|
656
|
+
const persistedQueryHash = 'ccc5f1da31a8d8c518b6607e81c2903a46f922cb6562c8b47fcc8988f0611360';
|
657
|
+
const response = await GraphQL.query(operationName, persistedQueryHash, {
|
658
|
+
input: {
|
659
|
+
postId: options.id,
|
660
|
+
content: {
|
661
|
+
richText: postRTJson.build(),
|
662
|
+
},
|
663
|
+
},
|
664
|
+
}, metadata);
|
665
|
+
if (!response.data?.updatePost?.ok) {
|
666
|
+
throw new Error('Failed to set custom post preview');
|
667
|
+
}
|
668
|
+
return Post.getById(options.id, metadata);
|
669
|
+
}
|
670
|
+
/** @internal */
|
671
|
+
static async setTextFallback(options, postId, metadata) {
|
672
|
+
if (!('text' in options) && !('richtext' in options)) {
|
673
|
+
throw new Error(`No text fallback provided for post ${postId}.`);
|
674
|
+
}
|
675
|
+
const client = Devvit.redditAPIPlugins.LinksAndComments;
|
676
|
+
const richtextFallback = getCustomPostRichTextFallback(options);
|
677
|
+
const response = await client.EditCustomPost({
|
678
|
+
thingId: postId,
|
679
|
+
richtextFallback,
|
680
|
+
}, metadata);
|
681
|
+
if (response.json?.errors?.length) {
|
682
|
+
throw new Error('Failed to set post text fallback');
|
683
|
+
}
|
684
|
+
return Post.getById(postId, metadata);
|
685
|
+
}
|
686
|
+
/** @internal */
|
551
687
|
static async delete(id, metadata) {
|
552
688
|
const client = Devvit.redditAPIPlugins.LinksAndComments;
|
553
689
|
await client.Del({
|
package/meta.json
CHANGED
@@ -11200,19 +11200,82 @@
|
|
11200
11200
|
],
|
11201
11201
|
"format": "esm"
|
11202
11202
|
},
|
11203
|
+
"../protos/dist/types/devvit/runtime/serializable.js": {
|
11204
|
+
"bytes": 8666,
|
11205
|
+
"imports": [
|
11206
|
+
{
|
11207
|
+
"path": "../../node_modules/protobufjs/minimal.js",
|
11208
|
+
"kind": "import-statement",
|
11209
|
+
"original": "protobufjs/minimal.js"
|
11210
|
+
},
|
11211
|
+
{
|
11212
|
+
"path": "../protos/dist/types/typeRegistry.js",
|
11213
|
+
"kind": "import-statement",
|
11214
|
+
"original": "../../typeRegistry.js"
|
11215
|
+
}
|
11216
|
+
],
|
11217
|
+
"format": "esm"
|
11218
|
+
},
|
11219
|
+
"../protos/dist/types/devvit/runtime/bundle.js": {
|
11220
|
+
"bytes": 43724,
|
11221
|
+
"imports": [
|
11222
|
+
{
|
11223
|
+
"path": "../../node_modules/protobufjs/minimal.js",
|
11224
|
+
"kind": "import-statement",
|
11225
|
+
"original": "protobufjs/minimal.js"
|
11226
|
+
},
|
11227
|
+
{
|
11228
|
+
"path": "../protos/dist/types/google/protobuf/timestamp.js",
|
11229
|
+
"kind": "import-statement",
|
11230
|
+
"original": "../../google/protobuf/timestamp.js"
|
11231
|
+
},
|
11232
|
+
{
|
11233
|
+
"path": "../protos/dist/types/google/protobuf/wrappers.js",
|
11234
|
+
"kind": "import-statement",
|
11235
|
+
"original": "../../google/protobuf/wrappers.js"
|
11236
|
+
},
|
11237
|
+
{
|
11238
|
+
"path": "../protos/dist/types/typeRegistry.js",
|
11239
|
+
"kind": "import-statement",
|
11240
|
+
"original": "../../typeRegistry.js"
|
11241
|
+
},
|
11242
|
+
{
|
11243
|
+
"path": "../protos/dist/types/devvit/runtime/serializable.js",
|
11244
|
+
"kind": "import-statement",
|
11245
|
+
"original": "./serializable.js"
|
11246
|
+
}
|
11247
|
+
],
|
11248
|
+
"format": "esm"
|
11249
|
+
},
|
11203
11250
|
"../../node_modules/base64-js/index.js": {
|
11204
11251
|
"bytes": 3932,
|
11205
11252
|
"imports": [],
|
11206
11253
|
"format": "cjs"
|
11207
11254
|
},
|
11255
|
+
"src/apis/reddit/helpers/textFallbackToRichtext.ts": {
|
11256
|
+
"bytes": 742,
|
11257
|
+
"imports": [
|
11258
|
+
{
|
11259
|
+
"path": "../shared-types/dist/richtext/RichTextBuilder.js",
|
11260
|
+
"kind": "import-statement",
|
11261
|
+
"original": "@devvit/shared-types/richtext/RichTextBuilder.js"
|
11262
|
+
}
|
11263
|
+
],
|
11264
|
+
"format": "esm"
|
11265
|
+
},
|
11208
11266
|
"src/apis/reddit/models/Post.ts": {
|
11209
|
-
"bytes":
|
11267
|
+
"bytes": 42806,
|
11210
11268
|
"imports": [
|
11211
11269
|
{
|
11212
11270
|
"path": "../protos/dist/index.js",
|
11213
11271
|
"kind": "import-statement",
|
11214
11272
|
"original": "@devvit/protos"
|
11215
11273
|
},
|
11274
|
+
{
|
11275
|
+
"path": "../protos/dist/types/devvit/runtime/bundle.js",
|
11276
|
+
"kind": "import-statement",
|
11277
|
+
"original": "@devvit/protos/types/devvit/runtime/bundle.js"
|
11278
|
+
},
|
11216
11279
|
{
|
11217
11280
|
"path": "../shared-types/dist/NonNull.js",
|
11218
11281
|
"kind": "import-statement",
|
@@ -11243,6 +11306,16 @@
|
|
11243
11306
|
"kind": "import-statement",
|
11244
11307
|
"original": "../../../devvit/internals/blocks/BlocksReconciler.js"
|
11245
11308
|
},
|
11309
|
+
{
|
11310
|
+
"path": "src/devvit/internals/blocks/handler/BlocksHandler.ts",
|
11311
|
+
"kind": "import-statement",
|
11312
|
+
"original": "../../../devvit/internals/blocks/handler/BlocksHandler.js"
|
11313
|
+
},
|
11314
|
+
{
|
11315
|
+
"path": "src/apis/reddit/graphql/GraphQL.ts",
|
11316
|
+
"kind": "import-statement",
|
11317
|
+
"original": "../graphql/GraphQL.js"
|
11318
|
+
},
|
11246
11319
|
{
|
11247
11320
|
"path": "src/apis/reddit/helpers/makeGettersEnumerable.ts",
|
11248
11321
|
"kind": "import-statement",
|
@@ -11253,6 +11326,11 @@
|
|
11253
11326
|
"kind": "import-statement",
|
11254
11327
|
"original": "../helpers/richtextToString.js"
|
11255
11328
|
},
|
11329
|
+
{
|
11330
|
+
"path": "src/apis/reddit/helpers/textFallbackToRichtext.ts",
|
11331
|
+
"kind": "import-statement",
|
11332
|
+
"original": "../helpers/textFallbackToRichtext.js"
|
11333
|
+
},
|
11256
11334
|
{
|
11257
11335
|
"path": "src/apis/reddit/models/Comment.ts",
|
11258
11336
|
"kind": "import-statement",
|
@@ -12220,7 +12298,7 @@
|
|
12220
12298
|
"bytesInOutput": 27924
|
12221
12299
|
},
|
12222
12300
|
"../../node_modules/base64-js/index.js": {
|
12223
|
-
"bytesInOutput":
|
12301
|
+
"bytesInOutput": 3904
|
12224
12302
|
},
|
12225
12303
|
"src/index.ts": {
|
12226
12304
|
"bytesInOutput": 2191
|
@@ -12294,6 +12372,9 @@
|
|
12294
12372
|
"../protos/dist/types/google/protobuf/empty.js": {
|
12295
12373
|
"bytesInOutput": 1088
|
12296
12374
|
},
|
12375
|
+
"../protos/dist/lib/Types.js": {
|
12376
|
+
"bytesInOutput": 1967
|
12377
|
+
},
|
12297
12378
|
"../protos/dist/types/devvit/actor/reddit/context_action.js": {
|
12298
12379
|
"bytesInOutput": 22818
|
12299
12380
|
},
|
@@ -12735,8 +12816,17 @@
|
|
12735
12816
|
"src/apis/reddit/models/Flair.ts": {
|
12736
12817
|
"bytesInOutput": 10882
|
12737
12818
|
},
|
12819
|
+
"../protos/dist/types/devvit/runtime/bundle.js": {
|
12820
|
+
"bytesInOutput": 38457
|
12821
|
+
},
|
12822
|
+
"../protos/dist/types/devvit/runtime/serializable.js": {
|
12823
|
+
"bytesInOutput": 7835
|
12824
|
+
},
|
12738
12825
|
"src/apis/reddit/models/Post.ts": {
|
12739
|
-
"bytesInOutput":
|
12826
|
+
"bytesInOutput": 34982
|
12827
|
+
},
|
12828
|
+
"src/apis/reddit/helpers/textFallbackToRichtext.ts": {
|
12829
|
+
"bytesInOutput": 455
|
12740
12830
|
},
|
12741
12831
|
"src/apis/reddit/models/User.ts": {
|
12742
12832
|
"bytesInOutput": 15898
|
@@ -12775,7 +12865,7 @@
|
|
12775
12865
|
"bytesInOutput": 370
|
12776
12866
|
}
|
12777
12867
|
},
|
12778
|
-
"bytes":
|
12868
|
+
"bytes": 12740413
|
12779
12869
|
}
|
12780
12870
|
}
|
12781
12871
|
}
|
package/meta.min.json
CHANGED
@@ -4159,14 +4159,30 @@
|
|
4159
4159
|
"imports": [],
|
4160
4160
|
"format": "cjs"
|
4161
4161
|
},
|
4162
|
+
"src/apis/reddit/helpers/textFallbackToRichtext.ts": {
|
4163
|
+
"bytes": 742,
|
4164
|
+
"imports": [
|
4165
|
+
{
|
4166
|
+
"path": "../shared-types/dist/richtext/RichTextBuilder.js",
|
4167
|
+
"kind": "import-statement",
|
4168
|
+
"original": "@devvit/shared-types/richtext/RichTextBuilder.js"
|
4169
|
+
}
|
4170
|
+
],
|
4171
|
+
"format": "esm"
|
4172
|
+
},
|
4162
4173
|
"src/apis/reddit/models/Post.ts": {
|
4163
|
-
"bytes":
|
4174
|
+
"bytes": 42806,
|
4164
4175
|
"imports": [
|
4165
4176
|
{
|
4166
4177
|
"path": "@devvit/protos",
|
4167
4178
|
"kind": "import-statement",
|
4168
4179
|
"external": true
|
4169
4180
|
},
|
4181
|
+
{
|
4182
|
+
"path": "@devvit/protos/types/devvit/runtime/bundle.js",
|
4183
|
+
"kind": "import-statement",
|
4184
|
+
"external": true
|
4185
|
+
},
|
4170
4186
|
{
|
4171
4187
|
"path": "../shared-types/dist/NonNull.js",
|
4172
4188
|
"kind": "import-statement",
|
@@ -4197,6 +4213,16 @@
|
|
4197
4213
|
"kind": "import-statement",
|
4198
4214
|
"original": "../../../devvit/internals/blocks/BlocksReconciler.js"
|
4199
4215
|
},
|
4216
|
+
{
|
4217
|
+
"path": "src/devvit/internals/blocks/handler/BlocksHandler.ts",
|
4218
|
+
"kind": "import-statement",
|
4219
|
+
"original": "../../../devvit/internals/blocks/handler/BlocksHandler.js"
|
4220
|
+
},
|
4221
|
+
{
|
4222
|
+
"path": "src/apis/reddit/graphql/GraphQL.ts",
|
4223
|
+
"kind": "import-statement",
|
4224
|
+
"original": "../graphql/GraphQL.js"
|
4225
|
+
},
|
4200
4226
|
{
|
4201
4227
|
"path": "src/apis/reddit/helpers/makeGettersEnumerable.ts",
|
4202
4228
|
"kind": "import-statement",
|
@@ -4207,6 +4233,11 @@
|
|
4207
4233
|
"kind": "import-statement",
|
4208
4234
|
"original": "../helpers/richtextToString.js"
|
4209
4235
|
},
|
4236
|
+
{
|
4237
|
+
"path": "src/apis/reddit/helpers/textFallbackToRichtext.ts",
|
4238
|
+
"kind": "import-statement",
|
4239
|
+
"original": "../helpers/textFallbackToRichtext.js"
|
4240
|
+
},
|
4210
4241
|
{
|
4211
4242
|
"path": "src/apis/reddit/models/Comment.ts",
|
4212
4243
|
"kind": "import-statement",
|
@@ -4758,7 +4789,7 @@
|
|
4758
4789
|
"imports": [],
|
4759
4790
|
"exports": [],
|
4760
4791
|
"inputs": {},
|
4761
|
-
"bytes":
|
4792
|
+
"bytes": 1223919
|
4762
4793
|
},
|
4763
4794
|
"dist/public-api.min.js": {
|
4764
4795
|
"imports": [
|
@@ -4892,6 +4923,11 @@
|
|
4892
4923
|
"kind": "import-statement",
|
4893
4924
|
"external": true
|
4894
4925
|
},
|
4926
|
+
{
|
4927
|
+
"path": "@devvit/protos/types/devvit/runtime/bundle.js",
|
4928
|
+
"kind": "import-statement",
|
4929
|
+
"external": true
|
4930
|
+
},
|
4895
4931
|
{
|
4896
4932
|
"path": "@devvit/protos",
|
4897
4933
|
"kind": "import-statement",
|
@@ -5556,7 +5592,10 @@
|
|
5556
5592
|
"bytesInOutput": 4081
|
5557
5593
|
},
|
5558
5594
|
"src/apis/reddit/models/Post.ts": {
|
5559
|
-
"bytesInOutput":
|
5595
|
+
"bytesInOutput": 15129
|
5596
|
+
},
|
5597
|
+
"src/apis/reddit/helpers/textFallbackToRichtext.ts": {
|
5598
|
+
"bytesInOutput": 114
|
5560
5599
|
},
|
5561
5600
|
"src/apis/reddit/models/User.ts": {
|
5562
5601
|
"bytesInOutput": 5941
|
@@ -5595,7 +5634,7 @@
|
|
5595
5634
|
"bytesInOutput": 178
|
5596
5635
|
}
|
5597
5636
|
},
|
5598
|
-
"bytes":
|
5637
|
+
"bytes": 261664
|
5599
5638
|
}
|
5600
5639
|
}
|
5601
5640
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@devvit/public-api",
|
3
|
-
"version": "0.11.
|
3
|
+
"version": "0.11.2-next-2024-10-21-e213fb2ae.0",
|
4
4
|
"license": "BSD-3-Clause",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -30,8 +30,8 @@
|
|
30
30
|
},
|
31
31
|
"types": "./index.d.ts",
|
32
32
|
"dependencies": {
|
33
|
-
"@devvit/protos": "0.11.
|
34
|
-
"@devvit/shared-types": "0.11.
|
33
|
+
"@devvit/protos": "0.11.2-next-2024-10-21-e213fb2ae.0",
|
34
|
+
"@devvit/shared-types": "0.11.2-next-2024-10-21-e213fb2ae.0",
|
35
35
|
"base64-js": "1.5.1",
|
36
36
|
"clone-deep": "4.0.1",
|
37
37
|
"core-js": "3.27.2",
|
@@ -39,8 +39,8 @@
|
|
39
39
|
},
|
40
40
|
"devDependencies": {
|
41
41
|
"@ampproject/filesize": "4.3.0",
|
42
|
-
"@devvit/repo-tools": "0.11.
|
43
|
-
"@devvit/tsconfig": "0.11.
|
42
|
+
"@devvit/repo-tools": "0.11.2-next-2024-10-21-e213fb2ae.0",
|
43
|
+
"@devvit/tsconfig": "0.11.2-next-2024-10-21-e213fb2ae.0",
|
44
44
|
"@microsoft/api-extractor": "7.41.0",
|
45
45
|
"@reddit/faceplate-ui": "18.0.1",
|
46
46
|
"@types/clone-deep": "4.0.1",
|
@@ -63,5 +63,5 @@
|
|
63
63
|
}
|
64
64
|
},
|
65
65
|
"source": "./src/index.ts",
|
66
|
-
"gitHead": "
|
66
|
+
"gitHead": "50c424e97fe6c1dc8012a59acab9c76c67342a98"
|
67
67
|
}
|
package/public-api.d.ts
CHANGED
@@ -2518,6 +2518,8 @@ declare interface BuildInfo {
|
|
2518
2518
|
dependencies: {
|
2519
2519
|
[key: string]: string;
|
2520
2520
|
};
|
2521
|
+
/** Where the bundle can be executed */
|
2522
|
+
targetRuntime: TargetRuntime;
|
2521
2523
|
}
|
2522
2524
|
|
2523
2525
|
declare const BuildInfo: {
|
@@ -34433,6 +34435,35 @@ export declare class Post {
|
|
34433
34435
|
isIgnoringReports(): boolean;
|
34434
34436
|
isDistinguishedBy(): string | undefined;
|
34435
34437
|
edit(options: PostTextOptions): Promise<void>;
|
34438
|
+
/**
|
34439
|
+
* Set the suggested sort for comments on a Post.
|
34440
|
+
*
|
34441
|
+
* @throws {Error} Throws an error if the suggested sort could not be set.
|
34442
|
+
* @example
|
34443
|
+
* ```ts
|
34444
|
+
* const post = await reddit.getPostById(context.postId);
|
34445
|
+
* await post.setSuggestedCommentSort("NEW");
|
34446
|
+
* ```
|
34447
|
+
*/
|
34448
|
+
setSuggestedCommentSort(suggestedSort: PostSuggestedCommentSort): Promise<void>;
|
34449
|
+
/**
|
34450
|
+
* Set a lightweight UI that shows while the custom post renders
|
34451
|
+
*
|
34452
|
+
* @param {JSX.ComponentFunction} ui - A JSX component function that returns a simple ui to be rendered.
|
34453
|
+
* @throws {Error} Throws an error if the preview could not be set.
|
34454
|
+
* @example
|
34455
|
+
* ```ts
|
34456
|
+
* const preview = (
|
34457
|
+
* <vstack height="100%" width="100%" alignment="middle center">
|
34458
|
+
* <text size="large">An updated preview!</text>
|
34459
|
+
* </vstack>
|
34460
|
+
* );
|
34461
|
+
* const post = await reddit.getPostById(context.postId);
|
34462
|
+
* await post.setCustomPostPreview(() => preview);
|
34463
|
+
* ```
|
34464
|
+
*/
|
34465
|
+
setCustomPostPreview(ui: JSX.ComponentFunction): Promise<void>;
|
34466
|
+
setTextFallback(options: CustomPostTextFallbackOptions): Promise<void>;
|
34436
34467
|
addComment(options: CommentSubmissionOptions): Promise<Comment>;
|
34437
34468
|
delete(): Promise<void>;
|
34438
34469
|
approve(): Promise<void>;
|
@@ -41860,10 +41891,14 @@ declare const StylesheetRequest: {
|
|
41860
41891
|
fromPartial(object: DeepPartial_2<StylesheetRequest>): StylesheetRequest;
|
41861
41892
|
};
|
41862
41893
|
|
41863
|
-
export declare type SubmitCustomPostOptions = CommonSubmitPostOptions & {
|
41894
|
+
export declare type SubmitCustomPostOptions = CommonSubmitPostOptions & SubmitCustomPostTextFallbackOptions & {
|
41864
41895
|
preview: JSX.Element;
|
41865
41896
|
};
|
41866
41897
|
|
41898
|
+
export declare type SubmitCustomPostTextFallbackOptions = {
|
41899
|
+
textFallback?: CustomPostTextFallbackOptions;
|
41900
|
+
};
|
41901
|
+
|
41867
41902
|
export declare type SubmitLinkOptions = CommonSubmitPostOptions & {
|
41868
41903
|
url: string;
|
41869
41904
|
/**
|
@@ -47992,6 +48027,13 @@ declare type TableHeaderCellOptions = {
|
|
47992
48027
|
declare interface TableRowContext extends TableCellContainer<TableRowContext> {
|
47993
48028
|
}
|
47994
48029
|
|
48030
|
+
declare enum TargetRuntime {
|
48031
|
+
UNIVERSAL = 0,
|
48032
|
+
/** CLIENT - SERVER = 2; */
|
48033
|
+
CLIENT = 1,
|
48034
|
+
UNRECOGNIZED = -1
|
48035
|
+
}
|
48036
|
+
|
47995
48037
|
declare interface TempBanRequest {
|
47996
48038
|
/** id36 of a modmail conversation id */
|
47997
48039
|
conversationId: string;
|