You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

sort-object-keys2

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sort-object-keys2 - npm Package Compare versions

Comparing version

to
1.0.2

55

index.js
"use strict";
function sortObject(object, sortWith) {
let options = {};
if (typeof sortWith === 'function') {
options.sort = sortWith;
}
else if (Array.isArray(sortWith)) {
options.keys = sortWith;
}
else {
options = Object.assign(options, sortWith);
}
let keys = (options.keys || []);
if (options.onlyKeys) {
options.useSource = false;
if ((options.keys || []).length == 0) {
throw new ReferenceError(`options.key is empty or not exists.`);
}
}
else {
keys = keys.concat()
.concat(Object.keys(object).sort(options.sort));
}
keys = array_unique(keys);
if (options.desc) {
keys = keys.reverse();
}
let ret = keys.reduce(function (total, key) {
if (options.allowNotExists || key in object) {
total[key] = object[key];
}
return total;
}, {});
if (options.useSource) {
Object.keys(ret)
.forEach(function (key, index, array) {
delete object[key];
object[key] = ret[key];
});
return object;
}
return ret;
}
function array_unique(array) {
return array.filter(function (el, index, arr) {
return index == arr.indexOf(el);
});
}
module.exports = sortObject;
/**
* Created by user on 2018/4/3/003.
*/
const sortObject = require("./core");
const sortObjectKeys = sortObject;
sortObjectKeys.default = sortObjectKeys.sortObjectKeys = sortObjectKeys;
module.exports = sortObjectKeys;

2

package.json
{
"name": "sort-object-keys2",
"version": "1.0.1",
"version": "1.0.2",
"description": "Sort an object's keys, including an optional key list",

@@ -5,0 +5,0 @@ "keywords": [