ssw/doc/heck/index.html
2023-01-09 19:23:20 +01:00

59 lines
13 KiB
HTML
Raw Permalink 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 defer 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="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../heck/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../heck/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Crate heck</a></h2><div class="sidebar-elems"><div class="block"><ul><li class="version">Version 0.4.0</li><li><a id="all-types" href="all.html">All Items</a></li></ul></div><section><div class="block"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div></section></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.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><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></h1><span class="out-of-band"><a class="srclink" href="../src/heck/lib.rs.html#1-206">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><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"><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"><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.64.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.64.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.64.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.64.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.64.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.64.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.64.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.64.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.64.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.64.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></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.64.0 (a55dd71d5 2022-09-19)" ></div></body></html>