react-server-dom-webpack 19.0.0-canary-36e62c603-20240418 → 19.0.0-canary-db913d8e17-20240422
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/cjs/react-server-dom-webpack-client.browser.development.js +35 -3
- package/cjs/react-server-dom-webpack-client.browser.production.js +768 -1652
- package/cjs/react-server-dom-webpack-client.edge.development.js +35 -3
- package/cjs/react-server-dom-webpack-client.edge.production.js +894 -1863
- package/cjs/react-server-dom-webpack-client.node.development.js +35 -3
- package/cjs/react-server-dom-webpack-client.node.production.js +870 -1818
- package/cjs/react-server-dom-webpack-client.node.unbundled.development.js +35 -3
- package/cjs/react-server-dom-webpack-client.node.unbundled.production.js +854 -1776
- package/cjs/react-server-dom-webpack-node-register.js +68 -13
- package/cjs/react-server-dom-webpack-plugin.js +398 -23
- package/cjs/react-server-dom-webpack-server.browser.development.js +86 -10
- package/cjs/react-server-dom-webpack-server.browser.production.js +1590 -3050
- package/cjs/react-server-dom-webpack-server.edge.development.js +86 -10
- package/cjs/react-server-dom-webpack-server.edge.production.js +1586 -3029
- package/cjs/react-server-dom-webpack-server.node.development.js +86 -10
- package/cjs/react-server-dom-webpack-server.node.production.js +1720 -3239
- package/cjs/react-server-dom-webpack-server.node.unbundled.development.js +86 -10
- package/cjs/react-server-dom-webpack-server.node.unbundled.production.js +1702 -3180
- package/client.browser.js +1 -1
- package/client.edge.js +1 -1
- package/client.node.js +1 -1
- package/client.node.unbundled.js +1 -1
- package/esm/{react-server-dom-webpack-node-loader.production.min.js → react-server-dom-webpack-node-loader.production.js} +1 -1
- package/package.json +4 -4
- package/server.browser.js +1 -1
- package/server.edge.js +1 -1
- package/server.node.js +1 -1
- package/server.node.unbundled.js +1 -1
- package/cjs/react-server-dom-webpack-client.browser.production.min.js +0 -40
- package/cjs/react-server-dom-webpack-client.browser.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-client.edge.production.min.js +0 -46
- package/cjs/react-server-dom-webpack-client.edge.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-client.node.production.min.js +0 -45
- package/cjs/react-server-dom-webpack-client.node.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-client.node.unbundled.production.min.js +0 -44
- package/cjs/react-server-dom-webpack-client.node.unbundled.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-node-register.js.map +0 -1
- package/cjs/react-server-dom-webpack-plugin.js.map +0 -1
- package/cjs/react-server-dom-webpack-server.browser.production.min.js +0 -82
- package/cjs/react-server-dom-webpack-server.browser.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-server.edge.production.min.js +0 -83
- package/cjs/react-server-dom-webpack-server.edge.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-server.node.production.min.js +0 -86
- package/cjs/react-server-dom-webpack-server.node.production.min.js.map +0 -1
- package/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js +0 -84
- package/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js.map +0 -1
@@ -17,6 +17,21 @@ if (process.env.NODE_ENV !== "production") {
|
|
17
17
|
var React = require('react');
|
18
18
|
var ReactDOM = require('react-dom');
|
19
19
|
|
20
|
+
function _defineProperty(obj, key, value) {
|
21
|
+
if (key in obj) {
|
22
|
+
Object.defineProperty(obj, key, {
|
23
|
+
value: value,
|
24
|
+
enumerable: true,
|
25
|
+
configurable: true,
|
26
|
+
writable: true
|
27
|
+
});
|
28
|
+
} else {
|
29
|
+
obj[key] = value;
|
30
|
+
}
|
31
|
+
|
32
|
+
return obj;
|
33
|
+
}
|
34
|
+
|
20
35
|
var ReactSharedInternalsServer = // $FlowFixMe: It's defined in the one we resolve to.
|
21
36
|
React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
22
37
|
|
@@ -1759,18 +1774,56 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|
1759
1774
|
}
|
1760
1775
|
}
|
1761
1776
|
|
1762
|
-
if (typeof result === 'object' && result !== null
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1777
|
+
if (typeof result === 'object' && result !== null) {
|
1778
|
+
if (typeof result.then === 'function') {
|
1779
|
+
// When the return value is in children position we can resolve it immediately,
|
1780
|
+
// to its value without a wrapper if it's synchronously available.
|
1781
|
+
var thenable = result;
|
1782
|
+
|
1783
|
+
if (thenable.status === 'fulfilled') {
|
1784
|
+
return thenable.value;
|
1785
|
+
} // TODO: Once we accept Promises as children on the client, we can just return
|
1786
|
+
// the thenable here.
|
1787
|
+
|
1766
1788
|
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
// the
|
1789
|
+
result = createLazyWrapperAroundWakeable(result);
|
1790
|
+
} // Normally we'd serialize an Iterator/AsyncIterator as a single-shot which is not compatible
|
1791
|
+
// to be rendered as a React Child. However, because we have the function to recreate
|
1792
|
+
// an iterable from rendering the element again, we can effectively treat it as multi-
|
1793
|
+
// shot. Therefore we treat this as an Iterable/AsyncIterable, whether it was one or not, by
|
1794
|
+
// adding a wrapper so that this component effectively renders down to an AsyncIterable.
|
1771
1795
|
|
1772
1796
|
|
1773
|
-
|
1797
|
+
var iteratorFn = getIteratorFn(result);
|
1798
|
+
|
1799
|
+
if (iteratorFn) {
|
1800
|
+
var iterableChild = result;
|
1801
|
+
result = _defineProperty({}, Symbol.iterator, function () {
|
1802
|
+
var iterator = iteratorFn.call(iterableChild);
|
1803
|
+
|
1804
|
+
{
|
1805
|
+
// If this was an Iterator but not a GeneratorFunction we warn because
|
1806
|
+
// it might have been a mistake. Technically you can make this mistake with
|
1807
|
+
// GeneratorFunctions and even single-shot Iterables too but it's extra
|
1808
|
+
// tempting to try to return the value from a generator.
|
1809
|
+
if (iterator === iterableChild) {
|
1810
|
+
var isGeneratorComponent = // $FlowIgnore[method-unbinding]
|
1811
|
+
Object.prototype.toString.call(Component) === '[object GeneratorFunction]' && // $FlowIgnore[method-unbinding]
|
1812
|
+
Object.prototype.toString.call(iterableChild) === '[object Generator]';
|
1813
|
+
|
1814
|
+
if (!isGeneratorComponent) {
|
1815
|
+
error('Returning an Iterator from a Server Component is not supported ' + 'since it cannot be looped over more than once. ');
|
1816
|
+
}
|
1817
|
+
}
|
1818
|
+
}
|
1819
|
+
|
1820
|
+
return iterator;
|
1821
|
+
});
|
1822
|
+
|
1823
|
+
{
|
1824
|
+
result._debugInfo = iterableChild._debugInfo;
|
1825
|
+
}
|
1826
|
+
}
|
1774
1827
|
} // Track this element's key on the Server Component on the keyPath context..
|
1775
1828
|
|
1776
1829
|
|
@@ -2242,6 +2295,11 @@ function serializeSet(request, set) {
|
|
2242
2295
|
return '$W' + id.toString(16);
|
2243
2296
|
}
|
2244
2297
|
|
2298
|
+
function serializeIterator(request, iterator) {
|
2299
|
+
var id = outlineModel(request, Array.from(iterator));
|
2300
|
+
return '$i' + id.toString(16);
|
2301
|
+
}
|
2302
|
+
|
2245
2303
|
function escapeStringValue(value) {
|
2246
2304
|
if (value[0] === '$') {
|
2247
2305
|
// We need to escape $ prefixed strings since we use those to encode
|
@@ -2506,7 +2564,15 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|
2506
2564
|
var iteratorFn = getIteratorFn(value);
|
2507
2565
|
|
2508
2566
|
if (iteratorFn) {
|
2509
|
-
return
|
2567
|
+
// TODO: Should we serialize the return value as well like we do for AsyncIterables?
|
2568
|
+
var iterator = iteratorFn.call(value);
|
2569
|
+
|
2570
|
+
if (iterator === value) {
|
2571
|
+
// Iterator, not Iterable
|
2572
|
+
return serializeIterator(request, iterator);
|
2573
|
+
}
|
2574
|
+
|
2575
|
+
return renderFragment(request, task, Array.from(iterator));
|
2510
2576
|
}
|
2511
2577
|
|
2512
2578
|
|
@@ -3798,6 +3864,16 @@ function parseModelString(response, obj, key, value) {
|
|
3798
3864
|
return _data2;
|
3799
3865
|
}
|
3800
3866
|
|
3867
|
+
case 'i':
|
3868
|
+
{
|
3869
|
+
// Iterator
|
3870
|
+
var _id5 = parseInt(value.slice(2), 16);
|
3871
|
+
|
3872
|
+
var _data3 = getOutlinedModel(response, _id5);
|
3873
|
+
|
3874
|
+
return _data3[Symbol.iterator]();
|
3875
|
+
}
|
3876
|
+
|
3801
3877
|
case 'I':
|
3802
3878
|
{
|
3803
3879
|
// $Infinity
|