Micro-library that converts between different identifier casing styles. e.g., “camelCasedString” → “camel_cased_string”.
Supported join styles:
camelStyle (JoinStyle.camel)
snake_style (.snake)
kebab-style (.kebab)
space style (.space)
Supported case styles:
Preserve—don’t modify case (CaseStyle.preserve)
CAPSSTYLE (.caps)
UpperStyle (.upper)
lowerUpperStyle (.lowerUpper)
lowerstyle (.lower)
You can implement extra join styles by conforming to WordJoinStyle: implement a split function and specify a join separator.
You can implement extra case styles using WordCaseSimpleTransformer and/or WordCaseTransformer. WordCaseTransformers transform one word at a time given the current index. WordCaseSimpleTransformer is an implementation of WordCaseTransformer that applies another WordCaseTransformer for the first word, and then yet another for all subsequent words. WordCase implements the basic CAPS, Upper and lower transformations, or you can create your own.
See tests in Tests/InAnyCaseTests/InAnyCaseTests.swift for usage examples.
InAnyCase
Micro-library that converts between different identifier casing styles. e.g., “camelCasedString” → “camel_cased_string”.
Supported join styles:
JoinStyle.camel
).snake
).kebab
).space
)Supported case styles:
CaseStyle.preserve
).caps
).upper
).lowerUpper
).lower
)You can implement extra join styles by conforming to
WordJoinStyle
: implement a split function and specify a join separator.You can implement extra case styles using
WordCaseSimpleTransformer
and/orWordCaseTransformer
.WordCaseTransformer
s transform one word at a time given the current index.WordCaseSimpleTransformer
is an implementation ofWordCaseTransformer
that applies anotherWordCaseTransformer
for the first word, and then yet another for all subsequent words.WordCase
implements the basic CAPS, Upper and lower transformations, or you can create your own.See tests in
Tests/InAnyCaseTests/InAnyCaseTests.swift
for usage examples.Licensing
Available under the MIT License. See
LICENSE.txt
.This library uses sharplet/Regex, which is also provided by its author under the MIT License.