Source: internal/vendor/@carbon/ibmdotcom-utilities/utilities/serialize/serialize.js

/**
 * Copyright IBM Corp. 2020, 2022
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * Converts a JSON object to a serialized string
 *
 * @param {object} obj Object to convert
 * @returns {string} Serialized string
 * @example
 * import { serialize } from '@carbon/ibmdotcom-utilities'
 *
 * const obj = {
 *  param1: 'one',
 *  param2: 'two',
 *  param3: 'three',
 * };
 *
 * const result = serialize(obj);
 * console.log(result); // param1=one&param2=two&param3=three
 */
function serialize(obj) {
  return Object.keys(obj).map(function (key) {
    var value;
    if (typeof obj[key] === 'string') {
      value = encodeURIComponent(obj[key]);
    } else {
      value = encodeURIComponent(JSON.stringify(obj[key]));
    }
    return "".concat(encodeURIComponent(key), "=").concat(value);
  }).join('&');
}
export default serialize;