func renderExportedFields()

in dev/import-beats/docs.go [45:72]


func renderExportedFields(packageDataStream string, dataStreams dataStreamContentArray) (string, error) {
	for _, dataStream := range dataStreams {
		if packageDataStream == dataStream.name {
			var buffer strings.Builder
			buffer.WriteString("**Exported fields**")
			buffer.WriteString("\n\n")

			collected, err := collectFields(dataStream.fields)
			if err != nil {
				return "", errors.Wrapf(err, "collecting fields failed")
			}

			if len(collected) == 0 {
				buffer.WriteString("(no fields available)")
				return buffer.String(), nil
			}

			buffer.WriteString("| Field | Description | Type |\n")
			buffer.WriteString("|---|---|---|\n")
			for _, c := range collected {
				description := strings.TrimSpace(strings.ReplaceAll(c.description, "\n", " "))
				buffer.WriteString(fmt.Sprintf("| %s | %s | %s |\n", c.name, description, c.aType))
			}
			return buffer.String(), nil
		}
	}
	return "", fmt.Errorf("missing dataStream: %s", packageDataStream)
}