package array

import (
	"encoding/json"
	"errors"
	"strconv"
	"strings"
)

type ArrayFlags map[int]string

func (i ArrayFlags) String() string {
	text, _ := json.Marshal(i)
	return string(text)
}

func (i ArrayFlags) Set(value string) error {

	values := strings.Split(value, ":")
	if len(values) != 2 {
		return errors.New("Invalid location")
	}
	id, _ := strconv.ParseInt(values[0], 10, 32)

	i[int(id)] = values[1]
	return nil
}