Repository URL to install this package:
|
Version:
7.1.2-patch-delete ▾
|
import querystring from 'query-string'
import { cloneJSON } from 'chain-able-lego'
import { Params } from '../typings'
import { toStringy } from './toStringy'
export interface SemiSerialized {
[key: string]: string
[key: number]: string
}
export function stringifyProperties(params: any): SemiSerialized {
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
}
// form data, url-encoded
export function stringifyParamsRecursively(params: any) {
const stringified = stringifyProperties(params)
// https://stackoverflow.com/a/49646940
return querystring.stringify(stringified)
}
export function fromParamsToStringified(paramArg: Params = undefined): string {
const cloned = cloneJSON(paramArg)
const stringified = stringifyParamsRecursively(cloned)
return stringified
}