Files
Sourcery/docs/Classes/Types.html
T
2025-09-17 15:43:31 +02:00

615 lines
30 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>
<title>Types Class 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>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/Types" class="dashAnchor"></a>
<a title="Types Class Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Sourcery 2.3.0 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>
<p class="header-right">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">Sourcery Reference</a>
<img id="carat" src="../img/carat.png" />
Types Class 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="../codable.html">Codable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Diffable.html">Diffable</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>
<li class="nav-group-task">
<a href="../decorator.html">Decorator</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/Types.html">Types</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/AssociatedType.html">AssociatedType</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/Subscript.html">Subscript</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/ClosureType.html">ClosureType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericType.html">GenericType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericTypeParameter.html">GenericTypeParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Attribute.html">Attribute</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ProtocolComposition.html">ProtocolComposition</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Classes.html">Other Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Actor.html">Actor</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ClosureParameter.html">ClosureParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/DiffableResult.html">DiffableResult</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericParameter.html">GenericParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericRequirement.html">GenericRequirement</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericRequirement/Relationship.html"> Relationship</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Import.html">Import</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Modifier.html">Modifier</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SetType.html">SetType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Enums.html">Other Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/Composer.html">Composer</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Extensions.html">Other Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Extensions.html#/c:@M@SourceryRuntime@objc(cs)BytesRange">BytesRange</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Extensions.html#/c:@M@SourceryRuntime@objc(cs)FileParserResult">FileParserResult</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/StringProtocol.html">StringProtocol</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Typealias.html">Typealias</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Protocols.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/Definition.html">Definition</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Documented.html">Documented</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Typed.html">Typed</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Typealiases.html">Other Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Other%20Typealiases.html#/s:15SourceryRuntime11Annotationsa">Annotations</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Typealiases.html#/s:15SourceryRuntime13Documentationa">Documentation</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Typealiases.html#/s:15SourceryRuntime0A8Modifiera">SourceryModifier</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Types</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objcMembers</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Types</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">SourceryModel</span><span class="p">,</span> <span class="kt"><a href="../Protocols/Diffable.html">Diffable</a></span></code></pre>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Types</span><span class="p">:</span> <span class="kt">NSCoding</span></code></pre>
</div>
</div>
<p>Collection of scanned types for accessing in templates</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)typealiases"></a>
<a name="//apple_ref/swift/Property/typealiases" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)typealiases">typealiases</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known typealiases</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">typealiases</span><span class="p">:</span> <span class="p">[</span><span class="kt">Typealias</span><span class="p">]</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15SourceryRuntime8DiffableP11diffAgainstyAA0C6ResultCypSgF"></a>
<a name="//apple_ref/swift/Method/diffAgainst(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:15SourceryRuntime8DiffableP11diffAgainstyAA0C6ResultCypSgF">diffAgainst(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">diffAgainst</span><span class="p">(</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt">Any</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/DiffableResult.html">DiffableResult</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)all"></a>
<a name="//apple_ref/swift/Property/all" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)all">all</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known types, excluding protocols or protocol compositions.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">all</span><span class="p">:</span> <span class="p">[</span><span class="k">Type</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)protocols"></a>
<a name="//apple_ref/swift/Property/protocols" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)protocols">protocols</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known protocols</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">protocols</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/Protocol.html">Protocol</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)protocolCompositions"></a>
<a name="//apple_ref/swift/Property/protocolCompositions" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)protocolCompositions">protocolCompositions</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known protocol compositions</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">protocolCompositions</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/ProtocolComposition.html">ProtocolComposition</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)classes"></a>
<a name="//apple_ref/swift/Property/classes" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)classes">classes</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known classes</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">classes</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/Class.html">Class</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)structs"></a>
<a name="//apple_ref/swift/Property/structs" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)structs">structs</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known structs</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">structs</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/Struct.html">Struct</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)enums"></a>
<a name="//apple_ref/swift/Property/enums" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)enums">enums</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known enums</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">enums</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/Enum.html">Enum</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)extensions"></a>
<a name="//apple_ref/swift/Property/extensions" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)extensions">extensions</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All known extensions</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">extensions</span><span class="p">:</span> <span class="p">[</span><span class="k">Type</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)based"></a>
<a name="//apple_ref/swift/Property/based" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)based">based</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Types based on any other type, grouped by its name, even if they are not known.
<code>types.based.MyType</code> returns list of types based on <code>MyType</code></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">based</span><span class="p">:</span> <span class="kt">TypesCollection</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)inheriting"></a>
<a name="//apple_ref/swift/Property/inheriting" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)inheriting">inheriting</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Classes inheriting from any known class, grouped by its name.
<code>types.inheriting.MyClass</code> returns list of types inheriting from <code>MyClass</code></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">inheriting</span><span class="p">:</span> <span class="kt">TypesCollection</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SourceryRuntime@objc(cs)Types(py)implementing"></a>
<a name="//apple_ref/swift/Property/implementing" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SourceryRuntime@objc(cs)Types(py)implementing">implementing</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Types implementing known protocol, grouped by its name.
<code>types.implementing.MyProtocol</code> returns list of types implementing <code>MyProtocol</code></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">lazy</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">implementing</span><span class="p">:</span> <span class="kt">TypesCollection</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>Copyright © 2016-2021 Pixle. All rights reserved.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="noopener" rel="external">jazzy ♪♫ v0.14.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="noopener" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</html>