{"id":38920626,"url":"https://github.com/jsnavarroc/react-native-search-engine","last_synced_at":"2026-01-17T15:33:13.768Z","repository":{"id":47822162,"uuid":"280562405","full_name":"jsnavarroc/react-native-search-engine","owner":"jsnavarroc","description":"It is a type of search engine like the \"html5's browsers input\", it can be used to auto-complete words or to search for elements within an array or object.","archived":false,"fork":false,"pushed_at":"2021-08-12T18:42:18.000Z","size":153,"stargazers_count":5,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-02-22T19:04:03.171Z","etag":null,"topics":["react","react-native","react-native-search-engine","search-engine"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/react-native-search-engine","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsnavarroc.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-18T02:02:28.000Z","updated_at":"2022-10-22T05:48:50.000Z","dependencies_parsed_at":"2022-09-12T00:01:38.310Z","dependency_job_id":null,"html_url":"https://github.com/jsnavarroc/react-native-search-engine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jsnavarroc/react-native-search-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnavarroc%2Freact-native-search-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnavarroc%2Freact-native-search-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnavarroc%2Freact-native-search-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnavarroc%2Freact-native-search-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsnavarroc","download_url":"https://codeload.github.com/jsnavarroc/react-native-search-engine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnavarroc%2Freact-native-search-engine/sbom","scorecard":{"id":538676,"data":{"date":"2025-08-11","repo":{"name":"github.com/jsnavarroc/react-native-search-engine","commit":"6a19f808e48e97448520c3ea524af009ceaf1b86"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.1,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Lesser General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T07:39:39.301Z","repository_id":47822162,"created_at":"2025-08-20T07:39:39.301Z","updated_at":"2025-08-20T07:39:39.301Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["react","react-native","react-native-search-engine","search-engine"],"created_at":"2026-01-17T15:33:13.455Z","updated_at":"2026-01-17T15:33:13.737Z","avatar_url":"https://github.com/jsnavarroc.png","language":"JavaScript","funding_links":["https://paypal.me/jsnavarroc"],"categories":[],"sub_categories":[],"readme":"# React Native Search Engine\n## Alert the library is subject to change at least the next 2 months.\n###  \u003e\u003e [Examples](https://github.com/jsnavarroc/serchEngineExample)\n### It is a type of search engine like the \"html5's browsers input\", it can be used to auto-complete words or to search for elements within an array or object.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://media.tenor.com/images/8f6b762fc94290066e11bf813830150e/tenor.gif\" width=\"200\" alt=\"option 1\"\u003e\n    \u003cimg src=\"https://media2.giphy.com/media/Zuf1gNyIwROWND4FW2/giphy.gif\" width=\"200\" alt=\"option 2\"\u003e\n    \u003cimg src=\"https://media2.giphy.com/media/ZVRWhVuLcRgwonQ3Rf/giphy.gif\" width=\"200\" alt=\"option 3\"\u003e\n    \u003cimg src=\"https://media2.giphy.com/media/wptdqGxqLWmKKepOSQ/giphy.gif\" width=\"200\" alt=\"option 3\"\u003e\n\u003c/p\u003e\n \n------------ \n\n## Documentation\n\n### React Native Search Engine  Component\n\n| Name                      | Description                              | Default     | Type    | Criterion |\n|---------------------------|------------------------------------------|-------------|---------|-----------|\n| searchKey                 | If you are working with an array of objects and you want to search by a specific property that all objects have in common, can put something like 'user.name'  | \"\"         | String  |  Optional |\n| value                     | If you want me to submit an initial search  | \"\"       | String  |  Optional |\n| data                      | The data to searching                    | [ ]         | Array   | Optional  |\n| textInfoStyle             | Text information styles                  | { }         | Object  | Optional  |\n| buttonEnabled             | If you want show or not the button       | true        | Boolean | Optional  |\n| showAllMode               | If you want  to show all options when it can't find anything | false       | Boolean | Optional  |\n| showNoResults               | Doesn't show the options, but the onChange Element gives me the filtered data | false       | Boolean | Optional  |\n| textInputStyle            | Input text styles                        | { }         | Object  | Optional  |\n| placeholder               | Help text                                | 'Search'    | String  | Optional  |\n| containerInputStyle       | Styles of input text containing          | { }         | Object  | Optional  |\n| containerTextInfoStyle    | Styles of information text containing    | { }         | Object  | Optional  |\n| containerTextError        | Styles of input text containing          | { }         | Object  | Optional  |\n| textInfoStyleError        | Styles of information text containing    | { }         | Object  | Optional  |\n| containerScrollStyle      | Text tag container stylesl               | { }         | Object  | Optional  |\n| containerButtonStyle      | Options display styles                   | { }         | Object  | Optional  |\n| containerIconStyle        | Icon Styles                              | { }         | Object  | Optional  |\n| onChangeSearch           | Get the text or object                    | onChangeSearch={object =\u003e setOption(object)} | Function  | Optional  |\n| customizeComponentInput   | Used to return an input component        | customizeComponentInput | Object  | Optional  |\n| customizComponenteResult  | It is used to return an output component | ({ valueResult, element }) =\u003e \u003c CustomizComponenteResult/\u003e | Function | Optional  |\n| leftIcon                | This is used to customize the icon         | () =\u003e \u003c leftIcon/\u003e | Function | Optional  |\n| error        | you can set if have or no error                       |  false    | Boolean  | Optional  |\n\n------------ \n\n\nWhen you want to customize the component you need set this customizeComponentInput object:\n\n| Name                      | Description                              | Default     | Type    | Criterion |\n|---------------------------|------------------------------------------|-------------|---------|-----------|\n|       InputCutom          |It is the input component that you want to set |undefine|  Array  |  Optional |\n|       addPropsInput          |The properties that you want to pass to the custom component |undefine|  Object  |  Optional |\n\n## Warning \n### Strings beginning with the following characters will not be found:\n\n\n|      |               |    Characters\n|------|---------------|-------------------|\n| 1    |               | +                 |\n| 2    |               | :                 |\n| 3    |               | (                 |\n| 4    |               | *                 |\n| 5    |               | ?                 |\n| 6    |               | \\                 |\n| 7    |               | [                 |\n| 8    |               | .                 |\n| 9    |               | ^                 |\n| 10   |               | \\|                |\n| 11   |               | )                 |\n\n\n\n\n\n------------ \n## How Implement\n\n\u003cimg src=\"https://i.ibb.co/17sgZVJ/image.png\" width=\"200\" alt=\"accessibility text\"\u003e\n\n\n\n### Simpler way\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://i.ibb.co/tq5RRBc/Simpler-way0.jpg\" width=\"200\" alt=\"accessibility text\"\u003e\n    \u003cimg src=\"https://i.ibb.co/b1dVm8V/Simpler-way1.jpg\" width=\"200\" alt=\"accessibility text\"\u003e\n    \u003cimg src=\"https://i.ibb.co/DGYx0QY/Simpler-way-0-1.jpg\" width=\"200\" alt=\"accessibility text\"\u003e\n    \u003cimg src=\"https://i.ibb.co/SVLR0jH/Simpler-way2.jpg\" width=\"200\" alt=\"accessibility text\"\u003e\n\u003c/p\u003e\n \n\n```JS  \n     \u003cSearchEngine\n      data={data}\n      searchKey={'properties.emails.0'}\n      onChangeSearch={object =\u003e setOption(object)}\n      buttonEnabled={true}\n      placeholder={'email'}\n    /\u003e\n```\n### Complexer way\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://i.ibb.co/c6G1VNJ/Complexer-way1.jpg\" width=\"200\" alt=\"accessibility text\"\u003e\n\u003c/p\u003e\n\n``` JS\n    import { Icon } from 'native-base';\n```\n\n```JS\n    \u003cSearchEngine\n      data={data}\n      searchKey={'properties.emails.0'}\n      onChangeSearch={object =\u003e setOption(object)}\n      buttonEnabled={true}\n      placeholder={'email'}\n      containerIconStyle={styles.containerIconStyle}\n      containerInputStyle={styles.containerInputStyle}\n      containerScrollStyle={styles.containerScrollStyle}\n      containerTextInfoStyle={styles.containerTextInfoStyle}\n      containerButtonStyle={styles.containerButtonStyle}\n      leftIcon={() =\u003e \u003cIcon name=\"arrow-down\" /\u003e}\n    /\u003e\n```\n\n## Example\n[EXAMPLE CODE](./Example.md)\n\n------------ \n\n\n\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://paypal.me/jsnavarroc\"\u003e\n \u003cH2\u003eDonation\u003c/H2\u003e\n    \u003cimg src=\"https://fitsmallbusiness.com/wp-content/uploads/2018/01/Paypal-Working-Capital-Reviews-150x150.png\" width=\"70\" alt=\"accessibility text\"\u003e\n \u003c/a\u003e\n\u003c/div\u003e\n\n \u003e\u003e [Make a donation](https://paypal.me/jsnavarroc)\n------------ \n\n## Author\nJohan Navarro  | [https://johansolution.com](http://johansolution.com/)\n\n------------ \n\n## License\n[GNU \u0026copy;](./LICENSE) ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsnavarroc%2Freact-native-search-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsnavarroc%2Freact-native-search-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsnavarroc%2Freact-native-search-engine/lists"}