diff --git a/builtins.go b/builtins.go index 1703f06c..57bd2175 100644 --- a/builtins.go +++ b/builtins.go @@ -1588,6 +1588,9 @@ func builtinParseYAML(i *interpreter, str value) (value, error) { elems = append(elems, elem) } + if len(elems) == 0 { + return &nullValue, nil + } if d.IsStream() { return jsonToValue(i, elems) } diff --git a/testdata/builtin_parseYaml_empty.golden b/testdata/builtin_parseYaml_empty.golden new file mode 100644 index 00000000..19765bd5 --- /dev/null +++ b/testdata/builtin_parseYaml_empty.golden @@ -0,0 +1 @@ +null diff --git a/testdata/builtin_parseYaml_empty.jsonnet b/testdata/builtin_parseYaml_empty.jsonnet new file mode 100644 index 00000000..2c3d290a --- /dev/null +++ b/testdata/builtin_parseYaml_empty.jsonnet @@ -0,0 +1 @@ +std.parseYaml("") diff --git a/testdata/builtin_parseYaml_empty.linter.golden b/testdata/builtin_parseYaml_empty.linter.golden new file mode 100644 index 00000000..e69de29b