fix: allow passing a callback as paramsSerializer to buildURL (#6680)

* fix: allow passing a callback as paramsSerializer to buildURL

* fix: add missing semicolon
This commit is contained in:
Tommaso Paulon 2024-11-12 16:33:33 +01:00 committed by GitHub
parent df956d18fe
commit eac4619fe2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 1 deletions

View File

@ -26,7 +26,7 @@ function encode(val) {
*
* @param {string} url The base of the url (e.g., http://www.google.com)
* @param {object} [params] The params to be appended
* @param {?object} options
* @param {?(object|Function)} options
*
* @returns {string} The formatted url
*/
@ -38,6 +38,12 @@ export default function buildURL(url, params, options) {
const _encode = options && options.encode || encode;
if (utils.isFunction(options)) {
options = {
serialize: options
};
}
const serializeFn = options && options.serialize;
let serializedParams;

View File

@ -98,5 +98,12 @@ describe('helpers::buildURL', function () {
};
expect(buildURL('/foo', params, options)).toEqual('/foo?rendered');
const customSerializer = (thisParams) => {
expect(thisParams).toEqual(params);
return "rendered"
};
expect(buildURL('/foo', params, customSerializer)).toEqual('/foo?rendered');
});
});