Name conversions shared by routing, the wire format and proxy generation.
Elixir names are snake_case; the Arc wire format and the generated TypeScript use
camelCase; conventional routes use lowercase kebab-case.
Summary
Functions
Converts a snake_case name or atom to camelCase.
Converts a PascalCase or camelCase name to kebab-case.
Splits a module into its namespace segments and its name.
Converts a snake_case function name to PascalCase, for query proxy class names.
Functions
Converts a snake_case name or atom to camelCase.
iex> Arc.Naming.camel(:first_name)
"firstName"
Converts a PascalCase or camelCase name to kebab-case.
iex> Arc.Naming.kebab("RegisterAuthor")
"register-author"
Splits a module into its namespace segments and its name.
iex> Arc.Naming.module_parts(MyApp.Authors.Registration.RegisterAuthor)
{["MyApp", "Authors", "Registration"], "RegisterAuthor"}
Converts a snake_case function name to PascalCase, for query proxy class names.
iex> Arc.Naming.pascal(:all_authors)
"AllAuthors"