{"_id":"@agarimo/similarity","name":"@agarimo/similarity","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@agarimo/similarity","version":"1.0.0","description":"Similarity between strings using levenshtein distance","main":"src/index.js","scripts":{"test":"eslint --fix . && jest --silent --coverage --maxWorkers=4 ."},"repository":{"type":"git","url":"git+https://github.com/agarimojs/similarity.git"},"author":{"name":"Jesus Seijas","email":"jseijas@gmail.com"},"bugs":{"url":"https://github.com/agarimojs/similarity/issues"},"homepage":"https://github.com/agarimojs/similarity#readme","devDependencies":{"eslint":"^8.12.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-jest":"^26.1.3","eslint-plugin-prettier":"^4.0.0","jest":"^27.5.1","prettier":"^2.6.2"},"publishConfig":{"access":"public"},"dependencies":{"fastest-levenshtein":"^1.0.12"},"gitHead":"96c06f383de5e417e84ff1058a4f147e035e8b35","_id":"@agarimo/similarity@1.0.0","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-gxhAct9xHjFiU9bXcJNtRPdqUtmrtC7u9cEq0QAhlo7qdUkIsmMSlw81Ny1VxX3NJ1LVyV0RasXf6b4L3HVaBg==","shasum":"9d28d8893e39add6d696fe46a251eb728e507395","tarball":"https://registry.npmjs.org/@agarimo/similarity/-/similarity-1.0.0.tgz","fileCount":7,"unpackedSize":10209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFaDlaQTX8necP0EDc9bXlvhpMmfjZ0kTr7mxb72WFwAiEA/zfHdhyAvJJsj3VWN6LeA0rOmA0oG2/ryMLRdSsfVls="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWq4zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmptpw/7BA1aP+hVJXrd0edG9gGYnPEKGOHyl1/maAxqxe7VJjKtQHPP\r\nK3IgCf9UC/E87dHzG3WVJ/lBcpNqeAif+ixwcM0VuNI+M+nDZm0uDuixsjdr\r\nmfvV7rpWTwxPLqcxZB67O0yVV4ToZgGTvY2Yg7Hk+cEyQG5ssMj8ecNn84x6\r\n0o+ssN59Vt0r94XbtlgZwNhWMNNIOx52mmLP0cwttOyPhc1OXiEq5KWBZo3O\r\npuu4hnDMRYzkfP3DJgOnvIxL3XE7RSgiIN4wKnfoaxSvvGB1wAngSA7gx0jA\r\npFeWMnJc4FWCN315S1EHiCi2L/T/1BWVeLvosGt3vsRavXN009meVmYvYnAE\r\nXzFzes0FbYhWD9xldepyuHKbYaHcF0+yuxknTBENRx9RD368t+Bct17mUSXQ\r\npV1jCHiChj/mqd41lJrtVZ1UiezNQYgcpsG7Mr7NSr7gNKRf5gW0A3uW0TS+\r\nTa25w36+I4jKnZgfCZ3zC5Vx/U08zbGtcUlO/i2DahZFqCEXT5oMopAA18mo\r\nkThdMxU0fgN0fZLFktMUYubWwoRbf6l7o4bu/qZpmp6tDhs84bhBBOiZ0p1t\r\n3uAq2hypPjR8r2b9svazz8fbj7nbQUg2vQMguzkXgYHXTKd/dH/vEQyNTmw0\r\ndKb+hxRC9IUpt/jRHBJkP0VaJfGSG1L7RgI=\r\n=3qBH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jesus-seijas","email":"jseijas@gmail.com"},"directories":{},"maintainers":[{"name":"jesus-seijas","email":"jseijas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/similarity_1.0.0_1650110003296_0.8418811849948644"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-16T11:53:23.239Z","1.0.0":"2022-04-16T11:53:23.444Z","modified":"2022-04-16T11:53:23.617Z"},"maintainers":[{"name":"jesus-seijas","email":"jseijas@gmail.com"}],"description":"Similarity between strings using levenshtein distance","homepage":"https://github.com/agarimojs/similarity#readme","repository":{"type":"git","url":"git+https://github.com/agarimojs/similarity.git"},"author":{"name":"Jesus Seijas","email":"jseijas@gmail.com"},"bugs":{"url":"https://github.com/agarimojs/similarity/issues"},"readme":"# distance and similarity\r\n\r\n## Distance\r\n\r\nYou can calculate distance of two strings (levenshtein distance):\r\n\r\n```javascript\r\nconst { distance } = require('@agarimo/similarity');\r\n\r\nconsole.log(distance('p', 'potatoe')); // 6\r\nconsole.log(distance('potatoe', 'potatoe')); // 0\r\nconsole.log(distance('potatoe', 'Potatoe')); // 1\r\nconsole.log(distance('distance', 'eistancd')); // 2\r\nconsole.log(distance('mikailovitch', 'Mikhaïlovitch')); // 3\r\n```\r\n\r\n## Distance normalized\r\n\r\nYou can calculate distance of two strings (levenshtein distance) using normalization:\r\n\r\n```javascript\r\nconst { distance } = require('@agarimo/similarity');\r\n\r\nconsole.log(distance('p', 'potatoe', true)); // 6\r\nconsole.log(distance('potatoe', 'potatoe', true)); // 0\r\nconsole.log(distance('potatoe', 'Potatoe', true)); // 0\r\nconsole.log(distance('distance', 'eistancd', true)); // 2\r\nconsole.log(distance('mikailovitch', 'Mikhaïlovitch', true)); // 1\r\n```\r\n\r\n## Similarity\r\n\r\nYou can calculate similarity between two strings. If both strings are equal, it will return 1, otherwise will return (1 - leven(a, b) / a.length) considering that a is the longest string.\r\n\r\n```javascript\r\nconst { similarity } = require('@agarimo/similarity');\r\n\r\nconsole.log(similarity('p', 'potatoe')); // 0.1428571428571429\r\nconsole.log(similarity('potatoe', 'potatoe')); // 1\r\nconsole.log(similarity('potatoe', 'Potatoe')); // 0.8571428571428572\r\nconsole.log(similarity('distance', 'eistancd')); // 0.75\r\nconsole.log(similarity('mikailovitch', 'Mikhaïlovitch')); // 0.7692307692307692\r\n```\r\n\r\n## Similarity\r\n\r\nYou can calculate similarity between two strings using normalization. If both strings are equal, it will return 1, otherwise will return (1 - leven(a, b) / a.length) considering that a is the longest string.\r\n\r\n```javascript\r\nconst { similarity } = require('@agarimo/similarity');\r\n\r\nconsole.log(similarity('p', 'potatoe', true)); // 0.1428571428571429\r\nconsole.log(similarity('potatoe', 'potatoe', true)); // 1\r\nconsole.log(similarity('potatoe', 'Potatoe', true)); // 1\r\nconsole.log(similarity('distance', 'eistancd', true)); // 0.75\r\nconsole.log(similarity('mikailovitch', 'Mikhaïlovitch', true)); // 0.9230769230769231\r\n```\r\n","readmeFilename":"README.md"}