strvals

package
v3.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2023 License: 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