diff options
| author | Dave Collins <[email protected]> | 2013-03-11 18:15:28 -0500 |
|---|---|---|
| committer | Dave Collins <[email protected]> | 2013-03-11 18:15:28 -0500 |
| commit | 3a62f585a795096661480fd3eed87a505dac5d09 (patch) | |
| tree | 29ae7bb27a0aecb223b2f9207feee7651f5c3667 /spew | |
| parent | 9b87fb3e12f244b6e1d4575c39aeb2761deb5f61 (diff) | |
Add support for Sdump.
This commit adds a function named Sdump which works exactly like Dump and
Fdump except it returns the formatted output as a string. This serves the
same purpose as the the Sprint* family of functions.
Diffstat (limited to 'spew')
| -rw-r--r-- | spew/config.go | 9 | ||||
| -rw-r--r-- | spew/dump.go | 8 |
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 |
