Skip to content

Commit 54fc746

Browse files
committed
yaml
1 parent a97233c commit 54fc746

File tree

5 files changed

+51
-12
lines changed

5 files changed

+51
-12
lines changed

example/files/valid.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ spec:
2626
- name: BROKER_URL
2727
value: "https://broker-service.info"
2828
ports:
29-
- containerPort: 8081
29+
- containerPort: 8081
30+
test: ["abc", 123, "def", 456]

example/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ func main() {
55
//runJson()
66

77
// Xml Node
8-
runXml()
8+
//runXml()
99

1010
// Yaml Node
11-
//runYml()
11+
runYml()
1212
}

example/yml.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package main
22

33
import (
4-
"fmt"
54
"log"
65

76
"github.com/mstgnz/transformer/yml"
@@ -13,11 +12,17 @@ func runYml() {
1312
if err != nil {
1413
log.Fatalln(err)
1514
}
15+
1616
knot, _ := yml.DecodeYml(byt)
1717
knot = knot.Reset()
18-
for knot.Next != nil {
19-
fmt.Println(knot.Key)
18+
19+
knot.Print()
20+
21+
log.Println()
22+
23+
/* for knot.Next != nil {
24+
log.Println(knot.Key)
2025
knot = knot.Next
21-
}
26+
} */
2227

2328
}

yml/yml.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ func ReadYml(filename string) ([]byte, error) {
3232
func DecodeYml(data []byte) (*node.Node, error) {
3333
var (
3434
Knot *node.Node
35-
Parent *node.Node
3635
dec yaml.Node
3736
parser func(node *yaml.Node)
3837
)
@@ -43,6 +42,8 @@ func DecodeYml(data []byte) (*node.Node, error) {
4342
return Knot, err
4443
}
4544

45+
Knot = &node.Node{Value: &node.Value{}}
46+
4647
// recursive
4748
parser = func(yam *yaml.Node) {
4849
indent := 0
@@ -51,17 +52,19 @@ func DecodeYml(data []byte) (*node.Node, error) {
5152
// mod 2 = Key
5253
if k%2 == 0 {
5354
indent = child.Column - 1
54-
Knot = Knot.AddToNext(Knot, Parent, child.Value)
55+
Knot.Key = child.Value
5556
} else {
5657
if child.Kind == yaml.MappingNode {
57-
Knot = Knot.AddToValue(Knot, &node.Value{})
58+
Knot.Next = &node.Node{Key: child.Value, Parent: Knot.Parent, Prev: Knot, Value: &node.Value{}}
59+
Knot = Knot.Next
5860
} else {
5961
Knot.Value.Worth = child.Value
6062
}
6163
}
6264
if current > indent {
63-
// end objet
64-
Parent = Knot.Parent
65+
if Knot.Parent != nil {
66+
Knot = Knot.Parent
67+
}
6568
}
6669
parser(child)
6770
}

yml/yml.note

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: apps/v1 - 1.Node, 1.Node.Key=apiVersion, 1.Node.Value.Worth=apps/v1, 1.Node.Next=2.Node, 1.Node.Parent=nil
2+
kind: Deployment - 2.Node, 2.Node.Next=3.Node, 2.Node.Prev=1.Node, 2.Node.Parent=1.Node.Parent
3+
metadata: - 3.Node, 3.Node.Next=5.Node, 3.Node.Prev=2.Node, 3.Node.Parent=2.Node.Parent, 3.Node.Value.Node=4.Node
4+
name: front-end - 4.Node, 4.Node.Next=nil, 4.Node.Prev=nil, 4.Node.Parent=3.Node
5+
spec: - 5.Node, 5.Node.Next=30.Node, 5.Node.Prev=3.Node, 5.Node.Parent=3.Node.Parent, 5.Node.Value.Node=6.Node
6+
replicas: 1 - 6.Node, 6.Node.Next=7.Node, 6.Node.Prev=nil, 6.Node.Parent=5.Node, 6.Node.Key=replicas, 6.Node.Value.Worth=1
7+
selector: - 7.Node, 7.Node.Next=10.Node, 7.Node.Prev=6.Node, 7.Node.Parent=6.Node.Parent
8+
matchLabels: - 8.Node, 8.Node.Next=nil, 8.Node.Prev=nil, 8.Node.Parent=7.Node
9+
app: front-end - 9.Node, 9.Node.Next=nil, 9.Node.Prev=nil, 9.Node.Parent=8.Node
10+
template: - 10.Node, 10.Node.Next=nil, 10.Node.Prev=7.Node, 10.Node.Parent=7.Node.Parent, 10.Node.Value.Node=11.Node
11+
metadata: - 11.Node, 11.Node.Next=14.Node, 11.Node.Prev=nil, 11.Node.Parent=10.Node
12+
labels: - 12.Node, 12.Node.Next=nil, 12.Node.Prev=nil, 12.Node.Parent=11.Node
13+
app: front-end - 13.Node, 13.Node.Next=nil, 13.Node.Prev=nil, 13.Node.Parent=12.Node
14+
spec: - 14.Node, 14.Node.Next=nil, 14.Node.Prev=11.Node, 14.Node.Parent=11.Node.Parent, 14.Node.Value.Node=15.Node
15+
containers: - 15.Node, 15.Node.Next=nil, 15.Node.Prev=nil, 15.Node.Parent=14.Node
16+
- name: front-end - 16.Node, 16.Node.Next=nil, 16.Node.Prev=nil, 16.Node.Parent=15.Node
17+
image: "front-end:1.0.1" - 17.Node, 17.Node.Next=18.Node, 17.Node.Prev=16.Node, 17.Node.Parent=16.Node.Parent
18+
resources: - 18.Node, 18.Node.Next=25.Node, 18.Node.Prev=17.Node, 18.Node.Parent=17.Node.Parent
19+
requests: - 19.Node, 19.Node.Next=22.Node, 19.Node.Prev=nil, 19.Node.Parent=18.Node
20+
memory: "64Mi" - 20.Node, 20.Node.Next=21.Node, 20.Node.Prev=nil, 20.Node.Parent=19.Node
21+
cpu: "250m" - 21.Node, 21.Node.Next=nil, 21.Node.Prev=20.Node, 21.Node.Parent=20.Node.Parent
22+
limits: - 22.Node, 22.Node.Next=nil, 22.Node.Prev=19.Node, 22.Node.Parent=19.Node.Parent
23+
memory: "128Mi" - 23.Node, 23.Node.Next=24.Node, 23.Node.Prev=nil, 23.Node.Parent=22.Node
24+
cpu: "500m" - 24.Node, 24.Node.Next=nil, 24.Node.Prev=23.Node, 24.Node.Parent=23.Node.Parent
25+
env: - 25.Node, 25.Node.Next=28.Node, 25.Node.Prev=18.Node, 25.Node.Parent=18.Node.Parent
26+
- name: BROKER_URL - 26.Node, 26.Node.Next=27.Node, 26.Node.Prev=nil, 26.Node.Parent=25.Node
27+
value: "https://a.co" - 27.Node, 27.Node.Next=nil, 27.Node.Prev=26.Node, 27.Node.Parent=26.Node.Parent
28+
ports: - 28.Node, 28.Node.Next=nil, 28.Node.Prev=25.Node, 28.Node.Parent=25.Node.Parent, 28.Node.Value.Node=29.Node
29+
- containerPort: 8081 - 29.Node, 29.Node.Next=nil, 29.Node.Prev=nil, 29.Node.Parent=28.Node
30+
array: ["abc",123,"def",456] - 30.Node, 30.Node.Next=nil, 30.Node.Prev=5.Node, 30.Node.Parent=5.Node.Parent, 30.Node.Value.Array=["abc",123,"def",456]

0 commit comments

Comments
 (0)