{"id":21853320,"url":"https://github.com/emnudge/unicode-query","last_synced_at":"2026-02-25T22:03:19.082Z","repository":{"id":213912646,"uuid":"691768157","full_name":"EmNudge/unicode-query","owner":"EmNudge","description":"Unicode querying engine","archived":false,"fork":false,"pushed_at":"2025-02-18T01:21:31.000Z","size":410,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-18T04:35:11.954Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmNudge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-14T21:08:25.000Z","updated_at":"2025-02-18T01:21:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"29eb44ff-a6dd-4b56-9ade-667a3850c0a7","html_url":"https://github.com/EmNudge/unicode-query","commit_stats":null,"previous_names":["emnudge/unicode-query"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EmNudge/unicode-query","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmNudge%2Funicode-query","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmNudge%2Funicode-query/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmNudge%2Funicode-query/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmNudge%2Funicode-query/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmNudge","download_url":"https://codeload.github.com/EmNudge/unicode-query/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmNudge%2Funicode-query/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29842852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T21:18:31.832Z","status":"ssl_error","status_checked_at":"2026-02-25T21:18:29.265Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-11-28T01:21:45.574Z","updated_at":"2026-02-25T22:03:19.067Z","avatar_url":"https://github.com/EmNudge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n\n# Unicode Query\n\nA Unicode querying engine. Built for [Unicode Lookup](https://github.com/EmNudge/unicode-lookup).\n\n\u003c/div\u003e\n\n```js\nconst result = simpleQuery(unicodeMappings, \"pile\");\n\nconsole.log(result); \n/* output:\n[\n  {\n    \"codepoint\": 128169,\n    \"label\": \"pile of poo\",\n    \"category\": \"So\",\n    \"combiningClass\": 0,\n    \"bidiClass\": \"ON\",\n    \"decompositionStr\": null,\n    \"decimalEquiv\": null,\n    \"digitEquiv\": null,\n    \"numericEquiv\": null,\n    \"isBidiMirrored\": false,\n    \"oldName\": null,\n    \"uppercaseMapping\": null,\n    \"lowercaseMapping\": null,\n    \"titlecaseMapping\": null\n  }\n]\n*/\n```\n\n## Goals\n\nThis project is built for Unicode Lookup and as such has a few requirements in its development: fast to run, quick to update, and easy to search.\n\n### Fast\nInteraction with the querying engine should be fast and non-blocking. Our code should execute quickly and off the main thread.\n\nSpeed is benchmarked on V8 against alternative methods. There isn't much competition and it would take years to build every possible implementation to truly know the fastest, but, at the least, the development of this library involves a bunch of quick tests when exploring routes for optimizations.\n \n### Quick To Update\nWe're working on a dataset that has an [official repository](https://unicode.org/Public/UNIDATA/). As new versions are released, it's important that we can update our local data quickly without much effort.\n\nIf we decide to reformat our unicode data into a format that better suites our application, a script should be included to automate the process.\n\n### Simple And Flexible\nThe original application was targeted towards research, but has reached audiences who need a much more casual use. We should allow for an API with simple defaults, but include mechanisms to customize behavior for more advanced needs.\n\nThis was initially exposed as a \"simple search\" and \"advanced search\" API. The former took in a string which was parsed and returned matches most approximating the search query. Advanced search takes in an array of filters to get at more specific data.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femnudge%2Funicode-query","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femnudge%2Funicode-query","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femnudge%2Funicode-query/lists"}