Skip to content

Commit 10ece58

Browse files
committed
update
1 parent 0d4b640 commit 10ece58

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

config/config.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,10 @@ func (c *Config) SetValue(fieldValue func(fieldName string) string) {
144144
setValue(c.Elements, c.Languages, fieldValue)
145145
}
146146
}
147+
148+
func (c *Config) GetValue(fieldValue func(fieldName string, fieldValue string) error) error {
149+
if fieldValue != nil {
150+
return getValue(c.Elements, c.Languages, fieldValue)
151+
}
152+
return nil
153+
}

config/utils.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,30 @@ func setValue(elements []*Element, languages []*Language, fieldValue func(string
7676
}
7777
}
7878
}
79+
80+
func getValue(elements []*Element, languages []*Language, fieldValue func(string, string) error) (err error) {
81+
for _, elem := range elements {
82+
if elem.Type == `langset` {
83+
getValue(elem.Elements, elem.Languages, fieldValue)
84+
continue
85+
}
86+
if elem.Type == `fieldset` {
87+
getValue(elem.Elements, languages, fieldValue)
88+
continue
89+
}
90+
if len(elem.Name) > 0 {
91+
if len(languages) == 0 {
92+
if err = fieldValue(elem.Name, elem.Value); err != nil {
93+
return
94+
}
95+
continue
96+
}
97+
for _, lang := range languages {
98+
if err = fieldValue(lang.Name(elem.Name), elem.Value); err != nil {
99+
return
100+
}
101+
}
102+
}
103+
}
104+
return
105+
}

0 commit comments

Comments
 (0)