7 "github.com/aws/aws-sdk-go/aws/awserr"
10 // OpenFile takes a path to a given file, and will open and parse
12 func OpenFile(path string) (Sections, error) {
13 f, err := os.Open(path)
15 return Sections{}, awserr.New(ErrCodeUnableToReadFile, "unable to open file", err)
22 // Parse will parse the given file using the shared config
24 func Parse(f io.Reader) (Sections, error) {
25 tree, err := ParseAST(f)
27 return Sections{}, err
30 v := NewDefaultVisitor()
31 if err = Walk(tree, v); err != nil {
32 return Sections{}, err
35 return v.Sections, nil
38 // ParseBytes will parse the given bytes and return the parsed sections.
39 func ParseBytes(b []byte) (Sections, error) {
40 tree, err := ParseASTBytes(b)
42 return Sections{}, err
45 v := NewDefaultVisitor()
46 if err = Walk(tree, v); err != nil {
47 return Sections{}, err
50 return v.Sections, nil