Repository URL to install this package:
|
Version:
1.2.12 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.stringifyProperties = stringifyProperties;
exports.stringifyParamsRecursively = stringifyParamsRecursively;
exports.default = void 0;
var _exotic = require("exotic");
var _queryString = _interopRequireDefault(require("query-string"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// 0
// replace all objects stringified
// Object.keys(params).forEach(key => {
// const param = params[key]
// if (isObj(param)) {
// params[key] = querystring.stringify(param)
// }
// })
// 1
// recurse(params).forEach((value, path, thisArg) => {
// if (isPrimitive(value)) {
// // dot.set(stringified, path, stringified)
// }
// else {
// }
// })
// const encoded = encodeURIComponent(stringified)
function toStringy(x) {
return (0, _exotic.isString)(x) ? x : JSON.stringify(x);
}
function stringifyProperties(params) {
// const param = params[key]
const stringified = {}; // const stringParams = JSON.stringify(params)
// const searchParams = new URLSearchParams('')
// searchParams.set('item', stringParams)
Object.keys(params).forEach(key => {
const value = params[key];
const stringifiedValue = toStringy(value); // searchParams.set(key, stringifiedValue)
stringified[key] = stringifiedValue;
});
return stringified;
} // 3
// form data, url-encoded
function stringifyParamsRecursively(params) {
const stringified = stringifyProperties(params); // return querystring.stringify(stringified).replace(/\%22/gmi)
return _queryString.default.stringify(stringified); // return querystring.stringify(stringified)
// return JSON.stringify(stringified)
// 4
// better, but only browser - @todo polyfil
// return searchParams
}
var _default = stringifyParamsRecursively;
exports.default = _default;