Skip to content

Commit f918757

Browse files
matthewlehnerwhatyouhide
authored andcommitted
Run the code formatter on Stream.Reducers (#6867)
1 parent 5f99213 commit f918757

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

lib/elixir/lib/stream/reducers.ex

+25-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ defmodule Stream.Reducers do
44

55
def chunk_every(chunk_by, enumerable, count, step, leftover) do
66
limit = :erlang.max(count, step)
7-
chunk_by.(enumerable, {[], 0}, fn entry, {acc_buffer, acc_count} ->
7+
8+
chunk_fun = fn entry, {acc_buffer, acc_count} ->
89
acc_buffer = [entry | acc_buffer]
910
acc_count = acc_count + 1
1011

@@ -21,28 +22,37 @@ defmodule Stream.Reducers do
2122
else
2223
{:cont, new_state}
2324
end
24-
end, fn {acc_buffer, acc_count} ->
25+
end
26+
27+
after_fun = fn {acc_buffer, acc_count} ->
2528
if leftover == :discard or acc_count == 0 do
2629
{:cont, []}
2730
else
2831
{:cont, :lists.reverse(acc_buffer, Enum.take(leftover, count - acc_count)), []}
2932
end
30-
end)
33+
end
34+
35+
chunk_by.(enumerable, {[], 0}, chunk_fun, after_fun)
3136
end
3237

3338
def chunk_by(chunk_by, enumerable, fun) do
34-
chunk_by.(enumerable, nil, fn
39+
chunk_fun = fn
3540
entry, nil ->
3641
{:cont, {[entry], fun.(entry)}}
42+
3743
entry, {acc, value} ->
3844
case fun.(entry) do
3945
^value -> {:cont, {[entry | acc], value}}
4046
new_value -> {:cont, :lists.reverse(acc), {[entry], new_value}}
4147
end
42-
end, fn
48+
end
49+
50+
after_fun = fn
4351
nil -> {:cont, :done}
4452
{acc, _value} -> {:cont, :lists.reverse(acc), :done}
45-
end)
53+
end
54+
55+
chunk_by.(enumerable, nil, chunk_fun, after_fun)
4656
end
4757

4858
defmacro chunk_while(callback, fun \\ nil) do
@@ -61,6 +71,7 @@ defmodule Stream.Reducers do
6171
quote do
6272
fn entry, acc(head, prev, tail) = acc ->
6373
value = unquote(callback).(entry)
74+
6475
case prev do
6576
{:value, ^value} -> skip(acc)
6677
_ -> next_with_acc(unquote(fun), entry, head, {:value, value}, tail)
@@ -74,6 +85,7 @@ defmodule Stream.Reducers do
7485
fn
7586
_entry, acc(head, amount, tail) when amount > 0 ->
7687
skip(acc(head, amount - 1, tail))
88+
7789
entry, acc(head, amount, tail) ->
7890
next_with_acc(unquote(fun), entry, head, amount, tail)
7991
end
@@ -85,6 +97,7 @@ defmodule Stream.Reducers do
8597
fn
8698
entry, acc(head, curr, tail) when curr in [unquote(nth), :first] ->
8799
skip(acc(head, 1, tail))
100+
88101
entry, acc(head, curr, tail) ->
89102
next_with_acc(unquote(fun), entry, head, curr + 1, tail)
90103
end
@@ -140,6 +153,7 @@ defmodule Stream.Reducers do
140153
fn
141154
entry, acc(head, curr, tail) when curr in [unquote(nth), :first] ->
142155
next_with_acc(unquote(fun), unquote(mapper).(entry), head, 1, tail)
156+
143157
entry, acc(head, curr, tail) ->
144158
next_with_acc(unquote(fun), entry, head, curr + 1, tail)
145159
end
@@ -163,6 +177,7 @@ defmodule Stream.Reducers do
163177
fn
164178
entry, acc(head, :first, tail) ->
165179
next_with_acc(unquote(fun), entry, head, {:ok, entry}, tail)
180+
166181
entry, acc(head, {:ok, acc}, tail) ->
167182
value = unquote(callback).(entry, acc)
168183
next_with_acc(unquote(fun), value, head, {:ok, value}, tail)
@@ -185,9 +200,11 @@ defmodule Stream.Reducers do
185200
case curr do
186201
0 ->
187202
{:halt, original}
203+
188204
1 ->
189205
{_, acc} = next_with_acc(unquote(fun), entry, head, 0, tail)
190206
{:halt, acc}
207+
191208
_ ->
192209
next_with_acc(unquote(fun), entry, head, curr - 1, tail)
193210
end
@@ -200,6 +217,7 @@ defmodule Stream.Reducers do
200217
fn
201218
entry, acc(head, curr, tail) when curr in [unquote(nth), :first] ->
202219
next_with_acc(unquote(fun), entry, head, 1, tail)
220+
203221
entry, acc(head, curr, tail) ->
204222
skip(acc(head, curr + 1, tail))
205223
end
@@ -222,6 +240,7 @@ defmodule Stream.Reducers do
222240
quote do
223241
fn entry, acc(head, prev, tail) = original ->
224242
value = unquote(callback).(entry)
243+
225244
if Map.has_key?(prev, value) do
226245
skip(original)
227246
else

0 commit comments

Comments
 (0)