vue-socials
Version:
Social media share buttons and counts for Vue.js
17 lines (15 loc) • 710 B
JavaScript
/**
* A simple function to format object to GET parameters.
* It skips undefined, null, and NaN values.
* @example { foo: 'bar', bar: undefined, foobar: 'foo bar', } => '?foo=bar&foobar=foo%20bar'
* @example { foo: null, bar: undefined, foobar: NaN, } => ''
*/
function getSerialisedParams(object) {
var params = Object.entries(object).filter(function (param) {
return param[1] !== undefined && param[1] !== null && !Number.isNaN(param[1]) && param[1] !== '';
}).map(function (param) {
return "".concat(encodeURIComponent(param[0]), "=").concat(encodeURIComponent(String(param[1])));
});
return params.length > 0 ? "?".concat(params.join('&')) : '';
}
export default getSerialisedParams;