@devvit/public-api 0.11.0-next-2024-07-03-3e3a7490a.0 → 0.11.0-next-2024-07-03-70e6c9f34.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,EAAgB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,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;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASxD;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EACzC,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,GAChC,CAAC,CAiCH;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;CA4V1E"}
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,EAAgB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,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;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASxD;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EACzC,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,GAChC,CAAC,CAiCH;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;CA8W1E"}
@@ -318,11 +318,16 @@ async function _BlocksHandler_handleAsyncQueues(context, ...batch) {
318
318
  try {
319
319
  const roots = __classPrivateFieldGet(this, _BlocksHandler_instances, "m", _BlocksHandler_render).call(this, component, props, context);
320
320
  if (roots.length !== 1) {
321
- throw new Error('only one root');
321
+ throw new Error(`There can only be one root element, received: ${roots.length}. Please wrap these elements in a <vstack></vstack> or <hstack></hstack> to continue. Fragments cannot be used as a root element.`);
322
322
  }
323
323
  const root = roots[0];
324
+ // By the time it gets to this point the promise has been serialized.
325
+ // That's why the check is not root instanceof Promise
326
+ if (root === '[object Promise]') {
327
+ throw new Error(`Root elements cannot be asynchronous. To use data from an async endpoint, please use "const [data] = context.useState(async () => {/** your async code */})".`);
328
+ }
324
329
  if (typeof root === 'string') {
325
- throw new Error('There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.');
330
+ throw new Error(`The root element must return a valid block, not a string. Try wrapping the element in a <text>your content</text> tag to continue.`);
326
331
  }
327
332
  return root;
328
333
  }
@@ -364,8 +369,13 @@ async function _BlocksHandler_handleAsyncQueues(context, ...batch) {
364
369
  return __classPrivateFieldGet(this, _BlocksHandler_instances, "m", _BlocksHandler_renderList).call(this, element, context);
365
370
  }
366
371
  else if (isBlockElement(element)) {
372
+ // This means the element is a fragment
367
373
  if (element.type === undefined) {
368
- return __classPrivateFieldGet(this, _BlocksHandler_instances, "m", _BlocksHandler_renderList).call(this, element.children, context);
374
+ context.push({ namespace: 'fragment', ...element.props });
375
+ // Since it's a fragment, don't reifyProps because you can't have props on a fragment
376
+ const children = __classPrivateFieldGet(this, _BlocksHandler_instances, "m", _BlocksHandler_renderList).call(this, element.children, context);
377
+ context.pop();
378
+ return children;
369
379
  }
370
380
  else if (typeof element.type === 'function') {
371
381
  const propsWithChildren = { ...element.props, children: element.children };
package/meta.json CHANGED
@@ -12460,7 +12460,7 @@
12460
12460
  "format": "esm"
12461
12461
  },
12462
12462
  "src/devvit/internals/blocks/handler/BlocksHandler.ts": {
12463
- "bytes": 17365,
12463
+ "bytes": 18262,
12464
12464
  "imports": [
12465
12465
  {
12466
12466
  "path": "@devvit/protos",
@@ -14391,7 +14391,7 @@
14391
14391
  "bytesInOutput": 3085
14392
14392
  },
14393
14393
  "src/devvit/internals/blocks/handler/BlocksHandler.ts": {
14394
- "bytesInOutput": 14695
14394
+ "bytesInOutput": 15311
14395
14395
  },
14396
14396
  "../shared-types/dist/useForm.js": {
14397
14397
  "bytesInOutput": 162
@@ -14514,7 +14514,7 @@
14514
14514
  "bytesInOutput": 4450
14515
14515
  }
14516
14516
  },
14517
- "bytes": 14941088
14517
+ "bytes": 14943164
14518
14518
  }
14519
14519
  }
14520
14520
  }
package/meta.min.json CHANGED
@@ -3753,7 +3753,7 @@
3753
3753
  "format": "esm"
3754
3754
  },
3755
3755
  "src/devvit/internals/blocks/handler/BlocksHandler.ts": {
3756
- "bytes": 17365,
3756
+ "bytes": 18262,
3757
3757
  "imports": [
3758
3758
  {
3759
3759
  "path": "@devvit/protos",
@@ -4689,7 +4689,7 @@
4689
4689
  "imports": [],
4690
4690
  "exports": [],
4691
4691
  "inputs": {},
4692
- "bytes": 1167798
4692
+ "bytes": 1168873
4693
4693
  },
4694
4694
  "dist/public-api.min.js": {
4695
4695
  "imports": [
@@ -5368,7 +5368,7 @@
5368
5368
  "bytesInOutput": 260
5369
5369
  },
5370
5370
  "src/devvit/internals/blocks/handler/BlocksHandler.ts": {
5371
- "bytesInOutput": 6513
5371
+ "bytesInOutput": 6990
5372
5372
  },
5373
5373
  "src/devvit/internals/blocks/handler/UIClient.ts": {
5374
5374
  "bytesInOutput": 974
@@ -5485,7 +5485,7 @@
5485
5485
  "bytesInOutput": 2135
5486
5486
  }
5487
5487
  },
5488
- "bytes": 248876
5488
+ "bytes": 249353
5489
5489
  }
5490
5490
  }
5491
5491
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/public-api",
3
- "version": "0.11.0-next-2024-07-03-3e3a7490a.0",
3
+ "version": "0.11.0-next-2024-07-03-70e6c9f34.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,8 +30,8 @@
30
30
  },
31
31
  "types": "./index.d.ts",
32
32
  "dependencies": {
33
- "@devvit/protos": "0.11.0-next-2024-07-03-3e3a7490a.0",
34
- "@devvit/shared-types": "0.11.0-next-2024-07-03-3e3a7490a.0",
33
+ "@devvit/protos": "0.11.0-next-2024-07-03-70e6c9f34.0",
34
+ "@devvit/shared-types": "0.11.0-next-2024-07-03-70e6c9f34.0",
35
35
  "base64-js": "1.5.1",
36
36
  "clone-deep": "4.0.1",
37
37
  "core-js": "3.27.2",
@@ -39,9 +39,9 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "@ampproject/filesize": "4.3.0",
42
- "@devvit/eslint-config": "0.11.0-next-2024-07-03-3e3a7490a.0",
43
- "@devvit/repo-tools": "0.11.0-next-2024-07-03-3e3a7490a.0",
44
- "@devvit/tsconfig": "0.11.0-next-2024-07-03-3e3a7490a.0",
42
+ "@devvit/eslint-config": "0.11.0-next-2024-07-03-70e6c9f34.0",
43
+ "@devvit/repo-tools": "0.11.0-next-2024-07-03-70e6c9f34.0",
44
+ "@devvit/tsconfig": "0.11.0-next-2024-07-03-70e6c9f34.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": "3027c735826e24a5da86076c6a8a9ea73b639749"
67
+ "gitHead": "2b5ae943f2d279392c984e3137bbc9905f80fdaf"
68
68
  }