Repository URL to install this package:
|
Version:
5.2.0 ▾
|
import { toStringy } from './toStringy'
import querystring from 'query-string'
// 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 stringifyProperties(params: Object): Object {
// 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.stringify(stringified)
// return querystring.stringify(stringified)
// return JSON.stringify(stringified)
// 4
// better, but only browser - @todo polyfil
// return searchParams
}
export { stringifyProperties, stringifyParamsRecursively }
export default stringifyParamsRecursively