{"id":15598557,"url":"https://github.com/jofaval/robust-search","last_synced_at":"2025-10-15T04:33:12.378Z","repository":{"id":57156536,"uuid":"434919010","full_name":"jofaval/robust-search","owner":"jofaval","description":"Allows for a robust string comparison with almost matching options","archived":false,"fork":false,"pushed_at":"2022-01-04T00:55:25.000Z","size":61,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T02:37:12.658Z","etag":null,"topics":["jofaval","open-source","robust","search"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/robust-search","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jofaval.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-04T14:10:41.000Z","updated_at":"2022-01-06T23:49:21.000Z","dependencies_parsed_at":"2022-09-07T20:31:45.916Z","dependency_job_id":null,"html_url":"https://github.com/jofaval/robust-search","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Frobust-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Frobust-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Frobust-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Frobust-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jofaval","download_url":"https://codeload.github.com/jofaval/robust-search/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246180923,"owners_count":20736460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jofaval","open-source","robust","search"],"created_at":"2024-10-03T01:40:34.730Z","updated_at":"2025-10-15T04:33:07.342Z","avatar_url":"https://github.com/jofaval.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robust Search #\n\n[![Available in English](https://img.shields.io/badge/lang-en-blue.svg)](/doc/en/)\n[![Disponible en Castellano](https://img.shields.io/badge/lang-es-red.svg)](/doc/es/)\n\n[![npm version](https://badge.fury.io/js/robust-search.svg)](http://badge.fury.io/js/robust-search)\\\n[![NPM](https://nodei.co/npm/robust-search.png?downloads=true)](https://nodei.co/npm/robust-search/)\n\nPackage details at: [robust-search](https://www.npmjs.com/package/robust-search) or https://www.npmjs.com/package/robust-search\n\n## Description\nIt's a robust and flexible search component.\n### Objective\nIt allows for an almost match, i.e., \"Jenna\" wouldn't equal \"jena\", but now it can.\nSo it's objective it's to give more tools to compare, taking into account user's human mistakes\n\n## Usage\nFor the complete documentation, [click here](/doc/en/)\n\n### Install\n#### Browser\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/robust-search/index.js\"\u003e\u003c/script\u003e\n```\n\n#### Node.js\n```bash\nnpm i --save-dev robust-search\n```\n\n### Import\nWithout this, it won't work\n````javascript\nimport {\n    equal,\n    different,\n    almost,\n    unalike,\n    isMatch,\n    search,\n    exclude,\n    contains\n} from \"robust-search\"\n````\n### String.prototype.equal\nIs a `string` the same as another?\n````javascript\n// String equal\n\"test\".equal(\"test\") // returns true\n\n// String equal\n\"test\".equal(\"tset\") // returns false\n````\n### String.prototype.diff, or different\nIs a `string` not the same as another?\n````javascript\n// String not equal\n\"test\".diff(\"tset\") // returns true\n````\n### String.prototype.almost\nIs a `string` almost same as another?\n````javascript\n// String almost\n\"test\".almost(\"tset\") // returns true\n````\n### String.prototype.unalike\nIs a `string` not quite the same as another?\n````javascript\n// String unalike\n\"test\".unalike(\"tset\") // returns false\n````\n### String.prototype.isMatch\nThis will use all of the above to check for a match\n````javascript\n// String isMatch (does an almost or equal)\n\"test\".isMatch(\"tset\") // returns true\n````\n### String.prototype.contains\nDoes it contain the `substring` given? Sort of an `includes`\n````javascript\n// String contains\n\"test\".contains(\"est\") // returns true\n// String doesn't contain\n\"test\".contains(\"tset\") // returns false\n````\n### search\nSearchs using the above methods inside an `array`\n````javascript\n// String search\nsearch([ \"test\", \"hello\", \"world!\" ], \"test\") // returns [\"test\"]\n````\n### exclude\nSearchs for non-matches using the above methods inside an `array`\n````javascript\n// String exclude\nexclude([ \"test\", \"hello\", \"world!\" ], \"test\") // returns [\"hello\", \"world!\"]\n````","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjofaval%2Frobust-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjofaval%2Frobust-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjofaval%2Frobust-search/lists"}