Skip to content

Commit 47fa1bf

Browse files
committed
Add JVM extensions
1 parent 60f1832 commit 47fa1bf

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [3.0.2] - 2025-10-08
11+
12+
### Added
13+
14+
- Add JVM extensions for `Csv.recordWriter(Appendable)`.
15+
1016
## [3.0.1] - 2025-10-08
1117

1218
### Added

library/api/library.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public final class kotlinx/serialization/csv/CsvRecordWriterKt {
4747

4848
public final class kotlinx/serialization/csv/CsvRecordWriter_jvmKt {
4949
public static final fun recordWriter (Lkotlinx/serialization/csv/Csv;Lkotlinx/serialization/KSerializer;Ljava/io/OutputStream;)Lkotlinx/serialization/csv/CsvRecordWriter;
50+
public static final fun recordWriter (Lkotlinx/serialization/csv/Csv;Lkotlinx/serialization/KSerializer;Ljava/lang/Appendable;)Lkotlinx/serialization/csv/CsvRecordWriter;
5051
}
5152

5253
public final class kotlinx/serialization/csv/Csv_jvmKt {

library/src/jvmMain/kotlin/kotlinx/serialization/csv/CsvRecordWriter.jvm.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,21 @@ import kotlinx.serialization.KSerializer
55
import kotlinx.serialization.csv.sink.CsvSink
66
import java.io.OutputStream
77

8+
/**
9+
* Create [CsvRecordWriter] that allows writing CSV line-by-line.
10+
*
11+
* @param serializer The serializer used to serialize the given object.
12+
* @param output The output where the CSV will be written.
13+
*/
14+
@ExperimentalSerializationApi
15+
public fun <T : Any> Csv.recordWriter(
16+
serializer: KSerializer<T>,
17+
output: Appendable,
18+
): CsvRecordWriter<T> = recordWriter(
19+
serializer = serializer,
20+
sink = CsvSink(output),
21+
)
22+
823
/**
924
* Create [CsvRecordWriter] that allows writing CSV line-by-line.
1025
*

0 commit comments

Comments
 (0)