INNER CODE UNIT · Go

CollectAllRequired

bjw-s-labs/helm-charts · tools/helm-schema-tools/internal/schema/schema.go:66

func CollectAllRequired(schema *jsonschema.Schema) []string {
	return collectRequired(schema, 0)
}

func collectRequired(schema *jsonschema.Schema, depth int) []string {
	if depth >= maxCollectDepth {
		return nil
	}
	required := make([]string, 0, len(schema.Required))
	required = append(required, schema.Required...)
	for _, sub := range schema.AllOf {
		required = append(required, collectRequired(sub, depth+1)...)
	}
	if len(schema.OneOf) > 0 {
		required = append(required, collectRequired(schema.OneOf[0], depth+1)...)
	}
	if len(schema.AnyOf) > 0 {
		required = append(required, collectRequired(schema.AnyOf[0], depth+1)...)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…