Files
Sourcery/docs/enum-cases.html
T
2017-04-11 20:31:58 +02:00

177 lines
8.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>Enum cases Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset='utf-8'>
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Enum cases Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">Sourcery Docs</a> (100% documented)</p>
<p class="header-right"><a href="https://github.com/krzysztofzablocki/Sourcery"><img src="img/gh.png"/>View on GitHub</a></p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html">Sourcery Reference</a>
<img id="carat" src="img/carat.png" />
Enum cases Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="Guides.html">Guides</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="installing.html">Installing</a>
</li>
<li class="nav-group-task">
<a href="usage.html">Usage</a>
</li>
<li class="nav-group-task">
<a href="writing-templates.html">Writing templates</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Examples.html">Examples</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="equatable.html">Equatable</a>
</li>
<li class="nav-group-task">
<a href="hashable.html">Hashable</a>
</li>
<li class="nav-group-task">
<a href="enum-cases.html">Enum cases</a>
</li>
<li class="nav-group-task">
<a href="lenses.html">Lenses</a>
</li>
<li class="nav-group-task">
<a href="mocks.html">Mocks</a>
</li>
<li class="nav-group-task">
<a href="diffable.html">Diffable</a>
</li>
<li class="nav-group-task">
<a href="linuxmain.html">LinuxMain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Types.html">Types</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Classes/TypesReflectionBox.html">TypesReflectionBox</a>
</li>
<li class="nav-group-task">
<a href="Classes/Type.html">Type</a>
</li>
<li class="nav-group-task">
<a href="Classes/Protocol.html">Protocol</a>
</li>
<li class="nav-group-task">
<a href="Classes/Class.html">Class</a>
</li>
<li class="nav-group-task">
<a href="Classes/Struct.html">Struct</a>
</li>
<li class="nav-group-task">
<a href="Classes/Enum.html">Enum</a>
</li>
<li class="nav-group-task">
<a href="Classes/EnumCase.html">EnumCase</a>
</li>
<li class="nav-group-task">
<a href="Classes/AssociatedValue.html">AssociatedValue</a>
</li>
<li class="nav-group-task">
<a href="Classes/Variable.html">Variable</a>
</li>
<li class="nav-group-task">
<a href="Classes/Method.html">Method</a>
</li>
<li class="nav-group-task">
<a href="Classes/MethodParameter.html">MethodParameter</a>
</li>
<li class="nav-group-task">
<a href="Classes/TypeName.html">TypeName</a>
</li>
<li class="nav-group-task">
<a href="Classes/TupleType.html">TupleType</a>
</li>
<li class="nav-group-task">
<a href="Classes/TupleElement.html">TupleElement</a>
</li>
<li class="nav-group-task">
<a href="Classes/ArrayType.html">ArrayType</a>
</li>
<li class="nav-group-task">
<a href="Classes/DictionaryType.html">DictionaryType</a>
</li>
<li class="nav-group-task">
<a href="Classes/Attribute.html">Attribute</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Other Protocols.html">Other Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Protocols/Annotated.html">Annotated</a>
</li>
<li class="nav-group-task">
<a href="Protocols/Typed.html">Typed</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<a href='#i-want-to-list-all-cases-in-an-enum' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='i-want-to-list-all-cases-in-an-enum'>I want to list all cases in an enum</h2>
<p>Generate <code>count</code> and <code>allCases</code> for any enumeration that is marked with <code>AutoCases</code> phantom protocol.</p>
<a href='#a-href-https-github-com-krzysztofzablocki-sourcery-blob-master-templates-autocases-stencil-stencil-template-a' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='a-href-https-github-com-krzysztofzablocki-sourcery-blob-master-templates-autocases-stencil-stencil-template-a'><a href="https://github.com/krzysztofzablocki/Sourcery/blob/master/Templates/AutoCases.stencil">Stencil Template</a></h3>
<a href='#example-output' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h4 id='example-output'>Example output:</h4>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">BetaSettingsGroup</span> <span class="p">{</span>
<span class="kd">static</span> <span class="k">var</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">return</span> <span class="mi">8</span> <span class="p">}</span>
<span class="kd">static</span> <span class="k">var</span> <span class="nv">allCases</span><span class="p">:</span> <span class="p">[</span><span class="kt">BetaSettingsGroup</span><span class="p">]</span> <span class="p">{</span>
<span class="k">return</span> <span class="p">[</span>
<span class="o">.</span><span class="n">featuresInDevelopment</span><span class="p">,</span>
<span class="o">.</span><span class="n">advertising</span><span class="p">,</span>
<span class="o">.</span><span class="n">analytics</span><span class="p">,</span>
<span class="o">.</span><span class="n">marketing</span><span class="p">,</span>
<span class="o">.</span><span class="n">news</span><span class="p">,</span>
<span class="o">.</span><span class="n">notifications</span><span class="p">,</span>
<span class="o">.</span><span class="n">tech</span><span class="p">,</span>
<span class="o">.</span><span class="n">appInformation</span>
<span class="p">]</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
</section>
</section>
<section id="footer">
<p>Copyright © 2016 Pixle. All rights reserved.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.7.5</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>