@devvit/public-api 0.10.23-next-2024-07-02-fe7059b4e.0 → 0.10.23-next-2024-07-23-7552e0bd4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/apis/AssetsClient/AssetsClient.d.ts +0 -6
- package/apis/AssetsClient/AssetsClient.d.ts.map +1 -1
- package/apis/AssetsClient/AssetsClient.js +12 -26
- package/apis/makeAPIClients.d.ts.map +1 -1
- package/apis/makeAPIClients.js +2 -2
- package/apis/realtime/RealtimeClient.d.ts +2 -2
- package/apis/realtime/RealtimeClient.d.ts.map +1 -1
- package/apis/realtime/RealtimeClient.js +2 -2
- package/apis/reddit/RedditAPIClient.d.ts +2 -10
- package/apis/reddit/RedditAPIClient.d.ts.map +1 -1
- package/apis/reddit/RedditAPIClient.js +1 -11
- package/apis/reddit/models/Comment.d.ts +0 -2
- package/apis/reddit/models/Comment.d.ts.map +1 -1
- package/apis/reddit/models/Comment.js +2 -12
- package/apis/reddit/models/Post.d.ts +0 -2
- package/apis/reddit/models/Post.d.ts.map +1 -1
- package/apis/reddit/models/Post.js +2 -12
- package/apis/reddit/models/Subreddit.d.ts +1 -17
- package/apis/reddit/models/Subreddit.d.ts.map +1 -1
- package/apis/reddit/models/Subreddit.js +0 -15
- package/apis/reddit/models/User.d.ts.map +1 -1
- package/apis/reddit/models/User.js +2 -1
- package/apis/scheduler/SchedulerClient.d.ts +1 -1
- package/apis/scheduler/SchedulerClient.d.ts.map +1 -1
- package/apis/ui/UIClient.d.ts +3 -3
- package/apis/ui/UIClient.d.ts.map +1 -1
- package/apis/ui/helpers/assertValidFormFields.d.ts +2 -2
- package/apis/ui/helpers/assertValidFormFields.d.ts.map +1 -1
- package/apis/ui/helpers/getFormValues.d.ts +2 -2
- package/apis/ui/helpers/getFormValues.d.ts.map +1 -1
- package/apis/ui/helpers/getFormValues.js +1 -3
- package/apis/ui/helpers/transformForm.d.ts +1 -1
- package/apis/ui/helpers/transformForm.d.ts.map +1 -1
- package/devvit/Devvit.d.ts +6 -8
- package/devvit/Devvit.d.ts.map +1 -1
- package/devvit/Devvit.js +2 -10
- package/devvit/internals/blocks/BlocksReconciler.d.ts.map +1 -1
- package/devvit/internals/blocks/BlocksReconciler.js +5 -25
- package/devvit/internals/blocks/BlocksTransformer.d.ts +2 -2
- package/devvit/internals/blocks/BlocksTransformer.d.ts.map +1 -1
- package/devvit/internals/blocks/BlocksTransformer.js +3 -3
- package/devvit/internals/blocks/handler/BlocksHandler.d.ts +0 -4
- package/devvit/internals/blocks/handler/BlocksHandler.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/BlocksHandler.js +9 -33
- package/devvit/internals/blocks/handler/ContextBuilder.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/ContextBuilder.js +8 -3
- package/devvit/internals/blocks/handler/RenderContext.d.ts +1 -5
- package/devvit/internals/blocks/handler/RenderContext.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/RenderContext.js +3 -30
- package/devvit/internals/blocks/handler/UIClient.d.ts +4 -4
- package/devvit/internals/blocks/handler/UIClient.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/test-helpers.d.ts +0 -1
- package/devvit/internals/blocks/handler/test-helpers.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/test-helpers.js +0 -3
- package/devvit/internals/blocks/handler/types.d.ts +9 -15
- package/devvit/internals/blocks/handler/types.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useAsync.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useAsync.js +13 -17
- package/devvit/internals/blocks/handler/useChannel.d.ts +1 -2
- package/devvit/internals/blocks/handler/useChannel.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useChannel.js +13 -49
- package/devvit/internals/blocks/handler/useForm.d.ts +5 -18
- package/devvit/internals/blocks/handler/useForm.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useForm.js +6 -3
- package/devvit/internals/blocks/handler/useState.d.ts +1 -1
- package/devvit/internals/blocks/handler/useState.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useState.js +14 -14
- package/devvit/internals/blocks/useChannel.d.ts.map +1 -1
- package/devvit/internals/blocks/useChannel.js +2 -15
- package/devvit/internals/blocks/useForm.d.ts.map +1 -1
- package/devvit/internals/context.d.ts.map +1 -1
- package/devvit/internals/context.js +13 -16
- package/index.d.ts +0 -1
- package/index.d.ts.map +1 -1
- package/index.js +0 -1
- package/meta.json +309 -311
- package/meta.min.json +116 -186
- package/package.json +8 -8
- package/public-api.d.ts +1750 -2042
- package/public-api.iife.js +7282 -7007
- package/public-api.min.js +5 -5
- package/public-api.min.js.map +4 -4
- package/types/context.d.ts +3 -5
- package/types/context.d.ts.map +1 -1
- package/types/data.d.ts +3 -3
- package/types/data.d.ts.map +1 -1
- package/types/form.d.ts +17 -28
- package/types/form.d.ts.map +1 -1
- package/types/hooks.d.ts +7 -37
- package/types/hooks.d.ts.map +1 -1
- package/types/realtime.d.ts +3 -3
- package/types/realtime.d.ts.map +1 -1
- package/types/scheduler.d.ts +14 -15
- package/types/scheduler.d.ts.map +1 -1
- package/types/ui-client.d.ts +4 -4
- package/types/ui-client.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/cache.d.ts +0 -9
- package/devvit/internals/blocks/handler/cache.d.ts.map +0 -1
- package/devvit/internals/blocks/handler/cache.js +0 -5
- package/devvit/internals/blocks/handler/cache.test.d.ts.map +0 -1
- package/devvit/internals/blocks/handler/promise_cache.d.ts +0 -67
- package/devvit/internals/blocks/handler/promise_cache.d.ts.map +0 -1
- package/devvit/internals/blocks/handler/promise_cache.js +0 -239
- package/types/context.test.d.ts.map +0 -1
- package/version.json +0 -75
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SchedulerClient.d.ts","sourceRoot":"","sources":["../../../src/apis/scheduler/SchedulerClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"SchedulerClient.d.ts","sourceRoot":"","sources":["../../../src/apis/scheduler/SchedulerClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qBAAa,eAAgB,YAAW,SAAS;;gBAGnC,QAAQ,EAAE,QAAQ;IAIxB,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3E,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,QAAQ,IAAI,OAAO,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAC;CAkC/D"}
|
package/apis/ui/UIClient.d.ts
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
import type { JSONObject } from '@devvit/shared-types/json.js';
|
2
|
-
import type { FormKey } from '@devvit/shared-types/useForm.js';
|
3
1
|
import type { BlocksReconciler } from '../../devvit/internals/blocks/BlocksReconciler.js';
|
2
|
+
import type { Data } from '../../types/data.js';
|
3
|
+
import type { FormKey } from '../../types/form.js';
|
4
4
|
import type { Toast } from '../../types/toast.js';
|
5
5
|
import type { UIClient as _UIClient } from '../../types/ui-client.js';
|
6
6
|
import type { Comment, Post, Subreddit, User } from '../reddit/models/index.js';
|
7
7
|
export declare class UIClient implements _UIClient {
|
8
8
|
#private;
|
9
9
|
constructor(reconciler?: BlocksReconciler);
|
10
|
-
showForm(formKey: FormKey, data?:
|
10
|
+
showForm(formKey: FormKey, data?: Data | undefined): void;
|
11
11
|
showToast(text: string): void;
|
12
12
|
showToast(toast: Toast): void;
|
13
13
|
navigateTo(url: string): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UIClient.d.ts","sourceRoot":"","sources":["../../../src/apis/ui/UIClient.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"UIClient.d.ts","sourceRoot":"","sources":["../../../src/apis/ui/UIClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEhF,qBAAa,QAAS,YAAW,SAAS;;gBAK5B,UAAU,CAAC,EAAE,gBAAgB;IAIzC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IA4CzD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC7B,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAwB7B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC7B,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IACtC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAC5B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAClC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;CAsB7B"}
|
@@ -2,6 +2,6 @@ import type { FormField } from '../../../types/form.js';
|
|
2
2
|
/**
|
3
3
|
* Make sure that the form fields have unique names.
|
4
4
|
*/
|
5
|
-
export declare function assertValidFormFields(fields:
|
6
|
-
export declare function assertAppSecretsOnly(fields:
|
5
|
+
export declare function assertValidFormFields(fields: FormField[], seenNames?: Set<string>): void;
|
6
|
+
export declare function assertAppSecretsOnly(fields: FormField[]): void;
|
7
7
|
//# sourceMappingURL=assertValidFormFields.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"assertValidFormFields.d.ts","sourceRoot":"","sources":["../../../../src/apis/ui/helpers/assertValidFormFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"assertValidFormFields.d.ts","sourceRoot":"","sources":["../../../../src/apis/ui/helpers/assertValidFormFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,GAAE,GAAG,CAAC,MAAM,CAAa,GACjC,IAAI,CAiBN;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAM9D"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { FormFieldValue } from '@devvit/protos';
|
2
|
-
import type {
|
2
|
+
import type { Data } from '../../../types/index.js';
|
3
3
|
export declare function flattenFormFieldValue(value: FormFieldValue): undefined | string | string[] | number | boolean;
|
4
4
|
export declare function getFormValues(results: {
|
5
5
|
[key: string]: FormFieldValue;
|
6
|
-
}):
|
6
|
+
}): Data;
|
7
7
|
//# sourceMappingURL=getFormValues.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getFormValues.d.ts","sourceRoot":"","sources":["../../../../src/apis/ui/helpers/getFormValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"getFormValues.d.ts","sourceRoot":"","sources":["../../../../src/apis/ui/helpers/getFormValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAkBlD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,GAAG,IAAI,CAK9E"}
|
@@ -20,9 +20,7 @@ export function flattenFormFieldValue(value) {
|
|
20
20
|
}
|
21
21
|
export function getFormValues(results) {
|
22
22
|
return Object.keys(results).reduce((acc, key) => {
|
23
|
-
|
24
|
-
if (val !== undefined)
|
25
|
-
acc[key] = val;
|
23
|
+
acc[key] = flattenFormFieldValue(results[key]);
|
26
24
|
return acc;
|
27
25
|
}, {});
|
28
26
|
}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { FormField as FormFieldProto } from '@devvit/protos';
|
2
2
|
import type { FormField } from '../../../types/form.js';
|
3
|
-
export declare function transformFormFields(fields:
|
3
|
+
export declare function transformFormFields(fields: FormField[]): FormFieldProto[];
|
4
4
|
//# sourceMappingURL=transformForm.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transformForm.d.ts","sourceRoot":"","sources":["../../../../src/apis/ui/helpers/transformForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAEV,SAAS,EAOV,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"transformForm.d.ts","sourceRoot":"","sources":["../../../../src/apis/ui/helpers/transformForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAEV,SAAS,EAOV,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAqBzE"}
|
package/devvit/Devvit.d.ts
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
import { Actor } from '@devvit/shared-types/Actor.js';
|
2
|
-
import type {
|
3
|
-
import type { FormKey } from '@devvit/shared-types/useForm.js';
|
4
|
-
import type { BaseContext, Configuration, ContextAPIClients, CustomPostType, Form, FormFunction, FormOnSubmitEventHandler, FormToFormValues, IconName, MenuItem, MultiTriggerDefinition, ScheduledJobType, SettingsFormField, TriggerEvent, TriggerEventType, TriggerOnEventHandler } from '../types/index.js';
|
2
|
+
import type { BaseContext, Configuration, ContextAPIClients, CustomPostType, Data, Form, FormFunction, FormKey, FormOnSubmitEventHandler, IconName, MenuItem, MultiTriggerDefinition, ScheduledJobType, SettingsFormField, TriggerEvent, TriggerEventType, TriggerOnEventHandler } from '../types/index.js';
|
5
3
|
/**
|
6
4
|
* Home for debug flags, settings, and other information. Any type removals
|
7
5
|
* may cause type errors but not runtime errors.
|
@@ -93,7 +91,7 @@ export declare class Devvit extends Actor {
|
|
93
91
|
* @param onSubmit - The function to call when the form is submitted.
|
94
92
|
* @returns A unique key for the form that can used with `ui.showForm`.
|
95
93
|
*/
|
96
|
-
static createForm
|
94
|
+
static createForm(form: Form | FormFunction, onSubmit: FormOnSubmitEventHandler): FormKey;
|
97
95
|
/**
|
98
96
|
* Add a scheduled job type for your app. This will allow you to schedule jobs using the `scheduler` API.
|
99
97
|
* @param job - The scheduled job type to add.
|
@@ -126,7 +124,7 @@ export declare class Devvit extends Actor {
|
|
126
124
|
* });
|
127
125
|
* ```
|
128
126
|
*/
|
129
|
-
static addSchedulerJob
|
127
|
+
static addSchedulerJob(job: ScheduledJobType): void;
|
130
128
|
/**
|
131
129
|
* Add settings that can be configured to customize the behavior of your app. There are two levels of settings: App settings (scope: 'app') and
|
132
130
|
* install settings (scope: 'installation' or unspecified scope). Install settings are meant to be configured by the user that installs your app.
|
@@ -353,11 +351,11 @@ export declare namespace Devvit {
|
|
353
351
|
id?: string;
|
354
352
|
};
|
355
353
|
type OnPressEvent = {
|
356
|
-
state?:
|
354
|
+
state?: Data;
|
357
355
|
};
|
358
356
|
type OnMessageEvent = {
|
359
357
|
type: string;
|
360
|
-
data?:
|
358
|
+
data?: Data;
|
361
359
|
};
|
362
360
|
type OnPressEventHandler = (event: OnPressEvent) => void | Promise<void>;
|
363
361
|
type OnWebViewEventHandler = (event: OnMessageEvent) => void | Promise<void>;
|
@@ -455,7 +453,7 @@ export declare namespace Devvit {
|
|
455
453
|
};
|
456
454
|
type WebViewProps = BaseProps & WebViewActionable & {
|
457
455
|
url: string;
|
458
|
-
state?:
|
456
|
+
state?: Data;
|
459
457
|
};
|
460
458
|
}
|
461
459
|
}
|
package/devvit/Devvit.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Devvit.d.ts","sourceRoot":"","sources":["../../src/devvit/Devvit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItD,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"Devvit.d.ts","sourceRoot":"","sources":["../../src/devvit/Devvit.ts"],"names":[],"mappings":"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"}
|
package/devvit/Devvit.js
CHANGED
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
9
9
|
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");
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
11
11
|
};
|
12
|
-
var _a, _Devvit_configuration, _Devvit_menuItems, _Devvit_customPostType, _Devvit_formDefintions, _Devvit_scheduledJobHandlers, _Devvit_installationSettings, _Devvit_appSettings, _Devvit_triggerOnEventHandlers, _Devvit_uses, _Devvit_pluginClients, _Devvit_use, _Devvit_assets
|
12
|
+
var _a, _Devvit_configuration, _Devvit_menuItems, _Devvit_customPostType, _Devvit_formDefintions, _Devvit_scheduledJobHandlers, _Devvit_installationSettings, _Devvit_appSettings, _Devvit_triggerOnEventHandlers, _Devvit_uses, _Devvit_pluginClients, _Devvit_use, _Devvit_assets;
|
13
13
|
import * as protos from '@devvit/protos';
|
14
14
|
import { Actor } from '@devvit/shared-types/Actor.js';
|
15
15
|
import { assertValidFormFields } from '../apis/ui/helpers/assertValidFormFields.js';
|
@@ -339,7 +339,7 @@ export class Devvit extends Actor {
|
|
339
339
|
static get settingsPlugin() {
|
340
340
|
const settings = __classPrivateFieldGet(this, _a, "f", _Devvit_pluginClients)[protos.SettingsDefinition.fullName];
|
341
341
|
if (!settings) {
|
342
|
-
throw new Error('Settings
|
342
|
+
throw new Error('Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`');
|
343
343
|
}
|
344
344
|
return settings;
|
345
345
|
}
|
@@ -384,10 +384,6 @@ export class Devvit extends Actor {
|
|
384
384
|
return __classPrivateFieldGet(_a, _a, "f", _Devvit_assets);
|
385
385
|
}
|
386
386
|
/** @internal */
|
387
|
-
static get webviewAssets() {
|
388
|
-
return __classPrivateFieldGet(_a, _a, "f", _Devvit_webviewAssets);
|
389
|
-
}
|
390
|
-
/** @internal */
|
391
387
|
constructor(config) {
|
392
388
|
super(config);
|
393
389
|
__classPrivateFieldSet(_a, _a, config.assets ?? {}, "f", _Devvit_assets);
|
@@ -421,8 +417,6 @@ export class Devvit extends Actor {
|
|
421
417
|
if (__classPrivateFieldGet(_a, _a, "f", _Devvit_triggerOnEventHandlers).size > 0) {
|
422
418
|
registerTriggers(config);
|
423
419
|
}
|
424
|
-
__classPrivateFieldSet(_a, _a, config.assets ?? {}, "f", _Devvit_assets);
|
425
|
-
__classPrivateFieldSet(_a, _a, config.webviewAssets ?? {}, "f", _Devvit_webviewAssets);
|
426
420
|
}
|
427
421
|
}
|
428
422
|
_a = Devvit, _Devvit_use = function _Devvit_use(d, opts) {
|
@@ -454,8 +448,6 @@ _Devvit_uses = { value: {} };
|
|
454
448
|
_Devvit_pluginClients = { value: {} };
|
455
449
|
/** @internal */
|
456
450
|
_Devvit_assets = { value: {} };
|
457
|
-
/** @internal */
|
458
|
-
_Devvit_webviewAssets = { value: {} };
|
459
451
|
(function (Devvit) {
|
460
452
|
function createElement(type, props, ...children) {
|
461
453
|
const blockElement = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BlocksReconciler.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/blocks/BlocksReconciler.ts"],"names":[],"mappings":"AA6CA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,4BAA4B,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"BlocksReconciler.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/blocks/BlocksReconciler.ts"],"names":[],"mappings":"AA6CA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,4BAA4B,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAUxE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAIxC"}
|
@@ -212,23 +212,14 @@ export class BlocksReconciler {
|
|
212
212
|
const blockElement = element;
|
213
213
|
// Intrinsic elements
|
214
214
|
if (typeof blockElement.type === 'string') {
|
215
|
-
const childrens =
|
216
|
-
/**
|
217
|
-
* Resist the urge to clean this up with flatMap. We need to await each processBlock _in order_.
|
218
|
-
*
|
219
|
-
* Number of times this has caused a major headache: 3
|
220
|
-
*
|
221
|
-
* Please increment the counter above if you had to revert this.
|
222
|
-
*/
|
223
|
-
for (let i = 0; i < blockElement.children.length; i++) {
|
224
|
-
const child = blockElement.children[i];
|
215
|
+
const childrens = await Promise.all(blockElement.children.flatMap(async (child, i) => {
|
225
216
|
if (child === undefined || child === null)
|
226
|
-
|
227
|
-
|
217
|
+
return [];
|
218
|
+
return await this.processBlock(child, idGenerator, [
|
228
219
|
...path,
|
229
220
|
`${blockElement.type}.${i}`,
|
230
|
-
])
|
231
|
-
}
|
221
|
+
]);
|
222
|
+
}));
|
232
223
|
const children = childrens.flat();
|
233
224
|
const collapsedChildren = __classPrivateFieldGet(this, _BlocksReconciler_instances, "m", _BlocksReconciler_flatten).call(this, children);
|
234
225
|
await this.processProps(blockElement);
|
@@ -272,12 +263,6 @@ export class BlocksReconciler {
|
|
272
263
|
// Ensure that the number of hooks are same from the previous render.
|
273
264
|
if (!this.isInitialRender) {
|
274
265
|
const previousState = this.getPreviousComponentState();
|
275
|
-
/**
|
276
|
-
* Note: This relies on the magic of {0: "a", 1: "b"} => ["a", "b"] and back under many circumstances.
|
277
|
-
* It is too magic, but as this component is complicated and deprecated, it is not worth fixing.
|
278
|
-
*
|
279
|
-
* In fact previousState is an array. This is confusing.
|
280
|
-
*/
|
281
266
|
const prevHookCount = Object.keys(previousState).length;
|
282
267
|
if (prevHookCount !== this.currentHookIndex) {
|
283
268
|
throw new Error('Invalid hook call. Hooks can only be called at the top-level of a function component. Make sure that you are not calling hooks inside loops, conditions, or nested functions.');
|
@@ -427,10 +412,6 @@ export class BlocksReconciler {
|
|
427
412
|
// {"0": "one", "2": "three"} (length: 2; fails consistency check, see line 251)
|
428
413
|
// After:
|
429
414
|
// ["one", undefined, "three"] (length: 3)
|
430
|
-
/**
|
431
|
-
* Note: This relies on the magic of {0: "a", 1: "b"} => ["a", "b"] and back under many circumstances.
|
432
|
-
* It is too magic, but as this component is complicated and deprecated, it is not worth fixing.
|
433
|
-
*/
|
434
415
|
for (const key of Object.keys(this.renderState)) {
|
435
416
|
this.renderState[key] = Object.values(this.renderState[key]);
|
436
417
|
}
|
@@ -450,7 +431,6 @@ _BlocksReconciler_rerenderAlreadyScheduled = new WeakMap(), _BlocksReconciler_in
|
|
450
431
|
this.realtimeChannels = [];
|
451
432
|
this.realtimeUpdated = false;
|
452
433
|
}, _BlocksReconciler_makeContextProps = function _BlocksReconciler_makeContextProps() {
|
453
|
-
// skip typechecks for useForm which is templatized.
|
454
434
|
const props = {
|
455
435
|
...getContextFromMetadata(this.metadata, this.state.__postData?.thingId),
|
456
436
|
modLog: this.modLog,
|
@@ -2,7 +2,7 @@ import type { Block, BlockAction, BlockAlignment, BlockBorder, BlockColor, Block
|
|
2
2
|
import { BlockAnimationDirection, BlockAnimationLoopMode, BlockAnimationType, BlockAvatarBackground, BlockAvatarFacing, BlockAvatarSize, BlockButtonAppearance, BlockButtonSize, BlockFullSnooSize, BlockGap, BlockIconSize, BlockImageResizeMode, BlockPadding, BlockRadius, BlockSpacerShape, BlockSpacerSize, BlockStackDirection, BlockTextOutline, BlockTextOverflow, BlockTextSize, BlockTextStyle, BlockTextWeight, BlockType } from '@devvit/protos';
|
3
3
|
import { Devvit } from '../../Devvit.js';
|
4
4
|
import type { ReifiedBlockElement, ReifiedBlockElementOrLiteral } from './BlocksReconciler.js';
|
5
|
-
import type { AssetsClient
|
5
|
+
import type { AssetsClient } from '../../../apis/AssetsClient/AssetsClient.js';
|
6
6
|
type DataSet = Record<string, unknown>;
|
7
7
|
export declare class BlocksTransformer {
|
8
8
|
#private;
|
@@ -44,7 +44,7 @@ export declare class BlocksTransformer {
|
|
44
44
|
childrenToBlocks(children: ReifiedBlockElementOrLiteral[]): Block[];
|
45
45
|
getThemedColors(color: Devvit.Blocks.ColorString | undefined, light?: Devvit.Blocks.ColorString | undefined, dark?: Devvit.Blocks.ColorString | undefined): BlockColor | undefined;
|
46
46
|
parsePixels(input: Devvit.Blocks.SizePixels | number): number;
|
47
|
-
resolveAssetUrl(url: string
|
47
|
+
resolveAssetUrl(url: string): string;
|
48
48
|
childrenToString(children: ReifiedBlockElementOrLiteral[]): string;
|
49
49
|
makeRoot(props: Devvit.Blocks.BaseProps | undefined, ...children: ReifiedBlockElementOrLiteral[]): Block;
|
50
50
|
wrapRoot(props: Devvit.Blocks.BaseProps | undefined, children: Block[]): Block;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BlocksTransformer.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/blocks/BlocksTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAEf,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EAER,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,SAAS,EAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAW/F,OAAO,KAAK,EAAE,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"BlocksTransformer.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/blocks/BlocksTransformer.ts"],"names":[],"mappings":"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"}
|
@@ -535,9 +535,9 @@ export class BlocksTransformer {
|
|
535
535
|
}
|
536
536
|
return input;
|
537
537
|
}
|
538
|
-
resolveAssetUrl(url
|
538
|
+
resolveAssetUrl(url) {
|
539
539
|
// try and resolve the URL but allow the client to decide if unknown URLs are allowed
|
540
|
-
return __classPrivateFieldGet(this, _BlocksTransformer_assetsClient, "f").call(this)?.getURL(url
|
540
|
+
return __classPrivateFieldGet(this, _BlocksTransformer_assetsClient, "f").call(this)?.getURL(url) ?? url;
|
541
541
|
}
|
542
542
|
childrenToString(children) {
|
543
543
|
return children.map((c) => c.toString()).join('');
|
@@ -688,7 +688,7 @@ export class BlocksTransformer {
|
|
688
688
|
return (props &&
|
689
689
|
this.makeBlock(BlockType.BLOCK_WEBVIEW, props, {
|
690
690
|
webviewConfig: {
|
691
|
-
url: this.resolveAssetUrl(props.url
|
691
|
+
url: this.resolveAssetUrl(props.url),
|
692
692
|
state: props.state,
|
693
693
|
},
|
694
694
|
}));
|
@@ -12,10 +12,6 @@ import type { Hook, HookParams, HookSegment } from './types.js';
|
|
12
12
|
export declare let _activeRenderContext: RenderContext | null;
|
13
13
|
export declare function useEffectEmitter(): EffectEmitter;
|
14
14
|
export declare function isRendering(): boolean;
|
15
|
-
/**
|
16
|
-
* See [HookSegment](./types.ts) for more information.
|
17
|
-
*/
|
18
|
-
export declare function assertValidNamespace(input: string): void;
|
19
15
|
/**
|
20
16
|
* This is the recommended low-level interface for creating hooks like useState or useAsync.
|
21
17
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BlocksHandler.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/BlocksHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,
|
1
|
+
{"version":3,"file":"BlocksHandler.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/BlocksHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAe,IAAI,EAAE,UAAU,EAAE,WAAW,EAAS,MAAM,YAAY,CAAC;AAGpF;;;;;;GAMG;AACH,eAAO,IAAI,oBAAoB,EAAE,aAAa,GAAG,IAAW,CAAC;AAE7D,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EACzC,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,GAChC,CAAC,CA8BH;AAED,eAAO,IAAI,oBAAoB,EAAE,aAAa,GAAG,IAAW,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,aAAa;;IAMxB,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAEtC,IAAI,EAAE,GAAG,CAAC,iBAAiB;IAMjC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CA2U1E"}
|
@@ -13,7 +13,7 @@ var _BlocksHandler_instances, _BlocksHandler_root, _BlocksHandler_contextBuilder
|
|
13
13
|
import isEqual from 'lodash.isequal';
|
14
14
|
import { BlocksTransformer } from '../BlocksTransformer.js';
|
15
15
|
import { ContextBuilder } from './ContextBuilder.js';
|
16
|
-
import {
|
16
|
+
import { RenderContext } from './RenderContext.js';
|
17
17
|
import { RenderInterruptError } from './types.js';
|
18
18
|
/**
|
19
19
|
* This can be a global/singleton because render is synchronous.
|
@@ -35,16 +35,6 @@ export function isRendering() {
|
|
35
35
|
function _structuredClone(obj) {
|
36
36
|
return JSON.parse(JSON.stringify(obj));
|
37
37
|
}
|
38
|
-
/**
|
39
|
-
* See [HookSegment](./types.ts) for more information.
|
40
|
-
*/
|
41
|
-
export function assertValidNamespace(input) {
|
42
|
-
const regex = /[-.]/;
|
43
|
-
const valid = input !== '' && !regex.test(input);
|
44
|
-
if (!valid) {
|
45
|
-
throw new Error(`Hook with namespace '${input}' is invalid. Hook namespaces cannot be empty string or contain dashes/dots because they are used as delimiters internally. Please update the hook namespace and try again.`);
|
46
|
-
}
|
47
|
-
}
|
48
38
|
/**
|
49
39
|
* This is the recommended low-level interface for creating hooks like useState or useAsync.
|
50
40
|
*
|
@@ -58,9 +48,10 @@ export function assertValidNamespace(input) {
|
|
58
48
|
*/
|
59
49
|
export function registerHook(options, initializer) {
|
60
50
|
if (!_activeRenderContext) {
|
61
|
-
throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside
|
51
|
+
throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside\
|
52
|
+
of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or\
|
53
|
+
conditionals.");
|
62
54
|
}
|
63
|
-
assertValidNamespace(options.namespace);
|
64
55
|
const hookId = _activeRenderContext.nextHookId(options);
|
65
56
|
const context = _activeRenderContext;
|
66
57
|
const params = {
|
@@ -71,11 +62,10 @@ export function registerHook(options, initializer) {
|
|
71
62
|
},
|
72
63
|
context: _activeRenderContext,
|
73
64
|
};
|
74
|
-
const fromNull = _activeRenderContext._state[hookId] === undefined
|
75
|
-
_isTombstone(_activeRenderContext._state[hookId]);
|
65
|
+
const fromNull = _activeRenderContext._state[hookId] === undefined;
|
76
66
|
_activeRenderContext._hooks[hookId] = _activeRenderContext._hooks[hookId] ?? initializer(params);
|
77
67
|
const hook = _activeRenderContext._hooks[hookId];
|
78
|
-
if (
|
68
|
+
if (_activeRenderContext._state[hookId] !== undefined) {
|
79
69
|
hook.state = _activeRenderContext._state[hookId];
|
80
70
|
}
|
81
71
|
hook.onStateLoaded?.();
|
@@ -184,7 +174,7 @@ export class BlocksHandler {
|
|
184
174
|
if (!isMainQueue && !event.async) {
|
185
175
|
if (__classPrivateFieldGet(this, _BlocksHandler_instances, "a", _BlocksHandler_debug_get))
|
186
176
|
console.debug('[blocks] NOT reprocessing event in BlocksHandler, sync mismatch A', event);
|
187
|
-
// We're async, this is a main
|
177
|
+
// We're async, this is a main qrueue event. We need to send it back to the platform to let
|
188
178
|
// the platform synchronize it.
|
189
179
|
remainingRequeueEvents.push(event);
|
190
180
|
continue;
|
@@ -267,15 +257,6 @@ async function _BlocksHandler_handleAsyncQueues(context, ...batch) {
|
|
267
257
|
await __classPrivateFieldGet(this, _BlocksHandler_instances, "m", _BlocksHandler_attemptHook).call(this, context, event);
|
268
258
|
}));
|
269
259
|
}, _BlocksHandler_attemptHook = async function _BlocksHandler_attemptHook(context, event) {
|
270
|
-
// I added this warning here as an alert for al weary travelers that there is a non-null
|
271
|
-
// assertion below that will wake a dragon! In RenderPostRequest land you need to add the
|
272
|
-
// hook field to all events otherwise they won't work. Since everything is optional you
|
273
|
-
// don't get type help so at least you'll get a warning at runtime.
|
274
|
-
//
|
275
|
-
// Unclear on if we can throw here or not so fell back to this.
|
276
|
-
if (!event.hook) {
|
277
|
-
console.warn(`Received an event in #attemptHook that does not have an associated hook. This will cause the event to be undelivered and may cause bugs. Make sure that event passes a hook field. Event:`, { event });
|
278
|
-
}
|
279
260
|
const hook = context._hooks[event.hook];
|
280
261
|
if (hook?.onUIEvent) {
|
281
262
|
try {
|
@@ -332,9 +313,7 @@ async function _BlocksHandler_handleAsyncQueues(context, ...batch) {
|
|
332
313
|
_activeRenderContext = null;
|
333
314
|
}
|
334
315
|
}, _BlocksHandler_render = function _BlocksHandler_render(component, props, context) {
|
335
|
-
|
336
|
-
// use || instead of ?? due to empty string
|
337
|
-
context.push({ namespace: component.name || 'anonymous', ...props });
|
316
|
+
context.push({ namespace: component.name, ...props });
|
338
317
|
try {
|
339
318
|
const element = component(props, context.devvitContext);
|
340
319
|
return __classPrivateFieldGet(this, _BlocksHandler_instances, "m", _BlocksHandler_renderElement).call(this, element, context);
|
@@ -379,10 +358,7 @@ async function _BlocksHandler_handleAsyncQueues(context, ...batch) {
|
|
379
358
|
}, _BlocksHandler_reifyProps = function _BlocksHandler_reifyProps(props) {
|
380
359
|
const reifiedProps = {};
|
381
360
|
for (const key in props) {
|
382
|
-
if (typeof props[key] === '
|
383
|
-
// skip
|
384
|
-
}
|
385
|
-
else if (typeof props[key] === 'function') {
|
361
|
+
if (typeof props[key] === 'function') {
|
386
362
|
const hook = registerHook({
|
387
363
|
namespace: key,
|
388
364
|
key: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ContextBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/ContextBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAY1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"ContextBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/ContextBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAY1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiBxD,qBAAa,cAAc;IAClB,YAAY,CACjB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC,OAAO;CA2ClB"}
|
@@ -14,7 +14,12 @@ import { useChannel } from './useChannel.js';
|
|
14
14
|
import { useForm } from './useForm.js';
|
15
15
|
import { useInterval } from './useInterval.js';
|
16
16
|
import { useState } from './useState.js';
|
17
|
-
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
18
|
+
const UnimplementedProxy = new Proxy({}, {
|
19
|
+
get: function (_target, prop, _receiver) {
|
20
|
+
throw new Error(`Unimplemented API: ${String(prop)}`);
|
21
|
+
},
|
22
|
+
});
|
18
23
|
export class ContextBuilder {
|
19
24
|
buildContext(renderContext, request, metadata) {
|
20
25
|
const modLog = new ModLogClient(metadata);
|
@@ -27,7 +32,7 @@ export class ContextBuilder {
|
|
27
32
|
const media = new MediaClient(metadata);
|
28
33
|
const assets = new AssetsClient();
|
29
34
|
const realtime = new RealtimeClient(metadata);
|
30
|
-
const cache =
|
35
|
+
const cache = UnimplementedProxy;
|
31
36
|
const apiClients = {
|
32
37
|
modLog,
|
33
38
|
kvStore,
|
@@ -42,7 +47,7 @@ export class ContextBuilder {
|
|
42
47
|
useState,
|
43
48
|
useChannel,
|
44
49
|
useInterval,
|
45
|
-
useForm
|
50
|
+
useForm,
|
46
51
|
cache,
|
47
52
|
dimensions: request.env?.dimensions,
|
48
53
|
uiEnvironment: {
|
@@ -20,7 +20,7 @@ export declare class RenderContext implements EffectEmitter {
|
|
20
20
|
next: number;
|
21
21
|
})[];
|
22
22
|
_hooks: {
|
23
|
-
[
|
23
|
+
[key: string]: Hook;
|
24
24
|
};
|
25
25
|
_prevHookId: string;
|
26
26
|
_effects: {
|
@@ -49,9 +49,6 @@ export declare class RenderContext implements EffectEmitter {
|
|
49
49
|
constructor(request: UIRequest, meta: Metadata);
|
50
50
|
/** The state delta new to this render. */
|
51
51
|
get _changedState(): BlocksState;
|
52
|
-
get hooks(): {
|
53
|
-
readonly [hookID: string]: Hook;
|
54
|
-
};
|
55
52
|
/** The complete render state. */
|
56
53
|
get _state(): BlocksState;
|
57
54
|
/** Replacing state resets the delta for the next render. */
|
@@ -61,7 +58,6 @@ export declare class RenderContext implements EffectEmitter {
|
|
61
58
|
addUndeliveredEventHandler(id: string, handler: EventHandler): void;
|
62
59
|
addGlobalUndeliveredEventHandler(id: string, handler: EventHandler): void;
|
63
60
|
getHook(ref: HookRef): Hook;
|
64
|
-
/** Catches events with no active handler and routes to the corresponding hook to detach/unsubscribe/etc **/
|
65
61
|
static addGlobalUndeliveredEventHandler(id: string, handler: EventHandler): void;
|
66
62
|
handleUndeliveredEvent(ev: UIEvent): Promise<Effect[] | void>;
|
67
63
|
emitEffect(dedupeKey: string, effect: Effect): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/RenderContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
1
|
+
{"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/RenderContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExF;;;;;;;;;GASG;AACH,qBAAa,aAAc,YAAW,aAAa;;IACjD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAElC,SAAS,EAAE,CAAC,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAM;IACnD,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAM;IACrC,WAAW,EAAE,MAAM,CAAM;IACzB,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IACzC,QAAQ,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAM;IAC1C,qDAAqD;IACrD,cAAc,EAAE,OAAO,EAAE,CAAM;IAE/B,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IACxC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IAC5C,MAAM,CAAC,0BAA0B,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAM;IACxE,oBAAoB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAM;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAEhC,IAAI,aAAa,IAAI,MAAM,CAAC,OAAO,CAKlC;IAED,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAExC;gBAEW,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;IAO9C,0CAA0C;IAC1C,IAAI,aAAa,IAAI,WAAW,CAI/B;IAED,iCAAiC;IACjC,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4DAA4D;IAC5D,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAG5B;IAED,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIhC,GAAG,IAAI,IAAI;IAIX,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAInE,gCAAgC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIzE,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI3B,MAAM,CAAC,gCAAgC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI1E,sBAAsB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAUnE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,kBAAkB,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;IAmB9C,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;CA0CzC"}
|