You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

sort-object-keys

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sort-object-keys - npm Package Compare versions

Comparing version
2.0.1
to
2.1.0
+2
-2
index.d.ts

@@ -13,4 +13,4 @@ // From DefinitelyTyped by Emily Marigold Klassen <https://github.com/forivall>

sortWith?: ReadonlyArray<keyof T> | ((a: keyof T, b: keyof T) => number),
): T;
): T
export default sortObjectByKeyNameList;
export default sortObjectByKeyNameList

@@ -1,22 +0,22 @@

const has = (object, key) => Object.prototype.hasOwnProperty.call(object, key);
const has = (object, key) => Object.prototype.hasOwnProperty.call(object, key)
export default function sortObjectByKeyNameList(object, sortWith) {
let keys, sortFn, key;
let keys, sortFn, key
if (typeof sortWith === 'function') {
sortFn = sortWith;
sortFn = sortWith
} else {
keys = sortWith;
keys = sortWith
}
const total = {};
const objectKeys = [...(keys ?? []), ...Object.keys(object).sort(sortFn)];
const total = {}
const objectKeys = [...(keys ?? []), ...Object.keys(object).sort(sortFn)]
for (key of objectKeys) {
if (has(object, key)) {
total[key] = object[key];
total[key] = object[key]
}
}
return total;
return total
}
{
"name": "sort-object-keys",
"version": "2.0.1",
"version": "2.1.0",
"description": "Sort an object's keys, including an optional key list",

@@ -23,6 +23,4 @@ "keywords": [

".": {
"import": {
"types": "./index.d.ts",
"default": "./index.js"
}
"types": "./index.d.ts",
"default": "./index.js"
}

@@ -37,2 +35,3 @@ },

"scripts": {
"format": "prettier -w .",
"prepare": "husky",

@@ -42,6 +41,11 @@ "sort": "sort-package-json",

},
"prettier": {
"semi": false,
"singleQuote": true
},
"devDependencies": {
"husky": "^9.1.7",
"prettier": "^3.6.2",
"sort-package-json": "^3.4.0"
}
}
+58
-39

@@ -10,46 +10,65 @@ # Sort Object

```js
import assert from 'assert';
import sortObject from 'sort-object-keys';
import assert from 'assert'
import sortObject from 'sort-object-keys'
assert.equal(JSON.stringify({
c: 1,
b: 1,
d: 1,
a: 1,
}), JSON.stringify({
a: 1,
b: 1,
c: 1,
d: 1,
}));
assert.equal(
JSON.stringify({
c: 1,
b: 1,
d: 1,
a: 1,
}),
JSON.stringify({
a: 1,
b: 1,
c: 1,
d: 1,
}),
)
assert.equal(JSON.stringify(sortObject({
c: 1,
b: 1,
d: 1,
a: 1,
}, ['b', 'a', 'd', 'c'])), JSON.stringify({
b: 1,
a: 1,
d: 1,
c: 1,
}));
assert.equal(
JSON.stringify(
sortObject(
{
c: 1,
b: 1,
d: 1,
a: 1,
},
['b', 'a', 'd', 'c'],
),
),
JSON.stringify({
b: 1,
a: 1,
d: 1,
c: 1,
}),
)
function removeKeyAncCompareIndex(keyA, keyB){
var a = parseInt(keyA.slice(4));
var b = parseInt(keyB.slice(4));
return a - b;
function removeKeyAncCompareIndex(keyA, keyB) {
var a = parseInt(keyA.slice(4))
var b = parseInt(keyB.slice(4))
return a - b
}
assert.equal(JSON.stringify(sortObject({
"key-1": 1,
"key-3": 1,
"key-10": 1,
"key-2": 1,
}, removeKeyAncCompareIndex)), JSON.stringify({
"key-1": 1,
"key-2": 1,
"key-3": 1,
"key-10": 1,
}));
assert.equal(
JSON.stringify(
sortObject(
{
'key-1': 1,
'key-3': 1,
'key-10': 1,
'key-2': 1,
},
removeKeyAncCompareIndex,
),
),
JSON.stringify({
'key-1': 1,
'key-2': 1,
'key-3': 1,
'key-10': 1,
}),
)
```