func()

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
}