github.com/selefra/selefra-utils@v0.0.4/pkg/string_util/string_builder.go (about)

     1  package string_util
     2  
     3  import "strings"
     4  
     5  type StringBuilder struct {
     6  	sb strings.Builder
     7  }
     8  
     9  func NewStringBuilder() *StringBuilder {
    10  	return &StringBuilder{sb: strings.Builder{}}
    11  }
    12  
    13  func (x *StringBuilder) WriteString(s string) *StringBuilder {
    14  	x.sb.WriteString(s)
    15  	return x
    16  }
    17  
    18  func (x *StringBuilder) Write(bytes []byte) *StringBuilder {
    19  	x.sb.Write(bytes)
    20  	return x
    21  }
    22  
    23  func (x *StringBuilder) Grow(n int) *StringBuilder {
    24  	x.sb.Grow(n)
    25  	return x
    26  }
    27  
    28  func (x *StringBuilder) Reset() *StringBuilder {
    29  	x.sb.Reset()
    30  	return x
    31  }
    32  
    33  func (x *StringBuilder) GetInnerBuilder() *strings.Builder {
    34  	return &x.sb
    35  }
    36  
    37  func (x *StringBuilder) Len() int {
    38  	return x.sb.Len()
    39  }
    40  
    41  func (x *StringBuilder) Cap() int {
    42  	return x.sb.Cap()
    43  }
    44  
    45  func (x *StringBuilder) String() string {
    46  	return x.sb.String()
    47  }