484 lines
30 KiB
HTML
484 lines
30 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>Structures 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="Structures Reference"></a>
|
|
<header>
|
|
<div class="content-wrapper">
|
|
<p><a href="index.html"> Docs</a> (98% documented)</p>
|
|
</div>
|
|
</header>
|
|
<div class="content-wrapper">
|
|
<p id="breadcrumbs">
|
|
<a href="index.html"> Reference</a>
|
|
<img id="carat" src="img/carat.png" />
|
|
Structures Reference
|
|
</p>
|
|
</div>
|
|
<div class="content-wrapper">
|
|
<nav class="sidebar">
|
|
<ul class="nav-groups">
|
|
<li class="nav-group-name">
|
|
<a href="Extensions.html">Extensions</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="Extensions/CustomStringConvertible.html">CustomStringConvertible</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="Functions.html">Functions</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2neoiySbAA8FailableVyxq_G_ADyxq0_GtSQRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">!=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2neoiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">!=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1roiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">%(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1aoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">&(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2amoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&*(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2apoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&+(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2asoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&-(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation3alloiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&<<(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation3aggoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&>>(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1moiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">*(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1moiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">*(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1moiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">*(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1moiyAA8FailableVyxq_GAE_xtKSjRz9SupportedQy_RszA2AR_r0_lF">*(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2meoiyyAA8FailableVyxq_Gz_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">*=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2meoiyyAA8FailableVyxq_Gz_xtKSjRz9SupportedQy_RszA2AR_r0_lF">*=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1poiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">+(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1poiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">+(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1poiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">+(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1poiyAA8FailableVyxq_GAE_xtKSjRz9SupportedQy_RszA2AR_r0_lF">+(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2peoiyyAA8FailableVyxq_Gz_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">+=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2peoiyyAA8FailableVyxq_Gz_xtKSjRz9SupportedQy_RszA2AR_r0_lF">+=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1soiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">-(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1soiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">-(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1soiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">-(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1soiyAA8FailableVyxq_GAE_xtKSjRz9SupportedQy_RszA2AR_r0_lF">-(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2seoiyyAA8FailableVyxq_Gz_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">-=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2seoiyyAA8FailableVyxq_Gz_xtKSjRz9SupportedQy_RszA2AR_r0_lF">-=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/...(_:_:)">...(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation3zzloiyAA8FailableVySnyxGAA07ElementA0VyAeA19AppendedValidationsVyxq_q0_GGGADyxq_G_ADyxq0_GtKSxRz9SupportedQy_RszA2AR_A2AR0_SZ6StrideRpzAOQy0_APRSr1_lF">..<(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1doiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">/(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1doiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">/(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1loiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1loiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2leoiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2leoiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2leoiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2ltoiyyAA8FailableVyxq_Gz_xtK9SupportedQy_RszA2AR_r0_lF"><~(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2eeoiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">==(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2eeoiySbAA8FailableVyxq_G_ADyxq0_GtSQRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">==(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1goiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1goiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1goiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2geoiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2geoiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2geoiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>=(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2qqoiyxAA8FailableVyxSgq_G_xyKXKtKA2AR_AE9SupportedRt_r0_lF">??(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation2qqoiyxSgAA8FailableVyACq_G_ACyKXKtKA2AR_AC9SupportedRt_r0_lF">??(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1xoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">^(_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Functions.html#/s:10Validation1ooiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">|(_:_:)</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="Protocols.html">Protocols</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="Protocols/AnyValidation.html">AnyValidation</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Protocols/InRangeValidation.html">InRangeValidation</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Protocols/LengthValidation.html">LengthValidation</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Protocols/RegexValidation.html">RegexValidation</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Protocols/Validation.html">Validation</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="Structs.html">Structures</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="Structs/AppendedValidations.html">AppendedValidations</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Structs/ElementValidation.html">ElementValidation</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Structs/Failable.html">Failable</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Structs/NotNil.html">NotNil</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Structs/NotNilValidate.html">NotNilValidate</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="Structs/ValidationError.html">ValidationError</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<article class="main-content">
|
|
<section>
|
|
<section class="section">
|
|
<h1>Structures</h1>
|
|
<p>The following structures are available globally.</p>
|
|
|
|
</section>
|
|
<section class="section task-group-section">
|
|
<div class="task-group">
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:10Validation0A5ErrorV"></a>
|
|
<a name="//apple_ref/swift/Struct/ValidationError" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:10Validation0A5ErrorV">ValidationError</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>An error that occurs while validating a value.</p>
|
|
|
|
<a href="Structs/ValidationError.html" class="slightly-smaller">See more</a>
|
|
</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">struct</span> <span class="kt">ValidationError</span><span class="p">:</span> <span class="kt">Codable</span><span class="p">,</span> <span class="kt">Error</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:10Validation8FailableV"></a>
|
|
<a name="//apple_ref/swift/Struct/Failable" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:10Validation8FailableV">Failable</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>A type that can fail when being set because the new value does pass certain validations.</p>
|
|
|
|
<p>You can create a <code>Failable</code> instance in 2 ways. The first is to use the <code>Failable</code> initializer:</p>
|
|
<pre class="highlight swift"><code><span class="k">try</span> <span class="kt">Failable</span><span class="o"><</span><span class="kt">String</span><span class="p">,</span> <span class="kt">Length1028</span><span class="o">></span><span class="p">(</span><span class="s">"the quick brown fox..."</span><span class="p">)</span>
|
|
</code></pre>
|
|
|
|
<p>Or you can call <code>.failable</code> on any intance of a type conforming to <code>CustomStringConvertible</code>:</p>
|
|
<pre class="highlight swift"><code><span class="k">try</span> <span class="s">"the quick brown fox..."</span><span class="o">.</span><span class="nf">failable</span><span class="p">(</span><span class="kt">Length1028</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
|
|
</code></pre>
|
|
<h2 id='mutation' class='heading'>Mutation</h2>
|
|
|
|
<p>A <code>Failable</code> type is a struct, so the stored value can only be mutated if the <code>Failable</code> instance is a variable.
|
|
The stored value does not make its setter public, because then you would be able to set the value directly and bypass the validations.
|
|
Instead you use the <code><~</code> operator to assign a new value:</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">story</span> <span class="o">=</span> <span class="k">try</span> <span class="s">"the quick brown fox..."</span><span class="o">.</span><span class="nf">failable</span><span class="p">(</span><span class="kt">Length1028</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
|
|
<span class="k">try</span> <span class="n">story</span> <span class="o"><~</span> <span class="s">"Long long ago, on a pencil far far away..."</span>
|
|
</code></pre>
|
|
|
|
<p>Use the <code>.value</code> property to access the actual value:</p>
|
|
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">story</span> <span class="o">=</span> <span class="k">try</span> <span class="s">"the quick brown fox..."</span><span class="o">.</span><span class="nf">failable</span><span class="p">(</span><span class="kt">Length1028</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
|
|
<span class="nf">print</span><span class="p">(</span><span class="n">story</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
|
</code></pre>
|
|
<h2 id='literal-initialization' class='heading'>Literal Initialization</h2>
|
|
|
|
<p><code>Failable</code> supprts initialization with certain type literals if the <code>value</code> type <code>T</code> also supports it.
|
|
Initialization is supported for <code>Int</code>, <code>Float</code>, <code>Bool</code>, <code>nil</code>, and <code>String</code> types.</p>
|
|
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">string</span> <span class="o">=</span> <span class="kt">Failable</span><span class="o"><</span><span class="kt">String</span><span class="p">,</span> <span class="kt">EmptyValidationM</span><span class="o"><</span><span class="kt">String</span><span class="o">>></span> <span class="o">=</span> <span class="s">"Hello world"</span>
|
|
</code></pre>
|
|
<div class="aside aside-warning">
|
|
<p class="aside-title">Warning</p>
|
|
Because literal initializers cannot fail, your program will crash if the value passed in does not pass validation.
|
|
|
|
</div>
|
|
|
|
<p><code>Dictionary</code> and <code>Array</code> types are not supported for literal initialization yet because array
|
|
splatting for variadic parameters is not supported yet.</p>
|
|
|
|
<a href="Structs/Failable.html" class="slightly-smaller">See more</a>
|
|
</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">struct</span> <span class="kt">Failable</span><span class="o"><</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Validations</span><span class="o">></span> <span class="k">where</span> <span class="kt">Validations</span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span><span class="p">,</span> <span class="kt">Validations</span><span class="o">.</span><span class="kt">Supported</span> <span class="o">==</span> <span class="kt">T</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:10Validation19AppendedValidationsV"></a>
|
|
<a name="//apple_ref/swift/Struct/AppendedValidations" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:10Validation19AppendedValidationsV">AppendedValidations</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>A combination of two validations.</p>
|
|
|
|
<p>This validation is used for things such as numeric operations where <code><a href="Structs/Failable.html">Failable</a></code> types with different validations are used.</p>
|
|
|
|
<p>The validations used must have the same <code>Supported</code> type.</p>
|
|
|
|
<a href="Structs/AppendedValidations.html" class="slightly-smaller">See more</a>
|
|
</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">struct</span> <span class="kt">AppendedValidations</span><span class="o"><</span><span class="kt">T</span><span class="p">,</span> <span class="kt">V1</span><span class="p">,</span> <span class="kt">V2</span><span class="o">></span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span> <span class="k">where</span> <span class="kt">V1</span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span><span class="p">,</span> <span class="kt">V2</span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span><span class="p">,</span> <span class="kt">V1</span><span class="o">.</span><span class="kt">Supported</span> <span class="o">==</span> <span class="kt">T</span><span class="p">,</span> <span class="kt">V2</span><span class="o">.</span><span class="kt">Supported</span> <span class="o">==</span> <span class="kt">T</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:10Validation07ElementA0V"></a>
|
|
<a name="//apple_ref/swift/Struct/ElementValidation" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:10Validation07ElementA0V">ElementValidation</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Validates each element in a sequence using another validator.</p>
|
|
|
|
<p>The <code>validate</code> method calls <code>.forEach</code> on the value passed in and passes the <code>Validator.run</code> method in as the closure.</p>
|
|
|
|
<a href="Structs/ElementValidation.html" class="slightly-smaller">See more</a>
|
|
</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">struct</span> <span class="kt">ElementValidation</span><span class="o"><</span><span class="kt">Seq</span><span class="p">,</span> <span class="kt">Validator</span><span class="o">></span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span> <span class="k">where</span> <span class="kt">Seq</span><span class="p">:</span> <span class="kt">Sequence</span><span class="p">,</span> <span class="kt">Validator</span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span><span class="p">,</span> <span class="kt">Validator</span><span class="o">.</span><span class="kt">Supported</span> <span class="o">==</span> <span class="kt">Seq</span><span class="o">.</span><span class="kt">Element</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:10Validation6NotNilV"></a>
|
|
<a name="//apple_ref/swift/Struct/NotNil" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:10Validation6NotNilV">NotNil</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Verified that a value is not equal to <code>nil</code>.</p>
|
|
|
|
<p>If the value passed in to be validated <em>is</em> <code>nil</code>, <code>ValidationError.valueIsNil</code> is thrown.</p>
|
|
|
|
<a href="Structs/NotNil.html" class="slightly-smaller">See more</a>
|
|
</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">struct</span> <span class="kt">NotNil</span><span class="o"><</span><span class="kt">Wrapped</span><span class="o">></span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:10Validation14NotNilValidateV"></a>
|
|
<a name="//apple_ref/swift/Struct/NotNilValidate" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:10Validation14NotNilValidateV">NotNilValidate</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Validates a value if it is not <code>nil</code>. If the value is <code>nil</code>, the validation is skipped.</p>
|
|
|
|
<a href="Structs/NotNilValidate.html" class="slightly-smaller">See more</a>
|
|
</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">struct</span> <span class="kt">NotNilValidate</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span> <span class="k">where</span> <span class="kt">V</span><span class="p">:</span> <span class="kt"><a href="Protocols/Validation.html">Validation</a></span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section id="footer">
|
|
<p>© 2018 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2018-12-10)</p>
|
|
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.1</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
|
|
</section>
|
|
</article>
|
|
</div>
|
|
</body>
|
|
</div>
|
|
</html>
|