UNPKG

@atlassian/bitbucket-server

Version:

Bitbucket Server API client for Browser and Node.js

31 lines (27 loc) 940 B
/** * Adds Query Parameters to URL * @param {String} url - URL * @param {Object} params - Query Parameters * @returns {String} URL with added Query Parameters */ const addQueryParameters = ( url, params = {} ) => { const separator = /\?/.test( url ) ? '&' : '?' // Force returning avatar url as it is not returned by default // https://community.atlassian.com/t5/Bitbucket-articles/Retrieve-the-user-s-avatar-via-the-REST-API-endpoints/ba-p/940531 url = `${url}${separator}markup&avatarSize=64` const names = Object.keys( params ) if ( names.length === 0 ) { return url } return `${url}&${names .map( name => { if ( name === 'q' ) { return Object.keys( params.q ) .map( key => `${key}=${encodeURIComponent( params.q[key] )}` ) .join( '&' ) } return `${name}=${encodeURIComponent( params[name] )}` } ) .join( '&' )}` } module.exports = addQueryParameters