{"_id":"@saulx/hash","_rev":"5-46a8ddd74beeae7636eafac9d4f754f4","name":"@saulx/hash","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@saulx/hash","main":"./dist/index.js","version":"1.0.0","scripts":{"build":"tsc","watch":"tsc --watch","test":"ava --verbose"},"repository":{"type":"git","url":"git+https://github.com/atelier-saulx/utils.git"},"lint-staged":{"{js,json}":["prettier --write","git add"],"*.js":["eslint --fix","git add"]},"ava":{"files":["test/**/*.ts","!test/examples"],"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"]},"browser":{"stream":false},"prettier":"@saulx/prettier-config","eslintConfig":{"extends":"@saulx/eslint-config"},"dependencies":{"is-plain-obj":"^3.0.0"},"devDependencies":{"@saulx/eslint-config":"git+https://github.com/atelier-saulx/eslint-config.git","@saulx/prettier-config":"git+https://github.com/atelier-saulx/prettier-config.git","ava":"2.4.0","eslint":"^6.5.1","husky":"^3.0.8","lint-staged":"^9.4.2","prettier":"^1.18.2","ts-node":"^8.5.4","typescript":"^3.7.3"},"gitHead":"199357fb47bf598084f254b66cd6afcf77e8ddd2","description":"Hash packages for saulx, returns 64 bit hashes","bugs":{"url":"https://github.com/atelier-saulx/utils/issues"},"homepage":"https://github.com/atelier-saulx/utils#readme","_id":"@saulx/hash@1.0.0","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Dzdl6U4ZAONCNwUUY5LrJlUvwoSpynpGDUC4TIzPEuMM40FdsNNsY6gkpQK310ws9oKb+UA7lHTVhuxc2ZyFHg==","shasum":"4eec0edba37d7754a28ac8640e7e3fbc4f5f851d","tarball":"https://registry.npmjs.org/@saulx/hash/-/hash-1.0.0.tgz","fileCount":27,"unpackedSize":28033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbDhaCRA9TVsSAnZWagAAF4EP/0HJ46ivql1EV9qGvcYR\nvmGW9bLGyKyTTj4LxXKiG8APFP/xBoAluKO77A7uhT3+uqATVNlyJY3kbAvj\n0MxUPb4BMCOl7nCFjOA11jYGJotIspHA6NFuGzkTZnwi85UPGDjzSCKkjD+2\nx5TMvE9TE9AvuIF8XxQUt6CQTx8HgtybWtl0d1Z47SNOzGqAOMzlMW7nz7kC\nShERFKxqfxhabWksUiuSXRu4knJX3B59umtHQaZLGUheomkBhddppXkNtrRj\nDicvXWh/idlEx8Sv6jCjjV4JhzgXRK8qAXuRRbiMpXyuRFpbhNfPxtnakLqx\nJx6ls6QapbR6+YKmu7FwbaWF5nONrp8DDGIReAZDKzLxhOYGkNVfZNnwHhz/\nANLhfrHqpruAvbNkOmvpog4IEhAoshrXBzM+BxKIncIA4SJxZI5zPW9UHGdc\nP5a3NH2eqih2Y/43eAE7LogU2yZLS97bCket6GopBZIg+hEyYjYAnJ2W5USV\nLPtlFMURpHxWTeS0nkeGVqJo/fFNrLEkOr1ZduJFeSykrMmBpR19eJoRfoRX\nXQnMji/eWbREnC0Lk4GlvEAnrJ/4WuF0m5HhEZ4Ge91ll69I81YzlNEud3lf\nxogw2h4uZTz1BdSfnDcFpH7L878rqzTB/tmNi0HnQqSoeS4lIKMgzFdjoAzc\nhI+G\r\n=iN8G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmbO8Udr/ZpBHBQ86FyZnnbiKV6MTL2uLHx6QvjrozGAiBm4G2JghFox2BgiGOQDUuNcSbA1skq+EL0TEQoqpGkmA=="}]},"_npmUser":{"name":"saulx","email":"jim@saulx.com"},"directories":{},"maintainers":[{"name":"saulx","email":"jim@saulx.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hash_1.0.0_1617705050410_0.22613342926204805"},"_hasShrinkwrap":false},"1.0.1":{"name":"@saulx/hash","main":"./dist/index.js","version":"1.0.1","scripts":{"build":"tsc","watch":"tsc --watch","test":"ava --verbose"},"repository":{"type":"git","url":"git+https://github.com/atelier-saulx/utils.git"},"lint-staged":{"{js,json}":["prettier --write","git add"],"*.js":["eslint --fix","git add"]},"ava":{"files":["test/**/*.ts","!test/examples"],"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"]},"browser":{"stream":false},"prettier":"@saulx/prettier-config","eslintConfig":{"extends":"@saulx/eslint-config"},"devDependencies":{"@saulx/eslint-config":"git+https://github.com/atelier-saulx/eslint-config.git","@saulx/prettier-config":"git+https://github.com/atelier-saulx/prettier-config.git","ava":"2.4.0","eslint":"^6.5.1","husky":"^3.0.8","lint-staged":"^9.4.2","prettier":"^1.18.2","ts-node":"^8.5.4","typescript":"^3.7.3"},"gitHead":"14d36d94b6ffb0ae34f85614778d7b4fa026020d","description":"Hash packages for saulx, returns 64 bit hashes","bugs":{"url":"https://github.com/atelier-saulx/utils/issues"},"homepage":"https://github.com/atelier-saulx/utils#readme","_id":"@saulx/hash@1.0.1","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-BDpU4zancvwMPL6bpZPCtPmB2h4O5Mi8g5FChLQUrKpoxvoMtSyTF4UHi07OX4nxtHyciJL3Axn57K9S77/kYw==","shasum":"ebc83e6c11e40cdf4320f89f8be858f657c9f546","tarball":"https://registry.npmjs.org/@saulx/hash/-/hash-1.0.1.tgz","fileCount":27,"unpackedSize":27979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbDnDCRA9TVsSAnZWagAAK0AP+gNvhl834y0lmAWSbij1\nA0eHYdaYRMKuVOylhFfnunt21urm7wW/virdFQmxhalADjFOVbRsGBAybTRD\nJvdNy1uV6cEtijq9H1NnGuOQzpxI6mciOaGQqy4rlv7j1LRZG5wMbUxP//Kh\nuMKBLslsT53vdoeTWX4UhMFyKsgjnW8Gktr0jHbwZi07lISBSyOJ/2DVKRWg\nevg+G5aVQg2FwRrVqjOWTdCu+hgZCD4a0NTaQeVSvKsIcnz/T0SPVEdRGDfm\noJzP0OyifOp6uvSqXixLFOwpO0WbGjvG760aLEjM6+ptPqaR08WjRHeN2DIy\nBn4ayBhcKyc6Rie/8fZGompL+C5DOY1I6DIGBqQbDvSlU6lxMUr6uXULDDXv\nKKbCBTBKXHii4fhRpMC+LYzyck51LqLO7dAVmcnmhWe/2sBkxAZCF5Pc4dV6\nC1Xo/H7IN9yFzwhitGclPCHx5hP14rmvT6Ksgf0FwWPrCesQVQtBrbM2AAR5\nv2gwNyqYz5YeCTzwa4d08jL4DTA7jgtvJFva5NtNgWC6ckzQQy5iWJwJN6h+\negfE2PkcHWKzE6P+jA+kz7tk77o/l4IevfRYClkefmQBG9bXR/AmS05DSuzF\nzpCjQNriVoEoHL60EUNyrKyklAaiGp6pWq1vWur2xMPk2oGZJbX+M9zp1SnV\n7Fs3\r\n=7S/8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGkQtzZ5CiA3bltShRAkNf14ERBRKZa24w+RxOnghBGVAiASOZwNT64t+DcaYGngT1IfYK0xcuAV85UfDqIBOkdw+g=="}]},"_npmUser":{"name":"saulx","email":"jim@saulx.com"},"directories":{},"maintainers":[{"name":"saulx","email":"jim@saulx.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hash_1.0.1_1617705410732_0.39982299550279277"},"_hasShrinkwrap":false},"1.1.0":{"name":"@saulx/hash","main":"./dist/index.js","version":"1.1.0","scripts":{"build":"tsc","watch":"tsc --watch","test":"ava --verbose"},"repository":{"type":"git","url":"git+https://github.com/atelier-saulx/utils.git"},"lint-staged":{"{js,json}":["prettier --write","git add"],"*.js":["eslint --fix","git add"]},"ava":{"files":["test/**/*.ts","!test/examples"],"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"]},"browser":{"stream":false},"prettier":"@saulx/prettier-config","eslintConfig":{"extends":"@saulx/eslint-config"},"devDependencies":{"@saulx/eslint-config":"git+https://github.com/atelier-saulx/eslint-config.git","@saulx/prettier-config":"git+https://github.com/atelier-saulx/prettier-config.git","ava":"2.4.0","eslint":"^6.5.1","husky":"^3.0.8","lint-staged":"^9.4.2","prettier":"^1.18.2","ts-node":"^8.5.4","typescript":"^3.7.3"},"gitHead":"59ccdb135074930a1025728f541cf5840eaac649","description":"Hash packages for saulx, returns 64 bit hashes","bugs":{"url":"https://github.com/atelier-saulx/utils/issues"},"homepage":"https://github.com/atelier-saulx/utils#readme","_id":"@saulx/hash@1.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4b6Fj48fuua5qfF8KvtP/1sXMwwng9P52fW1bm5NO/iqsNKptBcfPOqy6AjTDlyVKGO3U+oozCFe0DA2bD8Ojg==","shasum":"2870be739b350486884aa76562aff9703ef96b0e","tarball":"https://registry.npmjs.org/@saulx/hash/-/hash-1.1.0.tgz","fileCount":27,"unpackedSize":28665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3thDCRA9TVsSAnZWagAAkH0P/iKguF7RrnMz6pjidbcP\nXbXMREfpXIKDaTov4mEx0BB1LzXeqw8kRmHgQcYmi1/Ae1J1oE2dx3bvs/3n\nzHVHbgDeveTK2oZGqnvHTRI0SDClzIHwM9jSgKCivLNcZT40u6/KE9LeHuJ0\nTZzCXZ9NH5HUTtTMK9plp47LINhH0jgNUwLg///FpQWAR3MokHgNPiRsp9yA\nVoGEC9cEJW9s29CBwmDr79bZZx8ga0ZqqJb+4cTH4wtVjyCU4iauoHLHgcnR\nrPJltC4bW7g0P06Jdxhq0omP6qEKI4uBIOwSl9nQmql/De+n1xuuAj++n66Z\n3bl9FOC1FhaCcoKXKmL29DVipwH9l9sHvlPGEgGUfxcrWGt1fsCKMQlIyLxG\n7oMY7+jPoaK9IoIUC3g0WpExyo71dJVVBi5E3IPTBSmWtl+AWRQEIUmGXSi3\nIcO7AJdvkoy3HFCvkgyeFLS9boWhxL2SqfylPDTWkfstXBTPbrR25SCPOJFU\n+/xVQa/JSTzJuZ53A2puPNQ7JX1jUaezg1ulBmN54eLgxTISvHp0HL457EIR\nSOeLN1utrtJtUqgW/dtrBD7GeNcYA0spo5fFStguMugA706D40jR57FY6z5L\nV3d7QTFWD9PHQgPVmzht6ty0tVOUBaBsvDuhU7Ih48j3krG32ObBcUZcOGc+\ns4l9\r\n=Cr0k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHUgl4zOJsMr8QvxaPcoxOQ7U84U9RF/UhZjQybuKFkAiEAoQQ8T8C3oh+7oiHB7o4pG3A1BXXg3Y1QGMJovodf6ZU="}]},"_npmUser":{"name":"saulx","email":"jim@saulx.com"},"directories":{},"maintainers":[{"name":"saulx","email":"jim@saulx.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hash_1.1.0_1625217090962_0.7771946794661666"},"_hasShrinkwrap":false},"2.0.0":{"name":"@saulx/hash","main":"./dist/index.js","version":"2.0.0","scripts":{"build":"tsc","watch":"tsc --watch","test":"ava --verbose"},"repository":{"type":"git","url":"git+https://github.com/atelier-saulx/hash.git"},"lint-staged":{"{js,json}":["prettier --write","git add"],"*.js":["eslint --fix","git add"]},"ava":{"files":["test/**/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"browser":{"stream":false},"prettier":"@saulx/prettier-config","eslintConfig":{"extends":"@saulx/eslint-config"},"devDependencies":{"@saulx/eslint-config":"git+https://github.com/atelier-saulx/eslint-config.git","@saulx/prettier-config":"git+https://github.com/atelier-saulx/prettier-config.git","ava":"3.15.0","eslint":"^7.18.0","husky":"^3.0.8","lint-staged":"^9.4.2","prettier":"^2.2.1","ts-node":"8.5.4","typescript":"3.7.3"},"types":"./dist/index.d.ts","gitHead":"381a2b129d64a9152df63fdb6300429d05f4a852","description":"Hash packages for saulx, returns 64 bit hashes","bugs":{"url":"https://github.com/atelier-saulx/hash/issues"},"homepage":"https://github.com/atelier-saulx/hash#readme","_id":"@saulx/hash@2.0.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-8kxzPsxVlCePI1ZjgIf1j0AsQKQvor7IvSccrrPd2g8dK2AcTFhNysAeSEmL9UqtCR2lnqsKhG1PJOvUejNn2Q==","shasum":"521ec2538d7bf892a00a0dc46bfdfe91877f6c9d","tarball":"https://registry.npmjs.org/@saulx/hash/-/hash-2.0.0.tgz","fileCount":27,"unpackedSize":28444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAu91O8DkCOMFuN5kfppeXBmEu4nTJPixEWddQ+dFXi2AiEAuM5iNsWxpCaGLni9CWLVKWFDe6O1+O0iRZU0YsK87vU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj868KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYdg//YG5ZR9v/4QT9PO7CEqjE+v4MwWO4OflOGdazvVoDHuSXI1yc\r\nyMSqo1uwCE24UvNmL3d1d8Ki0jAC+wvez7DdJe54wz2WbBr6JM3k1XCwDOJp\r\nVI/Qyn8PYewcMVG33lMoHWfsTov71MTreNBtr8yxk41olZwUWp/Ka8hZ9qgd\r\nQ3wWIH5Mml3sCjZEUHrcf6OsCD9yVH6rtkgN/7pLoPt+aVZyViL70TIatYDG\r\nwWogckixNIeydprJFwoSfFqwQbHoOSIebDTNmXwTcIVryLu2gQpj/AZlgIgq\r\nLNdEGL7/joi52x3mTDIacR5BpgRYosWkjBFBu9qjblrL0sq7XfzKNch/bo5M\r\nhHoGh8OkdjdBd2LG0ObMg0lABCW9kiiWUpsl2lwAYeyRQgLFjPtQEPtgcCZk\r\nRSLSMa8ahARE6usFoZ/ksgKmZVMoyCB7DQaKF5tTlO4k7UapsGky/Si0WT1b\r\nbo90nCfW174r114ZbHEZdsGOg79SUvmKZPNYvC445XooNVPD81kvbZ+BYfLf\r\nxyv1CBNQrlapL6sEa9sOmjt8kf//SdjTm/1YCCQRJ029lLL2Y0hjwSFVa+n7\r\nNt6W0+h1RpNj5+29YekT/RKau9cLsV5zk0gZ3UB+7SYXy8sZEPqcSAtU4r8X\r\nzM9WYnherJ7HurUJ2vcC4POrhLXGm5Fa5eM=\r\n=X2x6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saulx","email":"jim@saulx.com"},"directories":{},"maintainers":[{"name":"saulx","email":"jim@saulx.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hash_2.0.0_1676914442285_0.32606972720765404"},"_hasShrinkwrap":false},"3.0.0":{"name":"@saulx/hash","version":"3.0.0","description":"Fast, low collision hashing based on djb2","repository":{"type":"git","url":"git+https://github.com/atelier-saulx/hash.git"},"keywords":["hash","performance","object"],"license":"MIT","scripts":{"build":"tsc","watch":"tsc --watch","test":"ava --verbose"},"type":"module","main":"./dist/src/index.js","ava":{"timeout":"2m","files":["./dist/test/**/*.js"]},"prettier":"@saulx/prettier-config","devDependencies":{"ava":"5.3.1","@saulx/tsconfig":"^1.0.1","@saulx/prettier-config":"^1.0.0"},"types":"./dist/src/index.d.ts","gitHead":"d2bd9512ecbabfad76b9a362501c2a5577baf9f8","bugs":{"url":"https://github.com/atelier-saulx/hash/issues"},"homepage":"https://github.com/atelier-saulx/hash#readme","_id":"@saulx/hash@3.0.0","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-NRIbP4EvYxS6GDtNw3E0jBnNkn6PSA6aju8GRLDE3Ol7Tpk+iL2Ln0BG4NLNJyeqKLC+xzgIuPBvlzNRaS0Iqw==","shasum":"084269f4715183b691e5281d41214e5d484f153e","tarball":"https://registry.npmjs.org/@saulx/hash/-/hash-3.0.0.tgz","fileCount":33,"unpackedSize":25920,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN+SsL8UU5sHSSu2gW37/ydXrFgOvTMlPszUdP49ZWGAIgSSKLQAUuIg9JJmo128bdNa+nfJGYI8nTvaS97KJNM34="}]},"_npmUser":{"name":"saulx","email":"jim@saulx.com"},"directories":{},"maintainers":[{"name":"saulx","email":"jim@saulx.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hash_3.0.0_1698933634741_0.7229442504593031"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-06T10:30:50.354Z","1.0.0":"2021-04-06T10:30:50.616Z","modified":"2023-11-02T14:00:35.086Z","1.0.1":"2021-04-06T10:36:50.915Z","1.1.0":"2021-07-02T09:11:31.068Z","2.0.0":"2023-02-20T17:34:02.458Z","3.0.0":"2023-11-02T14:00:34.925Z"},"maintainers":[{"name":"saulx","email":"jim@saulx.com"}],"description":"Fast, low collision hashing based on djb2","homepage":"https://github.com/atelier-saulx/hash#readme","repository":{"type":"git","url":"git+https://github.com/atelier-saulx/hash.git"},"bugs":{"url":"https://github.com/atelier-saulx/hash/issues"},"readme":"# hash\n\nFast, low collision hashing based on djb2\n\n## hash\n\nReturns a 64 bit number, works for any data type\n\n```javascript\nimport { hash } from '@saulx/hash'\nhash({ x: true })\nhash([1, 2, 3])\nhash('xyz')\n```\n\n## hashObjectIgnoreKeyOrder\n\nReturns a 64 bit number, works for objects and arrays - ignores order of keys in objects\n\n```javascript\nimport { hashObjectIgnoreKeyOrder } from '@saulx/hash'\nconsole.log(\n  hashObjectIgnoreKeyOrder({ x: true, y: true }) ===\n    hashObjectIgnoreKeyOrder({ y: true, x: true })\n)\n```\n\n## hashCompact\n\nSame as hash but returns a 62 bit string\n\n```javascript\nimport { hashCompact } from '@saulx/hash'\n\nconsole.log(hashCompact({ x: true, y: true }))\n```\n","readmeFilename":"README.md","keywords":["hash","performance","object"],"license":"MIT"}