Skip to main content

url

Utilities to work with urls. Based on standard implementation of URL and URLSearchParams, in case environment does not support these object polyfills should be used, e.g. core-js.

Api

parse

Parses url and returns object of class URL with additional property query which represents searchParams as a simple object.

import { parse } from '@tinkoff/url';

const url = parse('https://tinkoff.ru/test/?a=1&b=2#abc');

url.protocol; // => :https
url.href; // => https://tinkoff.ru/test/?a=1&b=2#abc
url.origin; // => https://tinkoff.ru
url.pathname; // => /test/
url.hash; // => #abc
url.query; // => { a: '1', b: '2' }

rawParse

Same as parse but instead of returning wrapper for URL returns raw URL object

resolve

Computes absolute url for relative url of base value

import { resolve } from '@tinkoff/url';

resolve('//tinkoff.ru', './test123'); // => http://tinkoff.ru/test123
resolve('//tinkoff.ru/a/b/c/', '../../test'); // => http://tinkoff.ru/a/test
resolve('https://tinkoff.ru/a/b/c/?test=123#abc', '.././test/?me=123#123'); // => https://tinkoff.ru/a/b/test/?me=123#123

resolveUrl

Computes absolute url for relative url of base value. Unlike resolve can accept string or URL and return URL wrapper

rawResolveUrl

Same as resolveUrl but instead of returning wrapper for URL returns raw URL object

isAbsoluteUrl

Checks that passed string is absolute url

isInvalidUrl

Checks that passed string represents invalid url

import { isAbsoluteUrl } from '@tinkoff/url';

isAbsoluteUrl('https://www.exmaple.com'); // true - secure http absolute URL
isAbsoluteUrl('//cdn.example.com/lib.js'); // true - protocol-relative absolute URL
isAbsoluteUrl('/myfolder/test.txt'); // false - relative URL

convertRawUrl

Returns handy wrapper for URL in form of plain object with some additional fields

rawAssignUrl

Allows to set parameters to passed raw URL object (passed URL-object will be changed)