{"id":13507158,"url":"https://github.com/mkaput/elixir-bimap","last_synced_at":"2025-04-14T03:33:56.920Z","repository":{"id":23830473,"uuid":"99961376","full_name":"mkaput/elixir-bimap","owner":"mkaput","description":"Elixir implementation of bidirectional map and multimap","archived":false,"fork":false,"pushed_at":"2024-01-23T09:45:15.000Z","size":104,"stargazers_count":27,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-19T11:16:01.861Z","etag":null,"topics":["bimap","bimultimap","data-structures","elixir"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/mkaput.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-08-10T20:15:16.000Z","updated_at":"2024-04-16T04:31:31.000Z","dependencies_parsed_at":"2023-01-13T23:56:22.060Z","dependency_job_id":"7bcc3eee-fe8a-4b9b-83f8-9dd6ecb7bc4f","html_url":"https://github.com/mkaput/elixir-bimap","commit_stats":{"total_commits":77,"total_committers":8,"mean_commits":9.625,"dds":0.6623376623376623,"last_synced_commit":"c248cceb5ed0f555b3bf08e40e6d562c1a84d34a"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkaput%2Felixir-bimap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkaput%2Felixir-bimap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkaput%2Felixir-bimap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkaput%2Felixir-bimap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkaput","download_url":"https://codeload.github.com/mkaput/elixir-bimap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248815523,"owners_count":21165939,"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":["bimap","bimultimap","data-structures","elixir"],"created_at":"2024-08-01T02:00:25.493Z","updated_at":"2025-04-14T03:33:56.893Z","avatar_url":"https://github.com/mkaput.png","language":"Elixir","funding_links":[],"categories":["Algorithms and Data structures"],"sub_categories":[],"readme":"# BiMap\n\n[![Version](https://img.shields.io/hexpm/v/bimap.svg)](https://hex.pm/packages/bimap)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/bimap/)\n\nElixir implementation of bidirectional map (`BiMap`) and multimap (`BiMultiMap`).\n\n## Installation\n\nThe package can be installed by adding `bimap` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [{:bimap, \"~\u003e 1.3\"}]\nend\n```\n\n## Getting started\n\nFor more examples, checkout [`BiMap`](https://hexdocs.pm/bimap/BiMap.html) and [`BiMultiMap`](https://hexdocs.pm/bimap/BiMultiMap.html) on hex docs.\n\n### BiMap\n\n```elixir\niex(1)\u003e Mix.install [:bimap]\niex(2)\u003e bm = BiMap.new(a: 1, b: 2)\nBiMap.new([a: 1, b: 2])\niex(3)\u003e BiMap.get(bm, :a)\n1\niex(4)\u003e BiMap.get_key(bm, 2)\n:b\niex(5)\u003e BiMap.put(bm, :a, 3)\nBiMap.new([a: 3, b: 2])\niex(6)\u003e BiMap.put(bm, :c, 2)\nBiMap.new([a: 1, c: 2])\n```\n\n### BiMultiMap\n\n```elixir\niex(1)\u003e Mix.install [:bimap]\niex(2)\u003e mm = BiMultiMap.new(a: 1, b: 2, b: 1)\nBiMultiMap.new([a: 1, b: 1, b: 2])\niex(3)\u003e BiMultiMap.get(mm, :a)\n[1]\niex(4)\u003e BiMultiMap.get_keys(mm, 1)\n[:a, :b]\niex(5)\u003e BiMultiMap.put(mm, :a, 3)\nBiMultiMap.new([a: 1, a: 3, b: 1, b: 2])\n```\n\n## Changelog\n\nAll notable changes to this project are documented on the [GitHub releases] page.\n\n## License\n\nSee the [LICENSE] file for license rights and limitations (MIT).\n\n[github releases]: https://github.com/mkaput/elixir-bimap/releases\n[license]: https://github.com/mkaput/elixir-bimap/blob/master/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkaput%2Felixir-bimap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkaput%2Felixir-bimap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkaput%2Felixir-bimap/lists"}