package be.simplenotes.app.utils import kotlinx.serialization.json.* interface StaticFileResolver { fun resolve(name: String): String? } class StaticFileResolverImpl : StaticFileResolver { private val mappings: Map init { val json = Json {} val manifest = javaClass.getResource("/css-manifest.json").readText() val manifestObject = json.parseToJsonElement(manifest).jsonObject val keys = manifestObject.keys mappings = keys.map { it to "/${manifestObject[it]!!.jsonPrimitive.content}" }.toMap() } override fun resolve(name: String) = mappings[name] }