1// Copyright 2019 The Kubernetes Authors.
2// SPDX-License-Identifier: Apache-2.0
3
4package filters
5
6import (
7	"sigs.k8s.io/kustomize/kyaml/kio"
8	"sigs.k8s.io/kustomize/kyaml/yaml"
9)
10
11type StripCommentsFilter struct{}
12
13var _ kio.Filter = StripCommentsFilter{}
14
15func (f StripCommentsFilter) Filter(slice []*yaml.RNode) ([]*yaml.RNode, error) {
16	for i := range slice {
17		stripComments(slice[i].YNode())
18	}
19	return slice, nil
20}
21
22func stripComments(node *yaml.Node) {
23	if node == nil {
24		return
25	}
26	node.HeadComment = ""
27	node.LineComment = ""
28	node.FootComment = ""
29	for i := range node.Content {
30		stripComments(node.Content[i])
31	}
32}
33