nuqs
Version:
24 lines (23 loc) • 921 B
JavaScript
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