@devvit/public-api 0.10.23-next-2024-06-12-094f12978.0 → 0.10.23-next-2024-06-13-72bd939c1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/devvit/internals/blocks/handler/useAsync.d.ts.map +1 -1
- package/devvit/internals/blocks/handler/useAsync.js +17 -13
- package/devvit/internals/context.d.ts.map +1 -1
- package/devvit/internals/context.js +1 -1
- package/meta.json +7 -7
- package/meta.min.json +8 -8
- package/package.json +6 -6
- package/public-api.iife.js +19 -15
- package/public-api.min.js +5 -5
- package/public-api.min.js.map +3 -3
- package/version.json +75 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAsync.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/useAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ3F,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;
|
1
|
+
{"version":3,"file":"useAsync.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/useAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ3F,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA8GF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC1C,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACxC,OAAO,GAAE,YAAiB,GACzB,cAAc,CAAC,CAAC,CAAC,CAUnB"}
|
@@ -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 _AsyncHook_debug, _AsyncHook_hookId, _AsyncHook_initializer, _AsyncHook_invalidate, _AsyncHook_ctx, _AsyncHook_localDepends
|
12
|
+
var _AsyncHook_debug, _AsyncHook_hookId, _AsyncHook_initializer, _AsyncHook_invalidate, _AsyncHook_ctx, _AsyncHook_localDepends;
|
13
13
|
import { CIRCUIT_BREAKER_MSG } from '@devvit/shared-types/CircuitBreaker.js';
|
14
14
|
import isEqual from 'lodash.isequal';
|
15
15
|
import { registerHook } from './BlocksHandler.js';
|
@@ -21,32 +21,32 @@ class AsyncHook {
|
|
21
21
|
_AsyncHook_invalidate.set(this, void 0);
|
22
22
|
_AsyncHook_ctx.set(this, void 0);
|
23
23
|
_AsyncHook_localDepends.set(this, void 0);
|
24
|
-
_AsyncHook_enabled.set(this, void 0);
|
25
24
|
__classPrivateFieldSet(this, _AsyncHook_debug, !!params.context.devvitContext.debug.useAsync, "f");
|
26
25
|
if (__classPrivateFieldGet(this, _AsyncHook_debug, "f"))
|
27
26
|
console.debug('[useAsync] v1', options);
|
28
|
-
this.state = { data: null,
|
27
|
+
this.state = { data: null, load_state: 'initial', error: null, depends: null };
|
29
28
|
__classPrivateFieldSet(this, _AsyncHook_hookId, params.hookId, "f");
|
30
29
|
__classPrivateFieldSet(this, _AsyncHook_initializer, initializer, "f");
|
31
30
|
__classPrivateFieldSet(this, _AsyncHook_invalidate, params.invalidate, "f");
|
32
31
|
__classPrivateFieldSet(this, _AsyncHook_ctx, params.context, "f");
|
33
32
|
__classPrivateFieldSet(this, _AsyncHook_localDepends, options.depends ?? null, "f");
|
34
|
-
|
33
|
+
if (!(options.enabled ?? true)) {
|
34
|
+
this.state.load_state = 'disabled';
|
35
|
+
}
|
35
36
|
}
|
36
37
|
/**
|
37
38
|
* After we look at our state, we need to decide if we need to dispatch a request to load the data.
|
38
39
|
*/
|
39
40
|
onStateLoaded() {
|
40
|
-
if (
|
41
|
+
if (this.state.load_state === 'disabled') {
|
41
42
|
return;
|
42
43
|
}
|
43
44
|
if (__classPrivateFieldGet(this, _AsyncHook_debug, "f"))
|
44
45
|
console.debug('[useAsync] async onLoad ', __classPrivateFieldGet(this, _AsyncHook_hookId, "f"), this.state);
|
45
46
|
if (__classPrivateFieldGet(this, _AsyncHook_debug, "f"))
|
46
47
|
console.debug('[useAsync] async onLoad have ', __classPrivateFieldGet(this, _AsyncHook_localDepends, "f"), 'and', this.state.depends);
|
47
|
-
if (!isEqual(__classPrivateFieldGet(this, _AsyncHook_localDepends, "f"), this.state.depends) ||
|
48
|
-
|
49
|
-
this.state.loading = true;
|
48
|
+
if (!isEqual(__classPrivateFieldGet(this, _AsyncHook_localDepends, "f"), this.state.depends) || this.state.load_state === 'initial') {
|
49
|
+
this.state.load_state = 'loading';
|
50
50
|
this.state.depends = __classPrivateFieldGet(this, _AsyncHook_localDepends, "f");
|
51
51
|
__classPrivateFieldGet(this, _AsyncHook_invalidate, "f").call(this);
|
52
52
|
const requeueEvent = {
|
@@ -97,12 +97,12 @@ class AsyncHook {
|
|
97
97
|
else if (event.asyncResponse) {
|
98
98
|
const anticipatedRequestId = __classPrivateFieldGet(this, _AsyncHook_hookId, "f") + '-' + JSON.stringify(this.state.depends);
|
99
99
|
if (event.asyncResponse.requestId === anticipatedRequestId) {
|
100
|
-
|
100
|
+
this.state = {
|
101
|
+
...this.state,
|
101
102
|
data: event.asyncResponse.data?.value,
|
102
|
-
loading: false,
|
103
103
|
error: event.asyncResponse.error ?? null,
|
104
|
+
load_state: event.asyncResponse.error ? 'error' : 'loaded',
|
104
105
|
};
|
105
|
-
this.state = { ...this.state, ...result };
|
106
106
|
__classPrivateFieldGet(this, _AsyncHook_invalidate, "f").call(this);
|
107
107
|
}
|
108
108
|
else {
|
@@ -115,7 +115,7 @@ class AsyncHook {
|
|
115
115
|
}
|
116
116
|
}
|
117
117
|
}
|
118
|
-
_AsyncHook_debug = new WeakMap(), _AsyncHook_hookId = new WeakMap(), _AsyncHook_initializer = new WeakMap(), _AsyncHook_invalidate = new WeakMap(), _AsyncHook_ctx = new WeakMap(), _AsyncHook_localDepends = new WeakMap()
|
118
|
+
_AsyncHook_debug = new WeakMap(), _AsyncHook_hookId = new WeakMap(), _AsyncHook_initializer = new WeakMap(), _AsyncHook_invalidate = new WeakMap(), _AsyncHook_ctx = new WeakMap(), _AsyncHook_localDepends = new WeakMap();
|
119
119
|
/**
|
120
120
|
* This is the preferred way to handle async state in Devvit.
|
121
121
|
*
|
@@ -126,5 +126,9 @@ export function useAsync(initializer, options = {}) {
|
|
126
126
|
const hook = registerHook({ namespace: 'useAsync' }, (params) => {
|
127
127
|
return new AsyncHook(initializer, options, params);
|
128
128
|
});
|
129
|
-
return
|
129
|
+
return {
|
130
|
+
data: hook.state.data,
|
131
|
+
error: hook.state.error,
|
132
|
+
loading: hook.state.load_state === 'loading',
|
133
|
+
};
|
130
134
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,wBAAwB,CAAC;AAK5E,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CA4Bb"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Header } from '@devvit/shared-types/Header.js';
|
2
2
|
import { assertNonNull } from '@devvit/shared-types/NonNull.js';
|
3
|
-
import pkg from '
|
3
|
+
import pkg from '../../version.json' assert { type: 'json' };
|
4
4
|
let loggedVersion = false;
|
5
5
|
export function getContextFromMetadata(metadata, postId, commentId) {
|
6
6
|
const subredditId = metadata[Header.Subreddit]?.values[0];
|
package/meta.json
CHANGED
@@ -11760,11 +11760,11 @@
|
|
11760
11760
|
"format": "esm"
|
11761
11761
|
},
|
11762
11762
|
"package.json": {
|
11763
|
-
"bytes":
|
11763
|
+
"bytes": 2819,
|
11764
11764
|
"imports": []
|
11765
11765
|
},
|
11766
11766
|
"src/devvit/internals/context.ts": {
|
11767
|
-
"bytes":
|
11767
|
+
"bytes": 2683,
|
11768
11768
|
"imports": [
|
11769
11769
|
{
|
11770
11770
|
"path": "../shared-types/dist/Header.js",
|
@@ -11779,7 +11779,7 @@
|
|
11779
11779
|
{
|
11780
11780
|
"path": "package.json",
|
11781
11781
|
"kind": "import-statement",
|
11782
|
-
"original": "
|
11782
|
+
"original": "../../version.json"
|
11783
11783
|
}
|
11784
11784
|
],
|
11785
11785
|
"format": "esm"
|
@@ -13320,7 +13320,7 @@
|
|
13320
13320
|
"format": "esm"
|
13321
13321
|
},
|
13322
13322
|
"src/devvit/internals/blocks/handler/useAsync.ts": {
|
13323
|
-
"bytes":
|
13323
|
+
"bytes": 5170,
|
13324
13324
|
"imports": [
|
13325
13325
|
{
|
13326
13326
|
"path": "../shared-types/dist/CircuitBreaker.js",
|
@@ -14356,7 +14356,7 @@
|
|
14356
14356
|
"bytesInOutput": 1973
|
14357
14357
|
},
|
14358
14358
|
"package.json": {
|
14359
|
-
"bytesInOutput":
|
14359
|
+
"bytesInOutput": 2930
|
14360
14360
|
},
|
14361
14361
|
"src/devvit/internals/context.ts": {
|
14362
14362
|
"bytesInOutput": 1798
|
@@ -14521,10 +14521,10 @@
|
|
14521
14521
|
"bytesInOutput": 50
|
14522
14522
|
},
|
14523
14523
|
"src/devvit/internals/blocks/handler/useAsync.ts": {
|
14524
|
-
"bytesInOutput":
|
14524
|
+
"bytesInOutput": 4450
|
14525
14525
|
}
|
14526
14526
|
},
|
14527
|
-
"bytes":
|
14527
|
+
"bytes": 14993506
|
14528
14528
|
}
|
14529
14529
|
}
|
14530
14530
|
}
|
package/meta.min.json
CHANGED
@@ -2990,11 +2990,11 @@
|
|
2990
2990
|
"format": "esm"
|
2991
2991
|
},
|
2992
2992
|
"package.json": {
|
2993
|
-
"bytes":
|
2993
|
+
"bytes": 2819,
|
2994
2994
|
"imports": []
|
2995
2995
|
},
|
2996
2996
|
"src/devvit/internals/context.ts": {
|
2997
|
-
"bytes":
|
2997
|
+
"bytes": 2683,
|
2998
2998
|
"imports": [
|
2999
2999
|
{
|
3000
3000
|
"path": "../shared-types/dist/Header.js",
|
@@ -3009,7 +3009,7 @@
|
|
3009
3009
|
{
|
3010
3010
|
"path": "package.json",
|
3011
3011
|
"kind": "import-statement",
|
3012
|
-
"original": "
|
3012
|
+
"original": "../../version.json"
|
3013
3013
|
}
|
3014
3014
|
],
|
3015
3015
|
"format": "esm"
|
@@ -4550,7 +4550,7 @@
|
|
4550
4550
|
"format": "esm"
|
4551
4551
|
},
|
4552
4552
|
"src/devvit/internals/blocks/handler/useAsync.ts": {
|
4553
|
-
"bytes":
|
4553
|
+
"bytes": 5170,
|
4554
4554
|
"imports": [
|
4555
4555
|
{
|
4556
4556
|
"path": "../shared-types/dist/CircuitBreaker.js",
|
@@ -4642,7 +4642,7 @@
|
|
4642
4642
|
"imports": [],
|
4643
4643
|
"exports": [],
|
4644
4644
|
"inputs": {},
|
4645
|
-
"bytes":
|
4645
|
+
"bytes": 1135284
|
4646
4646
|
},
|
4647
4647
|
"dist/public-api.min.js": {
|
4648
4648
|
"imports": [
|
@@ -5268,7 +5268,7 @@
|
|
5268
5268
|
"bytesInOutput": 848
|
5269
5269
|
},
|
5270
5270
|
"package.json": {
|
5271
|
-
"bytesInOutput":
|
5271
|
+
"bytesInOutput": 2377
|
5272
5272
|
},
|
5273
5273
|
"src/devvit/internals/context.ts": {
|
5274
5274
|
"bytesInOutput": 940
|
@@ -5424,10 +5424,10 @@
|
|
5424
5424
|
"bytesInOutput": 28
|
5425
5425
|
},
|
5426
5426
|
"src/devvit/internals/blocks/handler/useAsync.ts": {
|
5427
|
-
"bytesInOutput":
|
5427
|
+
"bytesInOutput": 2135
|
5428
5428
|
}
|
5429
5429
|
},
|
5430
|
-
"bytes":
|
5430
|
+
"bytes": 242949
|
5431
5431
|
}
|
5432
5432
|
}
|
5433
5433
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@devvit/public-api",
|
3
|
-
"version": "0.10.23-next-2024-06-
|
3
|
+
"version": "0.10.23-next-2024-06-13-72bd939c1.0",
|
4
4
|
"license": "BSD-3-Clause",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -9,7 +9,7 @@
|
|
9
9
|
"type": "module",
|
10
10
|
"main": "./index.js",
|
11
11
|
"scripts": {
|
12
|
-
"build": "yarn build:icon-types && yarn build:semantic-colors && tsc && cp -af
|
12
|
+
"build": "yarn build:icon-types && yarn build:semantic-colors && tsc && cp -af devvit.tsconfig.json dist/ && yarn build:types && yarn build:min && yarn build:unmin",
|
13
13
|
"build:icon-types": "make-icons src/types/icons.ts",
|
14
14
|
"build:min": "esbuild --bundle --sourcemap=linked --target=es2020 --format=esm --metafile=dist/meta.min.json --outfile=dist/public-api.min.js --external:@devvit/protos --minify src/index.ts",
|
15
15
|
"build:semantic-colors": "node scripts/make-semantic-colors.js",
|
@@ -30,8 +30,8 @@
|
|
30
30
|
},
|
31
31
|
"types": "./index.d.ts",
|
32
32
|
"dependencies": {
|
33
|
-
"@devvit/protos": "0.10.23-next-2024-06-
|
34
|
-
"@devvit/shared-types": "0.10.23-next-2024-06-
|
33
|
+
"@devvit/protos": "0.10.23-next-2024-06-13-72bd939c1.0",
|
34
|
+
"@devvit/shared-types": "0.10.23-next-2024-06-13-72bd939c1.0",
|
35
35
|
"base64-js": "1.5.1",
|
36
36
|
"clone-deep": "4.0.1",
|
37
37
|
"core-js": "3.27.2",
|
@@ -41,7 +41,7 @@
|
|
41
41
|
"@ampproject/filesize": "4.3.0",
|
42
42
|
"@devvit/eslint-config": "0.10.22",
|
43
43
|
"@devvit/repo-tools": "0.10.22",
|
44
|
-
"@devvit/tsconfig": "0.10.23-next-2024-06-
|
44
|
+
"@devvit/tsconfig": "0.10.23-next-2024-06-13-72bd939c1.0",
|
45
45
|
"@microsoft/api-extractor": "7.41.0",
|
46
46
|
"@reddit/faceplate-ui": "11.3.3",
|
47
47
|
"@types/clone-deep": "4.0.1",
|
@@ -64,5 +64,5 @@
|
|
64
64
|
}
|
65
65
|
},
|
66
66
|
"source": "./src/index.ts",
|
67
|
-
"gitHead": "
|
67
|
+
"gitHead": "231786e8fd7fe4c8d9b1e9846a93846127943980"
|
68
68
|
}
|