jsre: bind the pretty printer to "inspect" in JS

This commit is contained in:
Felix Lange 2015-08-15 23:55:17 +01:00
parent 5c5c3930b7
commit 49703bea0a
2 changed files with 9 additions and 0 deletions

View File

@ -66,6 +66,7 @@ func New(assetPath string) *JSRE {
re.loopWg.Add(1) re.loopWg.Add(1)
go re.runEventLoop() go re.runEventLoop()
re.Set("loadScript", re.loadScript) re.Set("loadScript", re.loadScript)
re.Set("inspect", prettyPrintJS)
return re return re
} }

View File

@ -54,6 +54,14 @@ func prettyPrint(vm *otto.Otto, value otto.Value) {
ppctx{vm}.printValue(value, 0) 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 } type ppctx struct{ vm *otto.Otto }
func (ctx ppctx) indent(level int) string { func (ctx ppctx) indent(level int) string {