imgix-url-builder
Version:
JavaScript/TypeScript Imgix URL builders for browsers and Node.js
30 lines (29 loc) • 961 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
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();
};
exports.buildURL = buildURL;
//# sourceMappingURL=buildURL.cjs.map