Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions internal/types/action.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ func (a *Action) WriteDocumentation(inputTable, outputTable *strings.Builder) er

var output []byte

hasInputsData, Indices := utils.HasBytesInBetween(
hasInputsData, indices := utils.HasBytesInBetween(
input,
[]byte(internal.InputAutoDocStart),
[]byte(internal.InputAutoDocEnd),
Expand All @@ -90,7 +90,7 @@ func (a *Action) WriteDocumentation(inputTable, outputTable *strings.Builder) er
inputsStr := strings.TrimSpace(inputTable.String())

if hasInputsData {
output = utils.ReplaceBytesInBetween(output, Indices, []byte(inputsStr))
output = utils.ReplaceBytesInBetween(output, indices, []byte(inputsStr))
} else {
re := regexp.MustCompile(fmt.Sprintf("(?m)^%s", internal.InputsHeader))
output = re.ReplaceAllFunc(input, func(match []byte) []byte {
Expand All @@ -101,7 +101,7 @@ func (a *Action) WriteDocumentation(inputTable, outputTable *strings.Builder) er
})
}

hasOutputsData, Indices := utils.HasBytesInBetween(
hasOutputsData, indices := utils.HasBytesInBetween(
output,
[]byte(internal.OutputAutoDocStart),
[]byte(internal.OutputAutoDocEnd),
Expand All @@ -110,7 +110,7 @@ func (a *Action) WriteDocumentation(inputTable, outputTable *strings.Builder) er
outputsStr := strings.TrimSpace(outputTable.String())

if hasOutputsData {
output = utils.ReplaceBytesInBetween(output, Indices, []byte(outputsStr))
output = utils.ReplaceBytesInBetween(output, indices, []byte(outputsStr))
} else {
re := regexp.MustCompile(fmt.Sprintf("(?m)^%s", internal.OutputsHeader))
output = re.ReplaceAllFunc(output, func(match []byte) []byte {
Expand Down
12 changes: 6 additions & 6 deletions internal/types/reusable.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ func (r *Reusable) WriteDocumentation(inputTable, outputTable, secretsTable *str

var output []byte

hasInputsData, Indices := utils.HasBytesInBetween(
hasInputsData, indices := utils.HasBytesInBetween(
input,
[]byte(internal.InputAutoDocStart),
[]byte(internal.InputAutoDocEnd),
Expand All @@ -103,7 +103,7 @@ func (r *Reusable) WriteDocumentation(inputTable, outputTable, secretsTable *str
inputsStr := strings.TrimSpace(inputTable.String())

if hasInputsData {
output = utils.ReplaceBytesInBetween(output, Indices, []byte(inputsStr))
output = utils.ReplaceBytesInBetween(output, indices, []byte(inputsStr))
} else {
re := regexp.MustCompile(fmt.Sprintf("(?m)^%s", internal.InputsHeader))
output = re.ReplaceAllFunc(input, func(match []byte) []byte {
Expand All @@ -114,7 +114,7 @@ func (r *Reusable) WriteDocumentation(inputTable, outputTable, secretsTable *str
})
}

hasOutputsData, Indices := utils.HasBytesInBetween(
hasOutputsData, indices := utils.HasBytesInBetween(
output,
[]byte(internal.OutputAutoDocStart),
[]byte(internal.OutputAutoDocEnd),
Expand All @@ -123,7 +123,7 @@ func (r *Reusable) WriteDocumentation(inputTable, outputTable, secretsTable *str
outputsStr := strings.TrimSpace(outputTable.String())

if hasOutputsData {
output = utils.ReplaceBytesInBetween(output, Indices, []byte(outputsStr))
output = utils.ReplaceBytesInBetween(output, indices, []byte(outputsStr))
} else {
re := regexp.MustCompile(fmt.Sprintf("(?m)^%s", internal.OutputsHeader))
output = re.ReplaceAllFunc(output, func(match []byte) []byte {
Expand All @@ -134,7 +134,7 @@ func (r *Reusable) WriteDocumentation(inputTable, outputTable, secretsTable *str
})
}

hasSecretsData, Indices := utils.HasBytesInBetween(
hasSecretsData, indices := utils.HasBytesInBetween(
output,
[]byte(internal.SecretsAutoDocStart),
[]byte(internal.SecretsAutoDocEnd),
Expand All @@ -143,7 +143,7 @@ func (r *Reusable) WriteDocumentation(inputTable, outputTable, secretsTable *str
secretsStr := strings.TrimSpace(secretsTable.String())

if hasSecretsData {
output = utils.ReplaceBytesInBetween(output, Indices, []byte(secretsStr))
output = utils.ReplaceBytesInBetween(output, indices, []byte(secretsStr))
} else {
re := regexp.MustCompile(fmt.Sprintf("(?m)^%s", internal.SecretsHeader))
output = re.ReplaceAllFunc(output, func(match []byte) []byte {
Expand Down
12 changes: 6 additions & 6 deletions internal/utils/bytes_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@ import (
)

// HasBytesInBetween checks if a byte array has a start and end byte array and returns true if and all occurrences of start and end
func HasBytesInBetween(value, start, end []byte) (found bool, Indices [][]int) {
func HasBytesInBetween(value, start, end []byte) (found bool, indices [][]int) {
// Multiline regex
findRegex := regexp.MustCompile(fmt.Sprintf(`(?s)%s(.*?)%s`, regexp.QuoteMeta(string(start)), regexp.QuoteMeta(string(end))))
Indices = findRegex.FindAllIndex(value, -1)
indices = findRegex.FindAllIndex(value, -1)

if len(Indices) == 0 {
return false, Indices
if len(indices) == 0 {
return false, indices
}

return true, Indices
return true, indices
}

// ReplaceBytesInBetween replaces a byte array between an array of start and end Indices with a new byte array
// ReplaceBytesInBetween replaces a byte array between an array of start and end indices with a new byte array
func ReplaceBytesInBetween(value []byte, indices [][]int, new []byte) []byte {
t := make([]byte, 0, len(value)+len(new)*len(indices))
prevIndex := 0
Expand Down