url-pattern
Minified1.77 KBMinzipped761 BType-safe url pattern matching.
Example
ts
const matchPattern = urlPattern(
"/api/:version{v1|v2}/users/:id?sort&order{asc|desc}",
);
const result = matchPattern("/api/v1/users/123?sort=name&order=asc");ts
type Result =
| undefined
| {
params: {
version: "v1" | "v2";
id: string;
};
search: {
sort?: string;
order?: "asc" | "desc";
};
raw: {
hash: string;
host: string;
hostname: string;
href: string;
origin: string;
password: string;
pathname: string;
port: string;
protocol: string;
search: string;
username: string;
};
};ts
const result = {
params: { id: "123", version: "v1" },
search: { order: "asc", sort: "name" },
raw: {...},
};Installation
sh
npm install @monstermann/url-patternsh
pnpm add @monstermann/url-patternsh
yarn add @monstermann/url-patternsh
bun add @monstermann/url-pattern