6 changed files with 21 additions and 71 deletions
@ -1,47 +0,0 @@ |
|||
package strbuilder |
|||
|
|||
import ( |
|||
"errors" |
|||
"strconv" |
|||
"strings" |
|||
) |
|||
|
|||
type Builder struct { |
|||
builder *strings.Builder |
|||
} |
|||
|
|||
func New() *Builder { |
|||
return &Builder{ |
|||
builder: &strings.Builder{}, |
|||
} |
|||
} |
|||
func (b *Builder) String() string { |
|||
return b.builder.String() |
|||
} |
|||
|
|||
func (b *Builder) Add(inputs ...any) *Builder { |
|||
for _, i := range inputs { |
|||
switch val := i.(type) { |
|||
case string: |
|||
b.builder.WriteString(val) |
|||
case int: |
|||
b.builder.WriteString(strconv.Itoa(val)) |
|||
case rune: |
|||
b.builder.WriteRune(val) |
|||
case error: |
|||
b.builder.WriteString(val.Error()) |
|||
default: |
|||
panic("SetCookies an unsupported value to stringBuilder") |
|||
} |
|||
} |
|||
return b |
|||
} |
|||
|
|||
func (b *Builder) Reset() *Builder { |
|||
b.builder = &strings.Builder{} |
|||
return b |
|||
} |
|||
|
|||
func (b *Builder) Error() error { |
|||
return errors.New(b.String()) |
|||
} |
Loading…
Reference in new issue