@snipsonian/core
Version:
Core/base reusable javascript code snippets
19 lines (15 loc) • 584 B
text/typescript
import appendUrlParam, { encodeParamName, IAppendUrlParamInput } from './appendUrlParam';
export default function appendUrlParamIfNotAlready({
url,
paramName,
paramValue,
}: IAppendUrlParamInput): string {
if (doesUrlContainParam({ url, paramName })) {
return url;
}
return appendUrlParam({ url, paramName, paramValue });
}
function doesUrlContainParam({ url, paramName }: { url: string; paramName: string }): boolean {
const encodedParamName = encodeParamName(paramName);
return url.search(new RegExp(`[\\?&]${encodedParamName}=`)) > -1;
}