diff --git a/container/mts/meta/meta.go b/container/mts/meta/meta.go index 0e67aa96..8bcdf464 100644 --- a/container/mts/meta/meta.go +++ b/container/mts/meta/meta.go @@ -90,6 +90,17 @@ func NewWith(data [][2]string) *Data { return m } +// NewFromMap creates a meta.Data from a map. +func NewFromMap(data map[string]string) *Data { + m := New() + m.order = make([]string, 0, len(data)) + for k, v := range data { + m.data[k] = v + m.order = append(m.order, k) + } + return m +} + // Add adds metadata with key and val. func (m *Data) Add(key, val string) { m.mu.Lock()