Converters.kt
- package com.hexagontk.converters
- import kotlin.reflect.KClass
- /**
- * Utility method to convert one type to another.
- *
- * @param target Target type for the source instance.
- * @receiver Value to convert to another type.
- *
- * @see ConvertersManager.convert
- */
- fun <T : Any> Any.convert(target: KClass<T>): T =
- ConvertersManager.convert(this, target)
- /**
- * Convert a group of instances of one type to another type.
- *
- * @param target Target type for the source instances in the group.
- * @receiver Value to convert to another type.
- * @return List of converted instances, returns empty list if target is `null`.
- *
- * @see ConvertersManager.convertObjects
- */
- fun <T : Any> Iterable<Any>?.convertObjects(target: KClass<T>): List<T> =
- ConvertersManager.convertObjects(this ?: emptyList(), target)
- /**
- * Utility method to convert one type to another.
- *
- * @param T Target type for the source instance.
- * @receiver Value to convert to another type.
- *
- * @see ConvertersManager.convert
- */
- inline fun <reified T : Any> Any.convert(): T =
- convert(T::class)
- /**
- * Convert a group of instances of one type to another type.
- *
- * @param T Target type for the source instances in the group.
- * @receiver Value to convert to another type.
- * @return List of converted instances, returns empty list if target is `null`.
- *
- * @see ConvertersManager.convertObjects
- */
- inline fun <reified T : Any> Iterable<Any>?.convertObjects(): List<T> =
- convertObjects(T::class)