decode_url.js 413 B

1234567891011121314151617181920
  1. 'use strict';
  2. const { parse, format } = require('url');
  3. const { unescape } = require('querystring');
  4. const decodeURL = str => {
  5. if (parse(str).protocol) {
  6. const parsed = new URL(str);
  7. // Exit if input is a data url
  8. if (parsed.origin === 'null') return str;
  9. const url = format(parsed, { unicode: true });
  10. return unescape(url);
  11. }
  12. return unescape(str);
  13. };
  14. module.exports = decodeURL;