function safeDecodeURIComponent(text) {
  try {
    return decodeURIComponent(text);
  } catch (e) {
    return text;
  }
}
Safe decodeURIComponent, won't throw any error.
If `decodeURIComponent` error happen, just return the original value.

@param {String} text
@returns {String} URL decode original string.
@private