From 25ee55adfc94f3a71a4764f7e8ee86b2a97bccf9 Mon Sep 17 00:00:00 2001 From: Andrea Ferretti Date: Thu, 22 Sep 2016 11:39:24 +0200 Subject: Update to allow varargs in js console logging --- lib/js/jsconsole.nim | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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)) -- cgit 1.4.1-2-gfad0