const VOLATILE_QUERY_PARAMS = ['utm_referrer'] as const; type VolatileQueryParam = (typeof VOLATILE_QUERY_PARAMS)[number]; export function omitVolatileQueryParams>( query: T, ): Omit { let result = query; VOLATILE_QUERY_PARAMS.forEach((param) => { if (Object.prototype.hasOwnProperty.call(result, param)) { if (result === query) { result = {...query}; } delete result[param]; } }); return result; }