{"_id":"sort-object-keys","_rev":"15-7d4ec9d167f32a28b9233f2698a14611","name":"sort-object-keys","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"sort-object-keys","version":"1.0.0","keywords":["object","sort","keys"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@1.0.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"53a180c28f986900b698a729c5856a9d800de3a5","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.0.0.tgz","integrity":"sha512-GoGiYNtv6gaMoscDonVBmNKGtyBlt8C93aAG3aTBdcZjLsyoMYuibKBkk0ePgFig4IN1b5Ga9r/pr8bVtfWrUg==","signatures":[{"sig":"MEUCIQCRtXeFAOpA1ILrBifF7m6rWWBoeOHByJjEIiX+DIlbhAIgIbtOToWTNa1/NlKrPA/dYSqqlmzbRIN6OEq3w0EVfOU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"53a180c28f986900b698a729c5856a9d800de3a5","gitHead":"f87e818260e54d279fefa664e4f2d9224a4e1761","scripts":{"test":"test.js"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"3.4.0","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"4.2.2"},"1.1.0":{"name":"sort-object-keys","version":"1.1.0","keywords":["object","sort","keys"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@1.1.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"cb2d709fd99048309bb8c79901f4dfbded375cab","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.0.tgz","integrity":"sha512-BJvH5VoP4ok+Ac6W7cBZ0ypXKCtQkhKdBPz8/13BIpvXCQPAMiGric3IC4V0SpP4Frd4CcL/Eaz/Vr7WJrokcA==","signatures":[{"sig":"MEUCIBmZwqIsILgpnU5xbOFwk/pXTKM4tDSk51u2LKbtelQ5AiEAsTcYCGca2iU29QfcMQAOyQqUe89+WUE0NZEKGRA/OAc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"cb2d709fd99048309bb8c79901f4dfbded375cab","gitHead":"1b3cc2769c74d003057152530a324e3c5fc6c6f2","scripts":{"test":"node test.js"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"3.4.0","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"4.2.2"},"1.1.1":{"name":"sort-object-keys","version":"1.1.1","keywords":["object","sort","keys"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@1.1.1","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"cc8ad9b461cd33833d0c5272e6be0e31a971a242","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.1.tgz","integrity":"sha512-h70ZMSgly75+bi++osqgW+j/Uz0EPvj1FWXb21IrkV7Nkh7ihLMt7nI27FaOG4QSEWzd8YYfnxXXOjSoIoaM3w==","signatures":[{"sig":"MEQCIDHOCtlCzz/iQRhWj8RInB4xVcIAkWAEFL+Jyax1grGNAiAGlKh1b7lVGVT7yaL7W8e22pO6GA384skhW86RWDSiQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"cc8ad9b461cd33833d0c5272e6be0e31a971a242","gitHead":"fdeda65401e9f902af655ce28e83b84ab0eace3c","scripts":{"test":"node test.js"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"3.3.3","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"0.12.7"},"1.1.2":{"name":"sort-object-keys","version":"1.1.2","keywords":["keys","object","sort"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@1.1.2","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"d3a6c48dc2ac97e6bc94367696e03f6d09d37952","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.2.tgz","integrity":"sha512-IWz4OstR6UZsK9dEhw/J99r+LYbm6TNSY6yPvldttFJkFj/1vUvzCmw82CeeCS/aHxdm1QUL+5K96Q2ssplnFw==","signatures":[{"sig":"MEQCIHiSAqKztEm61f5Ta+O/Pw1LwXOSRNZTW/MrHLFNdyQDAiAykh0YCG3+UgjtdcZRaCrWrTRSrt6B03gqHSOJBjpV0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","files":["index.js"],"_shasum":"d3a6c48dc2ac97e6bc94367696e03f6d09d37952","gitHead":"c095403bb657f28385b7c72264babc3d22c560d4","scripts":{"test":"node test.js","semantic-release":"travis-after-all && semantic-release pre && npm publish && semantic-release post"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"2.14.9","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"0.12.9","devDependencies":{"semantic-release":"^4.3.5","travis-after-all":"^1.4.4"}},"1.1.3":{"name":"sort-object-keys","version":"1.1.3","keywords":["keys","object","sort"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@1.1.3","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"bff833fe85cab147b34742e45863453c1e190b45","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz","fileCount":3,"integrity":"sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==","signatures":[{"sig":"MEQCIC8D9Wzi21UCVfWjgTCCQ1PD0c00tIGHW4obRwp2PSwkAiACPEqZuxySVlk2tvl7hEz3/9PClwsNSDEjLxTkHK5aiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8BvWCRA9TVsSAnZWagAAKfsP/0t1PAyX+Zt6RTlpZQc5\n442I+KvAuHRwXg+sg91wZqe/WXpcwtsjQgvsXr5wyeTzELVMDxLVkOVPSt31\nzypW/v/FJTd6KMm+fxaOCGNfYQiTJ2defEN7TDiXiEKH6h58/zlB+dpMOjWp\nurEqGFd19Yk5DA4oBWsCe1e6bmq7uIHx4ZuonpMxaS1BP6xd/cYSlzdPyUKm\nfjwuZP+/57u5gCHxcQSdcpWd8uSw0c0ZMmGgeCHRRwdFtupaMLf0kUxoOJPy\nc9dsfy0ZorTwsSoS5zToiZmQj4UWDqFKdvE/JsOqE2PX+kJH4kbem9PN+CHM\nrpfQGay+zjSwVD1+3woWPl9XZhGmGz/M7IYpA22OFq2o16BGRA+Xt6e7jz8X\nvvPbskwcqAkftPF547uKllYaKmRAMv9gQDo//W8tfEX8k28Q+VaHKrVuaJJw\nwOLrIyk3WvJrwg2/BHYviPrM5DGSaRAoJsbR6EXN9hCOd7aHoNRIKgIbTx5i\nPHWjncurQyYJvgIzemDrmN1A1HESiY1KEP2qY/M1YdnzUycAVmmeQeoMO972\nJl7FLNFXzWevvEGsSzIXQMgim+x92iLV+lbK7vvHIw41iTJe/skLEUjaihu/\nXqp80WHRtqDDJ0PYLTLyi17YBfT+nGLRrq/ksC3h3EOCInjwgxDwuwIb5/3V\nyDZY\r\n=Isbk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"commit-msg":"validate-commit-msg","pre-commit":"npm t"}},"gitHead":"2a3d477a3cda1d575e5e80cb163c38c33ec1c3e2","scripts":{"test":"node test.js","semantic-release":"travis-after-all && semantic-release pre && npm publish && semantic-release post"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"6.10.3","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"12.10.0","_hasShrinkwrap":false,"devDependencies":{"ghooks":"^1.0.1","semantic-release":"^4.3.5","travis-after-all":"^1.4.4","validate-commit-msg":"^2.4.1"},"_npmOperationalInternal":{"tmp":"tmp/sort-object-keys_1.1.3_1576016854055_0.6884545511379667","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"sort-object-keys","version":"2.0.0","keywords":["keys","object","sort"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@2.0.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"e5dc3d75d07d4efe73ba6ac55f2f1a4380fdedf8","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-2.0.0.tgz","fileCount":4,"integrity":"sha512-FTUWjmUumK0IGXn1INzkS3lS2Fqw81JuomcExd7LsFvQnNl+9+IZ575fC21F/AwrR/6lMrH7lTX0e7qLBk1wMg==","signatures":[{"sig":"MEUCIE7VqsSXdPfVjE0XofaAX2yFLbAoanj2liEpdmRGPuWCAiEA+xy/7HUibQhvE2FPBkxNcZK1PmY7PHSxRK0chYT3pDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3112},"main":"index.js","type":"module","types":"index.d.ts","exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"}}},"gitHead":"1531dbde925c5c83408bdaaa8ecd0804276f4208","scripts":{"sort":"sort-package-json","test":"node test.js"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"11.6.0","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"sort-package-json":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/sort-object-keys_2.0.0_1758013482816_0.6381290195655962","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"sort-object-keys","version":"2.0.1","keywords":["keys","object","sort"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"sort-object-keys@2.0.1","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"dist":{"shasum":"9eec95bb9276deb23649d5855b55bf489eca584b","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-2.0.1.tgz","fileCount":4,"integrity":"sha512-R89fO+z3x7hiKPXX5P0qim+ge6Y60AjtlW+QQpRozrrNcR1lw9Pkpm5MLB56HoNvdcLHL4wbpq16OcvGpEDJIg==","signatures":[{"sig":"MEUCICd7rVDYU/omZ0/ipBXMWPNEhsXfU13BPFD/6MHWZ5uYAiEA0tm44hjsHdFwuuOX88RocVCJ3f82TsU1A5v95l8gFAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3132},"main":"index.js","type":"module","types":"index.d.ts","exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"}}},"gitHead":"cbbf3e1ea94c34bc5b272b1bf1c384eeba867910","scripts":{"sort":"sort-package-json","test":"node test.js","prepare":"husky"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/sort-object-keys.git","type":"git"},"_npmVersion":"11.6.2","description":"Sort an object's keys, including an optional key list","directories":{},"_nodeVersion":"25.0.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","sort-package-json":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/sort-object-keys_2.0.1_1761835616326_0.5263478020696077","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"sort-object-keys","version":"2.1.0","description":"Sort an object's keys, including an optional key list","keywords":["keys","object","sort"],"homepage":"https://github.com/keithamus/sort-object-keys#readme","bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"repository":{"type":"git","url":"git+ssh://git@github.com/keithamus/sort-object-keys.git"},"license":"MIT","author":{"name":"Keith Cirkel","email":"npm@keithcirkel.co.uk","url":"http://keithcirkel.co.uk/"},"type":"module","exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"main":"index.js","types":"index.d.ts","scripts":{"format":"prettier -w .","prepare":"husky","sort":"sort-package-json","test":"node test.js"},"prettier":{"semi":false,"singleQuote":true},"devDependencies":{"husky":"^9.1.7","prettier":"^3.6.2","sort-package-json":"^3.4.0"},"gitHead":"2319c64ffbe7970c8987090ef63cb913668c587f","_id":"sort-object-keys@2.1.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-SOiEnthkJKPv2L6ec6HMwhUcN0/lppkeYuN1x63PbyPRrgSPIuBJCiYxYyvWRTtjMlOi14vQUCGUJqS6PLVm8g==","shasum":"af24fbb7b91fcca945399a04fa900a10f9506242","tarball":"https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-2.1.0.tgz","fileCount":4,"unpackedSize":3383,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sort-object-keys@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHVtNkHXhREKp4xcDuWizYraYPVkF7fjfiiHlUhS2H9YAiEAwMvXRNwDTrA/r/1jpEUbBrfgVfiht4Uh+fDTxS9733M="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:03258d76-e404-499d-96a2-58516c06f51f"}},"directories":{},"maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sort-object-keys_2.1.0_1768233032685_0.29368817380722834"},"_hasShrinkwrap":false}},"time":{"created":"2015-11-30T20:29:58.033Z","modified":"2026-01-12T15:50:33.240Z","1.0.0":"2015-11-30T20:29:58.033Z","1.1.0":"2015-12-02T12:13:34.803Z","1.1.1":"2015-12-02T12:15:41.360Z","1.1.2":"2015-12-14T12:13:03.229Z","1.1.3":"2019-12-10T22:27:34.242Z","2.0.0":"2025-09-16T09:04:42.988Z","2.0.1":"2025-10-30T14:46:56.519Z","2.1.0":"2026-01-12T15:50:32.858Z"},"bugs":{"url":"https://github.com/keithamus/sort-object-keys/issues"},"author":{"name":"Keith Cirkel","email":"npm@keithcirkel.co.uk","url":"http://keithcirkel.co.uk/"},"license":"MIT","homepage":"https://github.com/keithamus/sort-object-keys#readme","keywords":["keys","object","sort"],"repository":{"type":"git","url":"git+ssh://git@github.com/keithamus/sort-object-keys.git"},"description":"Sort an object's keys, including an optional key list","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"readme":"# Sort Object\n\n[![Build Status](https://travis-ci.org/keithamus/sort-object-keys.svg)](https://travis-ci.org/keithamus/sort-object-keys)\n\nReturns a copy of an object with all keys sorted.\n\nThe second argument is optional and is used for ordering - to provide custom sorts. You can either pass an array containing ordered keys or a function to sort the keys (same signature as in [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)).\n\n```js\nimport assert from 'assert'\nimport sortObject from 'sort-object-keys'\n\nassert.equal(\n  JSON.stringify({\n    c: 1,\n    b: 1,\n    d: 1,\n    a: 1,\n  }),\n  JSON.stringify({\n    a: 1,\n    b: 1,\n    c: 1,\n    d: 1,\n  }),\n)\n\nassert.equal(\n  JSON.stringify(\n    sortObject(\n      {\n        c: 1,\n        b: 1,\n        d: 1,\n        a: 1,\n      },\n      ['b', 'a', 'd', 'c'],\n    ),\n  ),\n  JSON.stringify({\n    b: 1,\n    a: 1,\n    d: 1,\n    c: 1,\n  }),\n)\n\nfunction removeKeyAncCompareIndex(keyA, keyB) {\n  var a = parseInt(keyA.slice(4))\n  var b = parseInt(keyB.slice(4))\n  return a - b\n}\n\nassert.equal(\n  JSON.stringify(\n    sortObject(\n      {\n        'key-1': 1,\n        'key-3': 1,\n        'key-10': 1,\n        'key-2': 1,\n      },\n      removeKeyAncCompareIndex,\n    ),\n  ),\n  JSON.stringify({\n    'key-1': 1,\n    'key-2': 1,\n    'key-3': 1,\n    'key-10': 1,\n  }),\n)\n```\n","readmeFilename":"README.md","users":{"flumpus-dev":true}}