@cloudcome/utils-core
Version:
cloudcome core utils
38 lines (37 loc) • 883 B
JavaScript
function urlParse(url) {
let result = null;
try {
result = new globalThis.URL(url);
} catch (e) {
}
const protocol = result?.protocol || "";
const host = result?.host || "";
return {
protocol,
host,
hostname: result?.hostname || "",
port: result?.port || "",
pathname: result?.pathname || "",
search: result?.search || "",
hash: result?.hash || "",
username: result?.username || "",
password: result?.password || ""
};
}
function urlStringify(url) {
const { protocol, hostname, port, pathname, search, hash, username, password } = url;
return [
protocol ? `${protocol}//` : "",
username && password ? `${username}:${password}@` : "",
hostname,
port ? `:${port}` : "",
pathname,
search,
hash
].filter(Boolean).join("");
}
export {
urlParse,
urlStringify
};
//# sourceMappingURL=url.mjs.map