Skip to content

ChanTsune/kotlin-enum-extensions

Repository files navigation

kotlin-enum-extensions

CI

Multiplatform kotlin library that extension functions for enum class.

badge badge badge badge badge badge badge badge badge badge

Setup

Add repository
repositories {
    jcenter() // Add repository
}

Provide the gradle dependency
Multi Platform Project
implementation("com.github.chantsune:kotlin-enum-extensions:${versions}")
JVM Project
implementation("com.github.chantsune:kotlin-enum-extensions-jvm:${versions}")
JS Project
implementation("com.github.chantsune:kotlin-enum-extensions-js:${versions}")
Native Project
implementation("com.github.chantsune:kotlin-enum-extensions-${your_platform}:${versions}")

your_platform like iosarm64,iosx64,linuxarm64,linuxx64,macosx64,mingwx64,tvosarm64,tvosx64,wasm32 etc...

Example

enum class MyEnum {
    ONE,
    TWO,
    OTHER
}

val myEnum = enumValueOf<MyEnum>("TWO", default = MyEnum.ONE) // will return MyEnum.TWO

val myEnumOrNull = enumValueOfOrNull<MyEnum>("not exist") // will return null

Can use it like a class method by inheriting the EnumExtension interface.

enum class MyEnum { 
    ONE,
    TWO,
    OTHER;

    companion object : EnumExtension<MyEnum>
}

MyEnum.valueOfOrNull("one", ignoreCase = true) // will return MyEnum.ONE

Documentation

For more detail, see Documentation.

Licence

This project is licensed under the terms of the MIT license.

About

Provide extension functions for kotlin enum class

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •  

Languages