dot-notes alternatives and similar packages
Based on the "Utilities" category.
Alternatively, view dot-notes alternatives based on common mentions on social networks and blogs.
-
erlware_commons
Erlware Commons is an Erlware project focused on all aspects of reusable Erlang components. -
async_with
The asynchronous version of Elixir's "with", resolving the dependency graph and executing the clauses in the most performant way possible! -
plasm
Ecto's composable query multitool (.count, .random, .earliest, .latest, .find, .at, .on, etc.) -
sips_downloader
Utility to download Elixir Sips screencast videos written in Elixir (subscription to Elixir Sips required) -
WeightedRandom
Elixir weighted random pick library optimised for quick take_one and take_n operations
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of dot-notes or a related project?
README
dot-notes-elixir
This library is an Elixir port of dot-notes to work with Elixir Maps/Lists. The interface is the same, but please check out the Hexdocs for example usage.
Currently 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.
Installation
dot-notes-elixir is available on Hex. You can install the package via:
Add dot-notes-elixir to your list of dependencies in
mix.exs
:def deps do [{:dot_notes, "~> 1.0.0"}] end
Differences to the JavaScript API
For 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.
Contributing and Testing
If 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.
These tests can be run as follows:
$ mix test
$ mix coveralls
$ mix coveralls.html && open cover/excoveralls.html