builder

Methods

(static) raw(value)

Source:
Use to wrap value for uriBuilder to enforce no encoding for it
Example
const { uriBuilder, raw } = require('@gjax/uri');
const p1 = 'a/b?c', query = 'name=John%20Doe&age=20';

uriBuilder`/foo/${p1}/bar/?${query}`
// RESULT: /foo/a%2Fb%3Fc/bar/?name=John%2520Doe&age=20'

uriBuilder`/foo/${p1}/bar/?${raw(query)}`
// RESULT: /foo/a%2Fb%3Fc/bar/?name=John%20Doe&age=20
Parameters:
Name Type Description
value
Returns:
object representing wrapped value with encoded flag.

(static) uriBuilder() → {string}

Source:
ES6 template literal tag, used to build URLs safely (correctly encoded path/query/segment)
Example
const { uriBuilder } = require('@gjax/uri');
const p1 = 'a/b?c', p2 = 'a#b', p3 = 'a b';
const url = uriBuilder`/foo/${p1}/bar/?x=${p2}#/baz/${p3}`;
// RESULT: /foo/a%2Fb%3Fc/bar/?x=a%23b#/baz/a%20b
Returns:
builded URL
Type
string

(static) uriBuilderRql() → {string}

Source:
ES6 template literal tag, used to build URLs safely (correctly encoded path/query/segment) Values in query are encoded using uri.encodeRqlValue
Example
const { uriBuilder, uriBuilderRql } = require('@gjax/uri');
const p1 = 10, p2 = 'a)b';

const url = uriBuilder`/foo/${p1}/bar/?eq(x,${p2})`
// RESULT: /foo/10/bar/?eq(x,a)b)'

const url = uriBuilderRql`/foo/${p1}/bar/?eq(x,${p2})`
// RESULT: /foo/10/bar/?eq(x,a%29b)'
Returns:
builded URL
Type
string