Polyfill URL and URLSearchParams to match last ES7 specifications
Compliant in most of the use cases but not at 100% (like unicode chars, punycodes, etc...)
Tested on IE 10+
npm i url-polyfill --save
Documentation: https://developer.mozilla.org/en-US/docs/Web/API/URL
Supported : 'hash', 'host', 'hostname', 'href', 'port', 'protocol', 'search', 'toString', 'pathname', 'origin', 'searchParams'
Example:
const url = new URL('https://www.example.com:8080/?fr=yset_ie_syc_oracle&type=orcl_hpset#page0');
"page0"
"www.example.com:8080"
"www.example.com"
"https://www.example.com:8080/?fr=yset_ie_syc_oracle&type=orcl_hpset#page0"
"https://www.example.com:8080"
"/"
"8080"
"https:"
"?fr=yset_ie_syc_oracle&type=orcl_hpset"
Documentation: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
Supported : 'append', 'delete', 'get', 'getAll', 'has', 'set', 'forEach', 'keys', 'values', 'entries', 'toString', 'Symbol.iterator'
Example:
const url = new URL('https://www.example.com/?fr=yset_ie_syc_oracle&type=orcl_hpset#page0');
url.searchParams.append('page', 0);
console.log(url.toString()); // print: "https://www.example.com/?fr=yset_ie_syc_oracle&type=orcl_hpset&page=0#page0"