in pkg/transform_new_block.go [107:129]
func (n *NewBlockTransform) Format(block *hclwrite.Block) (*hclwrite.Block, error) {
if block.Type() != "resource" && block.Type() != "data" && block.Type() != "variable" {
return block, nil
}
bytes := block.BuildTokens(nil).Bytes()
syntaxFile, diag := hclsyntax.ParseConfig(bytes, "dummy.hcl", hcl.InitialPos)
if diag.HasErrors() {
return nil, diag
}
syntaxBlock := syntaxFile.Body.(*hclsyntax.Body).Blocks[0]
avmBlock := avmfix.NewHclBlock(syntaxBlock, block)
if block.Type() == "resource" || block.Type() == "data" {
resourceBlock := avmfix.BuildBlockWithSchema(avmBlock, &hcl.File{})
err := resourceBlock.AutoFix()
return resourceBlock.HclBlock.WriteBlock, err
}
if block.Type() == "variable" {
variableBlock := avmfix.BuildVariableBlock(&hcl.File{}, avmBlock)
err := variableBlock.AutoFix()
return variableBlock.Block.WriteBlock, err
}
return nil, nil
}