UNPKG

konfig-axios-fetch-adapter

Version:
69 lines 2.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = __importDefault(require("./../utils")); function encode(val) { return encodeURIComponent(val) .replace(/%3A/gi, ":") .replace(/%24/g, "$") .replace(/%2C/gi, ",") .replace(/%20/g, "+") .replace(/%5B/gi, "[") .replace(/%5D/gi, "]"); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @returns {string} The formatted url */ function buildURL(url, params, paramsSerializer) { /*eslint no-param-reassign:0*/ if (!params) { return url; } var serializedParams; if (paramsSerializer) { serializedParams = paramsSerializer(params); } else if (utils_1.default.isURLSearchParams(params)) { serializedParams = params.toString(); } else { var parts = []; utils_1.default.forEach(params, function serialize(val, key) { if (val === null || typeof val === "undefined") { return; } if (utils_1.default.isArray(val)) { key = key + "[]"; } else { val = [val]; } utils_1.default.forEach(val, function parseValue(v) { if (utils_1.default.isDate(v)) { v = v.toISOString(); } else if (utils_1.default.isObject(v)) { v = JSON.stringify(v); } parts.push(encode(key) + "=" + encode(v)); }); }); serializedParams = parts.join("&"); } if (serializedParams) { var hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams; } return url; } exports.default = buildURL; //# sourceMappingURL=buildURL.js.map