{"id":18335053,"url":"https://github.com/cmeeren/fable.import.matchsorter","last_synced_at":"2025-10-13T04:08:04.867Z","repository":{"id":87810568,"uuid":"165432664","full_name":"cmeeren/Fable.Import.MatchSorter","owner":"cmeeren","description":"Fable bindings for match-sorter","archived":false,"fork":false,"pushed_at":"2020-01-06T07:08:42.000Z","size":49,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T04:14:02.412Z","etag":null,"topics":["fable","fable-bindings"],"latest_commit_sha":null,"homepage":null,"language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmeeren.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-12T20:26:00.000Z","updated_at":"2020-01-06T07:08:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"1bb68f9c-6ee5-4ee3-bed7-a8df23156f7e","html_url":"https://github.com/cmeeren/Fable.Import.MatchSorter","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/cmeeren/Fable.Import.MatchSorter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FFable.Import.MatchSorter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FFable.Import.MatchSorter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FFable.Import.MatchSorter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FFable.Import.MatchSorter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmeeren","download_url":"https://codeload.github.com/cmeeren/Fable.Import.MatchSorter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FFable.Import.MatchSorter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013598,"owners_count":26085389,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["fable","fable-bindings"],"created_at":"2024-11-05T19:53:17.348Z","updated_at":"2025-10-13T04:08:04.836Z","avatar_url":"https://github.com/cmeeren.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fable.Import.MatchSorter\n\nThis package provides Fable bindings for [match-sorter](https://github.com/kentcdodds/match-sorter/).\n\n## Installation\n\n* Install the `match-sorter` npm package:\n  * using npm: `npm install match-sorter`\n  * using yarn: `yarn add match-sorter`\n\n* Install the bindings:\n  * using dotnet: `dotnet add package Fable.Import.MatchSorter`\n  * using paket: `paket add Fable.Import.MatchSorter`\n\n## Example usage\n\n```f#\nopen Fable.Import.MatchSorter\n\n// Without configuration\n\nlet sortedMatches =\n  [\"apple\"; \"banana\"; \"kiwi\"]\n  |\u003e matchSort \"a\"\n\n// More complex configuration using fluent pipe syntax\n\ntype Country =\n  { Id: Guid\n    Name: string\n    Description: string }\n\nlet countryMatchSortOpts =\n  MSOpts.empty\n  |\u003e MSOpts.addKey (fun c -\u003e c.Name)\n  |\u003e MSOpts.addKeySpec (\n      KeySpec.create (fun c -\u003e c.Description)\n      |\u003e KeySpec.withThreshold Ranking.Contains\n      |\u003e KeySpec.withMaxRanking Ranking.Equal)\n  |\u003e MSOpts.withThreshold Ranking.Contains\n  |\u003e MSOpts.keepDiacritics\n  \nlet matchSortCountries query (cs: Country list) : Country list =\n  matchSortWith countryMatchSortOpts query cs\n  \n// You can also ensure the options are converted to native match-sort\n// options only once by partially applying them to matchSortWith:\n\nlet matchSortCountries : string -\u003e Country list -\u003e Country list =\n  matchSortWith countryMatchSortOpts\n```\n\nYou can also access the “native” match-sorter bindings in the `Native` submodule.\n\nChangelog\n---------\n\n#### 1.1.1 (2019-07-25)\n\n- Added [femto](https://github.com/Zaid-Ajaj/Femto/) support\n- Updated for match-sorter 4 (no API changes)\n\n#### 1.1.0 (2019-05-02)\n\n- Updated for Fable.Core 3 and match-sorter 3. No API changes.\n\n#### 1.0.0 (2019-01-12)\n\n* Initial release\n\n## Deployment checklist\n\n1. Make necessary changes to the code\n2. Update the changelog\n3. Update the version and release notes in the package info\n4. Update the supported npm dependency versions for femto in the fsproj\n5. Commit and tag the commit (this is what triggers deployment from  AppVeyor). For consistency, the tag should ideally be in the format `v1.2.3`.\n6. Push the changes and the tag to the repo. If AppVeyor build succeeds, the package is automatically published to NuGet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmeeren%2Ffable.import.matchsorter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmeeren%2Ffable.import.matchsorter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmeeren%2Ffable.import.matchsorter/lists"}