diff --git a/library/api/api.txt b/library/api/api.txt index 2c26f01..372c9d8 100644 --- a/library/api/api.txt +++ b/library/api/api.txt @@ -38,6 +38,7 @@ package me.saket.bytesize { } public final class ByteSizeKt { + method public static inline me.saket.bytesize.ByteSize getAbsoluteValue(me.saket.bytesize.ByteSize); method public static inline operator me.saket.bytesize.ByteSize times(Number, me.saket.bytesize.ByteSize other); method public static inline long toBinaryBytes(me.saket.bytesize.ByteSize); method public static inline long toDecimalBits(me.saket.bytesize.ByteSize); diff --git a/library/src/commonMain/kotlin/me/saket/bytesize/ByteSize.kt b/library/src/commonMain/kotlin/me/saket/bytesize/ByteSize.kt index 25f7631..e3cd611 100644 --- a/library/src/commonMain/kotlin/me/saket/bytesize/ByteSize.kt +++ b/library/src/commonMain/kotlin/me/saket/bytesize/ByteSize.kt @@ -40,3 +40,11 @@ inline fun ByteSize.toDecimalBytes(): DecimalByteSize = inline fun ByteSize.toDecimalBits(): DecimalBitSize = this as? DecimalBitSize ?: DecimalBitSize(this.inWholeBytes * BitsPerByte) + +inline val ByteSize.absoluteValue: ByteSize + get() = + when (this) { + is DecimalBitSize -> absoluteValue + is BinaryByteSize -> absoluteValue + is DecimalByteSize -> absoluteValue + }