Recase
helps you to convert a string from any case to any case.
One can ask: "Why should I use recase
when I can use built-in Macro
module?". But, you have to keep in mind that Macro
's functions are not suitable for general case usage:
Do not use it as a general mechanism for underscoring or camelizing strings as it does not support Unicode or characters that are not valid in Elixir identifiers.
def deps do
[{:recase, "~> 0.4"}]
end
Pascal (or Upper) case uses mixed case with lower and upper cased characters. Separates words from each other with the upper case letters. Starts with upper case letter.
Recase.to_pascal("some-value") # => "SomeValue"
Recase.to_pascal("Some value") # => "SomeValue"
Camel case uses mixed case with lower and upper cased characters. Separates words from each other with the upper cased letters. Starts with lower case letter.
Recase.to_camel("some-value") # => "someValue"
Recase.to_camel("Some Value") # => "someValue"
Snake cases uses all lower case. Uses _
as a separator.
Recase.to_snake("someValue") # => "some_value"
Recase.to_snake("Some Value") # => "some_value"
Kebab cases uses all lower case. Uses -
as a separator.
Recase.to_kebab("someValue") # => "some-value"
Recase.to_kebab("Some Value") # => "some-value"
Constant case uses all upper case. Uses _
as a separator.
Recase.to_constant("SomeValue") # => "SOME_VALUE"
Recase.to_constant("some value") # => "SOME_VALUE"
Dot case uses all lower case similar to snake case. Uses .
as a separator.
Recase.to_dot("SomeValue") # => "some.value"
Recase.to_dot("some value") # => "some.value"
Path case preserves case, you can also provide a separator as the second argument.
Recase.to_path("SomeValue") # => "Some/Value"
Recase.to_path("some value", "\\") # => "some\\value"
Sentence case uses the same rules as regular sentence. First letter is uppercase all others letters are lowercase separated by spaces.
Recase.to_sentence("SomeValue") # => "Some value"
Recase.to_sentence("some value") # => "Some value"
Title case applies a "Title Style" to all words in a sentence.
Recase.to_title("some-value") # => "Some Value"
Recase.to_title("some value") # => "Some Value"
Full changelog is available here.
MIT. See LICENSE.md for more details.
Thanks to Gyan Lakhwani for the logo.