sort-object
Advanced tools
Comparing version
13
index.js
@@ -12,3 +12,5 @@ /*! | ||
var sortAsc = require('sort-asc'); | ||
var isObject = require('isobject'); | ||
var get = require('get-value'); | ||
var bytewise = require('bytewise'); | ||
@@ -26,3 +28,5 @@ var sortFns = {desc: sortDesc, asc: sortAsc}; | ||
var prop = opts.prop; | ||
var getFn = opts.get || get; | ||
var getFn = opts.get || function (val) { | ||
if (prop) return get(val, prop); | ||
}; | ||
var fn = opts.sort || sortDesc; | ||
@@ -51,4 +55,4 @@ | ||
var build = keys.length === 0 ? fromObj : fromKeys; | ||
build(obj, keys, tmp, sortBy, function (val, key) { | ||
return prop ? getFn(val, prop) : key; | ||
build(obj, keys, tmp, sortBy, function (val) { | ||
return getFn(val, prop); | ||
}); | ||
@@ -76,3 +80,4 @@ | ||
var val = obj[key]; | ||
var item = fn(val, key); | ||
var item = isObject(val) ? fn(val) || key : key; | ||
item = isObject(item) ? bytewise.encode(JSON.stringify(item)).toString() : item; | ||
sortBy[item] = sortBy[item] || []; | ||
@@ -79,0 +84,0 @@ sortBy[item].push(key); |
{ | ||
"name": "sort-object", | ||
"description": "Sort the keys in an object.", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"homepage": "https://github.com/doowb/sort-object", | ||
@@ -42,3 +42,5 @@ "author": { | ||
"dependencies": { | ||
"bytewise": "^1.1.0", | ||
"get-value": "^1.1.5", | ||
"isobject": "^1.0.0", | ||
"sort-asc": "^0.1.0", | ||
@@ -45,0 +47,0 @@ "sort-desc": "^0.1.1" |
6698
4.18%80
6.67%5
66.67%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added