{"id":13509680,"url":"https://github.com/whitfin/dot-notes-elixir","last_synced_at":"2025-12-12T00:23:08.007Z","repository":{"id":57491273,"uuid":"59769073","full_name":"whitfin/dot-notes-elixir","owner":"whitfin","description":"Simple dot/bracket notation parsing/conversion for Maps/Lists","archived":false,"fork":false,"pushed_at":"2020-03-03T22:56:03.000Z","size":20,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-17T15:10:50.189Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/whitfin.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":"2016-05-26T17:16:02.000Z","updated_at":"2023-05-16T20:13:00.000Z","dependencies_parsed_at":"2022-08-29T20:31:56.904Z","dependency_job_id":null,"html_url":"https://github.com/whitfin/dot-notes-elixir","commit_stats":null,"previous_names":["zackehh/dot-notes-elixir"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitfin%2Fdot-notes-elixir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitfin%2Fdot-notes-elixir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitfin%2Fdot-notes-elixir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitfin%2Fdot-notes-elixir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whitfin","download_url":"https://codeload.github.com/whitfin/dot-notes-elixir/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249708477,"owners_count":21313941,"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":[],"created_at":"2024-08-01T02:01:11.377Z","updated_at":"2025-12-12T00:23:07.928Z","avatar_url":"https://github.com/whitfin.png","language":"Elixir","funding_links":[],"categories":["Utilities"],"sub_categories":[],"readme":"# dot-notes-elixir\n[![Build Status](https://img.shields.io/travis/zackehh/dot-notes-elixir.svg)](https://travis-ci.org/zackehh/dot-notes-elixir) [![Coverage Status](https://img.shields.io/coveralls/zackehh/dot-notes-elixir.svg)](https://coveralls.io/github/zackehh/dot-notes-elixir) [![Hex.pm Version](https://img.shields.io/hexpm/v/dot_notes.svg)](https://hex.pm/packages/dot_notes) [![Documentation](https://img.shields.io/badge/docs-latest-yellowgreen.svg)](https://hexdocs.pm/dot_notes/)\n\nThis library is an Elixir port of [dot-notes](http://github.com/zackehh/dot-notes-js) to work with Elixir Maps/Lists. The interface is the same, but please check out the [Hexdocs](https://hexdocs.pm/dot_notes/DotNotes.html) for example usage.\n\nCurrently this library is only v1.0.0 but implements the same behaviour at v3.1 of the main JavaScript library. At some point in future there are plans to align all ports and make a specification in order to detail new features more easily.\n\n## Installation\n\ndot-notes-elixir is available on [Hex](https://hex.pm/). You can install the package via:\n\n  1. Add dot-notes-elixir to your list of dependencies in `mix.exs`:\n\n    ```elixir\n    def deps do\n      [{:dot_notes, \"~\u003e 1.0.0\"}]\n    end\n    ```\n\n## Differences to the JavaScript API\n\nFor the most part the API is the same, with minor differences due to Elixir's different types. One major difference is the addition of `DotNotes.reduce/4` which allows an accumulator alongside a `DotNotes.recurse/3` call. This is due to the fact that Elixir uses reductions to maintain state through recursion whereas in JavaScript you could just mutate variables from an outer scope.\n\n### Contributing and Testing\n\nIf you wish to contribute (awesome!), please file an issue in the main dot-notes repo, as this is just a port (unless it's a bug in this library). All PRs should pass the Travis build and maintain 100% test coverage.\n\nThese tests can be run as follows:\n\n```bash\n$ mix test\n$ mix coveralls\n$ mix coveralls.html \u0026\u0026 open cover/excoveralls.html\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitfin%2Fdot-notes-elixir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhitfin%2Fdot-notes-elixir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitfin%2Fdot-notes-elixir/lists"}