Skip to content

Commit 44d19cd

Browse files
authored
misc: add lineSeparator to Filesystem (#1267)
1 parent 286474a commit 44d19cd

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

runtime/runtime-core/api/runtime-core.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2392,6 +2392,10 @@ public final class aws/smithy/kotlin/runtime/util/OsFamily : java/lang/Enum {
23922392
public abstract interface class aws/smithy/kotlin/runtime/util/PlatformEnvironProvider : aws/smithy/kotlin/runtime/util/EnvironmentProvider, aws/smithy/kotlin/runtime/util/PropertyProvider {
23932393
}
23942394

2395+
public final class aws/smithy/kotlin/runtime/util/PlatformKt {
2396+
public static final fun getLineSeparator (Laws/smithy/kotlin/runtime/util/OperatingSystem;)Ljava/lang/String;
2397+
}
2398+
23952399
public abstract interface class aws/smithy/kotlin/runtime/util/PlatformProvider : aws/smithy/kotlin/runtime/util/Filesystem, aws/smithy/kotlin/runtime/util/PlatformEnvironProvider {
23962400
public static final field Companion Laws/smithy/kotlin/runtime/util/PlatformProvider$Companion;
23972401
public abstract fun isAndroid ()Z

runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/util/Platform.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,15 @@ internal expect object SystemDefaultProvider : PlatformProvider {
5252

5353
public data class OperatingSystem(val family: OsFamily, val version: String?)
5454

55+
/**
56+
* The string which represents a line separator on this file system. For example, on Windows, this is CRLF.
57+
*/
58+
public val OperatingSystem.lineSeparator: String
59+
get() = when {
60+
family == OsFamily.Windows -> "\r\n"
61+
else -> "\n"
62+
}
63+
5564
public enum class OsFamily {
5665
Linux,
5766
MacOs,

0 commit comments

Comments
 (0)