{"_id":"browser-image-hash","_rev":"9-3955d62d24f0622e60249e29d9a633e7","name":"browser-image-hash","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.2":{"name":"browser-image-hash","version":"0.0.2","keywords":["image","dhash","imagehash","difference","hashing"],"author":{"name":"ytetsuro"},"license":"MIT","_id":"browser-image-hash@0.0.2","maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"homepage":"https://github.com/ytetsuro/image-hash#readme","bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"dist":{"shasum":"9b80f0220344ef8b8e8a6914b45da2a272da87db","tarball":"https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.2.tgz","fileCount":34,"integrity":"sha512-7zTXZM0aUCDnwOh8kv9wqaWaN5wA4GkqrBqddUQQI9W1T1MrdcPwpn36I6bV8rcEaAQV0i8KLgxmHh11HqFRvA==","signatures":[{"sig":"MEUCIAKKPvpWLU4vNzmZQb9AJctfmVzxoBJZOcwD0PerJRM1AiEA9QnWfpCuDIzWCL+3q0bdkJ7BhCUhOEpg2iL9eBMFa54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdY+gOCRA9TVsSAnZWagAAt/gP/A61kBc7UMgARuIalyG2\nadfkbCwY67+LnaCsAbnstapQGu+r4aQZxHhe3VNLMDdUY53V7fsUVRY2dekg\n4XRU9vwW3VoZs7++FsGdLRh7mWsdDo5i7fJPbjILmxG/0iboX3BK3suISWuK\nyBMZk9kG3B6t4jH3HqZx1hyo6EWhhnjHK1SJyXL/BYoyLDk7RaH8XSII5bBl\n2EiTWGD7FFUWo273av8jrG9CBig/5e+/rSNR7xY83wmB2JfpoOYyHWYUswE1\nbz1GdOEq6xS983ikvJjZMGskLujtUYg6eUsP0U7KWdJo/YvTiEJMINZxosKz\nVh4rh9H4SbgH1rkqHToqDRcdvxLR9yJipCme3PaX3ds+LJy1eRIi1CPkB+8M\nU617Y5Z+azPlEueh6asIzK4Q7FYKB6PFycsJjJ3G4f1JKI9xlMJQn8h2Qi7C\nllqfhAqQSTn+BaNmYBKzTqpeV0VpbfGF1Vb14yud1YsGeWX7zBDb74hp1Pap\nMzmtAmpwBKMpoo0pMRuGmrcGb1qJizrIlQ1BSEe2BtvzVlP0b/IPCcgU8r83\nJCw3Dr4OvxaQOcpfrqqdcXBRtvAtmZNMs+XkuYM+cRGNFfuk6LgiBne+AJsc\nhvMrydv7yfoUsFaKg4XBtf0/FuZzCalWmhufH9b2j0C60udTHBE9xR4dc+GV\nyxTA\r\n=x1ZZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dest/index.js","gitHead":"3644fd82626114e1cf7844bfea2c0220ad818690","scripts":{"test":"jest","build":"rm -rf dest && tsc -p tsconfig.build.json","prepare":"npm run test && npm run build"},"_npmUser":{"name":"ytetsuro","email":"phper.0o0@gmail.com"},"repository":{"url":"git+ssh://git@github.com/ytetsuro/image-hash.git","type":"git"},"_npmVersion":"6.10.3","description":"Image to dhash for Browser","directories":{},"_nodeVersion":"8.16.0","dependencies":{"decimal.js":"^10.2.0","wasm-imagemagick":"^1.2.3","@rgba-image/lanczos":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.0.*","jsdom":"^15.1.1","ts-jest":"^24.0.2","typescript":"^3.5.3","@types/jest":"^24.0.18","@types/node":"^12.7.2","@types/jsdom":"^12.2.4","@types/decimal.js":"^7.4.0"},"_npmOperationalInternal":{"tmp":"tmp/browser-image-hash_0.0.2_1566828558010_0.4218135951923081","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"browser-image-hash","version":"0.0.3","keywords":["image","dhash","imagehash","difference","hashing"],"author":{"name":"ytetsuro"},"license":"MIT","_id":"browser-image-hash@0.0.3","maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"homepage":"https://github.com/ytetsuro/image-hash#readme","bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"dist":{"shasum":"07bdb4a0ecec29bbe7e347c574e769872027dac2","tarball":"https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.3.tgz","fileCount":35,"integrity":"sha512-w7YZThX6Jf1DQuMDCsk96D/dDlrx/1nhYODFzYERL7mxvKlQuZVqCEhSLMYvQWHN/h8zDPw4ihvDiAPUUhd8pQ==","signatures":[{"sig":"MEUCIHMVXI1Mqeg14ZgwTplBhiASvrVlEWdHalMni3pB1Cp7AiEAvCinPkGp/Lm5612yL+cd8vnLk4nl/vCVGmMtqJnqiNc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftPzSCRA9TVsSAnZWagAAoAUQAIvbYeYj+3PmgwVuNw3O\nQjPx21/e41hpAuW6+t1CT88LUYl/akq2IRYaCr5E0viCf4JIkEOy3H01NB3+\nilbFaYMnmf72gvZ9F5ggdTsLdP89KnahjNX9+199PENwc2okqpnx9EelMzYR\nPW55lbstMvfHQafzboFhp0WuPqNRubzag15G410++ZNm2t53XAhYHKHFwDFI\nJ0MWkJioDIqknWzqm8mk3PdUCkeV8ShMTMa/j6LIn24bdGl2w/WT3JLcXTHA\nxUf2I+XgyM6hPNtZfCLLJcRVwK7QbO0NrmnSAv1SD2O1/gqDPY1KZDbk3rg0\ntbEZbwStAygy6fWNd/fMFtJWWQW2KTL0+juYQFA3/QeFqU20ponyM5mGH8y/\nOuX0oIO4Nsvi8Y6K+vfwoAlRPZZRt18PNveXUMnR/A5yyYQIbJWITMXljriz\nPt6eCO4PPEopEYqvkS7b7/0LMWlGNRG0YV1XeuXLPdoAzKgV9nlC+m0JH13t\n0k/sdlvpF3q2wIrpP2tXDIVvHA4mIJr8pVZmifrWutTsFXx7jKNb88g6x8Xx\nE+fU90j1pPyv0mNsIYbFT8r0CiCY+bumlLozVfiTUnjq1imtpFttq7/CDUgP\nQWcjzhnZ1fKFbaHQTEcWx7Me+CJYELILZRioqBdkikt0zHfQoLiEvCjpF5rT\nS8bl\r\n=nsel\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dest/index.js","gitHead":"d08c6e02376686eed03004282beb04eb796e748e","scripts":{"test":"jest","build":"rm -rf dest && tsc -p tsconfig.build.json","prepare":"npm run test && npm run build"},"_npmUser":{"name":"ytetsuro","email":"phper.0o0@gmail.com"},"repository":{"url":"git+ssh://git@github.com/ytetsuro/image-hash.git","type":"git"},"_npmVersion":"6.14.8","description":"Image to dhash for Browser","directories":{},"_nodeVersion":"12.6.0","dependencies":{"decimal.js":"^10.2.0","wasm-imagemagick":"^1.2.3","@rgba-image/lanczos":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.3","jsdom":"^16.4.0","ts-jest":"^26.4.1","typescript":"^4.0.2","@types/jest":"^26.0.14","@types/node":"^14.11.1","@types/jsdom":"^16.2.4","@babel/preset-env":"^7.12.1","@types/decimal.js":"^7.4.0","@babel/preset-typescript":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/browser-image-hash_0.0.3_1605696721789_0.8315328540506848","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"browser-image-hash","version":"0.0.4","keywords":["image","dhash","imagehash","difference","hashing"],"author":{"name":"ytetsuro"},"license":"MIT","_id":"browser-image-hash@0.0.4","maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"homepage":"https://github.com/ytetsuro/image-hash#readme","bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"dist":{"shasum":"4ba3bad6e4b9f05e9ee342c81411f81168b5e905","tarball":"https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.4.tgz","fileCount":36,"integrity":"sha512-jNj1c9d3UckqRwXmLI96NKse0STjQE/1Xt09gBhmBUGH8heSsWWghdH//dzZNrf208beXvmsv8k678Wc5wjHog==","signatures":[{"sig":"MEQCIAFGVIaSchzxpy/zzdcAF+SvCAQu8cBUX8KpPcR4KNptAiAgyDmlSlXKnnYYOpa0esEglfhSZsg03Y82I7Ik0swyDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6LjBCRA9TVsSAnZWagAAnUUP/3nOel2pqko4jGN0wGod\ncRc/jN1foYwNtbY+gbDpiRAM7Ot9XFr87Bf3u0lAdgmBPN7apal8X8jQgsdt\neJ2vGCz9H4s9s/PM91eWFnMHKiLekbO/Y/MZucx3xhoCvVYmXtFHjVEDQBkn\n1xeJFMDeCfGtrTqaoHxjXOjm61zhqi48BAPIcBpkkOa8ls6A4Z7jCb7t9Zv3\nIk+Zdxk7Bv8imm1DYd6o5LCLUXEo+vdn7O+8OMgjbs13J8x/x+h4KoKJeKn0\nSVWtkdFL2tjjjTpsqVfFCu9C4N97CJ27s5fiGBCm0yAdVlSDEv18b/uQkzlq\nuWZS8PWjI26Gqls/y4G2ARdU2hfmnJlKA7qtjcPWs6fnQk4y8ItwbuIgPVkp\nxvLLqXta6bHRnAcjzV2KMBDQRk5IyRmeZshkfE/TziLUY7S+YyAbr+BQguoA\nwbHFgDTR0UYDBqlYDJI1fhDpY6Ixtrkz8Hmgyw6eDKmGvxGWjNLQXx7R61+j\nYN/zNUFIpQeNN4JQ/egIM1hu5A8f6wrodmKqvuUjAmj8+YnlQGAi6lpoYHJe\n7zZYsZ3tS7oVjfPhLoweBl6OfU4/sDJHSjkxXWfmfVFlyhCXGpbjyDE7x9mp\nN90t5FQJiWF/M7B8/UCp1VNSlDntkLPAYbF3VpoBCWTR830dZeHvYZKi3Svg\nfK1m\r\n=JVQN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dest/index.js","gitHead":"2e125eeb21401ae7b02b7d877ba9bba8086533ba","scripts":{"test":"jest","build":"rm -rf dist && tsc -p tsconfig.build.json","prepare":"npm run test && npm run build"},"_npmUser":{"name":"ytetsuro","email":"phper.0o0@gmail.com"},"repository":{"url":"git+ssh://git@github.com/ytetsuro/image-hash.git","type":"git"},"_npmVersion":"7.17.0","description":"Image to dhash for Browser","directories":{},"_nodeVersion":"12.6.0","dependencies":{"decimal.js":"^10.2.0","wasm-imagemagick":"^1.2.3","@rgba-image/lanczos":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.3","jsdom":"^16.4.0","ts-jest":"^26.4.1","typescript":"^4.0.2","@types/jest":"^26.0.14","@types/node":"^16.3.0","@types/jsdom":"^16.2.4","@babel/preset-env":"^7.12.1","@types/decimal.js":"^7.4.0","@babel/preset-typescript":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/browser-image-hash_0.0.4_1625864384877_0.977987257817484","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"browser-image-hash","version":"0.0.5","keywords":["image","dhash","imagehash","difference","hashing"],"author":{"name":"ytetsuro"},"license":"MIT","_id":"browser-image-hash@0.0.5","maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"homepage":"https://github.com/ytetsuro/image-hash#readme","bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"dist":{"shasum":"a8ca06f64b71fa2e10ebc7335bb8e5f6dd4025ff","tarball":"https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.5.tgz","fileCount":35,"integrity":"sha512-j+rsA1L3vL8k8ji4pFPFAOU/wN/hegwk1eoMshFk3OtjzEzdDrT9Dz94OkLc43NhWGck2a9t5eQQok6zjJSPHQ==","signatures":[{"sig":"MEQCIAxe9pDdmRe+EWrmeHIkspCC/BM/ZQBoLEFNx7aykYHBAiAOLsnpfOMnCt7leO9JYCzKaToZmdvUtT68qg9vMrDuoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6LrVCRA9TVsSAnZWagAA5YkQAI7JzslHEzO0DXk2mNvB\npefqi9/EtfVTAXY8/UYL6vJWMKiGAUNPY0uJ+ftCML+ihktr/2oyy9dM4iER\n0pj2P7mtReSoZy+/r6OVz6N7nNTbSagI0sSSOjAMLY6SVddgboILuH2lCzPa\nbMHHQWk/+xVbAUu1Smvnly5Rq0rmtFQ638BJTXUas2VSq7ivWcjDdz32MZgv\nDJu7efVn9qHJc0mecVPEn10Tyl/33UA9wkAFiYj2N0Dl2UMfIBLWfkq/29z7\nvL22fy4R5FdUZh1IfrkGTgZIko7f/GhRf2/XcQ6ZQWqvFcNWKktK66XClBMK\n6YquVTxEJZqi6j+/Gasd6FZNvc2c2mZu6spBtqRdkVT34W5Wfea4a0/8rYv0\nZqdv7fGFJoZlTE6uLixnFvierYlsPF2FhrtaaxxycaS6x7IE5UFERWr6u50z\ni3gisBmYSRKMX53gCx4jmNJY9CUR/ac2Cvin5BPs9VfO8j12WtQFhzKsc0aN\noKf9sGEL8mVTYCo+M8qmmkqPbsYGwKWdzj2M1rYpJAbVbZlmF8D9HD77D498\nPdShcWCswha8JpCztcfKB0hs8qvji59U07hO/LTI05XUeOQ9g+Mhamx9UPfr\nvFnhw/YT4N44jZNE5yLlIB3+jOJ2pBTO9JjcgYP58eHIU7b8UsVREy4mdL4+\n03d8\r\n=7NU/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"c55459ebf92ced55665c9d05b4035b26243d4404","scripts":{"test":"jest","build":"rm -rf dist && tsc -p tsconfig.build.json","prepare":"npm run test && npm run build"},"_npmUser":{"name":"ytetsuro","email":"phper.0o0@gmail.com"},"repository":{"url":"git+ssh://git@github.com/ytetsuro/image-hash.git","type":"git"},"_npmVersion":"7.17.0","description":"Image to dhash for Browser","directories":{},"_nodeVersion":"12.6.0","dependencies":{"decimal.js":"^10.2.0","wasm-imagemagick":"^1.2.3","@rgba-image/lanczos":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.3","jsdom":"^16.4.0","ts-jest":"^26.4.1","typescript":"^4.0.2","@types/jest":"^26.0.14","@types/node":"^16.3.0","@types/jsdom":"^16.2.4","@babel/preset-env":"^7.12.1","@types/decimal.js":"^7.4.0","@babel/preset-typescript":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/browser-image-hash_0.0.5_1625864917327_0.4794163760399879","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"browser-image-hash","version":"0.0.6","keywords":["image","dhash","imagehash","difference","hashing"],"author":{"name":"ytetsuro"},"license":"MIT","_id":"browser-image-hash@0.0.6","maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"homepage":"https://github.com/ytetsuro/image-hash#readme","bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"dist":{"shasum":"db61f39c41f286c39df056943b237bc802e48c53","tarball":"https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.6.tgz","fileCount":5,"integrity":"sha512-4W1NlTfwfwNCvudGTsUaOKJ3+S2k8AyzPyle9z2jcRxz2+xn/EabxcZuOg0BfhYrBej/Ggad1j+PGPv3dKdvPQ==","signatures":[{"sig":"MEUCIQDTKnJNurDOXOEa6OKyYJqG6I3u2VW4rlQmcISx65F3JwIgCfZcIA7QfFoP3I0FJpSE2j89StUTAwsECWRlBYZZSts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/browser-image-hash@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52655},"main":"dist/index.js","gitHead":"c4d1bb5e56c822ed19c07c625d669ca4bd648695","scripts":{"test":"vitest run","build":"tsup","prepare":"npm run test && npm run build","test:browser":"vitest run --config vitest.browser.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d34bb745-6396-43f8-a0db-5203831e9498"}},"repository":{"url":"git+https://github.com/ytetsuro/image-hash.git","type":"git"},"_npmVersion":"11.11.1","description":"Image to dhash for Browser","directories":{},"_nodeVersion":"24.14.0","dependencies":{"decimal.js":"^10.2.0","wasm-imagemagick":"^1.2.3","@rgba-image/lanczos":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","jsdom":"^16.4.0","vitest":"^4.1.0","@swc/core":"^1.15.18","playwright":"^1.58.2","typescript":"^5.9.3","@types/node":"^20.0.0","@types/jsdom":"^16.2.4","@vitest/browser":"^4.1.0","@types/decimal.js":"^7.4.0","@vitest/browser-playwright":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/browser-image-hash_0.0.6_1773698912677_0.9685617180064914","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"browser-image-hash","version":"0.0.7","description":"Image to dhash for Browser","type":"module","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsup","prepare":"npm run test && npm run build","test":"vitest run","test:browser":"vitest run --config vitest.browser.config.ts"},"keywords":["image","dhash","imagehash","difference","hashing"],"author":{"name":"ytetsuro"},"repository":{"type":"git","url":"git+https://github.com/ytetsuro/image-hash.git"},"bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"homepage":"https://github.com/ytetsuro/image-hash#readme","license":"MIT","dependencies":{"@rgba-image/lanczos":"^0.1.0","decimal.js":"^10.2.0","wasm-imagemagick":"^1.2.3"},"devDependencies":{"@swc/core":"^1.15.18","@types/decimal.js":"^7.4.0","@types/jsdom":"^16.2.4","@types/node":"^20.0.0","@vitest/browser":"^4.1.0","@vitest/browser-playwright":"^4.1.0","jsdom":"^16.4.0","playwright":"^1.58.2","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.1.0"},"gitHead":"a9dc7a96b2f289b4a9ba1ba9cc595c0228a38905","_id":"browser-image-hash@0.0.7","_nodeVersion":"24.14.0","_npmVersion":"11.11.1","dist":{"integrity":"sha512-u5aX4NVgt40n8jfeLZBRmbGM28RcP7CumMaK9fcxMq/MNnA2unHZGC60eTmwHozXfkgmZDCNGefLGwnMnx55AQ==","shasum":"a4bc78afe9ac40b168cb25312921ac63e6563984","tarball":"https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.7.tgz","fileCount":5,"unpackedSize":52814,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/browser-image-hash@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDD14I+y+5n8CzdQOd5yIBDjCU+3M31GLEXLSPQkU2dEAiEAyvcCwvCR+q4FUTGkG8GpXwFr3GfFVmLv/CitYqZ82LA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d34bb745-6396-43f8-a0db-5203831e9498"}},"directories":{},"maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser-image-hash_0.0.7_1773702110659_0.2767427734010508"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-26T14:09:18.009Z","modified":"2026-03-16T23:01:51.108Z","0.0.1":"2019-08-25T13:30:12.198Z","0.0.2":"2019-08-26T14:09:18.163Z","0.0.3":"2020-11-18T10:52:01.972Z","0.0.4":"2021-07-09T20:59:44.991Z","0.0.5":"2021-07-09T21:08:37.441Z","0.0.6":"2026-03-16T22:08:32.821Z","0.0.7":"2026-03-16T23:01:50.797Z"},"bugs":{"url":"https://github.com/ytetsuro/image-hash/issues"},"author":{"name":"ytetsuro"},"license":"MIT","homepage":"https://github.com/ytetsuro/image-hash#readme","keywords":["image","dhash","imagehash","difference","hashing"],"repository":{"type":"git","url":"git+https://github.com/ytetsuro/image-hash.git"},"description":"Image to dhash for Browser","maintainers":[{"name":"ytetsuro","email":"phper.0o0@gmail.com"}],"readme":"[![Build Status](https://travis-ci.org/ytetsuro/image-hash.svg?branch=master)](https://travis-ci.org/ytetsuro/image-hash)\n[![codecov](https://codecov.io/gh/ytetsuro/image-hash/branch/master/graph/badge.svg)](https://codecov.io/gh/ytetsuro/image-hash)\n\n# Browser image hash\n\nThis is browser image hash generator.\n\nThis library is made to generate the same hash as [image-hash](https://github.com/JohannesBuchner/imagehash) as much as possible.\n\n## Supported\n\n* difference hashing ([dHash](http://www.hackerfactor.com/blog/index.php?/archives/529-Kind-of-Like-That.html))\n* average hashing ([aHash](http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html))\n* perception hashing ([pHash](http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html))\n* wavelet hashing ([wHash](https://fullstackml.com/2016/07/02/wavelet-image-hash-in-python/))\n\n## Installation\n\n```bash\n$ npm install browser-image-hash\n```\n\n## Basic Usage\n\n```typescript\nimport {DifferenceHashBuilder, Hash} from 'browser-image-hash';\n\ndocument.addEventListener('DOMContentLoaded', async () => {\n  const builder = new DifferenceHashBuilder();\n  const targetURL = new URL('./example.jpg', window.location.href);\n  const destHash = await builder.build(targetURL);\n  const srcHash = new Hash('0111011001110000011110010101101100110011000100110101101000111000');\n\n  if (srcHash.getHammingDistance(destHash) <= 10) {\n     console.log('Resembles');\n     return;\n  }\n\n  console.log('Different');\n});\n```\n\n## Other Hash Algorithms\n\n```typescript\nimport {\n  AverageHashBuilder,\n  PerceptualHashBuilder,\n  WaveletHashBuilder,\n} from 'browser-image-hash';\n\nconst url = new URL('./example.jpg', window.location.href);\n\n// Average Hash\nconst aHash = await new AverageHashBuilder().build(url);\n\n// Perceptual Hash\nconst pHash = await new PerceptualHashBuilder().build(url);\n\n// Wavelet Hash\nconst wHash = await new WaveletHashBuilder().build(url);\n```\n\n## Type-safe Hash Comparison\n\nEach builder returns a branded hash type (`DHash`, `AHash`, `PHash`, `WHash`). `getHammingDistance` only accepts the same hash type at compile time.\n\n```typescript\nimport type { DHash, AHash } from 'browser-image-hash';\n\nconst d1: DHash = await new DifferenceHashBuilder().build(url1);\nconst d2: DHash = await new DifferenceHashBuilder().build(url2);\nconst a1: AHash = await new AverageHashBuilder().build(url1);\n\nd1.getHammingDistance(d2); // OK\nd1.getHammingDistance(a1); // Compile error\n```\n\n## Warning\n\nSince this library uses canvas, please be careful of the same origin policy.\n\n[Allowing cross-origin use of images and canvas](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image)\n","readmeFilename":"README.md"}