Pschsch / Maskarade

Kotlin Multiplaform based formatting library. Includes phone number formatting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Maskarade

Kotlin-powered multiplatform-support solution to format strings using masks in easy way.

Concept

The key entity in whole project is Mask

@IncubatingMaskaradeAPI
interface Mask : Collection<Mask.Slot>, Parcelable, Serializable {

    val hint : String
    
    sealed class Slot : Parcelable, Serializable {
        object Digit : Slot()
        
        object Letter : Slot()
        
        data class Hardcoded(val symbol: Char) : Slot()
    }
}

Obtain mask with provided factory functions:

@IncubatingMaskaradeAPI
fun Mask(block : MaskBuilder.() -> Unit): Mask

@IncubatingMaskaradeAPI
fun Mask(stringRepresentation: String): Mask

@IncubatingMaskaradeAPI
fun Mask(fromSingleChar: Char): Mask

@IncubatingMaskaradeAPI
fun Mask(slot: Mask.Slot): Mask

@IncubatingMaskaradeAPI
fun Mask(slots: Iterable<Mask.Slot>): Mask

Platform Compatibilities

java.io.Serializable Android, JVM
android.os.Parcelable Android

Android API Level Support

maskarade-core API level 14
maskarade-compose API level 21

About

Kotlin Multiplaform based formatting library. Includes phone number formatting

License:Apache License 2.0


Languages

Language:Kotlin 100.0%