Skip to content

Commit fbefd12

Browse files
committed
🐛 fix: Make FakeList iterable
1 parent 0d25ff6 commit fbefd12

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

.idea/utt.iml

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/gg/amy/utt/fake/FakeList.java

+20-1
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,15 @@
1010

1111
import javax.annotation.Nonnull;
1212
import java.io.IOException;
13+
import java.util.Iterator;
1314
import java.util.List;
1415

1516
/**
1617
* @author amy
1718
* @since 3/4/22.
1819
*/
1920
@JsonSerialize(using = Serializer.class)
20-
public record FakeList(List<Object> delegate) implements ProxyArray {
21+
public record FakeList(List<Object> delegate) implements ProxyArray, Iterable<Object> {
2122
public FakeList(@Nonnull final List<Object> delegate) {
2223
this.delegate = delegate;
2324
}
@@ -37,6 +38,24 @@ public long getSize() {
3738
return delegate.size();
3839
}
3940

41+
@Nonnull
42+
@Override
43+
public Iterator<Object> iterator() {
44+
return new Iterator<>() {
45+
private final Iterator<Object> iterator = delegate.iterator();
46+
47+
@Override
48+
public boolean hasNext() {
49+
return iterator.hasNext();
50+
}
51+
52+
@Override
53+
public Object next() {
54+
return iterator.next();
55+
}
56+
};
57+
}
58+
4059
public static final class Serializer extends StdSerializer<FakeList> {
4160
public Serializer() {
4261
this(FakeList.class);

src/main/java/gg/amy/utt/transform/impl/CsvTransformer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ public String transformOutput(@Nonnull final TransformationContext ctx, @Nonnull
5757
// If `input` is a list, extract keys from all maps
5858
final var keys = new LinkedHashSet<String>();
5959
for(final var o : (Iterable<?>) input) {
60-
if(o instanceof Map) {
61-
((Map<?, ?>) o).keySet()
60+
if(o instanceof Map<?, ?> map) {
61+
map.keySet()
6262
.stream()
6363
.filter(k -> k instanceof String)
6464
.map(k -> (String) k)

0 commit comments

Comments
 (0)