Etna protocol (etna v0.1.0)

Etna is a utility library inspired by RubyGem's ActiveSupport. It provides a convenient function protocol often used in Rails.

Link to this section Summary

Functions

when list iex(18)> Etna.blank?([]) true iex(20)> Etna.blank?([1, 2]) false iex(21)> Etna.blank?([nil]) false

example

When list iex(1)> Etna.compact([1, 2, nil, 4, 5]) [1, 2, 4, 5]

when list iex(15)> Etna.except([], :some_key)

when list iex(4)> Etna.exclude?([1,2,3], 4) true iex(5)> Etna.exclude?([1,2,3], 3) false

when list iex(14)> Etna.from([0, 1, 2, 3, 4, 5, 6, 7, 8], 3) [4, 5, 6, 7, 8]

when list iex(2)> Etna.include?([1,2,3], 1) true iex(3)> Etna.include?([1,2,3], 4) false

when list iex(4)> Etna.index_by([%{age: 28, name: "pantani"}, %{age: 30, name: "nibali"}], fn rider -> rider.age end) %{28 => %{age: 28, name: "pantani"}, 30 => %{age: 30, name: "nibali"}}

when list iex(5)> Etna.many?([1]) true iex(6)> Etna.many?([]) false iex(7)> Etna.many?([1, 3]) true

when list iex(12)> Etna.pluck([%{name: "pantani", age: 28}, %{name: "nibali", age: 30}], :name) ["pantani", "nibali"]

when list iex(22)> Etna.present?([]) false iex(23)> Etna.present?([1, 2]) true

when list iex(16)> Etna.stringify_keys([])

when list iex(9)> Etna.sum([%{age: 20}, %{age: 30}], fn m -> m.age end)

when list iex(17)> Etna.symbolize_keys([])

when list iex(13)> Etna.to([0, 1, 2, 3, 4, 5], 2) [0, 1, 2]

when list iex(8)> Etna.without([1, 2, 3, 4, 5], 2) [1, 3, 4, 5] iex(9)> Etna.without([1, 2, 3, 4, 5], [1, 4]) [2, 3, 5] iex(10)> Etna.without(["apple", "orange", "banana"], "banana") ["apple", "orange"] iex(11)> Etna.without(["apple", "orange", "banana"], ["banana", "orange"]) ["apple"]

when list iex(24)> Etna.wrap([1, 2]) [1, 2] iex(25)> Etna.wrap([]) []

Link to this section Types

Specs

t() :: term()

Link to this section Functions

when list iex(18)> Etna.blank?([]) true iex(20)> Etna.blank?([1, 2]) false iex(21)> Etna.blank?([nil]) false

example

When list iex(1)> Etna.compact([1, 2, nil, 4, 5]) [1, 2, 4, 5]

Link to this function

except(map, key)

when list iex(15)> Etna.except([], :some_key)

Link to this function

exclude?(enum, val)

when list iex(4)> Etna.exclude?([1,2,3], 4) true iex(5)> Etna.exclude?([1,2,3], 3) false

Link to this function

from(list, index)

when list iex(14)> Etna.from([0, 1, 2, 3, 4, 5, 6, 7, 8], 3) [4, 5, 6, 7, 8]

Link to this function

include?(enum, val)

when list iex(2)> Etna.include?([1,2,3], 1) true iex(3)> Etna.include?([1,2,3], 4) false

Link to this function

index_by(enum, f)

when list iex(4)> Etna.index_by([%{age: 28, name: "pantani"}, %{age: 30, name: "nibali"}], fn rider -> rider.age end) %{28 => %{age: 28, name: "pantani"}, 30 => %{age: 30, name: "nibali"}}

when list iex(5)> Etna.many?([1]) true iex(6)> Etna.many?([]) false iex(7)> Etna.many?([1, 3]) true

Link to this function

pluck(enum, list)

when list iex(12)> Etna.pluck([%{name: "pantani", age: 28}, %{name: "nibali", age: 30}], :name) ["pantani", "nibali"]

when list iex(22)> Etna.present?([]) false iex(23)> Etna.present?([1, 2]) true

Link to this function

stringify_keys(map)

when list iex(16)> Etna.stringify_keys([])

when list iex(9)> Etna.sum([%{age: 20}, %{age: 30}], fn m -> m.age end)

Link to this function

symbolize_keys(map)

when list iex(17)> Etna.symbolize_keys([])

Link to this function

to(list, index)

when list iex(13)> Etna.to([0, 1, 2, 3, 4, 5], 2) [0, 1, 2]

Link to this function

without(enum, list)

when list iex(8)> Etna.without([1, 2, 3, 4, 5], 2) [1, 3, 4, 5] iex(9)> Etna.without([1, 2, 3, 4, 5], [1, 4]) [2, 3, 5] iex(10)> Etna.without(["apple", "orange", "banana"], "banana") ["apple", "orange"] iex(11)> Etna.without(["apple", "orange", "banana"], ["banana", "orange"]) ["apple"]

when list iex(24)> Etna.wrap([1, 2]) [1, 2] iex(25)> Etna.wrap([]) []