package com.example.demo.domain object MoneyConfig { private const val SPLIT_ORD_1 = ',' private const val SPLIT_ORD_2 = '=' fun parse(config: String): Map { val result = mutableMapOf() val rates = config.split(SPLIT_ORD_1) /** * USD=1 * KHR=4000 * EUR=0.99 * * USD -> currency * 1 -> value */ rates.map { i -> val temp = i.split(SPLIT_ORD_2) if (temp.size == 2) { val currency = temp[0] val value = temp[1].toDouble() result.put(currency, value) } else { throw IllegalArgumentException("invalid value!") } } return result } }