package ru.dbotthepony.kstarbound import com.google.common.collect.ImmutableMap import com.google.gson.GsonBuilder import com.google.gson.TypeAdapter import java.util.Arrays import java.util.stream.Stream import kotlin.reflect.KProperty inline fun GsonBuilder.registerTypeAdapter(adapter: TypeAdapter): GsonBuilder { return registerTypeAdapter(T::class.java, adapter) } fun Array.stream(): Stream = Arrays.stream(this) operator fun ThreadLocal.getValue(thisRef: Any, property: KProperty<*>): T? { return get() } operator fun ThreadLocal.setValue(thisRef: Any, property: KProperty<*>, value: T?) { set(value) } operator fun ImmutableMap.Builder.set(key: K, value: V): ImmutableMap.Builder = put(key, value)