Checking in vendor folder for ease of using go get.
This commit is contained in:
parent
7a1251853b
commit
cdb4b5a1d0
3554 changed files with 1270116 additions and 0 deletions
71
vendor/github.com/pelletier/go-toml/cmd/tomljson/main.go
generated
vendored
Normal file
71
vendor/github.com/pelletier/go-toml/cmd/tomljson/main.go
generated
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
// Tomljson reads TOML and converts to JSON.
|
||||
//
|
||||
// Usage:
|
||||
// cat file.toml | tomljson > file.json
|
||||
// tomljson file1.toml > file.json
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/pelletier/go-toml"
|
||||
)
|
||||
|
||||
func main() {
|
||||
flag.Usage = func() {
|
||||
fmt.Fprintln(os.Stderr, "tomljson can be used in two ways:")
|
||||
fmt.Fprintln(os.Stderr, "Writing to STDIN and reading from STDOUT:")
|
||||
fmt.Fprintln(os.Stderr, " cat file.toml | tomljson > file.json")
|
||||
fmt.Fprintln(os.Stderr, "")
|
||||
fmt.Fprintln(os.Stderr, "Reading from a file name:")
|
||||
fmt.Fprintln(os.Stderr, " tomljson file.toml")
|
||||
}
|
||||
flag.Parse()
|
||||
os.Exit(processMain(flag.Args(), os.Stdin, os.Stdout, os.Stderr))
|
||||
}
|
||||
|
||||
func processMain(files []string, defaultInput io.Reader, output io.Writer, errorOutput io.Writer) int {
|
||||
// read from stdin and print to stdout
|
||||
inputReader := defaultInput
|
||||
|
||||
if len(files) > 0 {
|
||||
var err error
|
||||
inputReader, err = os.Open(files[0])
|
||||
if err != nil {
|
||||
printError(err, errorOutput)
|
||||
return -1
|
||||
}
|
||||
}
|
||||
s, err := reader(inputReader)
|
||||
if err != nil {
|
||||
printError(err, errorOutput)
|
||||
return -1
|
||||
}
|
||||
io.WriteString(output, s+"\n")
|
||||
return 0
|
||||
}
|
||||
|
||||
func printError(err error, output io.Writer) {
|
||||
io.WriteString(output, err.Error()+"\n")
|
||||
}
|
||||
|
||||
func reader(r io.Reader) (string, error) {
|
||||
tree, err := toml.LoadReader(r)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return mapToJSON(tree)
|
||||
}
|
||||
|
||||
func mapToJSON(tree *toml.Tree) (string, error) {
|
||||
treeMap := tree.ToMap()
|
||||
bytes, err := json.MarshalIndent(treeMap, "", " ")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return string(bytes[:]), nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue