Comparing version 6.0.2 to 6.1.0
{ | ||
"name": "qs", | ||
"main": "dist/qs.js", | ||
"version": "5.2.0", | ||
"homepage": "https://github.com/hapijs/qs", | ||
@@ -6,0 +5,0 @@ "authors": [ |
@@ -0,1 +1,6 @@ | ||
## [**6.1.0**](https://github.com/ljharb/qs/issues?milestone=34&state=closed) | ||
- [New] allowDots option for `stringify` (#151) | ||
- [Fix] "sort" option should work at a depth of 3 or more (#151) | ||
- [Fix] Restore `dist` directory; will be removed in v7 (#148) | ||
## [**6.0.2**](https://github.com/ljharb/qs/issues?milestone=33&state=closed) | ||
@@ -2,0 +7,0 @@ - Revert ES6 requirement and restore support for node down to v0.8. |
@@ -5,3 +5,3 @@ { | ||
"description": "query-string parser / stringifier with nesting support", | ||
"version": "5.2.0", | ||
"version": "6.1.0", | ||
"keywords": ["querystring", "query", "parser"], | ||
@@ -8,0 +8,0 @@ "main": "lib/index.js", |
@@ -201,3 +201,3 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Qs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
internals.stringify = function (object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort) { | ||
internals.stringify = function (object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots) { | ||
var obj = object; | ||
@@ -247,5 +247,5 @@ if (typeof filter === 'function') { | ||
if (Array.isArray(obj)) { | ||
values = values.concat(internals.stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, strictNullHandling, skipNulls, encode, filter)); | ||
values = values.concat(internals.stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots)); | ||
} else { | ||
values = values.concat(internals.stringify(obj[key], prefix + '[' + key + ']', generateArrayPrefix, strictNullHandling, skipNulls, encode, filter)); | ||
values = values.concat(internals.stringify(obj[key], prefix + (allowDots ? '.' + key : '[' + key + ']'), generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots)); | ||
} | ||
@@ -265,2 +265,3 @@ } | ||
var sort = typeof options.sort === 'function' ? options.sort : null; | ||
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots; | ||
var objKeys; | ||
@@ -307,3 +308,3 @@ var filter; | ||
keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort)); | ||
keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots)); | ||
} | ||
@@ -310,0 +311,0 @@ |
@@ -23,3 +23,3 @@ 'use strict'; | ||
internals.stringify = function (object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort) { | ||
internals.stringify = function (object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots) { | ||
var obj = object; | ||
@@ -69,5 +69,5 @@ if (typeof filter === 'function') { | ||
if (Array.isArray(obj)) { | ||
values = values.concat(internals.stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, strictNullHandling, skipNulls, encode, filter)); | ||
values = values.concat(internals.stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots)); | ||
} else { | ||
values = values.concat(internals.stringify(obj[key], prefix + '[' + key + ']', generateArrayPrefix, strictNullHandling, skipNulls, encode, filter)); | ||
values = values.concat(internals.stringify(obj[key], prefix + (allowDots ? '.' + key : '[' + key + ']'), generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots)); | ||
} | ||
@@ -87,2 +87,3 @@ } | ||
var sort = typeof options.sort === 'function' ? options.sort : null; | ||
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots; | ||
var objKeys; | ||
@@ -129,3 +130,3 @@ var filter; | ||
keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort)); | ||
keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort, allowDots)); | ||
} | ||
@@ -132,0 +133,0 @@ |
@@ -5,3 +5,3 @@ { | ||
"homepage": "https://github.com/ljharb/qs", | ||
"version": "6.0.2", | ||
"version": "6.1.0", | ||
"repository": { | ||
@@ -8,0 +8,0 @@ "type": "git", |
@@ -24,2 +24,8 @@ 'use strict'; | ||
}); | ||
t.test('stringifies a nested object with dots notation', function (st) { | ||
st.equal(qs.stringify({ a: { b: 'c' } }, { allowDots: true }), 'a.b=c'); | ||
st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }, { allowDots: true }), 'a.b.c.d=e'); | ||
st.end(); | ||
}); | ||
@@ -51,2 +57,7 @@ t.test('stringifies an array value', function (st) { | ||
}); | ||
t.test('stringifies a nested array value with dots notation', function (st) { | ||
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { allowDots: true, encode: false }), 'a.b[0]=c&a.b[1]=d'); | ||
st.end(); | ||
}); | ||
@@ -58,2 +69,8 @@ t.test('stringifies an object inside an array', function (st) { | ||
}); | ||
t.test('stringifies an object inside an array with dots notation', function (st) { | ||
st.equal(qs.stringify({ a: [{ b: 'c' }] }, { allowDots: true, encode: false }), 'a[0].b=c'); | ||
st.equal(qs.stringify({ a: [{ b: { c: [1] } }] }, { allowDots: true, encode: false }), 'a[0].b.c[0]=1'); | ||
st.end(); | ||
}); | ||
@@ -238,2 +255,9 @@ t.test('does not omit object keys when indices = false', function (st) { | ||
}); | ||
t.test('can sort the keys at depth 3 or more too', function (st) { | ||
var sort = function (a, b) { return a.localeCompare(b); }; | ||
st.equal(qs.stringify({ a: 'a', z: { zj: {zjb: 'zjb', zja: 'zja'}, zi: {zib: 'zib', zia: 'zia'} }, b: 'b' }, { sort: sort, encode: false }), 'a=a&b=b&z[zi][zia]=zia&z[zi][zib]=zib&z[zj][zja]=zja&z[zj][zjb]=zjb'); | ||
st.equal(qs.stringify({ a: 'a', z: { zj: {zjb: 'zjb', zja: 'zja'}, zi: {zib: 'zib', zia: 'zia'} }, b: 'b' }, { sort: null, encode: false }), 'a=a&z[zj][zjb]=zjb&z[zj][zja]=zja&z[zi][zib]=zib&z[zi][zia]=zia&b=b'); | ||
st.end(); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
77995
1353
0