Help us shape the future of Go! Take the 2026 Go Developer Survey

strvals

package
v1.31.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2026 License: Apache-2.0, Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package strvals provides tools for working with strval lines.

Helm supports a compressed format for YAML settings which we call strvals. The format is roughly like this:

name=value,topname.subname=value

The above is equivalent to the YAML document

name: value
topname:
  subname: value

This package provides a parser and utilities for converting the strvals format to other formats.

Index

Constants

This section is empty.

Variables

View Source
var ErrNotList = errors.New("not a list")

ErrNotList indicates that a non-list was treated as a list.

View Source
var MaxIndex = 65536

MaxIndex is the maximum index that will be allowed by setIndex. The default value 65536 = 1024 * 64

View Source
var MaxNestedNameLevel = 30

MaxNestedNameLevel is the maximum level of nesting for a value name that will be allowed.

Functions

func Parse

func Parse(s string) (map[string]interface{}, error)

Parse parses a set line.

A set line is of the form name1=value1,name2=value2

func ParseFile

func ParseFile(s string, reader RunesValueReader) (map[string]interface{}, error)

ParseFile parses a set line, but its final value is loaded from the file at the path specified by the original value.

A set line is of the form name1=path1,name2=path2

When the files at path1 and path2 contained "val1" and "val2" respectively, the set line is consumed as name1=val1,name2=val2

func ParseInto

func ParseInto(s string, dest map[string]interface{}) error

ParseInto parses a strvals line and merges the result into dest.

If the strval string has a key that exists in dest, it overwrites the dest version.

func ParseIntoFile

func ParseIntoFile(s string, dest map[string]interface{}, reader RunesValueReader) error

ParseIntoFile parses a filevals line and merges the result into dest.

This method always returns a string as the value.

func ParseIntoString

func ParseIntoString(s string, dest map[string]interface{}) error

ParseIntoString parses a strvals line and merges the result into dest.

This method always returns a string as the value.

func ParseJSON

func ParseJSON(s string, dest map[string]interface{}) error

ParseJSON parses a string with format key1=val1, key2=val2, ... where values are json strings (null, or scalars, or arrays, or objects). An empty val is treated as null.

If a key exists in dest, the new value overwrites the dest version.

func ParseLiteral

func ParseLiteral(s string) (map[string]interface{}, error)

ParseLiteral parses a set line interpreting the value as a literal string.

A set line is of the form name1=value1

func ParseLiteralInto

func ParseLiteralInto(s string, dest map[string]interface{}) error

ParseLiteralInto parses a strvals line and merges the result into dest. The value is interpreted as a literal string.

If the strval string has a key that exists in dest, it overwrites the dest version.

func ParseString

func ParseString(s string) (map[string]interface{}, error)

ParseString parses a set line and forces a string value.

A set line is of the form name1=value1,name2=value2

func ToYAML

func ToYAML(s string) (string, error)

ToYAML takes a string of arguments and converts to a YAML document.

Types

type RunesValueReader

type RunesValueReader func([]rune) (interface{}, error)

RunesValueReader is a function that takes the given value (a slice of runes) and returns the parsed value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL