UNPKG

next

Version:

The React Framework

25 lines (24 loc) 1.12 kB
import { wellKnownProperties } from '../../shared/lib/utils/reflect-utils'; const CachedSearchParams = new WeakMap(); export function makeUntrackedExoticSearchParams(underlyingSearchParams) { const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams); if (cachedSearchParams) { return cachedSearchParams; } // We don't use makeResolvedReactPromise here because searchParams // supports copying with spread and we don't want to unnecessarily // instrument the promise with spreadable properties of ReactPromise. const promise = Promise.resolve(underlyingSearchParams); CachedSearchParams.set(underlyingSearchParams, promise); Object.keys(underlyingSearchParams).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] = underlyingSearchParams[prop]; } }); return promise; } //# sourceMappingURL=search-params.browser.prod.js.map