MCPcopy Create free account
hub / github.com/chanify/chanify / parseTimeContentItems

Function parseTimeContentItems

core/msgparam.go:222–276  ·  view source on GitHub ↗
(items map[string]interface{})

Source from the content-addressed store, hash-verified

220}
221
222func parseTimeContentItems(items map[string]interface{}) []*model.MsgTimeItem {
223 lst := []*model.MsgTimeItem{}
224 for k, v := range items {
225 switch val := v.(type) {
226 case int:
227 lst = append(lst, &model.MsgTimeItem{
228 Name: k,
229 Value: int64(val),
230 })
231 case int64:
232 lst = append(lst, &model.MsgTimeItem{
233 Name: k,
234 Value: val,
235 })
236 case float32:
237 lst = append(lst, &model.MsgTimeItem{
238 Name: k,
239 Value: float64(val),
240 })
241 case float64:
242 lst = append(lst, &model.MsgTimeItem{
243 Name: k,
244 Value: val,
245 })
246 case string:
247 if strings.ContainsRune(val, '.') {
248 if vv, err := strconv.ParseFloat(val, 64); err == nil {
249 lst = append(lst, &model.MsgTimeItem{
250 Name: k,
251 Value: vv,
252 })
253 continue
254 }
255 } else {
256 if vv, err := strconv.ParseInt(val, 10, 64); err == nil {
257 lst = append(lst, &model.MsgTimeItem{
258 Name: k,
259 Value: vv,
260 })
261 continue
262 }
263 }
264 lst = append(lst, &model.MsgTimeItem{
265 Name: k,
266 Value: 0,
267 })
268 default:
269 lst = append(lst, &model.MsgTimeItem{
270 Name: k,
271 Value: 0,
272 })
273 }
274 }
275 return lst
276}
277
278func parseTimeContentStringItems(items map[string]string) []*model.MsgTimeItem {
279 lst := []*model.MsgTimeItem{}

Callers 2

ParseJSONMethod · 0.85

Calls

no outgoing calls

Tested by 1