summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndrea Ferretti <ferrettiandrea@gmail.com>2016-10-06 10:54:52 +0200
committerAndrea Ferretti <ferrettiandrea@gmail.com>2016-10-06 10:54:52 +0200
commit4c52239394897637ca41441497472d3f3f771f9e (patch)
tree8c5f72db0178f934ee7cc91715efc50469f9a47d
parent25ee55adfc94f3a71a4764f7e8ee86b2a97bccf9 (diff)
downloadNim-4c52239394897637ca41441497472d3f3f771f9e.tar.gz
Updated js console logging to avoid wrapping into array
-rw-r--r--lib/js/jsconsole.nim21
-rw-r--r--tests/js/tconsole.nim8
2 files changed, 10 insertions, 19 deletions
diff --git a/lib/js/jsconsole.nim b/lib/js/jsconsole.nim
index 2e3eda8b8..cd1bd8d2a 100644
--- a/lib/js/jsconsole.nim
+++ b/lib/js/jsconsole.nim
@@ -18,22 +18,9 @@ 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)
-proc debug*[A](console: Console, a: A)
-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))
-proc error*(console: Console, a: string) = console.log(cstring(a))
+proc log*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.log.apply(null, #)".}
+proc debug*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.debug.apply(null, #)".}
+proc info*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.info.apply(null, #)".}
+proc error*(console: Console, args: varargs[RootRef, convertToConsoleLoggable]) {.importcpp: "#.error.apply(null, #)".}
 
 var console* {.importc, nodecl.}: Console
\ No newline at end of file
diff --git a/tests/js/tconsole.nim b/tests/js/tconsole.nim
index 1898bfd5e..f6da71c20 100644
--- a/tests/js/tconsole.nim
+++ b/tests/js/tconsole.nim
@@ -1,9 +1,13 @@
 discard """
-  output: "Hello, console"
+  output: '''Hello, console
+1 2 3
+1 'hi' 1.1'''
 """
 
 # This file tests the JavaScript console
 
 import jsconsole
 
-console.log("Hello, console")
\ No newline at end of file
+console.log("Hello, console")
+console.log(1, 2, 3)
+console.log(1, "hi", 1.1)
\ No newline at end of file