1package jsons
2
3import (
4 "fmt"
5)
6
7// Extensions get supported extensions of given format.
8// If format is empty or FormatAuto, it returns all extensions.
9func (m *Merger) Extensions(formatName Format) ([]string, error) {
10 if formatName == "" || formatName == FormatAuto {
11 return m.getAllExtensions(), nil
12 }
13 f, found := m.loadersByName[formatName]
14 if !found {
15 return nil, fmt.Errorf("%s not found", formatName)
16 }
17 return f.Extensions, nil
18}
19
20// getAllExtensions get all extensions supported
21func (m *Merger) getAllExtensions() []string {
22 extensions := make([]string, 0)
23 for ext := range m.loadersByExt {
24 extensions = append(extensions, ext)
25 }
26 return extensions
27}