@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.
@@ -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;AAuGF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC1C,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACxC,OAAO,GAAE,YAAiB,GACzB,cAAc,CAAC,CAAC,CAAC,CAMnB"}
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, _AsyncHook_enabled;
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, loading: false, error: null, depends: 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
- __classPrivateFieldSet(this, _AsyncHook_enabled, options.enabled ?? true, "f");
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 (!__classPrivateFieldGet(this, _AsyncHook_enabled, "f")) {
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
- (this.state.data === null && this.state.error === null && this.state.loading === false)) {
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
- const result = {
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(), _AsyncHook_enabled = 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 hook.state;
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;AAK/C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,wBAAwB,CAAC;AAI5E,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CA4Bb"}
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 '../../../package.json' assert { type: 'json' };
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": 2832,
11763
+ "bytes": 2819,
11764
11764
  "imports": []
11765
11765
  },
11766
11766
  "src/devvit/internals/context.ts": {
11767
- "bytes": 2686,
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": "../../../package.json"
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": 4856,
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": 2943
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": 4405
14524
+ "bytesInOutput": 4450
14525
14525
  }
14526
14526
  },
14527
- "bytes": 14992970
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": 2832,
2993
+ "bytes": 2819,
2994
2994
  "imports": []
2995
2995
  },
2996
2996
  "src/devvit/internals/context.ts": {
2997
- "bytes": 2686,
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": "../../../package.json"
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": 4856,
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": 1135001
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": 2390
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": 2042
5427
+ "bytesInOutput": 2135
5428
5428
  }
5429
5429
  },
5430
- "bytes": 242869
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-12-094f12978.0",
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 package.json devvit.tsconfig.json dist/ && yarn build:types && yarn build:min && yarn build:unmin",
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-12-094f12978.0",
34
- "@devvit/shared-types": "0.10.23-next-2024-06-12-094f12978.0",
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-12-094f12978.0",
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": "507383b76a8acca35658808e48fc514d128bd982"
67
+ "gitHead": "231786e8fd7fe4c8d9b1e9846a93846127943980"
68
68
  }