Coverage Summary for Class: UrlToPathSegmentsRF (kweb.routing)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
UrlToPathSegmentsRF |
100%
(1/1)
|
100%
(3/3)
|
100%
(2/2)
|
100%
(4/4)
|
100%
(63/63)
|
package kweb.routing
import kweb.state.ReversibleFunction
internal object UrlToPathSegmentsRF : ReversibleFunction<String, List<String>>(label = "UrlToPathSegmentsRF") {
override fun invoke(from: String): List<String> {
return from.substringBefore('?').split('/').drop(1)
}
override fun reverse(originalUrl: String, newPath: List<String>): String {
val queryFragment = originalUrl.substringAfter('?', missingDelimiterValue = "")
return '/' + newPath.joinToString(separator = "/") + (if (queryFragment != "") "?$queryFragment" else "")
}
}