Popularity
3.4
Growing
Activity
1.6
Declining
19
1
5

Monthly Downloads: 1,035,745
Programming language: Elixir
License: MIT License
Tags: Text And Numbers    
Latest version: v0.2.1

custom_base alternatives and similar packages

Based on the "Text and Numbers" category.
Alternatively, view custom_base alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of custom_base or a related project?

Add another 'Text and Numbers' Package

README

CustomBase

VersionLicenseBuild StatusIssuesDownloadsDonation

CustomBase allow you to make custom base conversion in Elixir.

Installation

Add { :custom_base, "~> 0.2" } to deps function in your mix.exs file.

After you are done, run mix deps.get in your shell to fetch and compile CustomBase.

Example

Lets make Base12 module with conversion described below.

Value Encoding
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B

Add macro to your module:

defmodule Base12 do
  use CustomBase, '0123456789AB'
end

Now your module have 2 functions encode/1 and decode/1:

iex> Base12.encode(9)
"9"
iex> Base12.encode(10)
"A"
iex> Base12.encode(11)
"B"
iex> Base12.encode(12)
"10"
iex> Base12.decode("16")
18
iex> Base12.decode("AB")
131

Specs & Docs

All specs included by this library, if you want to provide your documentation, add it after use call, like this:

defmodule Base12 do
  use CustomBase, '0123456789AB'

  @moduledoc """
  Your module docs.
  """

  @doc """
  Documentation for encode/1.
  """
  def encode(integer)

  @doc """
  Documentation for decode/1.
  """
  def decode(binary)

  @doc """
  Documentation for decode!/1.
  """
  def decode!(binary)
end

License

Released under the MIT License.


*Note that all licence references and agreements mentioned in the custom_base README section above are relevant to that project's source code only.