UNPKG

@flex-development/pathe

Version:

Universal drop-in replacement for node:path

25 lines (24 loc) 768 B
import validateString from "#internal/validate-string"; import validateURLString from "#internal/validate-url-string"; import addExt from "#lib/add-ext"; import extname from "#lib/extname"; import formatExt from "#lib/format-ext"; import removeExt from "#lib/remove-ext"; var change_ext_default = changeExt; function changeExt(input, ext) { validateURLString(input, "input"); if (typeof input === "string") { if (ext !== null && ext !== void 0) { validateString(ext, "ext"); ext = formatExt(ext); } const extension = extname(input); input = removeExt(input, extension); if (!ext) return input; return addExt(input, ext); } return input.href = changeExt(input.href, ext), input; } export { change_ext_default as default };