summaryrefslogtreecommitdiff
path: root/spew
diff options
context:
space:
mode:
Diffstat (limited to 'spew')
-rw-r--r--spew/config.go9
-rw-r--r--spew/dump.go8
2 files changed, 17 insertions, 0 deletions
diff --git a/spew/config.go b/spew/config.go
index 9296e67..80e8d74 100644
--- a/spew/config.go
+++ b/spew/config.go
@@ -17,6 +17,7 @@
package spew
import (
+ "bytes"
"fmt"
"io"
"os"
@@ -247,6 +248,14 @@ func (c *ConfigState) Dump(a ...interface{}) {
fdump(c, os.Stdout, a...)
}
+// Sdump returns a string with the passed arguments formatted exactly the same
+// as Dump.
+func (c *ConfigState) Sdump(a ...interface{}) string {
+ var buf bytes.Buffer
+ fdump(c, &buf, a...)
+ return buf.String()
+}
+
// convertArgs accepts a slice of arguments and returns a slice of the same
// length with each argument converted to a spew Formatter interface using
// the ConfigState associated with s.
diff --git a/spew/dump.go b/spew/dump.go
index bf61419..7286241 100644
--- a/spew/dump.go
+++ b/spew/dump.go
@@ -363,6 +363,14 @@ func Fdump(w io.Writer, a ...interface{}) {
fdump(&Config, w, a...)
}
+// Sdump returns a string with the passed arguments formatted exactly the same
+// as Dump.
+func Sdump(a ...interface{}) string {
+ var buf bytes.Buffer
+ fdump(&Config, &buf, a...)
+ return buf.String()
+}
+
/*
Dump displays the passed parameters to standard out with newlines, customizable
indentation, and additional debug information such as complete types and all