flattenOptions copies all options in src to dst as a flat list. Only coreOptions and Options containing coreOptions are allowed.
(dst, src Options)
| 538 | // flattenOptions copies all options in src to dst as a flat list. |
| 539 | // Only coreOptions and Options containing coreOptions are allowed. |
| 540 | func flattenOptions(dst, src Options) Options { |
| 541 | for _, opt := range src { |
| 542 | switch opt := opt.(type) { |
| 543 | case nil: |
| 544 | continue |
| 545 | case Options: |
| 546 | dst = flattenOptions(dst, opt) |
| 547 | case coreOption: |
| 548 | dst = append(dst, opt) |
| 549 | default: |
| 550 | panic(fmt.Sprintf("invalid option type: %T", opt)) |
| 551 | } |
| 552 | } |
| 553 | return dst |
| 554 | } |
no outgoing calls
no test coverage detected