summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndrea Ferretti <ferrettiandrea@gmail.com>2016-09-22 11:39:24 +0200
committerAndrea Ferretti <ferrettiandrea@gmail.com>2016-09-22 11:39:24 +0200
commit25ee55adfc94f3a71a4764f7e8ee86b2a97bccf9 (patch)
tree5c7762737d60390f1e47511e672d974775121ce6
parent693b2b0f5d809570d684fc2a93c9f25ac7f6467d (diff)
downloadNim-25ee55adfc94f3a71a4764f7e8ee86b2a97bccf9.tar.gz
Update to allow varargs in js console logging
-rw-r--r--lib/js/jsconsole.nim9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/js/jsconsole.nim b/lib/js/jsconsole.nim
index 7bdc8922e..2e3eda8b8 100644
--- a/lib/js/jsconsole.nim
+++ b/lib/js/jsconsole.nim
@@ -15,6 +15,14 @@ when not defined(js) and not defined(Nimdoc):
 
 type Console* {.importc.} = ref object of RootObj
 
+proc convertToConsoleLoggable*[T](v: T): RootRef {.importcpp: "#".}
+template convertToConsoleLoggable*(v: string): RootRef = cast[RootRef](cstring(v))
+
+proc log*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.log(#)".}
+proc debug*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.debug(#)".}
+proc info*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.info(#)".}
+proc error*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.error(#)".}
+
 {.push importcpp .}
 
 proc log*[A](console: Console, a: A)
@@ -23,7 +31,6 @@ proc info*[A](console: Console, a: A)
 proc error*[A](console: Console, a: A)
 
 {.pop.}
-
 proc log*(console: Console, a: string) = console.log(cstring(a))
 proc debug*(console: Console, a: string) = console.log(cstring(a))
 proc info*(console: Console, a: string) = console.log(cstring(a))