UNPKG

nuqs

Version:

Type-safe search params state manager for React - Like useState, but stored in the URL query string

24 lines (23 loc) 921 B
import { t as debug } from "./debug-CH5E3t0A.js"; import { t as compareQuery } from "./compare-DGz2TUZl.js"; //#region src/adapters/lib/key-isolation.ts function applyChange(newValue, keys, copy) { return (oldValue) => { if (!(keys.length === 0 ? true : keys.some((key) => !compareQuery(oldValue.getAll(key), newValue.getAll(key))))) { debug(22, keys.join(","), oldValue); return oldValue; } const filtered = filterSearchParams(newValue, keys, copy); debug(23, keys.join(","), oldValue, filtered); return filtered; }; } function filterSearchParams(search, keys, copy) { if (keys.length === 0) return search; const filtered = copy ? new URLSearchParams(search) : search; for (const key of Array.from(search.keys())) if (!keys.includes(key)) filtered.delete(key); return filtered; } //#endregion export { filterSearchParams as n, applyChange as t }; //# sourceMappingURL=key-isolation-Em0NBdl2.js.map