1.2 KiB
1.2 KiB
identcasing
Small Nim library for converting between common identifier casing styles.
Supported styles:
upperSnakeCaselowerSnakeCasetitleSnakeCaselowerKebabCaseupperKebabCasetrainCaseheaderCaseas an alias fortrainCasedotCaselowerCamelCasepascalCase
Example
import identcasing
echo convertCase("user_profile_id", lowerSnakeCase, lowerCamelCase)
# userProfileId
echo convertCase("HTTP_SERVER_PORT", upperSnakeCase, lowerKebabCase)
# http-server-port
let words = parseWords("oauth2ClientId", lowerCamelCase)
echo words
# @["oauth2", "client", "id"]
echo renderWords(words, titleSnakeCase)
# Oauth2_Client_Id
echo lowerKebabCaseToLowerCamelCase("questionnaire-response-id")
# questionnaireResponseId
Notes
- The library parses identifiers into lowercase words and renders those words into a target style.
- Camel parsing keeps digits attached to the preceding word, so identifiers
like
oauth2Client,utf8String, andipv6Addressstay intact. - Because of that rule, some values do not round-trip through camel case. For
example,
PBM-123becomespbm123, and converting that back toupperKebabCaseyieldsPBM123.