package org.openrs2.json import com.fasterxml.jackson.databind.Module import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.PropertyNamingStrategies import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.module.kotlin.registerKotlinModule import javax.inject.Inject import javax.inject.Provider public class ObjectMapperProvider @Inject constructor( private val modules: Set ) : Provider { override fun get(): ObjectMapper { return ObjectMapper() .registerKotlinModule() .registerModules(modules) .enable(SerializationFeature.INDENT_OUTPUT) .setDefaultPrettyPrinter(JsonPrettyPrinter()) .setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE) } }