memoryFlagsToJSON converts ["--key","value",...] into a JSON object.
(argv []string)
| 423 | |
| 424 | // memoryFlagsToJSON converts ["--key","value",...] into a JSON object. |
| 425 | func memoryFlagsToJSON(argv []string) (string, error) { |
| 426 | obj := map[string]interface{}{} |
| 427 | for i := 0; i < len(argv); i++ { |
| 428 | a := argv[i] |
| 429 | if !strings.HasPrefix(a, "-") { |
| 430 | return "", fmt.Errorf("unexpected positional argument %q (use --key value or a JSON envelope)", a) |
| 431 | } |
| 432 | key := strings.TrimLeft(a, "-") |
| 433 | if i+1 >= len(argv) || strings.HasPrefix(argv[i+1], "--") { |
| 434 | obj[key] = true |
| 435 | continue |
| 436 | } |
| 437 | obj[key] = argv[i+1] |
| 438 | i++ |
| 439 | } |
| 440 | b, err := json.Marshal(obj) |
| 441 | if err != nil { |
| 442 | return "", err |
| 443 | } |
| 444 | return string(b), nil |
| 445 | } |
no test coverage detected