Socket
Socket
Sign inDemoInstall

sort-object

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sort-object - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

tests/tests.js

11

package.json
{
"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];

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