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