sort-object
Advanced tools
Comparing version 0.0.1 to 0.0.2
{ | ||
"name": "sort-object", | ||
"description": "Sort the keys in an object", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"homepage": "https://github.com/helpers/sort-object", | ||
@@ -33,3 +33,10 @@ "author": { | ||
"javascript sort" | ||
] | ||
], | ||
"dependencies": { | ||
"lodash.assign": "~2.2.1", | ||
"lodash.keys": "~2.2.1" | ||
}, | ||
"devDependencies": { | ||
"mocha": "~1.13.0" | ||
} | ||
} |
@@ -8,4 +8,37 @@ /**! | ||
var sort = module.exports = function (obj) { | ||
var _extend = require('lodash.assign'); | ||
var _keys = require('lodash.keys'); | ||
/** | ||
* Custom sort function to allow sorting by descending order | ||
* @param {Object} options optional parameter specifying which order to sort in. | ||
* @return {Function} function used to pass into a sort function. | ||
*/ | ||
var sortBy = function (options) { | ||
var opts = _extend({ order: 'asc' }, options); | ||
return function (objA, objB) { | ||
var result = 0; | ||
result = objA < objB ? -1 : 1; | ||
if(opts.order.toLowerCase() === 'desc') { | ||
return result * -1; | ||
} | ||
return result; | ||
}; | ||
}; | ||
/** | ||
* Sorts the ksys on an object | ||
* @param {Object} obj Object that has keys to be sorted | ||
* @param {Object} options optional parameter specifying orders for the function | ||
* @return {Object} Object with keys sorted | ||
*/ | ||
var sort = module.exports = function (obj, options) { | ||
var opts = _extend({ | ||
order: 'asc' | ||
}, options); | ||
var sorted = {}, | ||
@@ -15,9 +48,5 @@ keys = [], | ||
for (key in obj) { | ||
if (obj.hasOwnProperty(key)) { | ||
keys.push(key); | ||
} | ||
} | ||
keys = _keys(obj); | ||
keys.sort(sortBy(options)); | ||
keys.sort(); | ||
for (var index in keys) { | ||
@@ -24,0 +53,0 @@ key = keys[index]; |
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
4963
7
81
2
1
+ Addedlodash.assign@~2.2.1
+ Addedlodash.keys@~2.2.1
+ Addedlodash._basecreatecallback@2.2.1(transitive)
+ Addedlodash._createbound@2.2.1(transitive)
+ Addedlodash._createobject@2.2.1(transitive)
+ Addedlodash._noop@2.2.1(transitive)
+ Addedlodash._objecttypes@2.2.1(transitive)
+ Addedlodash._renative@2.2.1(transitive)
+ Addedlodash._setbinddata@2.2.1(transitive)
+ Addedlodash._shimkeys@2.2.1(transitive)
+ Addedlodash.assign@2.2.1(transitive)
+ Addedlodash.bind@2.2.1(transitive)
+ Addedlodash.identity@2.2.1(transitive)
+ Addedlodash.isfunction@2.2.1(transitive)
+ Addedlodash.isobject@2.2.1(transitive)
+ Addedlodash.keys@2.2.1(transitive)
+ Addedlodash.support@2.2.1(transitive)