@devvit/public-api 0.12.0-next-2025-04-30-2e2a14dbe.0 → 0.12.0-next-2025-08-12-20-19-11-8d352335b.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/apis/AssetsClient/AssetsClient.d.ts +2 -2
- package/apis/AssetsClient/AssetsClient.d.ts.map +1 -1
- package/apis/AssetsClient/AssetsClient.js +5 -7
- package/apis/key-value-storage/KeyValueStorage.d.ts +1 -1
- package/apis/key-value-storage/KeyValueStorage.d.ts.map +1 -1
- package/apis/makeAPIClients.d.ts.map +1 -1
- package/apis/makeAPIClients.js +3 -0
- package/apis/media/MediaClient.js +1 -1
- package/apis/realtime/RealtimeClient.d.ts +1 -1
- package/apis/realtime/RealtimeClient.d.ts.map +1 -1
- package/apis/reddit/RedditAPIClient.d.ts +41 -41
- package/apis/reddit/RedditAPIClient.d.ts.map +1 -1
- package/apis/reddit/RedditAPIClient.js +150 -151
- package/apis/reddit/models/Comment.d.ts +4 -1
- package/apis/reddit/models/Comment.d.ts.map +1 -1
- package/apis/reddit/models/Comment.js +4 -1
- package/apis/reddit/models/Flair.d.ts +1 -1
- package/apis/reddit/models/Flair.d.ts.map +1 -1
- package/apis/reddit/models/Flair.js +2 -2
- package/apis/reddit/models/Listing.d.ts +1 -1
- package/apis/reddit/models/Listing.d.ts.map +1 -1
- package/apis/reddit/models/ModAction.d.ts +3 -0
- package/apis/reddit/models/ModAction.d.ts.map +1 -1
- package/apis/reddit/models/ModAction.js +1 -2
- package/apis/reddit/models/ModMail.d.ts +23 -23
- package/apis/reddit/models/ModMail.js +24 -24
- package/apis/reddit/models/ModNote.d.ts +1 -1
- package/apis/reddit/models/ModNote.d.ts.map +1 -1
- package/apis/reddit/models/ModNote.js +1 -1
- package/apis/reddit/models/Post.d.ts +32 -5
- package/apis/reddit/models/Post.d.ts.map +1 -1
- package/apis/reddit/models/Post.js +74 -7
- package/apis/reddit/models/PrivateMessage.d.ts +1 -1
- package/apis/reddit/models/PrivateMessage.d.ts.map +1 -1
- package/apis/reddit/models/PrivateMessage.js +1 -1
- package/apis/reddit/models/Subreddit.d.ts +27 -9
- package/apis/reddit/models/Subreddit.d.ts.map +1 -1
- package/apis/reddit/models/Subreddit.js +12 -18
- package/apis/reddit/models/User.d.ts +23 -2
- package/apis/reddit/models/User.d.ts.map +1 -1
- package/apis/reddit/models/User.js +2 -15
- package/apis/reddit/models/Vault.d.ts +4 -1
- package/apis/reddit/models/Vault.d.ts.map +1 -1
- package/apis/reddit/models/Vault.js +3 -8
- package/apis/reddit/models/index.d.ts +1 -1
- package/apis/reddit/models/index.d.ts.map +1 -1
- package/apis/reddit/models/index.js +1 -0
- package/apis/reddit/tests/utils/createTestRedditApiClient.d.ts +8 -0
- package/apis/reddit/tests/utils/createTestRedditApiClient.d.ts.map +1 -0
- package/apis/reddit/tests/utils/createTestRedditApiClient.js +16 -0
- package/apis/redis/RedisClient.d.ts +0 -1
- package/apis/redis/RedisClient.d.ts.map +1 -1
- package/apis/redis/RedisClient.js +6 -0
- package/apis/redis/RedisClient.tests.js +3 -0
- package/apis/scheduler/SchedulerClient.js +1 -1
- package/apis/ui/UIClient.d.ts +3 -1
- package/apis/ui/UIClient.d.ts.map +1 -1
- package/apis/ui/UIClient.js +13 -12
- package/devvit/Devvit.d.ts +2 -2
- package/devvit/Devvit.d.ts.map +1 -1
- package/devvit/Devvit.js +65 -18
- package/devvit/internals/app-settings.d.ts.map +1 -1
- package/devvit/internals/app-settings.js +1 -4
- package/devvit/internals/blocks/BlocksReconciler.d.ts +105 -0
- package/devvit/internals/blocks/BlocksReconciler.d.ts.map +1 -1
- package/devvit/internals/blocks/BlocksReconciler.js +15 -13
- package/devvit/internals/blocks/handler/BlocksHandler.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/BlocksHandler.js +2 -1
- package/devvit/internals/blocks/handler/ContextBuilder.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/ContextBuilder.js +3 -0
- package/devvit/internals/blocks/handler/UIClient.d.ts +7 -5
- package/devvit/internals/blocks/handler/UIClient.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/UIClient.js +14 -13
- package/devvit/internals/blocks/handler/cache.d.ts +1 -1
- package/devvit/internals/blocks/handler/cache.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/test-helpers.d.ts +1 -1
- package/devvit/internals/blocks/handler/test-helpers.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/types.d.ts +1 -1
- package/devvit/internals/blocks/handler/types.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useAsync.d.ts +1 -1
- package/devvit/internals/blocks/handler/useAsync.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useChannel.d.ts +1 -1
- package/devvit/internals/blocks/handler/useChannel.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useForm.d.ts +1 -1
- package/devvit/internals/blocks/handler/useForm.d.ts.map +1 -1
- 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/useWebView.d.ts +1 -1
- package/devvit/internals/blocks/handler/useWebView.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useWebView.js +23 -4
- package/devvit/internals/blocks/useChannel.d.ts.map +1 -1
- package/devvit/internals/cache.d.ts +1 -1
- package/devvit/internals/cache.d.ts.map +1 -1
- package/devvit/internals/context.d.ts +1 -1
- package/devvit/internals/context.d.ts.map +1 -1
- package/devvit/internals/context.js +10 -1
- package/devvit/internals/csrf.d.ts.map +1 -1
- package/devvit/internals/csrf.js +4 -5
- package/devvit/internals/helpers/color.d.ts +1 -1
- package/devvit/internals/helpers/color.d.ts.map +1 -1
- package/devvit/internals/helpers/devvitInternalMessage.d.ts.map +1 -1
- package/devvit/internals/helpers/devvitInternalMessage.js +1 -1
- package/devvit/internals/helpers/extendDevvitPrototype.d.ts +1 -6
- package/devvit/internals/helpers/extendDevvitPrototype.d.ts.map +1 -1
- package/devvit/internals/helpers/extendDevvitPrototype.js +1 -9
- package/devvit/internals/installation-settings.d.ts.map +1 -1
- package/devvit/internals/installation-settings.js +1 -4
- package/devvit/internals/menu-items.d.ts +1 -0
- package/devvit/internals/menu-items.d.ts.map +1 -1
- package/devvit/internals/menu-items.js +9 -3
- package/devvit/internals/semanticColors.d.ts +4 -0
- package/devvit/internals/semanticColors.d.ts.map +1 -1
- package/devvit/internals/semanticColors.js +4 -0
- package/devvit/internals/ui-event-handler.js +3 -3
- package/devvit/internals/upgrade-app-shim.d.ts +1 -5
- package/devvit/internals/upgrade-app-shim.d.ts.map +1 -1
- package/devvit/internals/upgrade-app-shim.js +0 -8
- package/index.d.ts +2 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -2
- package/meta.min.json +401 -342
- package/package.json +23 -20
- package/public-api.min.js +6 -6
- package/public-api.min.js.map +4 -4
- package/types/configuration.d.ts +12 -3
- package/types/configuration.d.ts.map +1 -1
- package/types/context.d.ts +10 -2
- package/types/context.d.ts.map +1 -1
- package/types/data.d.ts +1 -1
- package/types/data.d.ts.map +1 -1
- package/types/form.d.ts +6 -89
- package/types/form.d.ts.map +1 -1
- package/types/form.js +2 -5
- package/types/hooks.d.ts +1 -1
- package/types/hooks.d.ts.map +1 -1
- package/types/icons.d.ts +1 -1
- package/types/icons.d.ts.map +1 -1
- package/types/icons.js +1 -1
- package/types/json.d.ts +43 -0
- package/types/json.d.ts.map +1 -0
- package/types/json.js +1 -0
- package/types/kvStore.d.ts +1 -1
- package/types/kvStore.d.ts.map +1 -1
- package/types/media.d.ts +1 -1
- package/types/menu-item.d.ts +3 -14
- package/types/menu-item.d.ts.map +1 -1
- package/types/realtime.d.ts +1 -1
- package/types/realtime.d.ts.map +1 -1
- package/types/redis.d.ts +0 -1
- package/types/redis.d.ts.map +1 -1
- package/types/scheduler.d.ts +2 -2
- package/types/scheduler.d.ts.map +1 -1
- package/types/tid.d.ts +47 -0
- package/types/tid.d.ts.map +1 -0
- package/types/tid.js +114 -0
- package/types/ui-client.d.ts +12 -6
- package/types/ui-client.d.ts.map +1 -1
- package/types/web-view-ui-client.d.ts +1 -1
- package/types/web-view-ui-client.d.ts.map +1 -1
- package/version.json +6 -8
- package/apis/reddit/index.d.ts +0 -1104
- package/apis/reddit/index.d.ts.map +0 -1
- package/apis/reddit/index.js +0 -1442
- package/apis/reddit/tests/utils/createTestRedditApiContext.d.ts +0 -7
- package/apis/reddit/tests/utils/createTestRedditApiContext.d.ts.map +0 -1
- package/apis/reddit/tests/utils/createTestRedditApiContext.js +0 -23
- package/devvit/internals/async-metadata.d.ts +0 -2
- package/devvit/internals/async-metadata.d.ts.map +0 -1
- package/devvit/internals/async-metadata.js +0 -65
- package/meta.json +0 -10428
- package/public-api.d.ts +0 -60472
- package/public-api.iife.js +0 -102332
- package/tsdoc-metadata.json +0 -11
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Metadata } from '@devvit/protos';
|
|
2
|
-
import type { RedditContext } from '../../index.js';
|
|
3
|
-
export declare function createTestApiContext(customMetadata?: Metadata | undefined, userActions?: boolean): {
|
|
4
|
-
context: RedditContext;
|
|
5
|
-
metadata: Metadata;
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=createTestRedditApiContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createTestRedditApiContext.d.ts","sourceRoot":"","sources":["../../../../../src/apis/reddit/tests/utils/createTestRedditApiContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,wBAAgB,oBAAoB,CAClC,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,EACrC,WAAW,UAAO,GACjB;IACD,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAcA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Header } from '@devvit/shared-types/Header.js';
|
|
2
|
-
import { Devvit } from '../../../../devvit/Devvit.js';
|
|
3
|
-
function createTestMetadata() {
|
|
4
|
-
return {
|
|
5
|
-
[Header.AppUser]: {
|
|
6
|
-
values: ['t2_appuser'],
|
|
7
|
-
},
|
|
8
|
-
[Header.Subreddit]: { values: ['t5_0'] },
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export function createTestApiContext(customMetadata, userActions = true) {
|
|
12
|
-
Devvit.configure({
|
|
13
|
-
redditAPI: true,
|
|
14
|
-
userActions,
|
|
15
|
-
});
|
|
16
|
-
const metadata = customMetadata || createTestMetadata();
|
|
17
|
-
return {
|
|
18
|
-
context: {
|
|
19
|
-
metadata,
|
|
20
|
-
},
|
|
21
|
-
metadata,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async-metadata.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/async-metadata.ts"],"names":[],"mappings":""}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// Do this as an IIFE so that we can have the storage be a const
|
|
2
|
-
const asyncLocalStorage = (function () {
|
|
3
|
-
try {
|
|
4
|
-
// This require() will fail during bundling, and on browsers. That's OK. Leave
|
|
5
|
-
// the async local storage undefined in those cases, and we'll let follow on
|
|
6
|
-
// code decide if they're OK running with that, or if they want to CircuitBreak.
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
8
|
-
const { AsyncLocalStorage } = require('node:async_hooks');
|
|
9
|
-
return new AsyncLocalStorage();
|
|
10
|
-
}
|
|
11
|
-
catch {
|
|
12
|
-
// nop
|
|
13
|
-
}
|
|
14
|
-
return undefined;
|
|
15
|
-
})();
|
|
16
|
-
// Only set localMetadata if we're not in a remote runtime. If we are in a remote
|
|
17
|
-
// runtime, then we should be using asyncLocalStorage.
|
|
18
|
-
let localMetadata;
|
|
19
|
-
/**
|
|
20
|
-
* Get the current metadata. If called outside a request, this will throw an
|
|
21
|
-
* error.
|
|
22
|
-
* @internal
|
|
23
|
-
* @returns {Metadata} The current metadata.
|
|
24
|
-
*/
|
|
25
|
-
export function getMetadata() {
|
|
26
|
-
// Q: How does this work, without jumbling up the metadata between requests?
|
|
27
|
-
// A: If we're running in a remote runtime, we use the async local storage to
|
|
28
|
-
// get the metadata, which guarantees that we get the correct metadata for the
|
|
29
|
-
// current thread. If we're not in a remote runtime, then we'll use the
|
|
30
|
-
// metadata saved in localMetadata; this is set by `withMetadata()` when
|
|
31
|
-
// invoked in a local runtime, and since local runtimes can't handle
|
|
32
|
-
// multiple requests at once, we can safely use this saved metadata without
|
|
33
|
-
// fear of jumbling them up.
|
|
34
|
-
if (asyncLocalStorage) {
|
|
35
|
-
const metadata = asyncLocalStorage.getStore();
|
|
36
|
-
if (!metadata) {
|
|
37
|
-
throw Error('API error; metadata should never be accessed outside a request');
|
|
38
|
-
}
|
|
39
|
-
return metadata;
|
|
40
|
-
}
|
|
41
|
-
if (!localMetadata) {
|
|
42
|
-
throw Error('Devvit metadata can only be accessed within a request');
|
|
43
|
-
}
|
|
44
|
-
return localMetadata;
|
|
45
|
-
}
|
|
46
|
-
/** @internal */
|
|
47
|
-
export async function withMetadata(metadata, callback) {
|
|
48
|
-
if (asyncLocalStorage) {
|
|
49
|
-
// If asyncLocalStorage is available, we use it to run the function with
|
|
50
|
-
// access to the metadata.
|
|
51
|
-
return asyncLocalStorage.run(metadata, callback);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
// If asyncLocalStorage is not available, set the value on localMetadata,
|
|
55
|
-
// then run the function directly.
|
|
56
|
-
try {
|
|
57
|
-
localMetadata = metadata;
|
|
58
|
-
return await callback();
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
// Unset the localMetadata after we're done, to prevent any leakage.
|
|
62
|
-
localMetadata = undefined;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|