UNPKG

@esri/arcgis-rest-request

Version:

Common methods and utilities for @esri/arcgis-rest-js packages.

34 lines 1.13 kB
/* Copyright (c) 2017 Environmental Systems Research Institute, Inc. * Apache-2.0 */ import { processParams } from "./process-params.js"; /** * Encodes keys and parameters for use in a URL's query string. * * @param key Parameter's key * @param value Parameter's value * @returns Query string with key and value pairs separated by "&" */ export function encodeParam(key, value) { // For array of arrays, repeat key=value for each element of containing array if (Array.isArray(value) && value[0] && Array.isArray(value[0])) { return value .map((arrayElem) => encodeParam(key, arrayElem)) .join("&"); } return encodeURIComponent(key) + "=" + encodeURIComponent(value); } /** * Encodes the passed object as a query string. * * @param params An object to be encoded. * @returns An encoded query string. */ export function encodeQueryString(params) { const newParams = processParams(params); return Object.keys(newParams) .map((key) => { return encodeParam(key, newParams[key]); }) .join("&"); } //# sourceMappingURL=encode-query-string.js.map