(val map[string]T, p *map[string]T, c C)
| 17 | } |
| 18 | |
| 19 | func (i MapBase[T, C, VC]) Create(val map[string]T, p *map[string]T, c C) Value { |
| 20 | *p = map[string]T{} |
| 21 | for k, v := range val { |
| 22 | (*p)[k] = v |
| 23 | } |
| 24 | var t T |
| 25 | np := new(T) |
| 26 | var vc VC |
| 27 | return &MapBase[T, C, VC]{ |
| 28 | dict: p, |
| 29 | value: vc.Create(t, np, c), |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | // NewMapBase makes a *MapBase with default values |
| 34 | func NewMapBase[T any, C any, VC ValueCreator[T, C]](defaults map[string]T) *MapBase[T, C, VC] { |