diff options
Diffstat (limited to 'vendor/github.com/davecgh/go-spew/spew/spew.go')
-rw-r--r-- | vendor/github.com/davecgh/go-spew/spew/spew.go | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/vendor/github.com/davecgh/go-spew/spew/spew.go b/vendor/github.com/davecgh/go-spew/spew/spew.go new file mode 100644 index 0000000..32c0e33 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/spew.go | |||
@@ -0,0 +1,148 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2013-2016 Dave Collins <dave@davec.name> | ||
3 | * | ||
4 | * Permission to use, copy, modify, and distribute this software for any | ||
5 | * purpose with or without fee is hereby granted, provided that the above | ||
6 | * copyright notice and this permission notice appear in all copies. | ||
7 | * | ||
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
15 | */ | ||
16 | |||
17 | package spew | ||
18 | |||
19 | import ( | ||
20 | "fmt" | ||
21 | "io" | ||
22 | ) | ||
23 | |||
24 | // Errorf is a wrapper for fmt.Errorf that treats each argument as if it were | ||
25 | // passed with a default Formatter interface returned by NewFormatter. It | ||
26 | // returns the formatted string as a value that satisfies error. See | ||
27 | // NewFormatter for formatting details. | ||
28 | // | ||
29 | // This function is shorthand for the following syntax: | ||
30 | // | ||
31 | // fmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b)) | ||
32 | func Errorf(format string, a ...interface{}) (err error) { | ||
33 | return fmt.Errorf(format, convertArgs(a)...) | ||
34 | } | ||
35 | |||
36 | // Fprint is a wrapper for fmt.Fprint that treats each argument as if it were | ||
37 | // passed with a default Formatter interface returned by NewFormatter. It | ||
38 | // returns the number of bytes written and any write error encountered. See | ||
39 | // NewFormatter for formatting details. | ||
40 | // | ||
41 | // This function is shorthand for the following syntax: | ||
42 | // | ||
43 | // fmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b)) | ||
44 | func Fprint(w io.Writer, a ...interface{}) (n int, err error) { | ||
45 | return fmt.Fprint(w, convertArgs(a)...) | ||
46 | } | ||
47 | |||
48 | // Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were | ||
49 | // passed with a default Formatter interface returned by NewFormatter. It | ||
50 | // returns the number of bytes written and any write error encountered. See | ||
51 | // NewFormatter for formatting details. | ||
52 | // | ||
53 | // This function is shorthand for the following syntax: | ||
54 | // | ||
55 | // fmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b)) | ||
56 | func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { | ||
57 | return fmt.Fprintf(w, format, convertArgs(a)...) | ||
58 | } | ||
59 | |||
60 | // Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it | ||
61 | // passed with a default Formatter interface returned by NewFormatter. See | ||
62 | // NewFormatter for formatting details. | ||
63 | // | ||
64 | // This function is shorthand for the following syntax: | ||
65 | // | ||
66 | // fmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b)) | ||
67 | func Fprintln(w io.Writer, a ...interface{}) (n int, err error) { | ||
68 | return fmt.Fprintln(w, convertArgs(a)...) | ||
69 | } | ||
70 | |||
71 | // Print is a wrapper for fmt.Print that treats each argument as if it were | ||
72 | // passed with a default Formatter interface returned by NewFormatter. It | ||
73 | // returns the number of bytes written and any write error encountered. See | ||
74 | // NewFormatter for formatting details. | ||
75 | // | ||
76 | // This function is shorthand for the following syntax: | ||
77 | // | ||
78 | // fmt.Print(spew.NewFormatter(a), spew.NewFormatter(b)) | ||
79 | func Print(a ...interface{}) (n int, err error) { | ||
80 | return fmt.Print(convertArgs(a)...) | ||
81 | } | ||
82 | |||
83 | // Printf is a wrapper for fmt.Printf that treats each argument as if it were | ||
84 | // passed with a default Formatter interface returned by NewFormatter. It | ||
85 | // returns the number of bytes written and any write error encountered. See | ||
86 | // NewFormatter for formatting details. | ||
87 | // | ||
88 | // This function is shorthand for the following syntax: | ||
89 | // | ||
90 | // fmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b)) | ||
91 | func Printf(format string, a ...interface{}) (n int, err error) { | ||
92 | return fmt.Printf(format, convertArgs(a)...) | ||
93 | } | ||
94 | |||
95 | // Println is a wrapper for fmt.Println that treats each argument as if it were | ||
96 | // passed with a default Formatter interface returned by NewFormatter. It | ||
97 | // returns the number of bytes written and any write error encountered. See | ||
98 | // NewFormatter for formatting details. | ||
99 | // | ||
100 | // This function is shorthand for the following syntax: | ||
101 | // | ||
102 | // fmt.Println(spew.NewFormatter(a), spew.NewFormatter(b)) | ||
103 | func Println(a ...interface{}) (n int, err error) { | ||
104 | return fmt.Println(convertArgs(a)...) | ||
105 | } | ||
106 | |||
107 | // Sprint is a wrapper for fmt.Sprint that treats each argument as if it were | ||
108 | // passed with a default Formatter interface returned by NewFormatter. It | ||
109 | // returns the resulting string. See NewFormatter for formatting details. | ||
110 | // | ||
111 | // This function is shorthand for the following syntax: | ||
112 | // | ||
113 | // fmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b)) | ||
114 | func Sprint(a ...interface{}) string { | ||
115 | return fmt.Sprint(convertArgs(a)...) | ||
116 | } | ||
117 | |||
118 | // Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were | ||
119 | // passed with a default Formatter interface returned by NewFormatter. It | ||
120 | // returns the resulting string. See NewFormatter for formatting details. | ||
121 | // | ||
122 | // This function is shorthand for the following syntax: | ||
123 | // | ||
124 | // fmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b)) | ||
125 | func Sprintf(format string, a ...interface{}) string { | ||
126 | return fmt.Sprintf(format, convertArgs(a)...) | ||
127 | } | ||
128 | |||
129 | // Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it | ||
130 | // were passed with a default Formatter interface returned by NewFormatter. It | ||
131 | // returns the resulting string. See NewFormatter for formatting details. | ||
132 | // | ||
133 | // This function is shorthand for the following syntax: | ||
134 | // | ||
135 | // fmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b)) | ||
136 | func Sprintln(a ...interface{}) string { | ||
137 | return fmt.Sprintln(convertArgs(a)...) | ||
138 | } | ||
139 | |||
140 | // convertArgs accepts a slice of arguments and returns a slice of the same | ||
141 | // length with each argument converted to a default spew Formatter interface. | ||
142 | func convertArgs(args []interface{}) (formatters []interface{}) { | ||
143 | formatters = make([]interface{}, len(args)) | ||
144 | for index, arg := range args { | ||
145 | formatters[index] = NewFormatter(arg) | ||
146 | } | ||
147 | return formatters | ||
148 | } | ||