5 Commits

Author SHA1 Message Date
amery c2464c71cd basic: GoStringer [WIP]
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-01 22:37:49 +00:00
amery c7c2834652 Unmarshal: WIP
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-01 22:37:16 +00:00
amery 9336a72599 Decoder: WIP
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-01 22:37:16 +00:00
amery 754642e98f build-sys: use local asciigoat.org/core [DO-NOT-MERGE]
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-01 22:36:57 +00:00
amery 16d52188f6 basic: implement Section.String() and Field.String()
to ease development

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-01 21:13:13 +00:00
+29 -1
View File
@@ -45,6 +45,20 @@ func writeFieldsTo(w io.Writer, fields []Field, nl string) (int64, error) {
return int64(written), nil
}
// String generates a string output for "%s"
func (field Field) String() string {
var buf bytes.Buffer
_, _ = writeFieldsTo(&buf, []Field{field}, WriteNewLine)
return buf.String()
}
// GoString generates a string output for "%#v"
func (*Field) GoString() string {
var buf bytes.Buffer
return buf.String()
}
func writeSectionToBuffer(w *bytes.Buffer, sec *Section, nl string) int {
var written, n int
@@ -74,6 +88,20 @@ func writeSectionToBuffer(w *bytes.Buffer, sec *Section, nl string) int {
return written + int(n64)
}
// String generates a string output for "%s"
func (sec *Section) String() string {
var buf bytes.Buffer
_ = writeSectionToBuffer(&buf, sec, WriteNewLine)
return buf.String()
}
// GoString generates a string output for "%#v"
func (*Section) GoString() string {
var buf bytes.Buffer
return buf.String()
}
// WriteTo writes a INI representation of the document
// onto the provided writer.
func (doc *Document) WriteTo(w io.Writer) (int64, error) {
@@ -81,7 +109,7 @@ func (doc *Document) WriteTo(w io.Writer) (int64, error) {
return buf.WriteTo(w)
}
// GoString generates a string output for "%s"
// String generates a string output for "%s"
func (doc *Document) String() string {
buf := doc.AsBuffer(WriteNewLine)
return buf.String()