URL

Query string and path helpers.

queryStringToObject

Parse a query string into an object.

import { queryStringToObject } from '@cc-heart/utils'

queryStringToObject('a=1&b=hello') // { a: '1', b: 'hello' }
queryStringToObject('foo[0]=1&foo[1]=2') // { foo: ['1', '2'] }
Tip

The input should be a bare query string. When reading from location.search, strip the leading ? first: queryStringToObject(location.search.slice(1)).

objectToQueryString

Serialize an object into a query string.

objectToQueryString({ a: 1, b: 'hello' }) // 'a=1&b=hello'

basename

Extract the last portion of a path, optionally stripping a suffix.

basename('/foo/bar/baz.txt') // 'baz.txt'
basename('/foo/bar/baz.txt', '.txt') // 'baz'

convertParamsRouterToRegExp

Convert a route pattern with :params into a RegExp.

convertParamsRouterToRegExp('/user/:id') // /^\/user\/([^/]+)$/

Demo

Edit the query string / path and watch the conversions:

Loading...