form-urlencoded
Advanced tools
Comparing version 1.0.3 to 1.0.4
// Filename: formurlencoded.js | ||
// Timestamp: 2014.04.18-10:14:24 (last modified) | ||
// Timestamp: 2016.01.10-10:46:11 (last modified) | ||
// Author(s): Bumblehead (www.bumblehead.com), JBlashill (james@blashill.com) | ||
@@ -13,2 +13,11 @@ // | ||
function encode (value) { | ||
return String(value) | ||
.replace(/[^ !'()~\*]*/g, encodeURIComponent) | ||
.replace(/ /g, '+') | ||
.replace(/[!'()~\*]/g, function manuallyEncodeChar (ch) { | ||
return '%' + ('0' + ch.charCodeAt(0).toString(16)).slice(-2).toUpperCase(); | ||
}); | ||
} | ||
function getKeys(obj) { | ||
@@ -20,3 +29,3 @@ var keys = Object.keys(obj); | ||
function getNestValsArrAsStr(arr) { | ||
function joinFilter (arr) { | ||
return arr.filter(function (e) { | ||
@@ -30,3 +39,3 @@ return typeof e === 'string' && e.length; | ||
return getNestValsArrAsStr(getKeys(obj).map(function (key) { | ||
return joinFilter(getKeys(obj).map(function (key) { | ||
return getNestVals( | ||
@@ -41,3 +50,3 @@ objKeyStr.replace(/:name/, name).replace(/:prop/, key), obj[key] | ||
return getNestValsArrAsStr(arr.map(function (elem) { | ||
return joinFilter(arr.map(function (elem) { | ||
return getNestVals( | ||
@@ -50,4 +59,3 @@ arrKeyStr.replace(/:name/, name), elem | ||
function getNestVals (name, value) { | ||
var encode = encodeURIComponent, | ||
type = typeof value, | ||
var type = typeof value, | ||
f = null; | ||
@@ -58,5 +66,5 @@ | ||
} else if (type === 'string') { | ||
f = encode(name) + '=' + formEncodeString(value); | ||
f = encode(name) + '=' + encode(value); | ||
} else if (type === 'number') { | ||
f = encode(name) + '=' + formEncodeString(value); | ||
f = encode(name) + '=' + encode(value); | ||
} else if (type === 'boolean') { | ||
@@ -73,14 +81,5 @@ f = encode(name) + '=' + value; | ||
function formEncodeString (value) { | ||
return String(value) | ||
.replace(/[^ !'()~\*]*/g, encodeURIComponent) | ||
.replace(/ /g, '+') | ||
.replace(/[!'()~\*]/g, function manuallyEncodeChar (ch) { | ||
return '%' + ('0' + ch.charCodeAt(0).toString(16)).slice(-2).toUpperCase(); | ||
}); | ||
} | ||
return getNestValsArrAsStr(getKeys(data).map(function (key) { | ||
return getNestVals(key, data[key]); | ||
return joinFilter(getKeys(data).map(function (key) { | ||
return getNestVals(encode(key), data[key]); | ||
})); | ||
}; |
{ | ||
"name": "form-urlencoded", | ||
"main": "form-urlencoded", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"author": "Chris <chris@bumblehead.com>", | ||
@@ -6,0 +6,0 @@ "license" : "MIT", |
@@ -0,1 +1,5 @@ | ||
// Filename: form-urlencoded.spec.js | ||
// Timestamp: 2016.01.10-10:37:21 (last modified) | ||
// Author(s): bumblehead <chris@bumblehead.com> | ||
var formurlencoded = require('../form-urlencoded'), | ||
@@ -2,0 +6,0 @@ compareObj = require('compareobj'), |
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
13694
219