Socket
Socket
Sign inDemoInstall

qs-kit

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qs-kit - npm Package Compare versions

Comparing version 0.6.2 to 0.6.3

7

lib/qs.js

@@ -116,3 +116,8 @@ /*

if ( options.autoNumber && numberRe.test( value ) ) { value = parseFloat( value ) ; }
if ( options.autoNumber && numberRe.test( value ) ) {
value = parseFloat( value ) ;
}
else {
value = decodeURIComponent( value ) ;
}

@@ -119,0 +124,0 @@ indexOfDotDollar = key.lastIndexOf( '.$' ) ;

2

package.json
{
"name": "qs-kit",
"version": "0.6.2",
"version": "0.6.3",
"description": "A query string manipulation toolbox.",

@@ -5,0 +5,0 @@ "main": "lib/qs.js",

@@ -97,2 +97,3 @@ /*

var options = { restQueryFilter: true , autoNumber: true } ;
expect( qs.parse( ".prop=value" , options ) ).to.equal( { prop: "value" } ) ;
expect( qs.parse( ".path.to.prop=value" , options ) ).to.equal( { "path.to.prop": "value" } ) ;

@@ -104,4 +105,7 @@ expect( qs.parse( ".path.to.prop.$lt=10" , options ) ).to.equal( { "path.to.prop": { $lt: 10 } } ) ;

it( "'restQueryFilter' option with a string should nest those filters" , () => {
var options = { restQueryFilter: 'filter' , autoNumber: true } ;
it( "'restQueryFilter' option set to a string should use it as the property which the filters will be nested into" , () => {
var value , encoded ,
options = { restQueryFilter: 'filter' , autoNumber: true } ;
expect( qs.parse( ".prop=value" , options ) ).to.equal( { filter: { prop: "value" } } ) ;
expect( qs.parse( ".path.to.prop=value" , options ) ).to.equal( { filter: { "path.to.prop": "value" } } ) ;

@@ -111,2 +115,17 @@ expect( qs.parse( ".path.to.prop.$lt=10" , options ) ).to.equal( { filter: { "path.to.prop": { $lt: 10 } } } ) ;

expect( qs.parse( ".path.to.prop.$lt=10&.path.to.prop.$gt=5&.path.to.prop2.$ne=10" , options ) ).to.equal( { filter: { "path.to.prop": { $lt: 10 , $gt: 5 } , "path.to.prop2": { $ne: 10 } } } ) ;
value = "éµ%!:&=?#«»" ;
encoded = encodeURIComponent( value ) ;
expect( qs.parse( ".prop=" + encoded , options ) ).to.equal( { filter: { prop: value } } ) ;
expect( qs.parse( ".path.to.prop=" + encoded , options ) ).to.equal( { filter: { "path.to.prop": value } } ) ;
value = "إختبار" ;
encoded = encodeURIComponent( value ) ;
expect( qs.parse( ".prop=" + encoded , options ) ).to.equal( { filter: { prop: value } } ) ;
expect( qs.parse( ".path.to.prop=" + encoded , options ) ).to.equal( { filter: { "path.to.prop": value } } ) ;
value = "测试" ;
encoded = encodeURIComponent( value ) ;
expect( qs.parse( ".prop=" + encoded , options ) ).to.equal( { filter: { prop: value } } ) ;
expect( qs.parse( ".path.to.prop=" + encoded , options ) ).to.equal( { filter: { "path.to.prop": value } } ) ;
} ) ;

@@ -130,2 +149,14 @@ } ) ;

describe( "encodeURIComponent" , () => {
it( "should encode all QS Kit special characters" , () => {
expect( encodeURIComponent( "=" ) ).to.be( "%3D" ) ;
expect( encodeURIComponent( "&" ) ).to.be( "%26" ) ;
expect( encodeURIComponent( "[]" ) ).to.be( "%5B%5D" ) ;
expect( encodeURIComponent( "," ) ).to.be( "%2C" ) ;
} ) ;
} ) ;
describe( "Historical bugs" , () => {

@@ -132,0 +163,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc