UNPKG

@exchanges/binance

Version:

Exchange provider for Binance API

39 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeQueryString = void 0; /** * Build query string for uri encoded url based on json object */ const makeQueryString = (obj) => { if (!obj) throw new TypeError('makeQueryString obj is empty'); if (typeof obj !== 'object') throw new TypeError('makeQueryString obj is not object'); const entries = Object.entries(obj); if (entries.length <= 0) return ''; return convertObject(obj); }; exports.makeQueryString = makeQueryString; function convertPrimitive(input) { return encodeURIComponent(input); } function convertObject(input) { return Object.entries(input) .map(([key, value]) => { if (typeof value === 'undefined' || value === null) return null; if (typeof value === 'object' && !Array.isArray(value)) { return `${convertPrimitive(key)}=${convertPrimitive(JSON.stringify(value))}`; } if (Array.isArray(value)) { // const data = value.map((item) => convertPrimitive(JSON.stringify(item))).join(','); // return `${convertPrimitive(key)}=[${data}]`; return `${convertPrimitive(key)}=[${value.map((item) => convertPrimitive(JSON.stringify(item))).join(',')}]`; } return `${convertPrimitive(key)}=${convertPrimitive(value)}`; }) .filter(Boolean) .join('&'); } //# sourceMappingURL=makeQueryString.js.map