kotools / types

Explicit types for Kotlin Multiplatform.
https://types.kotools.org
MIT License
90 stars 6 forks source link

✨ New `orNull(Long)` and `orThrow(Long)` in `Zero.Companion` #718

Open LVMVRQUXL opened 3 months ago

LVMVRQUXL commented 3 months ago

📝 Description

We want to add experimental overloads for the Zero.Companion.orNull and the Zero.Companion.orThrow methods, for creating an instance of the Zero type from the specified Long number.

Here's the Application Programming Interface (API) goal of this issue:

interface Zero {
    companion object {
        fun orNull(number: Long): Zero?
        fun orThrow(number: Long): Zero
    }
}

These factory methods should be available for all platforms, except for the orNull method that shouldn't be accessible from Java, due to its non-explicit support for nullable types.

✅ Checklist

See the Issue implementation section in the contributing guidelines before addressing the following checklist.