@anymud/url
is a comprehensive library designed for URL manipulation, enabling easy adjustments to subdomains, paths, and hosts, as well as merging URL search parameters with support for replace and append modes. Optimized for modern web development, it supports ESM modules and is compatible with npm
, pnpm
, yarn
, and bun
, providing a versatile toolset for developers.
- Dynamic URL Conversion: Convert various inputs into a URL object, supporting relative URL resolution against a base.
- Subdomain Manipulation: Get, set, or replace subdomains with ease, including support for complex TLDs.
- Path and Host Adjustments: Directly modify paths and hosts within URLs.
- Search Parameters Management: Advanced capabilities for converting to and merging URLSearchParams, with flexible strategies.
@anymud/url
supports installation using npm
, pnpm
, yarn
, or bun
. It exclusively supports ESM modules. Choose your preferred package manager for installation:
npm install @anymud/url
pnpm add @anymud/url
yarn add @anymud/url
bun add @anymud/url
import { toURL } from '@anymud/url';
const url = toURL('/path', 'https://example.com');
console.log(url.href); // Outputs: "https://example.com/path"
import { setSubdomain } from '@anymud/url';
const newUrl = setSubdomain('https://example.com', 'blog');
console.log(newUrl.href); // Outputs: "https://blog.example.com"
import { mergeURLSearchParams } from '@anymud/url';
const mergedParams = mergeURLSearchParams('a=1&b=2', 'b=3&c=4', 'append');
console.log(mergedParams.toString()); // Outputs: "a=1&b=2&b=3&c=4"
We welcome contributions to @anymud/url
. Whether it's submitting issues, pull requests, or suggestions, your help and feedback are invaluable in improving this library.
@anymud/url
is licensed under the MIT License.