@brr-dev/path-helpers
v0.1.0
Published
This is a library contains a collection of methods for operating on paths and URLs.
Downloads
2
Readme
path-helpers
This is a library contains a collection of methods for operating on paths and URLs.
Functions
stripSlashes(inputStr, whichEnd = stripSlashes.BOTH): string
This function always returns a string. If the input value is not a string, the return value is an empty string.
The stripSlashes
function strips slashes from the ends of the input string.
stripSlashes("http://brr.dev//////");
// => "http://brr.dev"
stripSlashes("//path//to/something//");
// => "path//to/something"
By default, the function will trim strip all trailing and leading slashes (/
). You can pass a different flag to the whichEnd
argument to change which ends are stripped.
| whichEnd
Flags | Description |
|-------------------------|------------------------------------------------------------------------------|
| stripSlashes.BOTH
| Strip trailing and leading slashes (/
) from both ends of the input string. |
| stripSlashes.LEADING
| Strip any leading slashes (/
) from the start of the input string. |
| stripSlashes.TRAILING
| Strip any trailing slashes (/
) from the end of the input string. |
combinePaths(...pathInputs: string[]): string
The combinePaths
function takes in any number of path inputs, strips trailing and leading slashes (/
) off of each path using stripSlashes
, and combines them with a single slash separator (/
).
Any inputs passed that are not strings will be ignored when building the final path. If there are no strings passed as inputs, this function will return an empty string.
combinePaths('/pathA', '//part/two', '//pathB//');
// => 'pathA/part/two/pathB'
combinePaths(null, ['/path', false], undefined);
// => ''
toQueryStr(queryInput): string
Converts an object to a URL query string, mapping the keys of the object to the values as parameters. This function always returns a string prefixed with a question mark (?
). If the input value is not an object, this function will return a question mark string '?'
.
toQueryStr({ a: 1 });
// => '?a=1'
toQueryStr({ a: 'aaa', b: 'bbb', c: 'ccc' });
// => '?a=aaa&b=bbb&c=ccc'
toQueryStr(null);
// => '?'
buildURLStr(urlConfig): string
Takes in bits of a URL, specifically a base URL, a path, and a query object, and use it to build a proper URL string. This function always returns a string. If the input value is not an object, this function will return an empty string.
buildURLStr({
baseURL: 'https://some-api.com',
path: '/v1/users',
query: { userID: 12345, token: '#####'}
});
// => https://some=api.com/v1/users?userID=12345&token=#####