react-server-dom-webpack 19.0.0-canary-33a32441e9-20240418 → 19.0.0-canary-cb151849e1-20240424
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 +36 -8
- package/cjs/react-server-dom-webpack-client.browser.production.js +768 -1652
- package/cjs/react-server-dom-webpack-client.edge.development.js +36 -8
- package/cjs/react-server-dom-webpack-client.edge.production.js +894 -1863
- package/cjs/react-server-dom-webpack-client.node.development.js +36 -8
- package/cjs/react-server-dom-webpack-client.node.production.js +870 -1818
- package/cjs/react-server-dom-webpack-client.node.unbundled.development.js +36 -8
- 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 +87 -15
- package/cjs/react-server-dom-webpack-server.browser.production.js +1590 -3050
- package/cjs/react-server-dom-webpack-server.edge.development.js +87 -15
- package/cjs/react-server-dom-webpack-server.edge.production.js +1586 -3029
- package/cjs/react-server-dom-webpack-server.node.development.js +87 -15
- package/cjs/react-server-dom-webpack-server.node.production.js +1720 -3239
- package/cjs/react-server-dom-webpack-server.node.unbundled.development.js +87 -15
- 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
@@ -20,6 +20,21 @@ require('crypto');
|
|
20
20
|
var async_hooks = require('async_hooks');
|
21
21
|
var ReactDOM = require('react-dom');
|
22
22
|
|
23
|
+
function _defineProperty(obj, key, value) {
|
24
|
+
if (key in obj) {
|
25
|
+
Object.defineProperty(obj, key, {
|
26
|
+
value: value,
|
27
|
+
enumerable: true,
|
28
|
+
configurable: true,
|
29
|
+
writable: true
|
30
|
+
});
|
31
|
+
} else {
|
32
|
+
obj[key] = value;
|
33
|
+
}
|
34
|
+
|
35
|
+
return obj;
|
36
|
+
}
|
37
|
+
|
23
38
|
var ReactSharedInternalsServer = // $FlowFixMe: It's defined in the one we resolve to.
|
24
39
|
React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
25
40
|
|
@@ -890,11 +905,7 @@ function createTemporaryReference(id) {
|
|
890
905
|
return new Proxy(reference, proxyHandlers);
|
891
906
|
}
|
892
907
|
|
893
|
-
|
894
|
-
// When adding new symbols to this file,
|
895
|
-
// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
|
896
|
-
// The Symbol used to tag the ReactElement-like types.
|
897
|
-
var REACT_ELEMENT_TYPE = Symbol.for('react.element');
|
908
|
+
var REACT_ELEMENT_TYPE = Symbol.for('react.transitional.element') ;
|
898
909
|
var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
|
899
910
|
var REACT_CONTEXT_TYPE = Symbol.for('react.context');
|
900
911
|
var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
|
@@ -1818,18 +1829,56 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|
1818
1829
|
}
|
1819
1830
|
}
|
1820
1831
|
|
1821
|
-
if (typeof result === 'object' && result !== null
|
1822
|
-
|
1823
|
-
|
1824
|
-
|
1832
|
+
if (typeof result === 'object' && result !== null) {
|
1833
|
+
if (typeof result.then === 'function') {
|
1834
|
+
// When the return value is in children position we can resolve it immediately,
|
1835
|
+
// to its value without a wrapper if it's synchronously available.
|
1836
|
+
var thenable = result;
|
1837
|
+
|
1838
|
+
if (thenable.status === 'fulfilled') {
|
1839
|
+
return thenable.value;
|
1840
|
+
} // TODO: Once we accept Promises as children on the client, we can just return
|
1841
|
+
// the thenable here.
|
1842
|
+
|
1825
1843
|
|
1826
|
-
|
1827
|
-
|
1828
|
-
|
1829
|
-
// the
|
1844
|
+
result = createLazyWrapperAroundWakeable(result);
|
1845
|
+
} // Normally we'd serialize an Iterator/AsyncIterator as a single-shot which is not compatible
|
1846
|
+
// to be rendered as a React Child. However, because we have the function to recreate
|
1847
|
+
// an iterable from rendering the element again, we can effectively treat it as multi-
|
1848
|
+
// shot. Therefore we treat this as an Iterable/AsyncIterable, whether it was one or not, by
|
1849
|
+
// adding a wrapper so that this component effectively renders down to an AsyncIterable.
|
1830
1850
|
|
1831
1851
|
|
1832
|
-
|
1852
|
+
var iteratorFn = getIteratorFn(result);
|
1853
|
+
|
1854
|
+
if (iteratorFn) {
|
1855
|
+
var iterableChild = result;
|
1856
|
+
result = _defineProperty({}, Symbol.iterator, function () {
|
1857
|
+
var iterator = iteratorFn.call(iterableChild);
|
1858
|
+
|
1859
|
+
{
|
1860
|
+
// If this was an Iterator but not a GeneratorFunction we warn because
|
1861
|
+
// it might have been a mistake. Technically you can make this mistake with
|
1862
|
+
// GeneratorFunctions and even single-shot Iterables too but it's extra
|
1863
|
+
// tempting to try to return the value from a generator.
|
1864
|
+
if (iterator === iterableChild) {
|
1865
|
+
var isGeneratorComponent = // $FlowIgnore[method-unbinding]
|
1866
|
+
Object.prototype.toString.call(Component) === '[object GeneratorFunction]' && // $FlowIgnore[method-unbinding]
|
1867
|
+
Object.prototype.toString.call(iterableChild) === '[object Generator]';
|
1868
|
+
|
1869
|
+
if (!isGeneratorComponent) {
|
1870
|
+
error('Returning an Iterator from a Server Component is not supported ' + 'since it cannot be looped over more than once. ');
|
1871
|
+
}
|
1872
|
+
}
|
1873
|
+
}
|
1874
|
+
|
1875
|
+
return iterator;
|
1876
|
+
});
|
1877
|
+
|
1878
|
+
{
|
1879
|
+
result._debugInfo = iterableChild._debugInfo;
|
1880
|
+
}
|
1881
|
+
}
|
1833
1882
|
} // Track this element's key on the Server Component on the keyPath context..
|
1834
1883
|
|
1835
1884
|
|
@@ -2301,6 +2350,11 @@ function serializeSet(request, set) {
|
|
2301
2350
|
return '$W' + id.toString(16);
|
2302
2351
|
}
|
2303
2352
|
|
2353
|
+
function serializeIterator(request, iterator) {
|
2354
|
+
var id = outlineModel(request, Array.from(iterator));
|
2355
|
+
return '$i' + id.toString(16);
|
2356
|
+
}
|
2357
|
+
|
2304
2358
|
function escapeStringValue(value) {
|
2305
2359
|
if (value[0] === '$') {
|
2306
2360
|
// We need to escape $ prefixed strings since we use those to encode
|
@@ -2565,7 +2619,15 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|
2565
2619
|
var iteratorFn = getIteratorFn(value);
|
2566
2620
|
|
2567
2621
|
if (iteratorFn) {
|
2568
|
-
return
|
2622
|
+
// TODO: Should we serialize the return value as well like we do for AsyncIterables?
|
2623
|
+
var iterator = iteratorFn.call(value);
|
2624
|
+
|
2625
|
+
if (iterator === value) {
|
2626
|
+
// Iterator, not Iterable
|
2627
|
+
return serializeIterator(request, iterator);
|
2628
|
+
}
|
2629
|
+
|
2630
|
+
return renderFragment(request, task, Array.from(iterator));
|
2569
2631
|
}
|
2570
2632
|
|
2571
2633
|
|
@@ -3821,6 +3883,16 @@ function parseModelString(response, obj, key, value) {
|
|
3821
3883
|
return _data2;
|
3822
3884
|
}
|
3823
3885
|
|
3886
|
+
case 'i':
|
3887
|
+
{
|
3888
|
+
// Iterator
|
3889
|
+
var _id5 = parseInt(value.slice(2), 16);
|
3890
|
+
|
3891
|
+
var _data3 = getOutlinedModel(response, _id5);
|
3892
|
+
|
3893
|
+
return _data3[Symbol.iterator]();
|
3894
|
+
}
|
3895
|
+
|
3824
3896
|
case 'I':
|
3825
3897
|
{
|
3826
3898
|
// $Infinity
|