imgix-url-builder
Version:
JavaScript/TypeScript Imgix URL builders for browsers and Node.js
30 lines (29 loc) • 867 B
JavaScript
const camelCaseToParamCase = (input) => {
return input.replace(/[A-Z]/g, (match) => {
return `-${match.toLowerCase()}`;
});
};
const buildURL = (url, params) => {
const instance = new URL(url);
for (const camelCasedParamKey in params) {
const paramKey = camelCaseToParamCase(camelCasedParamKey);
const paramValue = params[camelCasedParamKey];
if (paramValue === void 0) {
instance.searchParams.delete(paramKey);
} else if (Array.isArray(paramValue)) {
instance.searchParams.set(paramKey, paramValue.join(","));
} else {
instance.searchParams.set(paramKey, `${paramValue}`);
}
}
const s = instance.searchParams.get("s");
if (s) {
instance.searchParams.delete("s");
instance.searchParams.append("s", s);
}
return instance.toString();
};
export {
buildURL
};
//# sourceMappingURL=buildURL.js.map