Socket
Socket
Sign inDemoInstall

form-urlencoded

Package Overview
Dependencies
Maintainers
1
Versions
80
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

form-urlencoded - npm Package Compare versions

Comparing version 0.0.7 to 0.1.0

27

form-urlencoded.js

@@ -11,2 +11,6 @@ // Filename: formurlencoded.js

encode : function (data, options) {
var opts = typeof options === 'object' ? options : {},
optignorenull = opts.ignorenull || false,
optsorted = opts.sorted || false;
function getNestValsArrAsStr(arr) {

@@ -21,3 +25,3 @@ return arr.filter(function (e) {

return options && options.sorted ? keys.sort() : keys;
return optsorted ? keys.sort() : keys;
}

@@ -47,17 +51,20 @@

var whitespaceRe = /%20/g,
encode = encodeURIComponent,
type = typeof value,
f = null;
if (type === 'string') {
f = encodeURIComponent(name) + '=' +
formEncodeString(value);
if (Array.isArray(value)) {
f = getArrNestVals(name, value);
} else if (type === 'string') {
f = encode(name) + '=' + formEncodeString(value);
} else if (type === 'number') {
f = encodeURIComponent(name) + '=' +
encodeURIComponent(value).replace(whitespaceRe, '+');
f = encode(name) + '=' + encode(value).replace(whitespaceRe, '+');
} else if (type === 'boolean') {
f = encodeURIComponent(name) + '=' + value;
} else if (Array.isArray(value)) {
f = getArrNestVals(name, value);
f = encode(name) + '=' + value;
} else if (type === 'object') {
f = getObjNestVals(name, value);
if (value !== null) {
f = getObjNestVals(name, value);
} else if (!optignorenull) {
f = encode(name) + '=null';
}
}

@@ -64,0 +71,0 @@

{
"name": "form-urlencoded",
"version": "0.0.7",
"version": "0.1.0",
"author": "Chris <chris@bumblehead.com>",

@@ -5,0 +5,0 @@ "contributors": [{

@@ -57,4 +57,4 @@ form-urlencoded

```javascript
var FormUrlencoded = require('form-urlencoded');
var result = FormUrlencoded.encode({
var formurlencoded = require('form-urlencoded');
var result = formurlencoded.encode({
propStr1 : 'str1',

@@ -70,2 +70,16 @@ propStr2 : 'str2',

```
an options parameter may be passed to the encode function
```javascript
var result = formurlencoded.encode({
propStr1 : null,
propStr2 : 'str2',
propStr3 : [null, 5, 1, 6]
}, {
ignorenull : true,
sorted : true
});
console.log(result);
//propStr2=str2&propStr3%5B%5D=5&propStr3%5B%5D=1&propStr3%5B%5D=6
```

@@ -72,0 +86,0 @@ ---------------------------------------------------------

@@ -1,2 +0,2 @@

var FormUrlencoded = require('../form-urlencoded'),
var formurlencoded = require('../form-urlencoded'),
compareObj = require('compareobj'),

@@ -8,3 +8,3 @@ qs = require('qs');

describe("FormUrlencoded.encode", function () {
describe("formurlencoded.encode", function () {

@@ -16,3 +16,3 @@ it("should return encoded data", function () {

},
result = FormUrlencoded.encode(begin).split('&'),
result = formurlencoded.encode(begin).split('&'),
resultExpected = qs.stringify(begin).split('&');

@@ -29,3 +29,3 @@

},
result = FormUrlencoded.encode(begin),
result = formurlencoded.encode(begin),
resultExpected = 'propStr1=str1&propStr2=str2&propArr1%5B%5D=arrStr1&propArr1%5B%5D=arrStr2';

@@ -45,3 +45,3 @@

},
result = FormUrlencoded.encode(begin),
result = formurlencoded.encode(begin),
resultExpected = 'propStr1=str1&propStr2=str2&propObj1%5BobjPropStr1%5D=objStr1&propObj1%5BobjPropStr2%5D=objStr2';

@@ -69,3 +69,3 @@

},
result = FormUrlencoded.encode(begin),
result = formurlencoded.encode(begin),
resultExpected = 'propStr1=str1&propStr2=str2&propObj1%5BobjPropStr1%5D=objStr1&propObj1%5BobjPropStr2%5D=objStr2&propObj1%5BobjPropObj1%5D%5BpropObj1Str1%5D=obj1Str1&propObj1%5BobjPropArr1%5D%5B%5D%5BpropArr1Obj1Str1%5D=obj1Str1&propObj1%5BobjPropArr1%5D%5B%5D%5BpropArr1Obj2Str1%5D=obj2Str1';

@@ -80,3 +80,3 @@

},
result = FormUrlencoded.encode(begin),
result = formurlencoded.encode(begin),
resultExpected = 'propArr1%5B%5D=1&propArr1%5B%5D=2&propArr1%5B%5D=3';

@@ -91,3 +91,3 @@

},
result = FormUrlencoded.encode(begin),
result = formurlencoded.encode(begin),
resultExpected = 'propArr1%5B%5D=true&propArr1%5B%5D=false&propArr1%5B%5D=true';

@@ -98,2 +98,13 @@

it("should return encoded data, with null", function () {
var begin = {
propNull1 : null,
propStr1 : 'str1'
},
result = formurlencoded.encode(begin),
resultExpected = 'propNull1=null&propStr1=str1';
expect( result ).toBe( resultExpected );
});
it("should return encoded data, with properties sorted", function () {

@@ -108,3 +119,3 @@ var begin = {

},
result = FormUrlencoded.encode(begin, { sorted: true }),
result = formurlencoded.encode(begin, { sorted: true }),
resultExpected = 'a=1&b%5By%5D=2&b%5Bz%5D=3&c=4';

@@ -124,3 +135,3 @@

},
result = FormUrlencoded.encode(begin, { sorted: true }),
result = formurlencoded.encode(begin, { sorted: true }),
resultExpected = 'test=%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E%7F%C2%80%C2%81%C2%82%C2%83%C2%84%C2%85%C2%86%C2%87%C2%88%C2%89%C2%8A%C2%8B%C2%8C%C2%8D%C2%8E%C2%8F%C2%90%C2%91%C2%92%C2%93%C2%94%C2%95%C2%96%C2%97%C2%98%C2%99%C2%9A%C2%9B%C2%9C%C2%9D%C2%9E%C2%9F%C2%A0%C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2%AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3%C2%B4%C2%B5%C2%B6%C2%B7%C2%B8%C2%B9%C2%BA%C2%BB%C2%BC%C2%BD%C2%BE%C2%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B7%C3%B8%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BE%C3%BF';

@@ -131,9 +142,9 @@

/*
it("should return encoded data, without null", function () {
console.log('=======================');
var begin = {
propArr1 : [null, null, 1]
},
result = FormUrlencoded.encode(begin),
result = formurlencoded.encode(begin, {
ignorenull : true
}),
resultExpected = 'propArr1%5B%5D=1';

@@ -143,3 +154,3 @@

});
*/
});
});
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