open-consul/vendor/github.com/hashicorp/hcl/parse.go

24 lines
524 B
Go
Raw Normal View History

package hcl
import (
"fmt"
"github.com/hashicorp/hcl/hcl/ast"
hclParser "github.com/hashicorp/hcl/hcl/parser"
jsonParser "github.com/hashicorp/hcl/json/parser"
)
// Parse parses the given input and returns the root object.
//
// The input format can be either HCL or JSON.
func Parse(input string) (*ast.File, error) {
switch lexMode(input) {
case lexModeHcl:
return hclParser.Parse([]byte(input))
case lexModeJson:
return jsonParser.Parse([]byte(input))
}
return nil, fmt.Errorf("unknown config format")
}