This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.

64 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="heck is a case conversion library."><meta name="keywords" content="rust, rustlang, rust-lang, heck"><title>heck - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../heck/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.png" alt="logo"></div>
</a><h2 class="location">Crate heck</h2><div class="block version"><div class="narrow-helper"></div><p>Version 0.4.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all heck's items</p></a><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><div id="sidebar-vars" data-name="heck" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../heck/index.html"><img class="rust-logo" src="../rust-logo.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">heck</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/heck/lib.rs.html#1-206" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><strong>heck</strong> is a case conversion library.</p>
<p>This library exists to provide case conversion between common cases like
CamelCase and snake_case. It is intended to be unicode aware, internally,
consistent, and reasonably well performing.</p>
<h3 id="definition-of-a-word-boundary" class="section-header"><a href="#definition-of-a-word-boundary">Definition of a word boundary</a></h3>
<p>Word boundaries are defined as the “unicode words” defined in the
<code>unicode_segmentation</code> library, as well as within those words in this
manner:</p>
<ol>
<li>All underscore characters are considered word boundaries.</li>
<li>If an uppercase character is followed by lowercase letters, a word
boundary is considered to be just prior to that uppercase character.</li>
<li>If multiple uppercase characters are consecutive, they are considered to
be within a single word, except that the last will be part of the next word
if it is followed by lowercase characters (see rule 2).</li>
</ol>
<p>That is, “HelloWorld” is segmented <code>Hello|World</code> whereas “XMLHttpRequest” is
segmented <code>XML|Http|Request</code>.</p>
<p>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 case
being converted to. Multiple adjacent word boundaries (such as a series of
underscores) are folded into one. (“hello__world” in snake case is therefore
“hello_world”, not the exact same string). Leading or trailing word boundary
indicators are dropped, except insofar as CamelCase capitalizes the first
word.</p>
<h4 id="cases-contained-in-this-library" class="section-header"><a href="#cases-contained-in-this-library">Cases contained in this library:</a></h4>
<ol>
<li>UpperCamelCase</li>
<li>lowerCamelCase</li>
<li>snake_case</li>
<li>kebab-case</li>
<li>SHOUTY_SNAKE_CASE</li>
<li>Title Case</li>
<li>SHOUTY-KEBAB-CASE</li>
</ol>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsKebabCase.html" title="heck::AsKebabCase struct">AsKebabCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a kebab case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsLowerCamelCase.html" title="heck::AsLowerCamelCase struct">AsLowerCamelCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a lower camel case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsPascalCase.html" title="heck::AsPascalCase struct">AsPascalCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a upper camel case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsShoutyKebabCase.html" title="heck::AsShoutyKebabCase struct">AsShoutyKebabCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a kebab case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsShoutySnakeCase.html" title="heck::AsShoutySnakeCase struct">AsShoutySnakeCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a shouty snake case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsShoutySnekCase.html" title="heck::AsShoutySnekCase struct">AsShoutySnekCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a shouty snake case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsSnakeCase.html" title="heck::AsSnakeCase struct">AsSnakeCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a snake case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsSnekCase.html" title="heck::AsSnekCase struct">AsSnekCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a snake case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsTitleCase.html" title="heck::AsTitleCase struct">AsTitleCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a title case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AsUpperCamelCase.html" title="heck::AsUpperCamelCase struct">AsUpperCamelCase</a></div><div class="item-right docblock-short"><p>This wrapper performs a upper camel case conversion in <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="fmt::Display"><code>fmt::Display</code></a>.</p>
</div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToKebabCase.html" title="heck::ToKebabCase trait">ToKebabCase</a></div><div class="item-right docblock-short"><p>This trait defines a kebab case conversion.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToLowerCamelCase.html" title="heck::ToLowerCamelCase trait">ToLowerCamelCase</a></div><div class="item-right docblock-short"><p>This trait defines a lower camel case conversion.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToPascalCase.html" title="heck::ToPascalCase trait">ToPascalCase</a></div><div class="item-right docblock-short"><p>ToPascalCase is an alias for ToUpperCamelCase. See ToUpperCamelCase for more
documentation.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToShoutyKebabCase.html" title="heck::ToShoutyKebabCase trait">ToShoutyKebabCase</a></div><div class="item-right docblock-short"><p>This trait defines a shouty kebab case conversion.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToShoutySnakeCase.html" title="heck::ToShoutySnakeCase trait">ToShoutySnakeCase</a></div><div class="item-right docblock-short"><p>This trait defines a shouty snake case conversion.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToShoutySnekCase.html" title="heck::ToShoutySnekCase trait">ToShoutySnekCase</a></div><div class="item-right docblock-short"><p>Oh heck, ToShoutySnekCase is an alias for ToShoutySnakeCase. See
ToShoutySnakeCase for more documentation.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToSnakeCase.html" title="heck::ToSnakeCase trait">ToSnakeCase</a></div><div class="item-right docblock-short"><p>This trait defines a snake case conversion.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToSnekCase.html" title="heck::ToSnekCase trait">ToSnekCase</a></div><div class="item-right docblock-short"><p>Oh heck, SnekCase is an alias for ToSnakeCase. See ToSnakeCase for
more documentation.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToTitleCase.html" title="heck::ToTitleCase trait">ToTitleCase</a></div><div class="item-right docblock-short"><p>This trait defines a title case conversion.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ToUpperCamelCase.html" title="heck::ToUpperCamelCase trait">ToUpperCamelCase</a></div><div class="item-right docblock-short"><p>This trait defines an upper camel case conversion.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="heck" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>