summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/github.com/goccy
diff options
context:
space:
mode:
Diffstat (limited to 'dependencies/pkg/mod/github.com/goccy')
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.codecov.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.codecov.yml)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/FUNDING.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.github/FUNDING.yml)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/bug_report.md29
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/feature_request.md20
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/pull_request_template.md4
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/workflows/go.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.github/workflows/go.yml)32
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/CHANGELOG.md (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/CHANGELOG.md)23
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/LICENSE (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/LICENSE)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/Makefile (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/Makefile)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/README.md (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/README.md)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/ast/ast.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/ast/ast.go)4
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/ast/ast_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/ast/ast_test.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/cmd/ycat/ycat.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/cmd/ycat/ycat.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/decode.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/decode_test.go)36
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/encode.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/encode.go)4
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/encode_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/encode_test.go)39
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/error.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/error.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/go.mod (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/go.mod)2
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/go.sum (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/go.sum)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/internal/errors/error.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/internal/errors/error.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/lexer/lexer.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/lexer/lexer.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/lexer/lexer_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/lexer/lexer_test.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/option.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/option.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/context.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/context.go)7
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/parser.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/parser.go)41
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/parser_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/parser_test.go)124
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/cr.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/cr.yml)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/crlf.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/crlf.yml)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/lf.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/lf.yml)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/path.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/path.go)26
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/path_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/path_test.go)7
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/printer/printer.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/printer/printer.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/printer/printer_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/printer/printer_test.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/scanner/context.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/scanner/context.go)13
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/scanner/scanner.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/scanner/scanner.go)5
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/stdlib_quote.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/stdlib_quote.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/struct.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/struct.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/testdata/anchor.yml (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/testdata/anchor.yml)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/token/token.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/token/token.go)4
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/token/token_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/token/token_test.go)3
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/validate.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/validate.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/validate_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/validate_test.go)0
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/yaml.go)62
-rw-r--r--dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml_test.go (renamed from dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/yaml_test.go)89
45 files changed, 501 insertions, 73 deletions
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.codecov.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.codecov.yml
index 8364eea..8364eea 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.codecov.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.codecov.yml
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.github/FUNDING.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/FUNDING.yml
index ab4b632..ab4b632 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.github/FUNDING.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/FUNDING.yml
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/bug_report.md b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..1aad475
--- /dev/null
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,29 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+
+Please provide a minimum yaml content that can be reproduced.
+We are more than happy to use [Go Playground](https://go.dev/play)
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Version Variables**
+ - Go version: [e.g. 1.21 ]
+ - go-yaml's Version: [e.g. v1.11.1 ]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/feature_request.md b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..e301d68
--- /dev/null
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: feature request
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/pull_request_template.md b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/pull_request_template.md
new file mode 100644
index 0000000..a1d6c8e
--- /dev/null
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/pull_request_template.md
@@ -0,0 +1,4 @@
+Before submitting your PR, please confirm the following.
+
+- [ ] Describe the purpose for which you created this PR.
+- [ ] Create test code that corresponds to the modification \ No newline at end of file
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.github/workflows/go.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/workflows/go.yml
index a935b3f..647c692 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/.github/workflows/go.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/.github/workflows/go.yml
@@ -10,15 +10,15 @@ jobs:
strategy:
matrix:
os: [ "ubuntu-latest", "macos-latest", "windows-latest" ]
- go-version: [ "1.18", "1.19", "1.20" ]
+ go-version: [ "1.19", "1.20", "1.21" ]
runs-on: ${{ matrix.os }}
steps:
+ - name: checkout
+ uses: actions/checkout@v4
- name: setup Go ${{ matrix.go-version }}
- uses: actions/setup-go@v3
+ uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- - name: checkout
- uses: actions/checkout@v3
- name: test
run: |
make test
@@ -28,17 +28,17 @@ jobs:
strategy:
matrix:
os: [ "ubuntu-latest", "windows-latest" ]
- go-version: [ "1.18", "1.19", "1.20" ]
+ go-version: [ "1.19", "1.20", "1.21" ]
runs-on: ${{ matrix.os }}
env:
GOARCH: "386"
steps:
+ - name: checkout
+ uses: actions/checkout@v4
- name: setup Go ${{ matrix.go-version }}
- uses: actions/setup-go@v3
+ uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- - name: checkout
- uses: actions/checkout@v3
- name: test
run: |
make simple-test
@@ -47,12 +47,12 @@ jobs:
name: ycat
runs-on: ubuntu-latest
steps:
+ - name: checkout
+ uses: actions/checkout@v4
- name: setup Go
- uses: actions/setup-go@v3
+ uses: actions/setup-go@v4
with:
- go-version: "1.20"
- - name: checkout
- uses: actions/checkout@v3
+ go-version: "1.21"
- name: build
run: |
make ycat/build
@@ -64,12 +64,12 @@ jobs:
name: Coverage
runs-on: ubuntu-latest
steps:
+ - name: checkout
+ uses: actions/checkout@v4
- name: setup Go
- uses: actions/setup-go@v3
+ uses: actions/setup-go@v4
with:
- go-version: "1.20"
- - name: checkout
- uses: actions/checkout@v3
+ go-version: "1.21"
- name: measure coverage
run: |
make cover
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/CHANGELOG.md b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/CHANGELOG.md
index 2887563..c8f820d 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/CHANGELOG.md
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/CHANGELOG.md
@@ -1,3 +1,26 @@
+# 1.11.2 - 2023-09-15
+
+### Fix bugs
+
+- Fix quoted comments ( #370 )
+- Fix handle of space at start or last ( #376 )
+- Fix sequence with comment ( #390 )
+
+# 1.11.1 - 2023-09-14
+
+### Fix bugs
+
+- Handle `\r` in a double-quoted string the same as `\n` ( #372 )
+- Replace loop with n.Values = append(n.Values, target.Values...) ( #380 )
+- Skip encoding an inline field if it is null ( #386 )
+- Fix comment parsing with null value ( #388 )
+
+# 1.11.0 - 2023-04-03
+
+### Features
+
+- Supports dynamically switch encode and decode processing for a given type
+
# 1.10.1 - 2023-03-28
### Features
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/LICENSE b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/LICENSE
index 04485ce..04485ce 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/LICENSE
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/LICENSE
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/Makefile b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/Makefile
index 1b1d923..1b1d923 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/Makefile
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/Makefile
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/README.md b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/README.md
index 9452349..9452349 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/README.md
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/README.md
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/ast/ast.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/ast/ast.go
index f535a24..b4d5ec4 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/ast/ast.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/ast/ast.go
@@ -1506,9 +1506,7 @@ func (n *SequenceNode) Replace(idx int, value Node) error {
func (n *SequenceNode) Merge(target *SequenceNode) {
column := n.Start.Position.Column - target.Start.Position.Column
target.AddColumn(column)
- for _, value := range target.Values {
- n.Values = append(n.Values, value)
- }
+ n.Values = append(n.Values, target.Values...)
}
// SetIsFlowStyle set value to IsFlowStyle field recursively.
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/ast/ast_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/ast/ast_test.go
index e7022b6..e7022b6 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/ast/ast_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/ast/ast_test.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/cmd/ycat/ycat.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/cmd/ycat/ycat.go
index c70cb3b..c70cb3b 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/cmd/ycat/ycat.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/cmd/ycat/ycat.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/decode.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go
index d3dbabc..d3dbabc 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/decode.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/decode_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode_test.go
index 2549bea..cabfd33 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/decode_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode_test.go
@@ -68,6 +68,18 @@ func TestDecoder(t *testing.T) {
map[string]string{"v": "1.234"},
},
{
+ "v: \" foo\"\n",
+ map[string]string{"v": " foo"},
+ },
+ {
+ "v: \"foo \"\n",
+ map[string]string{"v": "foo "},
+ },
+ {
+ "v: \" foo \"\n",
+ map[string]string{"v": " foo "},
+ },
+ {
"v: false\n",
map[string]bool{"v": false},
},
@@ -425,6 +437,14 @@ func TestDecoder(t *testing.T) {
`"1": "a\x2Fb\u002Fc\U0000002Fd"`,
map[interface{}]interface{}{"1": `a/b/c/d`},
},
+ {
+ "'1': \"2\\n3\"",
+ map[interface{}]interface{}{"1": "2\n3"},
+ },
+ {
+ "'1': \"2\\r\\n3\"",
+ map[interface{}]interface{}{"1": "2\r\n3"},
+ },
{
"a: -b_c",
@@ -841,6 +861,14 @@ func TestDecoder(t *testing.T) {
},
},
{
+ "v:\n- A\n- |-\n B\n C\n\n\n",
+ map[string][]string{
+ "v": {
+ "A", "B\nC",
+ },
+ },
+ },
+ {
"v:\n- A\n- >-\n B\n C\n",
map[string][]string{
"v": {
@@ -849,6 +877,14 @@ func TestDecoder(t *testing.T) {
},
},
{
+ "v:\n- A\n- >-\n B\n C\n\n\n",
+ map[string][]string{
+ "v": {
+ "A", "B C",
+ },
+ },
+ },
+ {
"a: b\nc: d\n",
struct {
A string
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/encode.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/encode.go
index 7d8d81e..3b9b298 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/encode.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/encode.go
@@ -823,6 +823,10 @@ func (e *Encoder) encodeStruct(ctx context.Context, value reflect.Value, column
}
mapNode, ok := value.(ast.MapNode)
if !ok {
+ // if an inline field is null, skip encoding it
+ if _, ok := value.(*ast.NullNode); ok {
+ continue
+ }
return nil, xerrors.Errorf("inline value is must be map or struct type")
}
mapIter := mapNode.MapRange()
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/encode_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/encode_test.go
index 74b1aa5..3ff6f1c 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/encode_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/encode_test.go
@@ -304,6 +304,21 @@ func TestEncoder(t *testing.T) {
nil,
},
{
+ "a: \" b\"\n",
+ map[string]string{"a": " b"},
+ nil,
+ },
+ {
+ "a: \"b \"\n",
+ map[string]string{"a": "b "},
+ nil,
+ },
+ {
+ "a: \" b \"\n",
+ map[string]string{"a": " b "},
+ nil,
+ },
+ {
"a: 100.5\n",
map[string]interface{}{
"a": 100.5,
@@ -980,6 +995,30 @@ c: true
}
}
+func TestEncoder_InlineNil(t *testing.T) {
+ type base struct {
+ A int
+ B string
+ }
+ var buf bytes.Buffer
+ enc := yaml.NewEncoder(&buf)
+ if err := enc.Encode(struct {
+ *base `yaml:",inline"`
+ C bool
+ }{
+ C: true,
+ }); err != nil {
+ t.Fatalf("%+v", err)
+ }
+ expect := `
+c: true
+`
+ actual := "\n" + buf.String()
+ if expect != actual {
+ t.Fatalf("inline marshal error: expect=[%s] actual=[%s]", expect, actual)
+ }
+}
+
func TestEncoder_Flow(t *testing.T) {
var buf bytes.Buffer
enc := yaml.NewEncoder(&buf, yaml.Flow(true))
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/error.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/error.go
index 163dcc5..163dcc5 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/error.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/error.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/go.mod b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/go.mod
index f6e74c3..4550ff3 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/go.mod
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/go.mod
@@ -1,6 +1,6 @@
module github.com/goccy/go-yaml
-go 1.18
+go 1.19
require (
github.com/fatih/color v1.10.0
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/go.sum b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/go.sum
index 7249df6..7249df6 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/go.sum
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/go.sum
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/internal/errors/error.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/internal/errors/error.go
index 7f1ea9a..7f1ea9a 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/internal/errors/error.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/internal/errors/error.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/lexer/lexer.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/lexer/lexer.go
index 3207f4f..3207f4f 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/lexer/lexer.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/lexer/lexer.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/lexer/lexer_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/lexer/lexer_test.go
index 0d8f648..0d8f648 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/lexer/lexer_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/lexer/lexer_test.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/option.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/option.go
index eab5d43..eab5d43 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/option.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/option.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/context.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/context.go
index 99f18b1..42cc4f8 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/context.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/context.go
@@ -13,7 +13,6 @@ type context struct {
idx int
size int
tokens token.Tokens
- mode Mode
path string
}
@@ -56,7 +55,6 @@ func (c *context) copy() *context {
idx: c.idx,
size: c.size,
tokens: append(token.Tokens{}, c.tokens...),
- mode: c.mode,
path: c.path,
}
}
@@ -145,10 +143,6 @@ func (c *context) afterNextNotCommentToken() *token.Token {
return nil
}
-func (c *context) enabledComment() bool {
- return c.mode&ParseComments != 0
-}
-
func (c *context) isCurrentCommentToken() bool {
tk := c.currentToken()
if tk == nil {
@@ -193,7 +187,6 @@ func newContext(tokens token.Tokens, mode Mode) *context {
idx: 0,
size: len(filteredTokens),
tokens: token.Tokens(filteredTokens),
- mode: mode,
path: "$",
}
}
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/parser.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/parser.go
index 568e6ad..13ada50 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/parser.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/parser.go
@@ -156,15 +156,38 @@ func (p *parser) createMapValueNode(ctx *context, key ast.MapKeyNode, colonToken
ctx.insertToken(ctx.idx, nullToken)
return ast.Null(nullToken), nil
}
-
+ var comment *ast.CommentGroupNode
+ if tk.Type == token.CommentType {
+ comment = p.parseCommentOnly(ctx)
+ if comment != nil {
+ comment.SetPath(ctx.withChild(key.GetToken().Value).path)
+ }
+ tk = ctx.currentToken()
+ }
if tk.Position.Column == key.GetToken().Position.Column && tk.Type == token.StringType {
// in this case,
// ----
// key: <value does not defined>
// next
+
nullToken := p.createNullToken(colonToken)
ctx.insertToken(ctx.idx, nullToken)
- return ast.Null(nullToken), nil
+ nullNode := ast.Null(nullToken)
+
+ if comment != nil {
+ nullNode.SetComment(comment)
+ } else {
+ // If there is a comment, it is already bound to the key node,
+ // so remove the comment from the key to bind it to the null value.
+ keyComment := key.GetComment()
+ if keyComment != nil {
+ if err := key.SetComment(nil); err != nil {
+ return nil, err
+ }
+ nullNode.SetComment(keyComment)
+ }
+ }
+ return nullNode, nil
}
if tk.Position.Column < key.GetToken().Position.Column {
@@ -174,13 +197,20 @@ func (p *parser) createMapValueNode(ctx *context, key ast.MapKeyNode, colonToken
// next
nullToken := p.createNullToken(colonToken)
ctx.insertToken(ctx.idx, nullToken)
- return ast.Null(nullToken), nil
+ nullNode := ast.Null(nullToken)
+ if comment != nil {
+ nullNode.SetComment(comment)
+ }
+ return nullNode, nil
}
value, err := p.parseToken(ctx, ctx.currentToken())
if err != nil {
return nil, errors.Wrapf(err, "failed to parse mapping 'value' node")
}
+ if comment != nil {
+ value.SetComment(comment)
+ }
return value, nil
}
@@ -304,10 +334,9 @@ func (p *parser) parseSequenceEntry(ctx *context) (*ast.SequenceNode, error) {
if tk.Type == token.CommentType {
comment = p.parseCommentOnly(ctx)
tk = ctx.currentToken()
- if tk.Type != token.SequenceEntryType {
- break
+ if tk.Type == token.SequenceEntryType {
+ ctx.progress(1) // skip sequence token
}
- ctx.progress(1) // skip sequence token
}
value, err := p.parseToken(ctx.withIndex(uint(len(sequenceNode.Values))), ctx.currentToken())
if err != nil {
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/parser_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/parser_test.go
index 6044699..8d697e8 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/parser_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/parser_test.go
@@ -7,6 +7,7 @@ import (
"strings"
"testing"
+ "github.com/goccy/go-yaml"
"github.com/goccy/go-yaml/ast"
"github.com/goccy/go-yaml/lexer"
"github.com/goccy/go-yaml/parser"
@@ -808,6 +809,125 @@ foo: > # comment
}
}
+func TestCommentWithNull(t *testing.T) {
+ t.Run("same line", func(t *testing.T) {
+ content := `
+foo:
+ bar: # comment
+ baz: 1
+`
+ expected := `
+foo:
+ bar: null # comment
+ baz: 1`
+ f, err := parser.ParseBytes([]byte(content), parser.ParseComments)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(f.Docs) != 1 {
+ t.Fatal("failed to parse content with same line comment")
+ }
+ if f.Docs[0].String() != strings.TrimPrefix(expected, "\n") {
+ t.Fatal("failed to parse comment")
+ }
+ })
+ t.Run("next line", func(t *testing.T) {
+ content := `
+foo:
+ bar:
+ # comment
+ baz: 1
+`
+ expected := `
+foo:
+ bar: null # comment
+ baz: 1`
+ f, err := parser.ParseBytes([]byte(content), parser.ParseComments)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(f.Docs) != 1 {
+ t.Fatal("failed to parse content with next line comment")
+ }
+ if f.Docs[0].String() != strings.TrimPrefix(expected, "\n") {
+ t.Fatal("failed to parse comment")
+ }
+ })
+ t.Run("next line and different indent", func(t *testing.T) {
+ content := `
+foo:
+ bar:
+ # comment
+baz: 1`
+ f, err := parser.ParseBytes([]byte(content), parser.ParseComments)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(f.Docs) != 1 {
+ t.Fatal("failed to parse content with next line comment")
+ }
+ expected := `
+foo:
+ bar: null # comment
+baz: 1`
+ if f.Docs[0].String() != strings.TrimPrefix(expected, "\n") {
+ t.Fatal("failed to parse comment")
+ }
+ })
+}
+
+func TestSequenceComment(t *testing.T) {
+ content := `
+foo:
+ - # comment
+ bar: 1
+baz:
+ - xxx
+`
+ f, err := parser.ParseBytes([]byte(content), parser.ParseComments)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(f.Docs) != 1 {
+ t.Fatal("failed to parse content with next line with sequence")
+ }
+ expected := `
+foo:
+ # comment
+ - bar: 1
+baz:
+ - xxx`
+ if f.Docs[0].String() != strings.TrimPrefix(expected, "\n") {
+ t.Fatal("failed to parse comment")
+ }
+ t.Run("foo[0].bar", func(t *testing.T) {
+ path, err := yaml.PathString("$.foo[0].bar")
+ if err != nil {
+ t.Fatal(err)
+ }
+ v, err := path.FilterFile(f)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if v.String() != "1" {
+ t.Fatal("failed to get foo[0].bar value")
+ }
+ })
+ t.Run("baz[0]", func(t *testing.T) {
+ path, err := yaml.PathString("$.baz[0]")
+ if err != nil {
+ t.Fatal(err)
+ }
+ v, err := path.FilterFile(f)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if v.String() != "xxx" {
+ t.Fatal("failed to get baz[0] value")
+ }
+ })
+}
+
func TestNodePath(t *testing.T) {
yml := `
a: # commentA
@@ -824,6 +944,8 @@ a: # commentA
i: fuga # commentI
j: piyo # commentJ
k.l.m.n: moge # commentKLMN
+o#p: hogera # commentOP
+q#.r: hogehoge # commentQR
`
f, err := parser.ParseBytes([]byte(yml), parser.ParseComments)
if err != nil {
@@ -854,6 +976,8 @@ k.l.m.n: moge # commentKLMN
"$.a.i",
"$.j",
"$.'k.l.m.n'",
+ "$.o#p",
+ "$.'q#.r'",
}
if !reflect.DeepEqual(expectedPaths, commentPaths) {
t.Fatalf("failed to get YAMLPath to the comment node:\nexpected[%s]\ngot [%s]", expectedPaths, commentPaths)
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/cr.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/cr.yml
index 37b52a6..37b52a6 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/cr.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/cr.yml
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/crlf.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/crlf.yml
index 85929f9..85929f9 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/crlf.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/crlf.yml
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/lf.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/lf.yml
index d2fe51f..d2fe51f 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/parser/testdata/lf.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/parser/testdata/lf.yml
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/path.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/path.go
index 7a0c3b1..72554bd 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/path.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/path.go
@@ -500,11 +500,29 @@ func newSelectorNode(selector string) *selectorNode {
}
func (n *selectorNode) filter(node ast.Node) (ast.Node, error) {
+ selector := n.selector
+ if len(selector) > 1 && selector[0] == '\'' && selector[len(selector)-1] == '\'' {
+ selector = selector[1 : len(selector)-1]
+ }
switch node.Type() {
case ast.MappingType:
for _, value := range node.(*ast.MappingNode).Values {
key := value.Key.GetToken().Value
- if key == n.selector {
+ if len(key) > 0 {
+ switch key[0] {
+ case '"':
+ var err error
+ key, err = strconv.Unquote(key)
+ if err != nil {
+ return nil, errors.Wrapf(err, "failed to unquote")
+ }
+ case '\'':
+ if len(key) > 1 && key[len(key)-1] == '\'' {
+ key = key[1 : len(key)-1]
+ }
+ }
+ }
+ if key == selector {
if n.child == nil {
return value.Value, nil
}
@@ -518,7 +536,7 @@ func (n *selectorNode) filter(node ast.Node) (ast.Node, error) {
case ast.MappingValueType:
value := node.(*ast.MappingValueNode)
key := value.Key.GetToken().Value
- if key == n.selector {
+ if key == selector {
if n.child == nil {
return value.Value, nil
}
@@ -571,7 +589,9 @@ func (n *selectorNode) replace(node ast.Node, target ast.Node) error {
}
func (n *selectorNode) String() string {
- s := fmt.Sprintf(".%s", n.selector)
+ var builder PathBuilder
+ selector := builder.normalizeSelectorName(n.selector)
+ s := fmt.Sprintf(".%s", selector)
if n.child != nil {
s += n.child.String()
}
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/path_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/path_test.go
index 4271da5..c0073ce 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/path_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/path_test.go
@@ -61,6 +61,8 @@ store:
bicycle:
color: red
price: 19.95
+ bicycle*unicycle:
+ price: 20.25
`
tests := []struct {
name string
@@ -97,6 +99,11 @@ store:
path: builder().Root().Child("store").Child("bicycle").Child("price").Build(),
expected: float64(19.95),
},
+ {
+ name: `$.store.'bicycle*unicycle'.price`,
+ path: builder().Root().Child("store").Child(`bicycle*unicycle`).Child("price").Build(),
+ expected: float64(20.25),
+ },
}
t.Run("PathString", func(t *testing.T) {
for _, test := range tests {
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/printer/printer.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/printer/printer.go
index d5e25dc..d5e25dc 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/printer/printer.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/printer/printer.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/printer/printer_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/printer/printer_test.go
index 2afa74f..2afa74f 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/printer/printer_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/printer/printer_test.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/scanner/context.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/scanner/context.go
index 09d0a2d..3aaec56 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/scanner/context.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/scanner/context.go
@@ -196,9 +196,16 @@ func (c *Context) existsBuffer() bool {
func (c *Context) bufferedSrc() []rune {
src := c.buf[:c.notSpaceCharPos]
- if len(src) > 0 && src[len(src)-1] == '\n' && c.isDocument() && c.literalOpt == "-" {
- // remove end '\n' character
- src = src[:len(src)-1]
+ if c.isDocument() && c.literalOpt == "-" {
+ // remove end '\n' character and trailing empty lines
+ // https://yaml.org/spec/1.2.2/#8112-block-chomping-indicator
+ for {
+ if len(src) > 0 && src[len(src)-1] == '\n' {
+ src = src[:len(src)-1]
+ continue
+ }
+ break
+ }
}
return src
}
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/scanner/scanner.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/scanner/scanner.go
index ce9c665..b0eac48 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/scanner/scanner.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/scanner/scanner.go
@@ -339,6 +339,11 @@ func (s *Scanner) scanDoubleQuote(ctx *Context) (tk *token.Token, pos int) {
value = append(value, '\n')
idx++
continue
+ case 'r':
+ ctx.addOriginBuf(nextChar)
+ value = append(value, '\r')
+ idx++
+ continue
case 'v':
ctx.addOriginBuf(nextChar)
value = append(value, '\v')
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/stdlib_quote.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/stdlib_quote.go
index be50ae6..be50ae6 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/stdlib_quote.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/stdlib_quote.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/struct.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/struct.go
index a3da8dd..a3da8dd 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/struct.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/struct.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/testdata/anchor.yml b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/testdata/anchor.yml
index c016c7f..c016c7f 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/testdata/anchor.yml
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/testdata/anchor.yml
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/token/token.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/token/token.go
index 182f4be..c86caab 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/token/token.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/token/token.go
@@ -623,12 +623,12 @@ func IsNeedQuoted(value string) bool {
}
first := value[0]
switch first {
- case '*', '&', '[', '{', '}', ']', ',', '!', '|', '>', '%', '\'', '"', '@':
+ case '*', '&', '[', '{', '}', ']', ',', '!', '|', '>', '%', '\'', '"', '@', ' ':
return true
}
last := value[len(value)-1]
switch last {
- case ':':
+ case ':', ' ':
return true
}
if looksLikeTimeValue(value) {
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/token/token_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/token/token_test.go
index 4f5764f..dc1b4df 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/token/token_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/token/token_test.go
@@ -118,6 +118,9 @@ func TestIsNeedQuoted(t *testing.T) {
"Off",
"OFF",
"@test",
+ " a",
+ " a ",
+ "a ",
}
for i, test := range needQuotedTests {
if !token.IsNeedQuoted(test) {
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/validate.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/validate.go
index 20a2d6d..20a2d6d 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/validate.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/validate.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/validate_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/validate_test.go
index 265deb8..265deb8 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/validate_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/validate_test.go
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/yaml.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml.go
index 2e541d8..25b1056 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/yaml.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml.go
@@ -89,43 +89,42 @@ func (s MapSlice) ToMap() map[interface{}]interface{} {
//
// The field tag format accepted is:
//
-// `(...) yaml:"[<key>][,<flag1>[,<flag2>]]" (...)`
+// `(...) yaml:"[<key>][,<flag1>[,<flag2>]]" (...)`
//
// The following flags are currently supported:
//
-// omitempty Only include the field if it's not set to the zero
-// value for the type or to empty slices or maps.
-// Zero valued structs will be omitted if all their public
-// fields are zero, unless they implement an IsZero
-// method (see the IsZeroer interface type), in which
-// case the field will be included if that method returns true.
+// omitempty Only include the field if it's not set to the zero
+// value for the type or to empty slices or maps.
+// Zero valued structs will be omitted if all their public
+// fields are zero, unless they implement an IsZero
+// method (see the IsZeroer interface type), in which
+// case the field will be included if that method returns true.
//
-// flow Marshal using a flow style (useful for structs,
-// sequences and maps).
+// flow Marshal using a flow style (useful for structs,
+// sequences and maps).
//
-// inline Inline the field, which must be a struct or a map,
-// causing all of its fields or keys to be processed as if
-// they were part of the outer struct. For maps, keys must
-// not conflict with the yaml keys of other struct fields.
+// inline Inline the field, which must be a struct or a map,
+// causing all of its fields or keys to be processed as if
+// they were part of the outer struct. For maps, keys must
+// not conflict with the yaml keys of other struct fields.
//
-// anchor Marshal with anchor. If want to define anchor name explicitly, use anchor=name style.
-// Otherwise, if used 'anchor' name only, used the field name lowercased as the anchor name
+// anchor Marshal with anchor. If want to define anchor name explicitly, use anchor=name style.
+// Otherwise, if used 'anchor' name only, used the field name lowercased as the anchor name
//
-// alias Marshal with alias. If want to define alias name explicitly, use alias=name style.
-// Otherwise, If omitted alias name and the field type is pointer type,
-// assigned anchor name automatically from same pointer address.
+// alias Marshal with alias. If want to define alias name explicitly, use alias=name style.
+// Otherwise, If omitted alias name and the field type is pointer type,
+// assigned anchor name automatically from same pointer address.
//
// In addition, if the key is "-", the field is ignored.
//
// For example:
//
-// type T struct {
-// F int `yaml:"a,omitempty"`
-// B int
-// }
-// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n"
-// yaml.Marshal(&T{F: 1}) // Returns "a: 1\nb: 0\n"
-//
+// type T struct {
+// F int `yaml:"a,omitempty"`
+// B int
+// }
+// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n"
+// yaml.Marshal(&T{F: 1}) // Returns "a: 1\nb: 0\n"
func Marshal(v interface{}) ([]byte, error) {
return MarshalWithOptions(v)
}
@@ -167,16 +166,15 @@ func ValueToNode(v interface{}, opts ...EncodeOption) (ast.Node, error) {
//
// For example:
//
-// type T struct {
-// F int `yaml:"a,omitempty"`
-// B int
-// }
-// var t T
-// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t)
+// type T struct {
+// F int `yaml:"a,omitempty"`
+// B int
+// }
+// var t T
+// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t)
//
// See the documentation of Marshal for the format of tags and a list of
// supported tag options.
-//
func Unmarshal(data []byte, v interface{}) error {
return UnmarshalWithOptions(data, v)
}
diff --git a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/yaml_test.go b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml_test.go
index 5828629..4446d31 100644
--- a/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.0/yaml_test.go
+++ b/dependencies/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml_test.go
@@ -2,6 +2,7 @@ package yaml_test
import (
"bytes"
+ "strings"
"testing"
"github.com/google/go-cmp/cmp"
@@ -1161,6 +1162,94 @@ hoge:
})
}
+func TestCommentMapRoundTrip(t *testing.T) {
+ // test that an unmarshal and marshal round trip retains comments.
+ // if expect is empty, the test will use the input as the expected result.
+ tests := []struct {
+ name string
+ source string
+ expect string
+ encodeOptions []yaml.EncodeOption
+ }{
+ {
+ name: "simple map",
+ source: `
+# head
+a: 1 # line
+# foot
+`,
+ },
+ {
+ name: "nesting",
+ source: `
+- 1 # one
+- foo:
+ a: b
+ # c comment
+ c: d # d comment
+ "e#f": g # g comment
+ h.i: j # j comment
+ "k.#l": m # m comment
+`,
+ },
+ {
+ name: "single quotes",
+ source: `'a#b': c # c comment`,
+ encodeOptions: []yaml.EncodeOption{yaml.UseSingleQuote(true)},
+ },
+ {
+ name: "single quotes added in encode",
+ source: `a#b: c # c comment`,
+ encodeOptions: []yaml.EncodeOption{yaml.UseSingleQuote(true)},
+ expect: `'a#b': c # c comment`,
+ },
+ {
+ name: "double quotes quotes transformed to single quotes",
+ source: `"a#b": c # c comment`,
+ encodeOptions: []yaml.EncodeOption{yaml.UseSingleQuote(true)},
+ expect: `'a#b': c # c comment`,
+ },
+ {
+ name: "single quotes quotes transformed to double quotes",
+ source: `'a#b': c # c comment`,
+ expect: `"a#b": c # c comment`,
+ },
+ {
+ name: "single quotes removed",
+ source: `'a': b # b comment`,
+ expect: `a: b # b comment`,
+ },
+ {
+ name: "double quotes removed",
+ source: `"a": b # b comment`,
+ expect: `a: b # b comment`,
+ },
+ }
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ var val any
+ cm := yaml.CommentMap{}
+ source := strings.TrimSpace(test.source)
+ if err := yaml.UnmarshalWithOptions([]byte(source), &val, yaml.CommentToMap(cm)); err != nil {
+ t.Fatalf("%+v", err)
+ }
+ marshaled, err := yaml.MarshalWithOptions(val, append(test.encodeOptions, yaml.WithComment(cm))...)
+ if err != nil {
+ t.Fatalf("%+v", err)
+ }
+ got := strings.TrimSpace(string(marshaled))
+ expect := strings.TrimSpace(test.expect)
+ if expect == "" {
+ expect = source
+ }
+ if got != expect {
+ t.Fatalf("expected:\n%s\ngot:\n%s\n", expect, got)
+ }
+ })
+
+ }
+}
+
func TestRegisterCustomMarshaler(t *testing.T) {
type T struct {
Foo []byte `yaml:"foo"`