@anymud/url
TypeScript icon, indicating that this package has built-in type declarations

0.2.5 • Public • Published

@anymud/url

@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.

Key Features

  • 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.

Installation

@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

Usage Examples

Converting Input to URL

import { toURL } from '@anymud/url';

const url = toURL('/path', 'https://example.com');
console.log(url.href); // Outputs: "https://example.com/path"

Setting Subdomains

import { setSubdomain } from '@anymud/url';

const newUrl = setSubdomain('https://example.com', 'blog');
console.log(newUrl.href); // Outputs: "https://blog.example.com"

Merging URL Search Parameters

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"

Contributing

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.

License

@anymud/url is licensed under the MIT License.

Package Sidebar

Install

npm i @anymud/url

Weekly Downloads

9

Version

0.2.5

License

MIT

Unpacked Size

11.8 kB

Total Files

4

Last publish

Collaborators

  • shtse8