@devvit/public-api 0.12.0-next-2025-04-30-5d2b49b36.0 → 0.12.0-next-2025-08-12-20-06-14-50f19bb3e.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.
Files changed (173) hide show
  1. package/apis/AssetsClient/AssetsClient.d.ts +2 -2
  2. package/apis/AssetsClient/AssetsClient.d.ts.map +1 -1
  3. package/apis/AssetsClient/AssetsClient.js +5 -7
  4. package/apis/key-value-storage/KeyValueStorage.d.ts +1 -1
  5. package/apis/key-value-storage/KeyValueStorage.d.ts.map +1 -1
  6. package/apis/makeAPIClients.d.ts.map +1 -1
  7. package/apis/makeAPIClients.js +3 -0
  8. package/apis/media/MediaClient.js +1 -1
  9. package/apis/realtime/RealtimeClient.d.ts +1 -1
  10. package/apis/realtime/RealtimeClient.d.ts.map +1 -1
  11. package/apis/reddit/RedditAPIClient.d.ts +41 -41
  12. package/apis/reddit/RedditAPIClient.d.ts.map +1 -1
  13. package/apis/reddit/RedditAPIClient.js +150 -151
  14. package/apis/reddit/models/Comment.d.ts +4 -1
  15. package/apis/reddit/models/Comment.d.ts.map +1 -1
  16. package/apis/reddit/models/Comment.js +4 -1
  17. package/apis/reddit/models/Flair.d.ts +1 -1
  18. package/apis/reddit/models/Flair.d.ts.map +1 -1
  19. package/apis/reddit/models/Flair.js +2 -2
  20. package/apis/reddit/models/Listing.d.ts +1 -1
  21. package/apis/reddit/models/Listing.d.ts.map +1 -1
  22. package/apis/reddit/models/ModAction.d.ts +3 -0
  23. package/apis/reddit/models/ModAction.d.ts.map +1 -1
  24. package/apis/reddit/models/ModAction.js +1 -2
  25. package/apis/reddit/models/ModMail.d.ts +23 -23
  26. package/apis/reddit/models/ModMail.js +24 -24
  27. package/apis/reddit/models/ModNote.d.ts +1 -1
  28. package/apis/reddit/models/ModNote.d.ts.map +1 -1
  29. package/apis/reddit/models/ModNote.js +1 -1
  30. package/apis/reddit/models/Post.d.ts +32 -5
  31. package/apis/reddit/models/Post.d.ts.map +1 -1
  32. package/apis/reddit/models/Post.js +74 -7
  33. package/apis/reddit/models/PrivateMessage.d.ts +1 -1
  34. package/apis/reddit/models/PrivateMessage.d.ts.map +1 -1
  35. package/apis/reddit/models/PrivateMessage.js +1 -1
  36. package/apis/reddit/models/Subreddit.d.ts +27 -9
  37. package/apis/reddit/models/Subreddit.d.ts.map +1 -1
  38. package/apis/reddit/models/Subreddit.js +12 -18
  39. package/apis/reddit/models/User.d.ts +23 -2
  40. package/apis/reddit/models/User.d.ts.map +1 -1
  41. package/apis/reddit/models/User.js +2 -15
  42. package/apis/reddit/models/Vault.d.ts +4 -1
  43. package/apis/reddit/models/Vault.d.ts.map +1 -1
  44. package/apis/reddit/models/Vault.js +3 -8
  45. package/apis/reddit/models/index.d.ts +1 -1
  46. package/apis/reddit/models/index.d.ts.map +1 -1
  47. package/apis/reddit/models/index.js +1 -0
  48. package/apis/reddit/tests/utils/createTestRedditApiClient.d.ts +8 -0
  49. package/apis/reddit/tests/utils/createTestRedditApiClient.d.ts.map +1 -0
  50. package/apis/reddit/tests/utils/createTestRedditApiClient.js +16 -0
  51. package/apis/redis/RedisClient.d.ts +0 -1
  52. package/apis/redis/RedisClient.d.ts.map +1 -1
  53. package/apis/redis/RedisClient.js +6 -0
  54. package/apis/redis/RedisClient.tests.js +3 -0
  55. package/apis/scheduler/SchedulerClient.js +1 -1
  56. package/apis/ui/UIClient.d.ts +3 -1
  57. package/apis/ui/UIClient.d.ts.map +1 -1
  58. package/apis/ui/UIClient.js +13 -12
  59. package/devvit/Devvit.d.ts +2 -2
  60. package/devvit/Devvit.d.ts.map +1 -1
  61. package/devvit/Devvit.js +65 -18
  62. package/devvit/internals/app-settings.d.ts.map +1 -1
  63. package/devvit/internals/app-settings.js +1 -4
  64. package/devvit/internals/blocks/BlocksReconciler.d.ts +105 -0
  65. package/devvit/internals/blocks/BlocksReconciler.d.ts.map +1 -1
  66. package/devvit/internals/blocks/BlocksReconciler.js +15 -13
  67. package/devvit/internals/blocks/handler/BlocksHandler.d.ts.map +1 -1
  68. package/devvit/internals/blocks/handler/BlocksHandler.js +2 -1
  69. package/devvit/internals/blocks/handler/ContextBuilder.d.ts.map +1 -1
  70. package/devvit/internals/blocks/handler/ContextBuilder.js +3 -0
  71. package/devvit/internals/blocks/handler/UIClient.d.ts +7 -5
  72. package/devvit/internals/blocks/handler/UIClient.d.ts.map +1 -1
  73. package/devvit/internals/blocks/handler/UIClient.js +14 -13
  74. package/devvit/internals/blocks/handler/cache.d.ts +1 -1
  75. package/devvit/internals/blocks/handler/cache.d.ts.map +1 -1
  76. package/devvit/internals/blocks/handler/test-helpers.d.ts +1 -1
  77. package/devvit/internals/blocks/handler/test-helpers.d.ts.map +1 -1
  78. package/devvit/internals/blocks/handler/types.d.ts +1 -1
  79. package/devvit/internals/blocks/handler/types.d.ts.map +1 -1
  80. package/devvit/internals/blocks/handler/useAsync.d.ts +1 -1
  81. package/devvit/internals/blocks/handler/useAsync.d.ts.map +1 -1
  82. package/devvit/internals/blocks/handler/useChannel.d.ts +1 -1
  83. package/devvit/internals/blocks/handler/useChannel.d.ts.map +1 -1
  84. package/devvit/internals/blocks/handler/useForm.d.ts +1 -1
  85. package/devvit/internals/blocks/handler/useForm.d.ts.map +1 -1
  86. package/devvit/internals/blocks/handler/useState.d.ts +1 -1
  87. package/devvit/internals/blocks/handler/useState.d.ts.map +1 -1
  88. package/devvit/internals/blocks/handler/useWebView.d.ts +1 -1
  89. package/devvit/internals/blocks/handler/useWebView.d.ts.map +1 -1
  90. package/devvit/internals/blocks/handler/useWebView.js +23 -4
  91. package/devvit/internals/blocks/useChannel.d.ts.map +1 -1
  92. package/devvit/internals/cache.d.ts +1 -1
  93. package/devvit/internals/cache.d.ts.map +1 -1
  94. package/devvit/internals/context.d.ts +1 -1
  95. package/devvit/internals/context.d.ts.map +1 -1
  96. package/devvit/internals/context.js +10 -1
  97. package/devvit/internals/csrf.d.ts.map +1 -1
  98. package/devvit/internals/csrf.js +4 -5
  99. package/devvit/internals/helpers/color.d.ts +1 -1
  100. package/devvit/internals/helpers/color.d.ts.map +1 -1
  101. package/devvit/internals/helpers/devvitInternalMessage.d.ts.map +1 -1
  102. package/devvit/internals/helpers/devvitInternalMessage.js +1 -1
  103. package/devvit/internals/helpers/extendDevvitPrototype.d.ts +1 -6
  104. package/devvit/internals/helpers/extendDevvitPrototype.d.ts.map +1 -1
  105. package/devvit/internals/helpers/extendDevvitPrototype.js +1 -9
  106. package/devvit/internals/installation-settings.d.ts.map +1 -1
  107. package/devvit/internals/installation-settings.js +1 -4
  108. package/devvit/internals/menu-items.d.ts +1 -0
  109. package/devvit/internals/menu-items.d.ts.map +1 -1
  110. package/devvit/internals/menu-items.js +9 -3
  111. package/devvit/internals/semanticColors.d.ts +4 -0
  112. package/devvit/internals/semanticColors.d.ts.map +1 -1
  113. package/devvit/internals/semanticColors.js +4 -0
  114. package/devvit/internals/ui-event-handler.js +3 -3
  115. package/devvit/internals/upgrade-app-shim.d.ts +1 -5
  116. package/devvit/internals/upgrade-app-shim.d.ts.map +1 -1
  117. package/devvit/internals/upgrade-app-shim.js +0 -8
  118. package/index.d.ts +2 -2
  119. package/index.d.ts.map +1 -1
  120. package/index.js +1 -2
  121. package/meta.min.json +401 -342
  122. package/package.json +23 -20
  123. package/public-api.min.js +6 -6
  124. package/public-api.min.js.map +4 -4
  125. package/types/configuration.d.ts +12 -3
  126. package/types/configuration.d.ts.map +1 -1
  127. package/types/context.d.ts +10 -2
  128. package/types/context.d.ts.map +1 -1
  129. package/types/data.d.ts +1 -1
  130. package/types/data.d.ts.map +1 -1
  131. package/types/form.d.ts +6 -89
  132. package/types/form.d.ts.map +1 -1
  133. package/types/form.js +2 -5
  134. package/types/hooks.d.ts +1 -1
  135. package/types/hooks.d.ts.map +1 -1
  136. package/types/icons.d.ts +1 -1
  137. package/types/icons.d.ts.map +1 -1
  138. package/types/icons.js +1 -1
  139. package/types/json.d.ts +43 -0
  140. package/types/json.d.ts.map +1 -0
  141. package/types/json.js +1 -0
  142. package/types/kvStore.d.ts +1 -1
  143. package/types/kvStore.d.ts.map +1 -1
  144. package/types/media.d.ts +1 -1
  145. package/types/menu-item.d.ts +3 -14
  146. package/types/menu-item.d.ts.map +1 -1
  147. package/types/realtime.d.ts +1 -1
  148. package/types/realtime.d.ts.map +1 -1
  149. package/types/redis.d.ts +0 -1
  150. package/types/redis.d.ts.map +1 -1
  151. package/types/scheduler.d.ts +2 -2
  152. package/types/scheduler.d.ts.map +1 -1
  153. package/types/tid.d.ts +47 -0
  154. package/types/tid.d.ts.map +1 -0
  155. package/types/tid.js +114 -0
  156. package/types/ui-client.d.ts +12 -6
  157. package/types/ui-client.d.ts.map +1 -1
  158. package/types/web-view-ui-client.d.ts +1 -1
  159. package/types/web-view-ui-client.d.ts.map +1 -1
  160. package/version.json +6 -8
  161. package/apis/reddit/index.d.ts +0 -1104
  162. package/apis/reddit/index.d.ts.map +0 -1
  163. package/apis/reddit/index.js +0 -1442
  164. package/apis/reddit/tests/utils/createTestRedditApiContext.d.ts +0 -7
  165. package/apis/reddit/tests/utils/createTestRedditApiContext.d.ts.map +0 -1
  166. package/apis/reddit/tests/utils/createTestRedditApiContext.js +0 -23
  167. package/devvit/internals/async-metadata.d.ts +0 -2
  168. package/devvit/internals/async-metadata.d.ts.map +0 -1
  169. package/devvit/internals/async-metadata.js +0 -65
  170. package/meta.json +0 -10428
  171. package/public-api.d.ts +0 -60472
  172. package/public-api.iife.js +0 -102332
  173. 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=async-metadata.d.ts.map
@@ -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
- }