UNPKG

moip-sdk-node-ts

Version:
17 lines (16 loc) 1.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const query_string_1 = __importDefault(require("query-string")); const querystring_1 = __importDefault(require("querystring")); const lodash_1 = __importDefault(require("lodash")); const formatField = (field, key) => `${key}(${field})`; const formatFilter = (filter) => lodash_1.default.map(filter, formatField); const stringify = (queryObj, sep = '|', eq = '::') => querystring_1.default.unescape(query_string_1.default.stringify(queryObj)).replace(/&/g, sep).replace(/=/g, eq); const getFiltersQuerystring = (filters) => lodash_1.default.mapValues(filters, (filter, key) => stringify({ [key]: formatFilter(filter) })); const formatQueryStringFilters = (filters) => lodash_1.default.toArray(getFiltersQuerystring(filters)).join('&'); const getQuerystring = (_query) => _query && stringify(Object.assign(_query, _query.filters && { filters: formatQueryStringFilters(_query.filters) }), '&', '='); exports.default = getQuerystring;