mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-12-10 14:16:08 +08:00
Fix obscure 'go generate' crash. (#2173)
This commit is contained in:
parent
28fcd264ee
commit
fb6a79ab6f
1 changed files with 14 additions and 10 deletions
|
|
@ -34,15 +34,19 @@ var delimiterRegex = regexp.MustCompile(`(?m)^---\n`)
|
||||||
|
|
||||||
func parseFrontMatter(content string) (map[string]interface{}, string, error) {
|
func parseFrontMatter(content string) (map[string]interface{}, string, error) {
|
||||||
delimiterIndices := delimiterRegex.FindAllStringIndex(content, 2)
|
delimiterIndices := delimiterRegex.FindAllStringIndex(content, 2)
|
||||||
startIndex := delimiterIndices[0][0]
|
if len(delimiterIndices) > 0 {
|
||||||
endIndex := delimiterIndices[1][0]
|
startIndex := delimiterIndices[0][0]
|
||||||
yamlString := content[startIndex+4 : endIndex]
|
endIndex := delimiterIndices[1][0]
|
||||||
var frontMatter map[string]interface{}
|
yamlString := content[startIndex+4 : endIndex]
|
||||||
err := yaml.Unmarshal([]byte(yamlString), &frontMatter)
|
var frontMatter map[string]interface{}
|
||||||
if err != nil {
|
err := yaml.Unmarshal([]byte(yamlString), &frontMatter)
|
||||||
return nil, "", err
|
if err != nil {
|
||||||
|
return nil, "", err
|
||||||
|
}
|
||||||
|
return frontMatter, content[endIndex+4:], nil
|
||||||
|
} else {
|
||||||
|
return nil, "", fmt.Errorf("Failed to parse file. Remove it and try again.")
|
||||||
}
|
}
|
||||||
return frontMatter, content[endIndex+4:], nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var returnTypes = map[string]string{
|
var returnTypes = map[string]string{
|
||||||
|
|
@ -81,8 +85,8 @@ func generateFunctionTypes() (string, error) {
|
||||||
}
|
}
|
||||||
frontMatter, body, err := parseFrontMatter(string(content))
|
frontMatter, body, err := parseFrontMatter(string(content))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
println("Error parsing front matter in", fPath)
|
println("Error parsing front matter in", fPath, "error: ", err.Error())
|
||||||
return "", err
|
continue
|
||||||
}
|
}
|
||||||
if frontMatter["ts_ignore"] == true {
|
if frontMatter["ts_ignore"] == true {
|
||||||
continue
|
continue
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue