@wordpress/url
Version:
WordPress URL utilities.
21 lines (20 loc) • 437 B
JavaScript
/**
* Safely decodes a URI with `decodeURI`. Returns the URI unmodified if
* `decodeURI` throws an error.
*
* @param {string} uri URI to decode.
*
* @example
* ```js
* const badUri = safeDecodeURI( '%z' ); // does not throw an Error, simply returns '%z'
* ```
*
* @return {string} Decoded URI if possible.
*/
export function safeDecodeURI( uri ) {
try {
return decodeURI( uri );
} catch ( uriError ) {
return uri;
}
}