From 49703bea0aac8c06856a506b35bccf30cf0c2520 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Sat, 15 Aug 2015 23:55:17 +0100 Subject: jsre: bind the pretty printer to "inspect" in JS --- jsre/jsre.go | 1 + jsre/pretty.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/jsre/jsre.go b/jsre/jsre.go index bb0cc71ed..0db9e33fc 100644 --- a/jsre/jsre.go +++ b/jsre/jsre.go @@ -66,6 +66,7 @@ func New(assetPath string) *JSRE { re.loopWg.Add(1) go re.runEventLoop() re.Set("loadScript", re.loadScript) + re.Set("inspect", prettyPrintJS) return re } diff --git a/jsre/pretty.go b/jsre/pretty.go index cf04deec6..7300a5f37 100644 --- a/jsre/pretty.go +++ b/jsre/pretty.go @@ -54,6 +54,14 @@ func prettyPrint(vm *otto.Otto, value otto.Value) { ppctx{vm}.printValue(value, 0) } +func prettyPrintJS(call otto.FunctionCall) otto.Value { + for _, v := range call.ArgumentList { + prettyPrint(call.Otto, v) + fmt.Println() + } + return otto.UndefinedValue() +} + type ppctx struct{ vm *otto.Otto } func (ctx ppctx) indent(level int) string { -- cgit v1.2.3