func transform()

in cmd/flatten-approvals/main.go [57:83]


func transform(filepath string) error {
	var input struct {
		Events []map[string]any `json:"events"`
	}
	if err := decodeJSONFile(filepath, &input); err != nil {
		return fmt.Errorf("could not read existing approved events file: %w", err)
	}
	out := make([]map[string][]any, 0, len(input.Events))
	for _, event := range input.Events {
		fields := make(map[string][]any)
		flattenFields("", event, fields)
		out = append(out, fields)
	}

	var w io.Writer = os.Stdout
	if *inplace {
		f, err := os.Create(filepath)
		if err != nil {
			return err
		}
		defer f.Close()
		w = f
	}
	enc := json.NewEncoder(w)
	enc.SetIndent("", "    ")
	return enc.Encode(out)
}