diff --git a/src/commonMain/kotlin/com/infendro/bytearray/ByteArray.kt b/src/commonMain/kotlin/com/infendro/bytearray/ByteArray.kt index 1a5b611..c6743ec 100644 --- a/src/commonMain/kotlin/com/infendro/bytearray/ByteArray.kt +++ b/src/commonMain/kotlin/com/infendro/bytearray/ByteArray.kt @@ -39,24 +39,24 @@ fun ByteArray.padStart( length: Int, padByte: Byte, ): ByteArray { - return buildList { - repeat(length - this@padStart.size) { - add(padByte) - } - addAll(this@padStart) - }.toByteArray() + val bytes = mutableListOf() + repeat(length - size) { + bytes += padByte + } + bytes += this.toList() + return bytes.toByteArray() } fun ByteArray.padEnd( length: Int, padByte: Byte, ): ByteArray { - return buildList { - addAll(this@padEnd) - repeat(length - this@padEnd.size) { - add(padByte) - } - }.toByteArray() + val bytes = mutableListOf() + bytes += this.toList() + repeat(length - size) { + bytes += padByte + } + return bytes.toByteArray() } fun ByteArray.toInt( diff --git a/src/commonMain/kotlin/com/infendro/bytearray/Collection.kt b/src/commonMain/kotlin/com/infendro/bytearray/Collection.kt deleted file mode 100644 index f760d4e..0000000 --- a/src/commonMain/kotlin/com/infendro/bytearray/Collection.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.infendro.bytearray - -fun MutableCollection.addAll( - bytes: ByteArray, -) = addAll(bytes.toList()) - -fun MutableCollection.addAll( - bytes: UByteArray, -) = addAll(bytes.toList()) diff --git a/src/commonMain/kotlin/com/infendro/bytearray/Int.kt b/src/commonMain/kotlin/com/infendro/bytearray/Int.kt index 3314dff..46a3484 100644 --- a/src/commonMain/kotlin/com/infendro/bytearray/Int.kt +++ b/src/commonMain/kotlin/com/infendro/bytearray/Int.kt @@ -15,11 +15,11 @@ fun Int.toByteArray( fun IntArray.toByteArray( order: ByteOrder = BIG_ENDIAN, ): ByteArray { - return buildList { - for (n in this@toByteArray) { - addAll(n.toByteArray(order)) - } - }.toByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toByteArray(order).toList() + } + return bytes.toByteArray() } fun Int.toUByteArray( @@ -35,9 +35,9 @@ fun Int.toUByteArray( fun IntArray.toUByteArray( order: ByteOrder = BIG_ENDIAN, ): UByteArray { - return buildList { - for (n in this@toUByteArray) { - addAll(n.toUByteArray(order)) - } - }.toUByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toUByteArray(order) + } + return bytes.toUByteArray() } diff --git a/src/commonMain/kotlin/com/infendro/bytearray/Long.kt b/src/commonMain/kotlin/com/infendro/bytearray/Long.kt index 417d3a1..07ce1a9 100644 --- a/src/commonMain/kotlin/com/infendro/bytearray/Long.kt +++ b/src/commonMain/kotlin/com/infendro/bytearray/Long.kt @@ -15,11 +15,11 @@ fun Long.toByteArray( fun LongArray.toByteArray( order: ByteOrder = BIG_ENDIAN, ): ByteArray { - return buildList { - for (n in this@toByteArray) { - addAll(n.toByteArray(order)) - } - }.toByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toByteArray(order).toList() + } + return bytes.toByteArray() } fun Long.toUByteArray( @@ -35,9 +35,9 @@ fun Long.toUByteArray( fun LongArray.toUByteArray( order: ByteOrder = BIG_ENDIAN, ): UByteArray { - return buildList { - for (n in this@toUByteArray) { - addAll(n.toUByteArray(order)) - } - }.toUByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toUByteArray(order) + } + return bytes.toUByteArray() } diff --git a/src/commonMain/kotlin/com/infendro/bytearray/UByteArray.kt b/src/commonMain/kotlin/com/infendro/bytearray/UByteArray.kt index 0591861..963ea11 100644 --- a/src/commonMain/kotlin/com/infendro/bytearray/UByteArray.kt +++ b/src/commonMain/kotlin/com/infendro/bytearray/UByteArray.kt @@ -36,24 +36,24 @@ fun UByteArray.padStart( length: Int, padByte: UByte, ): UByteArray { - return buildList { - repeat(length - this@padStart.size) { - add(padByte) - } - addAll(this@padStart) - }.toUByteArray() + val bytes = mutableListOf() + repeat(length - size) { + bytes += padByte + } + bytes += this + return bytes.toUByteArray() } fun UByteArray.padEnd( length: Int, padByte: UByte, ): UByteArray { - return buildList { - addAll(this@padEnd) - repeat(length - this@padEnd.size) { - add(padByte) - } - }.toUByteArray() + val bytes = mutableListOf() + bytes += this + repeat(length - size) { + bytes += padByte + } + return bytes.toUByteArray() } fun UByteArray.toInt( @@ -72,8 +72,7 @@ fun UByteArray.toIntArray( ): IntArray { if (size % 4 != 0) throw Exception() - return toList() - .chunked(4) { it.toUByteArray() } + return chunked(4) { it.toUByteArray() } .map { it.toInt(order) } .toIntArray() } @@ -94,8 +93,7 @@ fun UByteArray.toLongArray( ): LongArray { if (size % 8 != 0) throw Exception() - return toList() - .chunked(8) { it.toUByteArray() } + return chunked(8) { it.toUByteArray() } .map { it.toLong(order) } .toLongArray() } @@ -116,8 +114,7 @@ fun UByteArray.toUIntArray( ): UIntArray { if (size % 4 != 0) throw Exception() - return toList() - .chunked(4) { it.toUByteArray() } + return chunked(4) { it.toUByteArray() } .map { it.toUInt(order) } .toUIntArray() } @@ -138,8 +135,7 @@ fun UByteArray.toULongArray( ): ULongArray { if (size % 8 != 0) throw Exception() - return toList() - .chunked(8) { it.toUByteArray() } + return chunked(8) { it.toUByteArray() } .map { it.toULong(order) } .toULongArray() } diff --git a/src/commonMain/kotlin/com/infendro/bytearray/UInt.kt b/src/commonMain/kotlin/com/infendro/bytearray/UInt.kt index f7f672d..bdc8640 100644 --- a/src/commonMain/kotlin/com/infendro/bytearray/UInt.kt +++ b/src/commonMain/kotlin/com/infendro/bytearray/UInt.kt @@ -15,11 +15,11 @@ fun UInt.toByteArray( fun UIntArray.toByteArray( order: ByteOrder = BIG_ENDIAN, ): ByteArray { - return buildList { - for (n in this@toByteArray) { - addAll(n.toByteArray(order)) - } - }.toByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toByteArray(order).toList() + } + return bytes.toByteArray() } fun UInt.toUByteArray( @@ -35,9 +35,9 @@ fun UInt.toUByteArray( fun UIntArray.toUByteArray( order: ByteOrder = BIG_ENDIAN, ): UByteArray { - return buildList { - for (n in this@toUByteArray) { - addAll(n.toUByteArray(order)) - } - }.toUByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toUByteArray(order) + } + return bytes.toUByteArray() } diff --git a/src/commonMain/kotlin/com/infendro/bytearray/ULong.kt b/src/commonMain/kotlin/com/infendro/bytearray/ULong.kt index f23a404..3d723bf 100644 --- a/src/commonMain/kotlin/com/infendro/bytearray/ULong.kt +++ b/src/commonMain/kotlin/com/infendro/bytearray/ULong.kt @@ -15,11 +15,11 @@ fun ULong.toByteArray( fun ULongArray.toByteArray( order: ByteOrder = BIG_ENDIAN, ): ByteArray { - return buildList { - for (n in this@toByteArray) { - addAll(n.toByteArray(order)) - } - }.toByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toByteArray(order).toList() + } + return bytes.toByteArray() } fun ULong.toUByteArray( @@ -35,9 +35,9 @@ fun ULong.toUByteArray( fun ULongArray.toUByteArray( order: ByteOrder = BIG_ENDIAN, ): UByteArray { - return buildList { - for (n in this@toUByteArray) { - addAll(n.toUByteArray(order)) - } - }.toUByteArray() + val bytes = mutableListOf() + for (n in this) { + bytes += n.toUByteArray(order) + } + return bytes.toUByteArray() }