Skip to content
This repository was archived by the owner on May 13, 2020. It is now read-only.

Commit aa8182f

Browse files
authored
Merge pull request #1 from shoheiyokoyama/use-ContiguousArray
Replace 'Array' with 'ContiguousArray'
2 parents 54ee5b7 + 790f108 commit aa8182f

26 files changed

+142
-134
lines changed

RxReduce/Store.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public protocol StoreType {
3939
///
4040
/// - Parameter reducers: the reducers to be executed by the dispatch function
4141
/// - Parameter middlewares: the middlewartes to be executed by the dispatch function (the will be executed in reverse order)
42-
init(withReducers reducers: [Reducer<StateType>], withMiddlewares middlewares: [Middleware<StateType>]?)
42+
init(withReducers reducers: ContiguousArray<Reducer<StateType>>, withMiddlewares middlewares: ContiguousArray<Middleware<StateType>>?)
4343

4444
/// Dispatch an action through the reducers to mutate the state
4545
///
@@ -53,8 +53,8 @@ public final class Store<StateType: State>: StoreType {
5353
private let disposeBag = DisposeBag()
5454

5555
private let stateSubject = BehaviorRelay<StateType?>(value: nil)
56-
let reducers: [Reducer<StateType>]
57-
let middlewares: [Middleware<StateType>]?
56+
let reducers: ContiguousArray<Reducer<StateType>>
57+
let middlewares: ContiguousArray<Middleware<StateType>>?
5858

5959
// swiftlint:disable force_cast
6060
public func state<SubStateType>(from: @escaping (StateType) -> SubStateType = { (state: StateType) in return (state as! SubStateType) }) -> Driver<SubStateType> {
@@ -80,7 +80,7 @@ public final class Store<StateType: State>: StoreType {
8080
}
8181
// swiftlint:enable force_cast
8282

83-
public init(withReducers reducers: [Reducer<StateType>], withMiddlewares middlewares: [Middleware<StateType>]? = nil) {
83+
public init(withReducers reducers: ContiguousArray<Reducer<StateType>>, withMiddlewares middlewares: ContiguousArray<Middleware<StateType>>? = nil) {
8484
self.reducers = reducers
8585
self.middlewares = middlewares
8686
}

docs/Classes.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
</head>
1212
<body>
13+
<a name="//apple_ref/swift/Section/Classes" class="dashAnchor"></a>
1314
<a title="Classes Reference"></a>
1415
<header>
1516
<div class="content-wrapper">
@@ -103,7 +104,7 @@ <h1>Classes</h1>
103104
<h4>Declaration</h4>
104105
<div class="language">
105106
<p class="aside-title">Swift</p>
106-
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Store</span><span class="o">&lt;</span><span class="kt">StateType</span><span class="p">:</span> <span class="kt"><a href="Protocols.html#/s:8RxReduce5StateP">State</a></span><span class="o">&gt;</span><span class="p">:</span> <span class="kt"><a href="Protocols/StoreType.html">StoreType</a></span></code></pre>
107+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Store</span><span class="o">&lt;</span><span class="kt">StateType</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/StoreType.html">StoreType</a></span> <span class="k">where</span> <span class="kt">StateType</span> <span class="p">:</span> <span class="kt"><a href="Protocols.html#/s:8RxReduce5StateP">State</a></span></code></pre>
107108

108109
</div>
109110
</div>
@@ -115,8 +116,8 @@ <h4>Declaration</h4>
115116
</section>
116117
</section>
117118
<section id="footer">
118-
<p>&copy; 2018 <a class="link" href="https://github.com/RxSwiftCommunity/RxReduce" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2018-06-09)</p>
119-
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
119+
<p>&copy; 2018 <a class="link" href="https://github.com/RxSwiftCommunity/RxReduce" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2018-06-14)</p>
120+
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
120121
</section>
121122
</article>
122123
</div>

docs/Classes/Store.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
<h1>Store</h1>
8080
<div class="declaration">
8181
<div class="language">
82-
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Store</span><span class="o">&lt;</span><span class="kt">StateType</span><span class="p">:</span> <span class="kt"><a href="../Protocols.html#/s:8RxReduce5StateP">State</a></span><span class="o">&gt;</span><span class="p">:</span> <span class="kt"><a href="../Protocols/StoreType.html">StoreType</a></span></code></pre>
82+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Store</span><span class="o">&lt;</span><span class="kt">StateType</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/StoreType.html">StoreType</a></span> <span class="k">where</span> <span class="kt">StateType</span> <span class="p">:</span> <span class="kt"><a href="../Protocols.html#/s:8RxReduce5StateP">State</a></span></code></pre>
8383

8484
</div>
8585
</div>
@@ -108,7 +108,7 @@ <h1>Store</h1>
108108
<h4>Declaration</h4>
109109
<div class="language">
110110
<p class="aside-title">Swift</p>
111-
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">state</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="o">&gt;</span><span class="p">(</span><span class="nv">from</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">StateType</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">SubStateType</span> <span class="o">=</span> <span class="p">{</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="kt">StateType</span><span class="p">)</span> <span class="k">in</span> <span class="nf">return</span> <span class="p">(</span><span class="n">state</span> <span class="k">as!</span> <span class="kt">SubStateType</span><span class="p">)</span> <span class="p">})</span> <span class="o">-&gt;</span> <span class="kt">Driver</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="o">&gt;</span></code></pre>
111+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">state</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="o">&gt;</span><span class="p">(</span><span class="nv">from</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">StateType</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">SubStateType</span> <span class="o">=</span> <span class="p">{</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="kt">StateType</span><span class="p">)</span> <span class="k">in</span> <span class="nf">return</span> <span class="p">(</span><span class="n">state</span> <span class="k">as!</span> <span class="kt">SubStateType</span><span class="p">)</span> <span class="p">})</span> <span class="o">-&gt;</span> <span class="kt">Driver</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="o">&gt;</span></code></pre>
112112

113113
</div>
114114
</div>
@@ -134,7 +134,7 @@ <h4>Declaration</h4>
134134
<h4>Declaration</h4>
135135
<div class="language">
136136
<p class="aside-title">Swift</p>
137-
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">state</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="p">:</span> <span class="kt">Equatable</span><span class="o">&gt;</span><span class="p">(</span><span class="nv">from</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">StateType</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">SubStateType</span> <span class="o">=</span> <span class="p">{</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="kt">StateType</span><span class="p">)</span> <span class="k">in</span> <span class="nf">return</span> <span class="p">(</span><span class="n">state</span> <span class="k">as!</span> <span class="kt">SubStateType</span><span class="p">)</span> <span class="p">})</span> <span class="o">-&gt;</span> <span class="kt">Driver</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="o">&gt;</span></code></pre>
137+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">state</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="p">:</span> <span class="kt">Equatable</span><span class="o">&gt;</span><span class="p">(</span><span class="nv">from</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">StateType</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">SubStateType</span> <span class="o">=</span> <span class="p">{</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="kt">StateType</span><span class="p">)</span> <span class="k">in</span> <span class="nf">return</span> <span class="p">(</span><span class="n">state</span> <span class="k">as!</span> <span class="kt">SubStateType</span><span class="p">)</span> <span class="p">})</span> <span class="o">-&gt;</span> <span class="kt">Driver</span><span class="o">&lt;</span><span class="kt">SubStateType</span><span class="o">&gt;</span></code></pre>
138138

139139
</div>
140140
</div>
@@ -144,9 +144,9 @@ <h4>Declaration</h4>
144144
<li class="item">
145145
<div>
146146
<code>
147-
<a name="/s:8RxReduce9StoreTypePxSay05StateD0QzAESg_AA6Action_ptcG12withReducers_SayyAF_AaG_ptcGSg0G11Middlewarestcfc"></a>
147+
<a name="/s:8RxReduce9StoreTypePxs15ContiguousArrayVy05StateD0QzAGSg_AA6Action_ptcG12withReducers_AEyyAH_AaI_ptcGSg0I11Middlewarestcfc"></a>
148148
<a name="//apple_ref/swift/Method/init(withReducers:withMiddlewares:)" class="dashAnchor"></a>
149-
<a class="token" href="#/s:8RxReduce9StoreTypePxSay05StateD0QzAESg_AA6Action_ptcG12withReducers_SayyAF_AaG_ptcGSg0G11Middlewarestcfc">init(withReducers:withMiddlewares:)</a>
149+
<a class="token" href="#/s:8RxReduce9StoreTypePxs15ContiguousArrayVy05StateD0QzAGSg_AA6Action_ptcG12withReducers_AEyyAH_AaI_ptcGSg0I11Middlewarestcfc">init(withReducers:withMiddlewares:)</a>
150150
</code>
151151
</div>
152152
<div class="height-container">
@@ -160,7 +160,7 @@ <h4>Declaration</h4>
160160
<h4>Declaration</h4>
161161
<div class="language">
162162
<p class="aside-title">Swift</p>
163-
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">withReducers</span> <span class="nv">reducers</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Typealiases.html#/s:8RxReduce7Reducera">Reducer</a></span><span class="o">&lt;</span><span class="kt">StateType</span><span class="o">&gt;</span><span class="p">],</span> <span class="n">withMiddlewares</span> <span class="nv">middlewares</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Typealiases.html#/s:8RxReduce10Middlewarea">Middleware</a></span><span class="o">&lt;</span><span class="kt">StateType</span><span class="o">&gt;</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
163+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">withReducers</span> <span class="nv">reducers</span><span class="p">:</span> <span class="kt">ContiguousArray</span><span class="o">&lt;</span><span class="kt"><a href="../Typealiases.html#/s:8RxReduce7Reducera">Reducer</a></span><span class="o">&lt;</span><span class="kt">StateType</span><span class="o">&gt;&gt;</span><span class="p">,</span> <span class="n">withMiddlewares</span> <span class="nv">middlewares</span><span class="p">:</span> <span class="kt">ContiguousArray</span><span class="o">&lt;</span><span class="kt"><a href="../Typealiases.html#/s:8RxReduce10Middlewarea">Middleware</a></span><span class="o">&lt;</span><span class="kt">StateType</span><span class="o">&gt;&gt;</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
164164

165165
</div>
166166
</div>
@@ -186,7 +186,7 @@ <h4>Declaration</h4>
186186
<h4>Declaration</h4>
187187
<div class="language">
188188
<p class="aside-title">Swift</p>
189-
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">dispatch</span> <span class="p">(</span><span class="nv">action</span><span class="p">:</span> <span class="kt"><a href="../Protocols/Action.html">Action</a></span><span class="p">)</span></code></pre>
189+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">dispatch</span><span class="p">(</span><span class="nv">action</span><span class="p">:</span> <span class="kt"><a href="../Protocols/Action.html">Action</a></span><span class="p">)</span></code></pre>
190190

191191
</div>
192192
</div>
@@ -198,8 +198,8 @@ <h4>Declaration</h4>
198198
</section>
199199
</section>
200200
<section id="footer">
201-
<p>&copy; 2018 <a class="link" href="https://github.com/RxSwiftCommunity/RxReduce" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2018-06-09)</p>
202-
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
201+
<p>&copy; 2018 <a class="link" href="https://github.com/RxSwiftCommunity/RxReduce" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2018-06-14)</p>
202+
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
203203
</section>
204204
</article>
205205
</div>

docs/Extensions.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
</head>
1212
<body>
13+
<a name="//apple_ref/swift/Section/Extensions" class="dashAnchor"></a>
1314
<a title="Extensions Reference"></a>
1415
<header>
1516
<div class="content-wrapper">
@@ -102,7 +103,7 @@ <h1>Extensions</h1>
102103
<h4>Declaration</h4>
103104
<div class="language">
104105
<p class="aside-title">Swift</p>
105-
<pre class="highlight"><code><span class="kd">struct</span> <span class="kt">Array</span><span class="o">&lt;</span><span class="kt">Element</span><span class="o">&gt;</span></code></pre>
106+
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Array</span><span class="o">&lt;</span><span class="kt">Element</span><span class="o">&gt;</span> <span class="p">:</span> <span class="n">_DestructorSafeContainer</span></code></pre>
106107

107108
</div>
108109
</div>
@@ -129,7 +130,7 @@ <h4>Declaration</h4>
129130
<h4>Declaration</h4>
130131
<div class="language">
131132
<p class="aside-title">Swift</p>
132-
<pre class="highlight"><code><span class="kd">class</span> <span class="kt">Observable</span><span class="o">&lt;</span><span class="kt">Element</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt">ObservableType</span></code></pre>
133+
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Observable</span><span class="o">&lt;</span><span class="kt">Element</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt">ObservableType</span></code></pre>
133134

134135
</div>
135136
</div>
@@ -141,8 +142,8 @@ <h4>Declaration</h4>
141142
</section>
142143
</section>
143144
<section id="footer">
144-
<p>&copy; 2018 <a class="link" href="https://github.com/RxSwiftCommunity/RxReduce" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2018-06-09)</p>
145-
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
145+
<p>&copy; 2018 <a class="link" href="https://github.com/RxSwiftCommunity/RxReduce" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2018-06-14)</p>
146+
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
146147
</section>
147148
</article>
148149
</div>

0 commit comments

Comments
 (0)