Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

oh heck, a case conversion library

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
NotificationsYou must be signed in to change notification settings

withoutboats/heck

Repository files navigation

"I specifically requested the opposite of this."

This library exists to provide case conversion between common cases likeCamelCase and snake_case. It is intended to be unicode aware, internallyconsistent, and reasonably well performing.

Definition of a word boundary

Word boundaries are defined by non-alphanumeric characters, as well aswithin those words in this manner:

  1. If an uppercase character is followed by lowercase letters, a wordboundary is considered to be just prior to that uppercase character.
  2. If multiple uppercase characters are consecutive, they are considered tobe within a single word, except that the last will be part of the next wordif it is followed by lowercase characters (see rule 1).

That is, "HelloWorld" is segmentedHello|World whereas "XMLHttpRequest" issegmentedXML|Http|Request.

Characters not within words (such as spaces, punctuations, and underscores)are not included in the output string except as they are a part of the casebeing converted to. Multiple adjacent word boundaries (such as a series ofunderscores) are folded into one. ("hello__world" in snake case is therefore"hello_world", not the exact same string). Leading or trailing word boundaryindicators are dropped, except insofar as CamelCase capitalizes the first word.

Cases contained in this library:

  1. UpperCamelCase
  2. lowerCamelCase
  3. snake_case
  4. kebab-case
  5. SHOUTY_SNAKE_CASE
  6. Title Case
  7. SHOUTY-KEBAB-CASE
  8. Train-Case

MSRV

The minimum supported Rust version for this crate is 1.56.0. This may change inminor or patch releases, but we probably won't ever require a very recentversion. If you would like to have a stronger guarantee than that, please openan issue.

License

heck is distributed under the terms of both the MIT license and theApache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

About

oh heck, a case conversion library

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp