0.8.1 - This version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform
Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.
MIT - MIT LicenseRecase
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.5"}
]
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"
Header case uses the same case as PascalCase, while using -
as a separator.
Recase.to_header("SomeValue") # => "Some-Value"
Recase.to_header("some value") # => "Some-Value"
You can convert all keys in an enumerable with:
Recase.Enumerable.convert_keys(
%{"yourKey" => "value"},
&Recase.to_snake/1
) # => %{"your_key" => "value"}
Recase.Enumerable.convert_keys(
%{"your_key" => "value"},
&Recase.to_camel/1
) # => %{"yourKey" => "value"}
Recase.Enumerable.atomize_keys(
%{"yourKey" => "value"},
&Recase.to_snake/1
) # => %{your_key: "value"}
Recase.Enumerable.atomize_keys(
%{"your_key" => "value"},
&Recase.to_camel/1
) # => %{yourKey: "value"}
Full changelog is available here.
Copyright (c) 2017 Nikita Sobolev
This work is free. You can redistribute it and/or modify it under the terms of the MIT License. See the LICENSE.md file for more details.
Thanks to Gyan Lakhwani for the logo.