Swiftpack.co - Package - ThatsJustCheesy/InAnyCase

InAnyCase

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.

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.

Github

link
Stars: 0

Dependencies

Used By

Total: 0

Releases

v1.0.1 — Initial release - 2019-12-28 23:50:25

Hotfixes:

  • v1.0.1
    • aafc4ef Attempt to fix Xcode consumer package resolution
    • c9f2151 Fix single-word camel case conversions