withDefault

@JvmName(name = "withDefaultMapImmutableNotNull")
fun <K, V : Any> SerializerAwareValue<Map<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<PluginDataExtensions.NotNullMap<K, V>>
@JvmName(name = "withDefaultMapImmutable")
fun <K, V> SerializerAwareValue<Map<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<Map<K, V>>
@JvmName(name = "withDefaultMap")
fun <K, V> SerializerAwareValue<MutableMap<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<MutableMap<K, V>>

创建一个代理对象, 当 Map.get 返回 null 时先调用 defaultValueComputer 并放入 Map, 再返回调用的返回值


@JvmName(name = "withDefaultMapNotNull")
fun <K, V : Any> SerializerAwareValue<MutableMap<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<PluginDataExtensions.NotNullMutableMap<K, V>>