rewrite of API with expect-actual and removing of redundant platform-specific factory names

This commit is contained in:
2022-06-08 22:51:03 +06:00
parent f5cc748ac5
commit be047cb8b5
7 changed files with 72 additions and 106 deletions

View File

@@ -1,10 +1,10 @@
package dev.inmo.kslog.common
fun KSJSLog(
actual fun KSLog(
defaultTag: String,
messageFormatter: MessageFormatter = defaultMessageFormatter,
filter: (l: LogLevel, t: String?, m: String, Throwable?) -> Boolean
) = KSLog { l, t, m, e ->
filter: MessageFilter,
messageFormatter: MessageFormatter
): KSLog = KSLog { l, t, m, e ->
if (!filter(l, t, m, e)) return@KSLog
val text = messageFormatter(l, t?:defaultTag, m, e)
val args = e ?.let {
@@ -19,30 +19,3 @@ fun KSJSLog(
LogLevel.ASSERT -> console.error(*args)
}
}
fun KSJSLog(
defaultTag: String,
messageFormatter: MessageFormatter = defaultMessageFormatter,
levels: Iterable<LogLevel>
): KSLog {
val levels = levels.toSet()
return KSJSLog (defaultTag, messageFormatter) { l, _, _, _ ->
l in levels
}
}
fun KSJSLog(
defaultTag: String,
messageFormatter: MessageFormatter = defaultMessageFormatter,
firstLevel: LogLevel,
secondLevel: LogLevel,
vararg otherLevels: LogLevel
): KSLog = KSJSLog (defaultTag, messageFormatter, setOf(firstLevel, secondLevel, *otherLevels))
fun KSJSLog(
defaultTag: String,
messageFormatter: MessageFormatter = defaultMessageFormatter,
minLoggingLevel: LogLevel = LogLevel.values().first()
): KSLog = KSJSLog (defaultTag, messageFormatter) { l, _, _, _ ->
minLoggingLevel.ordinal <= l.ordinal
}