next
Version:
The React Framework
37 lines (36 loc) • 1.32 kB
JavaScript
import { wellKnownProperties } from '../../shared/lib/utils/reflect-utils';
const CachedParams = new WeakMap();
function makeUntrackedExoticParams(underlyingParams) {
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
const promise = Promise.resolve(underlyingParams);
CachedParams.set(underlyingParams, promise);
Object.keys(underlyingParams).forEach((prop)=>{
if (wellKnownProperties.has(prop)) {
// These properties cannot be shadowed because they need to be the
// true underlying value for Promises to work correctly at runtime
} else {
;
promise[prop] = underlyingParams[prop];
}
});
return promise;
}
function makeUntrackedParams(underlyingParams) {
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
const promise = Promise.resolve(underlyingParams);
CachedParams.set(underlyingParams, promise);
return promise;
}
export function createRenderParamsFromClient(clientParams) {
if (process.env.__NEXT_DYNAMIC_IO) {
return makeUntrackedParams(clientParams);
}
return makeUntrackedExoticParams(clientParams);
}
//# sourceMappingURL=params.browser.prod.js.map