Added new developer quality of life extensions.#9
Merged
DeveloprOfThings merged 1 commit intomainfrom Mar 18, 2026
Merged
Conversation
…operties and functions. - Introduced `rawBytesCoercedToIntRange` to safely clamp byte counts to `Int.MAX_VALUE - 8` for JVM/Android array and buffer allocations, preventing `NegativeArraySizeException` and `OutOfMemoryError`. - Added `toNSData()` and `toNSMutableData()` extension functions for iOS. - Added `allocateByteBuffer()` and `directAllocateByteBuffer()` for Android, alongside `get` and `put` overloads that accept `Kapacity`. - Enhanced `Buffer` with `skip`, `readAtMostTo`, and `write` extensions using `Kapacity` for improved `kotlinx-io` integration. - Added `ByteString.substring` extension taking a `Kapacity` parameter with safe bounds clamping. - Implemented `copyInto` extension functions for `ByteArray`, `UByteArray`, and generic `Array` types using `Kapacity`. - Updated `Kapacity.fromBytes` to enforce a minimum value of 0. - Included comprehensive unit tests for new buffer allocation, array copying, and IO operations. - Incremented project version to `0.9.9-beta08`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@InternalKapacityApiopt-in annotation to guard internal pr…operties and functions.rawBytesCoercedToIntRangeto safely clamp byte counts toInt.MAX_VALUE - 8for JVM/Android array and buffer allocations, preventingNegativeArraySizeExceptionandOutOfMemoryError.toNSData()andtoNSMutableData()extension functions for iOS.allocateByteBuffer()anddirectAllocateByteBuffer()for Android, alongsidegetandputoverloads that acceptKapacity.Bufferwithskip,readAtMostTo, andwriteextensions usingKapacityfor improvedkotlinx-iointegration.ByteString.substringextension taking aKapacityparameter with safe bounds clamping.copyIntoextension functions forByteArray,UByteArray, and genericArraytypes usingKapacity.Kapacity.fromBytesto enforce a minimum value of 0.0.9.9-beta08.