aboutsummaryrefslogtreecommitdiffstats
path: root/jsre
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-08-16 06:55:17 +0800
committerFelix Lange <fjl@twurst.com>2015-08-16 06:55:42 +0800
commit49703bea0aac8c06856a506b35bccf30cf0c2520 (patch)
treeeda6a7515cb187797f1179ecade2a2e81035e5da /jsre
parent5c5c3930b708e55ea119329f7da504944ebdd73c (diff)
downloaddexon-49703bea0aac8c06856a506b35bccf30cf0c2520.tar.gz
dexon-49703bea0aac8c06856a506b35bccf30cf0c2520.tar.zst
dexon-49703bea0aac8c06856a506b35bccf30cf0c2520.zip
jsre: bind the pretty printer to "inspect" in JS
Diffstat (limited to 'jsre')
-rw-r--r--jsre/jsre.go1
-rw-r--r--jsre/pretty.go8
2 files changed, 9 insertions, 0 deletions
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 {