Added scalar output for TOML (#1617)

This commit is contained in:
Mike Farah
2023-04-03 15:40:06 +10:00
parent a389bb64b8
commit eba075294a
5 changed files with 88 additions and 3 deletions
+34
View File
@@ -0,0 +1,34 @@
package yqlib
import (
"fmt"
"io"
yaml "gopkg.in/yaml.v3"
)
type tomlEncoder struct {
}
func NewTomlEncoder() Encoder {
return &tomlEncoder{}
}
func (te *tomlEncoder) Encode(writer io.Writer, node *yaml.Node) error {
if node.Kind == yaml.ScalarNode {
return writeString(writer, node.Value+"\n")
}
return fmt.Errorf("only scalars (e.g. strings, numbers, booleans) are supported for TOML output at the moment. Please use yaml output format (-oy) until the encoder has been fully implemented")
}
func (te *tomlEncoder) PrintDocumentSeparator(writer io.Writer) error {
return nil
}
func (te *tomlEncoder) PrintLeadingContent(writer io.Writer, content string) error {
return nil
}
func (te *tomlEncoder) CanHandleAliases() bool {
return false
}