@inertiajs/core 2.2.20 → 2.2.21

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/dist/index.esm.js CHANGED
@@ -539,6 +539,14 @@ var PrefetchedRequests = class {
539
539
  prefetched.response.then((response) => {
540
540
  const pageResponse = response.getPageResponse();
541
541
  page.mergeOncePropsIntoResponse(pageResponse, { force: true });
542
+ for (const [group, deferredProps] of Object.entries(pageResponse.deferredProps ?? {})) {
543
+ const remaining = deferredProps.filter((prop) => pageResponse.props[prop] === void 0);
544
+ if (remaining.length > 0) {
545
+ pageResponse.deferredProps[group] = remaining;
546
+ } else {
547
+ delete pageResponse.deferredProps[group];
548
+ }
549
+ }
542
550
  const oncePropExpiresIn = this.getShortestOncePropTtl(pageResponse);
543
551
  if (oncePropExpiresIn === null) {
544
552
  return;
@@ -1880,6 +1888,12 @@ var Response = class _Response {
1880
1888
  ...pageResponse.scrollProps || {}
1881
1889
  };
1882
1890
  }
1891
+ if (page.hasOnceProps()) {
1892
+ pageResponse.onceProps = {
1893
+ ...page.get().onceProps || {},
1894
+ ...pageResponse.onceProps || {}
1895
+ };
1896
+ }
1883
1897
  }
1884
1898
  mergeOrMatchItems(existingItems, newItems, matchProp, matchPropsOn, shouldAppend = true) {
1885
1899
  const items = Array.isArray(existingItems) ? existingItems : [];
@@ -2040,7 +2054,12 @@ var Request = class _Request {
2040
2054
  if (page2.version) {
2041
2055
  headers["X-Inertia-Version"] = page2.version;
2042
2056
  }
2043
- const onceProps = Object.entries(page2.onceProps || {}).filter(([, onceProp]) => !onceProp.expiresAt || onceProp.expiresAt > Date.now()).map(([key]) => key);
2057
+ const onceProps = Object.entries(page2.onceProps || {}).filter(([, onceProp]) => {
2058
+ if (page2.props[onceProp.prop] === void 0) {
2059
+ return false;
2060
+ }
2061
+ return !onceProp.expiresAt || onceProp.expiresAt > Date.now();
2062
+ }).map(([key]) => key);
2044
2063
  if (onceProps.length > 0) {
2045
2064
  headers["X-Inertia-Except-Once-Props"] = onceProps.join(",");
2046
2065
  }