inflex alternatives and similar packages
Based on the "Text and Numbers" category.
Alternatively, view inflex alternatives based on common mentions on social networks and blogs.
-
money
Elixir library for working with Money safer, easier, and fun... Is an interpretation of the Fowler's Money pattern in fun.prog. -
nanoid
Elixir port of NanoID, a secure and URL-friendly unique ID generator. https://hex.pm/packages/nanoid -
secure_random
Convenience library for random base64 strings modeled after my love for Ruby's SecureRandom -
chinese_translation
An elixir module to translate simplified Chinese to traditional Chinese, and vice versa, based on wikipedia data -
abacus
Parses and evaluates mathematical expressions in Elixir. Inspired by math.js -
veritaserum
Sentiment analysis based on afinn-165, emojis and some enhancements. -
inet_cidr
CIDR library for Elixir that is compatible with Erlang's :inet and supports both IPv4 and IPv6 -
haikunator
Generate Heroku-like memorable random names to use in your apps or anywhere else. -
Ex_Cldr_Units
Unit formatting (volume, area, length, ...) functions for the Common Locale Data Repository (CLDR) -
mt940
MT940 (standard structured SWIFT Customer Statement message) parser for Elixir. -
near_api
NEAR API in Elixir - a library for DApps development on the NEAR blockchain platform
Elixir and Phoenix Application Security Platform
Do you think we are missing an alternative of inflex or a related project?
README
Inflex
<!-- MDOC !-->
An Elixir library for handling word inflections.
Getting Started
You can add Inflex as a dependency in your mix.exs
file. Since it only requires Elixir and Erlang there are no other dependencies.
def deps do
[
{:inflex, "~> 2.0.0"}
]
end
If you are not using hex you can add the dependency using the GitHub repository.
def deps do
[
{:inflex, github: "nurugger07/inflex"}
]
end
Then run mix deps.get
in the shell to fetch and compile the dependencies.
Requirements
Although Inflex supports Elixir 1.6, which is compatible with Erlang/OTP 19–20, Inflex requires Erlang/OTP 20+.
To incorporate Inflex in your modules, use import
.
defmodule Blog do
import Inflex
def greeting(count), do: "You are the #{ordinalize(count)} visitor!"
end
Examples
Singularize & Pluralize
Here are some basic examples from iex
:
iex(1)> Inflex.singularize("dogs")
"dog"
iex(2)> Inflex.pluralize("dog")
"dogs"
iex(3)> Inflex.singularize("people")
"person"
iex(4)> Inflex.pluralize("person")
"people"
Some other special cases are handled for nouns ending in -o and -y
iex(1)> Inflex.pluralize("piano")
"pianos"
iex(2)> Inflex.pluralize("hero")
"heroes"
iex(3)> Inflex.pluralize("butterfly")
"butterflies"
iex(4)> Inflex.pluralize("monkey")
"monkeys"
Inflect
iex(1)> Inflex.inflect("child", 1)
"child"
iex(2)> Inflex.inflect("child", 2)
"children"
Camelize & Pascalize
Inflex also camelizes or pascalizes strings and atoms.
iex(1)> Inflex.camelize(:upper_camel_case)
"UpperCamelCase"
iex(2)> Inflex.camelize("pascal-case", :lower)
"pascalCase"
Parameterize
Strings can be parameterized easily.
iex(1)> Inflex.parameterize("String for parameter")
"string-for-parameter"
iex(2)> Inflex.parameterize("String with underscore", "_")
"string_with_underscore"
Underscore
Makes an underscored, lowercase form from a string or atom.
iex(1)> Inflex.underscore("UpperCamelCase")
"upper_camel_case"
iex(2)> Inflex.underscore("pascalCase")
"pascal_case"
iex(3)> Inflex.underscore(UpperCamelCase)
"upper_camel_case"
iex(4)> Inflex.underscore(:pascalCase)
"pascal_case"
Contributing
All pull requests will be reviewed for inclusion but must include tests.
License
Copyright (c) 2013 Johnny Winn
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
*Note that all licence references and agreements mentioned in the inflex README section above
are relevant to that project's source code only.