Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / oneRequest / deps / queryStringify.js
Size: Mime:
"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;